/* ============================================================
   Dimov Seattle Blocks
   A port of LocationSpec/seattle/source-mockup.html, declaration for
   declaration. Every class carries the sea- prefix and every selector is
   scoped under .sea, so neither the theme, Bootstrap nor the Elementor kit
   can reach in and nothing here can reach a location, media or service page.
   Edit the mockup and this file together: they are meant to stay identical.
   ============================================================ */
.sea{
  --sea-navy:#12233F;
  --sea-navy-deep:#0A1729;
  --sea-ultra:#0F1FAD;
  --sea-ultra-lift:#2231C9;
  --sea-green:#007E24;
  --sea-green-lift:#529F40;
  --sea-green-bright:#4FBF6B;   /* tint of the brand green, legible on dark */
  --sea-cloud:#F2F5F9;
  --sea-cloud-2:#E7ECF3;
  --sea-paper:#FFFFFF;
  --sea-ink:#12233F;
  --sea-ink-soft:#5A6B84;
  --sea-rule:#D9E0EA;

  --sea-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sea-sans:"Poppins","Helvetica Neue",Arial,sans-serif;

  --sea-pad:clamp(62px,7.2vw,116px);
  --sea-gutter:clamp(20px,4vw,44px);
  --sea-r:10px;

  /* z-index + isolation keep the bands' internal layering (the veil over a photo, the card over
     the map) INSIDE this block. Without a stacking context of its own, a band's z-index:3 competes
     with the theme's sticky header and headings scroll out over the nav. */
  position:relative;
  z-index:0;
  isolation:isolate;
  background:var(--sea-paper);
  color:var(--sea-ink);
  font-family:var(--sea-sans);
  font-weight:400;
  font-size:clamp(1rem,.96rem + .22vw,1.075rem);
  line-height:1.72;
  letter-spacing:normal;
  text-align:left;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Resets against theme + kit ----------
   The site inlines "h1..h6{font-family:granville !important}" on every page,
   so heading font-family declarations here must carry !important too. */
.sea *,.sea *::before,.sea *::after{box-sizing:border-box}
.sea h1,.sea h2,.sea h3,.sea h4{margin:0;padding:0;font-family:inherit!important;line-height:1.2;letter-spacing:normal;text-transform:none;color:inherit;text-wrap:balance}
.sea p,.sea ul,.sea li,.sea address{margin:0;padding:0;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit}
.sea ul{list-style:none}
.sea li::before{content:none}
.sea address{font-style:normal}
.sea img{max-width:100%;display:block;border:0;box-shadow:none}
/* The mockup leaves inline links underlined (only buttons, cells, tracks, the hero strip and the
   team cards switch it off, below). The theme strips underlines site-wide, so put it back here. */
.sea a{color:inherit;font-family:inherit;text-decoration:underline}
.sea a:hover,.sea a:focus{color:inherit}
.sea svg{display:inline-block;vertical-align:middle}
.sea i{font-style:italic}

/* Elementor: these widgets are full bleed and butt against each other */
.e-con>.elementor-element[class*="elementor-widget-sea_"],
.elementor-element[class*="elementor-widget-sea_"]{--kit-widget-spacing:0px;margin:0;width:100%;max-width:100%}
/* Buttons that scroll to the footer contact form: glide there and clear the sticky header */
html:has(.sea){scroll-behavior:smooth}
#dimovtax-contact-iframe{scroll-margin-top:170px}
@media (max-width:767px){#dimovtax-contact-iframe{scroll-margin-top:110px}}

/* ---------- Layout ---------- */
.sea .sea-wrap{width:100%;max-width:1260px;margin-inline:auto;padding-inline:var(--sea-gutter)}
.sea .sea-band{position:relative;padding-block:var(--sea-pad)}
.sea .sea-band>.sea-wrap{position:relative;z-index:3}
.sea .sea-b-paper{background:var(--sea-paper)}
.sea .sea-b-cloud{background:var(--sea-cloud)}
.sea .sea-b-navy{background:var(--sea-navy);color:#fff}
.sea .sea-b-green{background:var(--sea-green);color:#fff}
.sea .sea-b-blue{background:var(--sea-ultra);color:#fff}
.sea .sea-b-tight{padding-block:clamp(34px,4vw,58px)}

/* ---------- Photo bands ---------- */
.sea .sea-shot{position:relative;color:#fff;background-color:var(--sea-navy);background-image:var(--sea-img);background-size:cover;background-position:var(--sea-pos,center);background-repeat:no-repeat}
.sea .sea-shot::after{content:"";position:absolute;inset:0;background:var(--sea-veil);pointer-events:none;z-index:1}
.sea .sea-shot>.sea-wrap{position:relative;z-index:3}
.sea .sea-v-left{--sea-veil:linear-gradient(95deg,rgba(18,35,63,.96) 0%,rgba(18,35,63,.9) 40%,rgba(18,35,63,.5) 72%,rgba(18,35,63,.26) 100%)}
.sea .sea-v-up{--sea-veil:linear-gradient(0deg,rgba(18,35,63,.96) 0%,rgba(18,35,63,.87) 48%,rgba(18,35,63,.46) 100%)}
.sea .sea-v-flat{--sea-veil:linear-gradient(180deg,rgba(10,23,41,.9),rgba(18,35,63,.93))}
@media (max-width:860px){.sea .sea-v-left{--sea-veil:linear-gradient(180deg,rgba(18,35,63,.92),rgba(18,35,63,.95))}}
@media (min-width:1000px) and (hover:hover){.sea .sea-parallax{background-attachment:fixed}}
/* A band may carry a smaller photo for phones (the Denver mockup ships -800 copies) */
@media (max-width:800px){.sea .sea-shot{background-image:var(--sea-img-800,var(--sea-img))}}

/* ---------- Type ---------- */
.sea .sea-d1{font-family:var(--sea-serif)!important;font-weight:700;font-size:clamp(2.35rem,1.35rem + 4.3vw,4.55rem);line-height:1.04;letter-spacing:-.018em}
.sea .sea-d2{font-family:var(--sea-serif)!important;font-weight:700;font-size:clamp(1.95rem,1.35rem + 2.6vw,3.2rem);line-height:1.09;letter-spacing:-.014em}
.sea .sea-d3{font-family:var(--sea-serif)!important;font-weight:600;font-size:clamp(1.3rem,1.16rem + .62vw,1.6rem);line-height:1.22}
.sea .sea-hs{font-weight:600;font-size:1.06rem;line-height:1.42}
.sea .sea-lead{font-size:clamp(1.07rem,1rem + .48vw,1.28rem);line-height:1.63;font-weight:300;color:var(--sea-ink-soft)}
.sea .sea-b-navy .sea-lead,.sea .sea-b-blue .sea-lead,.sea .sea-shot .sea-lead{color:rgba(255,255,255,.85)}
.sea .sea-b-blue .sea-lead{color:rgba(255,255,255,.93)}
.sea .sea-soft{color:var(--sea-ink-soft)}
.sea .sea-b-navy .sea-soft,.sea .sea-b-blue .sea-soft,.sea .sea-shot .sea-soft{color:rgba(255,255,255,.75)}
.sea .sea-tiny{font-size:.87rem;line-height:1.62;font-weight:300}

/* Section head: green rule above, stacked */
.sea .sea-head{max-width:66ch;margin-bottom:clamp(34px,4vw,58px)}
.sea .sea-head::before{content:"";display:block;width:54px;height:4px;border-radius:2px;background:var(--sea-green);margin-bottom:22px}
.sea .sea-shot .sea-head::before,.sea .sea-b-navy .sea-head::before,.sea .sea-b-blue .sea-head::before{background:var(--sea-green-bright)}
.sea .sea-head .sea-lead{margin-top:20px}
.sea .sea-shot .sea-head .sea-d2,.sea .sea-b-navy .sea-head .sea-d2{color:#fff}
.sea .sea-head--tight{margin-bottom:clamp(28px,3vw,40px)}
.sea .sea-head--flush{margin-bottom:0}

/* ---------- Buttons ---------- */
.sea .sea-btn{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-weight:600;font-size:.97rem;line-height:1;padding:18px 28px;border-radius:6px;border:2px solid transparent;text-decoration:none;cursor:pointer;text-transform:none;letter-spacing:normal;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.sea .sea-btn-blue{background:var(--sea-ultra);color:#fff}
.sea .sea-btn-blue:hover{background:var(--sea-ultra-lift);color:#fff}
.sea .sea-btn-green{background:var(--sea-green);color:#fff}
.sea .sea-btn-green:hover{background:var(--sea-green-lift);color:#fff}
.sea .sea-btn-ghost{border-color:var(--sea-rule);color:var(--sea-ink);background:transparent}
.sea .sea-btn-ghost:hover{background:var(--sea-cloud);border-color:var(--sea-navy)}
.sea .sea-btn-ghost-d{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.sea .sea-btn-ghost-d:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.sea .sea-btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Hero ---------- */
.sea .sea-hero{padding-block:clamp(56px,6.4vw,100px)}
.sea .sea-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(34px,4.6vw,70px);align-items:center}
.sea .sea-hero .sea-d1{color:#fff}
.sea .sea-hero .sea-d1 i{color:var(--sea-green-bright);font-weight:500}
.sea .sea-hero .sea-lead{margin-top:22px;max-width:52ch}
.sea .sea-hero .sea-btns{margin-top:32px}
.sea .sea-officecard{position:relative;align-self:center;max-width:540px;margin:0 auto;border-radius:var(--sea-r);overflow:hidden;box-shadow:0 30px 70px rgba(5,12,24,.55);border:3px solid var(--sea-green)}
.sea .sea-officecard img{width:100%;height:clamp(300px,30vw,420px);object-fit:cover;object-position:center 42%;display:block}
.sea .sea-officecard figcaption{position:absolute;inset:auto 0 0 0;padding:44px 24px 20px;color:#fff;background:linear-gradient(0deg,rgba(10,23,41,.95),rgba(10,23,41,0))}
.sea .sea-officecard strong{display:block;font-family:var(--sea-serif);font-weight:600;font-size:1.15rem;margin-bottom:2px}
.sea .sea-officecard span{font-size:.88rem;color:rgba(255,255,255,.82);font-weight:300}
.sea .sea-hero-meta{margin-top:clamp(40px,4.4vw,64px);padding-top:28px;border-top:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,46px)}
.sea .sea-hero-meta strong{display:block;color:var(--sea-green-bright);font-weight:600;font-size:.95rem;margin-bottom:3px}
.sea .sea-hero-meta div{font-size:1rem;color:rgba(255,255,255,.9)}
.sea .sea-hero-meta a{color:#fff;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(79,191,107,.75)}
.sea .sea-hero-meta a:hover{color:var(--sea-green-bright)}

/* ---------- George band ---------- */
.sea .sea-founder{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(34px,4.6vw,72px);align-items:center}
.sea .sea-founder img{width:100%;height:clamp(320px,32vw,440px);align-self:center;object-fit:cover;object-position:center 28%;border-radius:var(--sea-r);display:block}
.sea .sea-founder .sea-quote{font-family:var(--sea-serif);font-style:italic;font-weight:500;font-size:clamp(1.3rem,1.06rem + 1.05vw,1.9rem);line-height:1.4;margin:22px 0 0;color:var(--sea-ink)}
.sea .sea-founder .sea-lead{margin-top:22px}
.sea .sea-founder .sea-sig{margin-top:26px;padding-top:20px;border-top:1px solid var(--sea-rule)}
.sea .sea-founder .sea-sig strong{display:block;font-weight:600;font-size:1.05rem}
.sea .sea-founder .sea-sig span{font-size:.94rem;color:var(--sea-ink-soft)}

/* ---------- Proof strip ---------- */
.sea .sea-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,48px);align-items:start}
.sea .sea-proof .sea-n{font-family:var(--sea-serif);font-weight:700;font-size:clamp(1.9rem,1.45rem + 1.5vw,2.75rem);line-height:1;display:block;margin-bottom:10px;color:#fff}
.sea .sea-proof p{font-size:.94rem;color:rgba(255,255,255,.92);line-height:1.56;font-weight:300}

/* ---------- Full bleed service grid ---------- */
.sea .sea-grid{--sea-gl:var(--sea-rule);display:grid;grid-template-columns:repeat(4,1fr)}
.sea .sea-grid-dark{--sea-gl:rgba(255,255,255,.22);background:var(--sea-navy);color:#fff}
.sea .sea-cell{position:relative;display:flex;flex-direction:column;padding:clamp(26px,2.6vw,42px);text-decoration:none;color:inherit;border-bottom:1px solid var(--sea-gl);border-right:1px solid var(--sea-gl);transition:background-color .22s ease}
.sea .sea-cell:nth-child(4n){border-right:0}
.sea .sea-cell .sea-mark{width:26px;height:4px;background:var(--sea-green);border-radius:2px;margin-bottom:20px;transition:width .3s ease;display:block}
.sea .sea-grid-dark .sea-cell .sea-mark{background:var(--sea-green-bright)}
.sea .sea-cell h3{margin-bottom:11px;color:var(--sea-ink)}
.sea .sea-grid-dark .sea-cell h3{color:#fff}
.sea .sea-cell p{font-size:.97rem;color:var(--sea-ink-soft);margin-bottom:22px;font-weight:300}
.sea .sea-grid-dark .sea-cell p{color:rgba(255,255,255,.84)}
.sea a.sea-cell:hover{background:var(--sea-cloud)}
.sea a.sea-cell:hover .sea-mark{width:56px}
.sea .sea-cell .sea-go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--sea-ultra)}
.sea .sea-grid-dark .sea-cell .sea-go{color:var(--sea-green-bright)}
.sea .sea-cell .sea-go svg{transition:transform .2s ease}
.sea a.sea-cell:hover .sea-go svg{transform:translateX(5px)}
.sea .sea-cell-head{justify-content:center;background:var(--sea-cloud)}
.sea .sea-cell-head .sea-d2{margin-bottom:14px;color:var(--sea-ink)}
.sea .sea-cell-head p{font-size:1.04rem;line-height:1.6;font-weight:300;color:var(--sea-ink-soft);margin-bottom:0;max-width:34ch}

/* ---------- Threshold figures ---------- */
.sea .sea-figs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,34px)}
.sea .sea-fig{border-top:3px solid var(--sea-green-bright);padding-top:24px}
.sea .sea-fig .sea-n{font-family:var(--sea-serif);font-weight:700;font-size:clamp(1.85rem,1.4rem + 1.6vw,2.7rem);line-height:1.04;color:var(--sea-green-bright);display:block;margin-bottom:12px}
.sea .sea-fig h3{margin-bottom:9px;color:#fff;font-weight:600;font-size:1.04rem}
.sea .sea-fig p{color:rgba(255,255,255,.84);font-size:.96rem;font-weight:300}
.sea .sea-figs-light .sea-fig{border-top-color:var(--sea-ultra)}
.sea .sea-figs-light .sea-fig .sea-n{color:var(--sea-ultra)}
.sea .sea-figs-light .sea-fig h3{color:var(--sea-ink)}
.sea .sea-figs-light .sea-fig p{color:var(--sea-ink-soft)}
.sea .sea-figs--4{grid-template-columns:repeat(4,1fr)}

/* ---------- Points list ---------- */
.sea .sea-points{display:grid;gap:0;margin-top:clamp(30px,3.4vw,46px);border-top:1px solid rgba(255,255,255,.24)}
.sea .sea-point{display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,2vw,26px);padding-block:22px;border-bottom:1px solid rgba(255,255,255,.24);align-items:start}
.sea .sea-point svg{margin-top:5px;color:var(--sea-green-bright);flex:0 0 auto}
.sea .sea-point strong{display:block;font-weight:600;margin-bottom:4px;color:#fff}
.sea .sea-point span{color:rgba(255,255,255,.84);font-weight:300}

/* ---------- Split with image ---------- */
.sea .sea-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,4.6vw,74px);align-items:center}
.sea .sea-split figure{margin:0}
.sea .sea-split figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--sea-r);box-shadow:0 22px 52px rgba(18,35,63,.18)}
.sea .sea-split .sea-lead{margin-top:18px}
.sea .sea-tracks{display:grid;gap:16px;margin-top:30px}
.sea .sea-track{background:var(--sea-paper);border:1px solid var(--sea-rule);border-left:4px solid var(--sea-ultra);border-radius:0 var(--sea-r) var(--sea-r) 0;padding:clamp(22px,2.4vw,30px)}
.sea .sea-track h3{margin-bottom:8px}
.sea .sea-track p{color:var(--sea-ink-soft);font-size:.98rem;font-weight:300}
.sea .sea-out{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.93rem;color:var(--sea-ultra);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px}
.sea .sea-out:hover{border-bottom-color:var(--sea-ultra);color:var(--sea-ultra)}
.sea .sea-note{margin-top:28px;font-size:.87rem;color:var(--sea-ink-soft);max-width:84ch;font-weight:300}

/* ---------- Team ---------- */
.sea .sea-team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.6vw,32px)}
.sea .sea-person img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--sea-r);background:var(--sea-cloud-2);margin-bottom:16px}
.sea .sea-person h3{margin-bottom:4px;color:var(--sea-ink)}
.sea .sea-person span{font-size:.92rem;color:var(--sea-ink-soft)}
.sea .sea-person a{text-decoration:none}
.sea .sea-person a:hover h3{color:var(--sea-ultra)}

/* ---------- Mosaic ---------- */
.sea .sea-mosaic{display:grid;grid-template-columns:repeat(3,1fr)}
.sea .sea-tile{position:relative;overflow:hidden;margin:0}
.sea .sea-tile img{width:100%;height:clamp(250px,27vw,390px);object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.3,1)}
.sea .sea-tile:hover img{transform:scale(1.05)}
.sea .sea-tile figcaption{position:absolute;inset:auto 0 0 0;padding:30px clamp(20px,2.4vw,34px) 26px;color:#fff;background:linear-gradient(0deg,rgba(10,23,41,.94) 0%,rgba(10,23,41,.6) 58%,rgba(10,23,41,0) 100%)}
.sea .sea-tile figcaption strong{display:block;font-family:var(--sea-serif);font-weight:600;font-size:1.28rem;margin-bottom:4px;color:#fff}
.sea .sea-tile figcaption span{font-size:.9rem;color:rgba(255,255,255,.85);font-weight:300}

/* ---------- Areas ---------- */
.sea .sea-areas{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,2.8vw,44px)}
.sea .sea-acol h3{color:var(--sea-green-bright);font-size:.94rem;font-weight:600;letter-spacing:.05em;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.28)}
.sea .sea-acol li{color:rgba(255,255,255,.88);font-size:.96rem;padding-block:3px;font-weight:300}
.sea .sea-aforward{margin-top:clamp(32px,3.6vw,52px);padding-top:26px;border-top:1px solid rgba(255,255,255,.28);max-width:80ch;color:rgba(255,255,255,.86);font-weight:300}

/* ---------- Maps ---------- */
.sea .sea-mapband{position:relative;background:var(--sea-cloud)}
.sea .sea-map-big{width:100%;height:clamp(380px,52vh,600px);border:0;display:block;filter:grayscale(.25) contrast(1.03)}
.sea .sea-mapcard{position:absolute;top:50%;transform:translateY(-50%);left:max(var(--sea-gutter),calc(50% - 630px + var(--sea-gutter)));width:min(410px,calc(100% - var(--sea-gutter)*2));background:var(--sea-navy);color:#fff;padding:34px;border-radius:var(--sea-r);box-shadow:0 28px 70px rgba(18,35,63,.4);border-top:5px solid var(--sea-green)}
.sea .sea-mapcard h2{color:#fff;font-family:var(--sea-serif)!important;font-weight:700;font-size:1.7rem;line-height:1.14;margin-bottom:14px}
.sea .sea-mapcard address{font-style:normal;line-height:1.75;color:rgba(255,255,255,.88);margin-bottom:10px}
.sea .sea-mapcard .sea-hrs{font-size:.89rem;color:rgba(255,255,255,.74);margin-bottom:22px;font-weight:300}
.sea .sea-mapcard .sea-btn{width:100%;justify-content:center}
.sea .sea-map-small{border:0;width:100%;height:280px;border-radius:var(--sea-r);display:block;filter:grayscale(.25)}

/* ---------- Office ---------- */
.sea .sea-office{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,4.6vw,74px);align-items:start}
.sea .sea-office-logo{height:40px;width:auto;margin-bottom:24px}
.sea .sea-addr{font-style:normal;margin-top:22px;font-size:1.12rem;line-height:1.78;border-left:4px solid var(--sea-green);padding-left:22px}
.sea .sea-office .sea-lead{margin-top:22px}
.sea .sea-hours{margin-top:24px;display:grid;gap:9px;max-width:380px}
.sea .sea-hours div{display:flex;justify-content:space-between;gap:20px;font-size:.96rem;border-bottom:1px solid var(--sea-rule);padding-bottom:8px}
.sea .sea-hours span:last-child{color:var(--sea-ink-soft)}
.sea .sea-transit{margin-top:26px;display:grid;gap:12px}
.sea .sea-transit li{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;font-size:.97rem;font-weight:300}
.sea .sea-transit svg{margin-top:6px;color:var(--sea-green);flex:0 0 auto}
.sea .sea-office .sea-btns{margin-top:30px}
.sea .sea-office-media{display:grid;gap:16px}
.sea .sea-office-media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--sea-r)}

/* ---------- Final ---------- */
.sea .sea-final .sea-d2{max-width:20ch;color:#fff}
.sea .sea-final .sea-lead{margin-top:20px;max-width:56ch}
.sea .sea-final .sea-btns{margin-top:34px}
.sea .sea-tail{margin-top:32px;max-width:80ch}
.sea .sea-final .sea-tail{margin-top:34px;max-width:78ch}

/* ---------- A11y ---------- */
.sea :focus-visible{outline:3px solid var(--sea-ultra);outline-offset:3px;border-radius:2px}
.sea .sea-b-navy :focus-visible,.sea .sea-b-blue :focus-visible,.sea .sea-shot :focus-visible,.sea .sea-grid-dark :focus-visible,.sea .sea-mapcard :focus-visible,.sea .sea-b-green :focus-visible{outline-color:var(--sea-green-bright)}
@media (prefers-reduced-motion:no-preference){
  .sea .sea-rise{opacity:0;transform:translateY(18px);animation:sea-rise .78s cubic-bezier(.2,.65,.3,1) forwards}
  .sea .sea-rise:nth-child(1){animation-delay:.05s}
  .sea .sea-rise:nth-child(2){animation-delay:.14s}
  .sea .sea-rise:nth-child(3){animation-delay:.23s}
  .sea .sea-rise:nth-child(4){animation-delay:.32s}
  .sea .sea-rise:nth-child(5){animation-delay:.41s}
  @keyframes sea-rise{to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  .sea *,.sea *::before,.sea *::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  html:has(.sea){scroll-behavior:auto}
}

/* ============================================================
   BAND VARIANTS
   Ported from the Denver mockup's section overrides. There they are written against
   #payroll / #moving-to-denver / #office / #denver-sales-tax; here each is a modifier class,
   because Seattle has sections with those same ids and must not pick these rules up.
   ============================================================ */

/* Figures as cards beside the heading (Denver: the city payroll tax band) */
.sea .sea-v-cards>.sea-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:24px 54px;align-items:start}
.sea .sea-v-cards .sea-head{margin:0;max-width:none}
.sea .sea-v-cards .sea-figs{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sea .sea-v-cards .sea-fig{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);border-radius:10px;padding:24px}
.sea .sea-v-cards .sea-fig .sea-n{font-size:clamp(2.5rem,4vw,3.7rem);color:#fff}
.sea .sea-v-cards .sea-fig:last-child{grid-column:1/-1;border:0;border-left:3px solid var(--sea-green-bright);border-radius:0;background:transparent;padding:4px 0 4px 20px}
.sea .sea-v-cards .sea-fig:last-child .sea-n{display:none}
.sea .sea-v-cards .sea-fig:last-child h3{color:var(--sea-green-bright);font-size:1.05rem;margin-bottom:6px}
.sea .sea-v-cards>.sea-wrap>.sea-tail{grid-column:1/-1;margin-top:0}

/* Figures as a numbered list on a light band (Denver: moving to the city) */
.sea .sea-v-steps{background:var(--sea-cloud);color:var(--sea-ink);padding-block:clamp(48px,6vw,82px)}
.sea .sea-v-steps>.sea-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:54px;align-items:start}
.sea .sea-v-steps .sea-head{margin:0;max-width:none}
.sea .sea-v-steps .sea-head .sea-d2{color:var(--sea-ink)}
.sea .sea-v-steps .sea-lead{color:var(--sea-ink-soft)}
.sea .sea-v-steps .sea-figs{grid-template-columns:1fr;gap:0;counter-reset:sea-step}
.sea .sea-v-steps .sea-fig{position:relative;border:0;border-bottom:1px solid var(--sea-rule);padding:20px 0 20px 64px;counter-increment:sea-step}
.sea .sea-v-steps .sea-fig:first-child{padding-top:0}
.sea .sea-v-steps .sea-fig:last-child{border-bottom:0;padding-bottom:0}
.sea .sea-v-steps .sea-fig::before{content:counter(sea-step,decimal-leading-zero);position:absolute;left:0;top:20px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--sea-paper);color:var(--sea-green);font-weight:600;font-size:.9rem}
.sea .sea-v-steps .sea-fig:first-child::before{top:0}
.sea .sea-v-steps .sea-fig .sea-n{display:none}
.sea .sea-v-steps .sea-fig h3{color:var(--sea-ink);font-size:1.1rem;margin-bottom:7px}
.sea .sea-v-steps .sea-fig p{color:var(--sea-ink-soft)}

/* Office photos side by side with the map across the bottom (Denver) */
.sea .sea-office--pairs .sea-office-media{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;min-width:0}
.sea .sea-office--pairs .sea-office-media img{width:100%;height:220px;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center}
.sea .sea-office--pairs .sea-office-media img:first-child{object-position:center 48%}
.sea .sea-office--pairs .sea-map-small{grid-column:1/-1;width:100%;height:250px;min-height:0}

/* A shorter photo beside the tracks (Denver: the sales tax band) */
.sea .sea-split--compact{align-items:center}
.sea .sea-split--compact figure{width:100%;min-width:0}
.sea .sea-split--compact figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;max-height:380px;object-fit:cover;object-position:center 42%}

/* ---------- Portrait card in the hero, instead of the office photo (Houston) ---------- */
.sea .sea-herocard{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(242,245,249,.94));padding:16px;border-radius:var(--sea-r);border:3px solid var(--sea-green);box-shadow:0 30px 70px rgba(5,12,24,.52);justify-self:end;max-width:430px;margin:0}
.sea .sea-herocard img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:7px}
.sea .sea-herocard figcaption{padding:18px 8px 2px;color:var(--sea-ink);background:none;position:static}
.sea .sea-herocard strong{display:block;font-family:var(--sea-serif);font-size:1.18rem;margin-bottom:0}
.sea .sea-herocard span{color:var(--sea-ink-soft);font-size:.9rem;font-weight:400}

/* ---------- A bordered aside instead of a grey footnote (Houston) ---------- */
.sea .sea-note--boxed{background:var(--sea-paper);border:1px solid var(--sea-rule);border-left:4px solid var(--sea-green);padding:22px 24px;border-radius:0 var(--sea-r) var(--sea-r) 0;margin-top:24px;color:var(--sea-ink-soft);font-weight:300;font-size:inherit;max-width:none}

/* ---------- Row of source links under a band (Houston) ---------- */
.sea .sea-sources{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sea .sea-sources a{font-size:.88rem;text-decoration:none;border-bottom:1px solid currentColor;color:var(--sea-ultra);font-weight:600}
.sea .sea-sources--bright a{color:var(--sea-green-bright)}

/* ---------- Translucent card holding a band's content over its photo (Houston) ---------- */
.sea .sea-shotcard{max-width:630px;background:rgba(10,23,41,.82);backdrop-filter:blur(6px);padding:clamp(26px,3vw,42px);border-left:4px solid var(--sea-green-bright);border-radius:0 var(--sea-r) var(--sea-r) 0}

/* ---------- "No street address" note in the map card (Houston) ---------- */
.sea .sea-noaddress{font-style:normal;margin-top:18px;color:rgba(255,255,255,.86);font-weight:300}
.sea .sea-mapcard .sea-noaddress{margin-bottom:22px}
.sea .sea-mapcard strong{color:var(--sea-green-bright)}

/* ---------- Boxes for the kinds of work a city page covers (Houston) ---------- */
.sea .sea-boxes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}
.sea .sea-box{padding:24px;border:1px solid var(--sea-rule);border-top:4px solid var(--sea-ultra);border-radius:var(--sea-r);background:#fff}
.sea .sea-box h3{margin-bottom:8px}
.sea .sea-box p{font-size:.91rem;color:var(--sea-ink-soft);font-weight:300}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .sea .sea-grid{grid-template-columns:repeat(2,1fr)}
  .sea .sea-cell:nth-child(4n){border-right:1px solid var(--sea-gl)}
  .sea .sea-cell:nth-child(2n){border-right:0}
  .sea .sea-team,.sea .sea-proof,.sea .sea-areas,.sea .sea-figs--4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .sea .sea-hero-grid,.sea .sea-office,.sea .sea-split,.sea .sea-founder{grid-template-columns:1fr}
  .sea .sea-figs{grid-template-columns:1fr}
  .sea .sea-founder img{max-width:460px;height:clamp(300px,58vw,420px)}
  .sea .sea-mapcard{position:static;transform:none;width:auto;margin:0 var(--sea-gutter) var(--sea-gutter);border-radius:0 0 var(--sea-r) var(--sea-r)}
  .sea .sea-map-big{height:clamp(300px,40vh,420px)}
}
@media (max-width:820px){
  .sea .sea-cell{padding:30px 24px}
  .sea .sea-cell p{margin-bottom:20px}
  .sea .sea-cell-head .sea-d2{font-size:2rem}
}
@media (max-width:640px){
  .sea .sea-grid,.sea .sea-team,.sea .sea-hero-meta,.sea .sea-proof,.sea .sea-mosaic,.sea .sea-areas,.sea .sea-figs--4{grid-template-columns:1fr}
  .sea .sea-cell{border-right:0;padding:28px 22px}
  .sea .sea-cell h3{font-size:1.28rem}
  .sea .sea-cell p{font-size:.96rem;margin-bottom:16px}
  .sea .sea-cell-head{padding:34px 22px 30px}
  .sea .sea-cell-head .sea-d2{font-size:1.85rem;margin-bottom:10px}
  .sea .sea-cell-head p{max-width:none}
  .sea .sea-point{grid-template-columns:1fr}
  .sea .sea-point svg{display:none}
  .sea .sea-btn{width:100%;justify-content:center}
  .sea .sea-btns{width:100%}
}

/* ---------- variants ---------- */
@media (max-width:860px){
  .sea .sea-split--compact figure{max-width:620px;margin-inline:auto}
  .sea .sea-split--compact figure img{max-height:300px;aspect-ratio:16/9}
  .sea .sea-v-cards>.sea-wrap,.sea .sea-v-steps>.sea-wrap{grid-template-columns:1fr;gap:30px}
  .sea .sea-office--pairs .sea-office-media img{height:190px}
  .sea .sea-office--pairs .sea-map-small{height:230px}
}
@media (max-width:480px){
  .sea .sea-v-cards .sea-fig{padding:18px}
  .sea .sea-v-cards .sea-fig .sea-n{font-size:2.5rem}
  .sea .sea-v-cards .sea-fig:last-child{padding-left:16px}
  .sea .sea-office--pairs .sea-office-media{gap:10px}
  .sea .sea-office--pairs .sea-office-media img{height:150px}
  .sea .sea-split--compact figure img{max-height:240px}
}

/* ---------- Houston components ---------- */
@media (max-width:760px){
  .sea .sea-boxes{grid-template-columns:1fr}
  .sea .sea-herocard{max-width:520px;margin:auto;justify-self:center}
}

/* ============================================================
   HOUSTON SKIN
   The Houston mockup runs the same design at a smaller type scale. It is a page-wide setting,
   so it rides on the _dtl_skin body class rather than on a control in every block.
   ============================================================ */
body.dtl-skin-houston .sea{font-size:clamp(.95rem,.92rem + .18vw,1.01rem)}
body.dtl-skin-houston .sea .sea-d1{font-size:clamp(2.2rem,1.32rem + 3.95vw,4.2rem)}
body.dtl-skin-houston .sea .sea-d2{font-size:clamp(1.82rem,1.3rem + 2.35vw,2.95rem)}
body.dtl-skin-houston .sea .sea-d3{font-size:clamp(1.22rem,1.12rem + .52vw,1.5rem)}
body.dtl-skin-houston .sea .sea-hs{font-size:1rem}
body.dtl-skin-houston .sea .sea-lead{font-size:clamp(1rem,.96rem + .38vw,1.16rem)}
body.dtl-skin-houston .sea .sea-tiny{font-size:.82rem}
body.dtl-skin-houston .sea .sea-btn{font-size:.92rem;padding:16px 25px}
body.dtl-skin-houston .sea .sea-hero-meta div{font-size:.95rem}
body.dtl-skin-houston .sea .sea-proof p{font-size:.9rem}
body.dtl-skin-houston .sea .sea-cell p{font-size:.92rem}
body.dtl-skin-houston .sea .sea-cell .sea-go{font-size:.88rem}
@media (max-width:820px){
  body.dtl-skin-houston .sea .sea-cell-head .sea-d2{font-size:1.88rem}
}
@media (max-width:640px){
  body.dtl-skin-houston .sea .sea-cell h3{font-size:1.2rem}
  body.dtl-skin-houston .sea .sea-cell p{font-size:.9rem}
  body.dtl-skin-houston .sea .sea-cell-head .sea-d2{font-size:1.72rem;margin-bottom:10px}
}
