:root{
  color-scheme: light;
  --navy:#0C2340; --navy-deep:#081A31; --navy-line:rgba(255,255,255,.14);
  --teal:#17A9A3; --teal-ink:#0F6F6B; --teal-bright:#3FD0C9;
  --gold:#DAA520; --gold-ink:#8A6410;
  --paper:#F7F5F1; --stone:#E6E4DF; --ink:#1A1A1A; --ink-soft:#4A4F57;
  --on-navy:#FFFFFF; --on-navy-soft:rgba(255,255,255,.72);
  --display:"Playfair Display", Georgia, "Times New Roman", serif;
  --body:"Libre Franklin", Arial, Helvetica, sans-serif;
  --wrap:1200px; --gut:clamp(16px,4vw,56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.06;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1 em,h2 em,h3 em{font-style:italic}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.tagline{font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:8px 12px}

/* ---------- Header ---------- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:#0C2340;border-bottom:1px solid var(--navy-line);transition:background .35s,border-color .35s}
body.over-pond .site-head{background:transparent;border-bottom-color:transparent}
body.over-pond .site-head .nav{background:transparent}
@media (max-width:900px){body.over-pond .site-head .nav.open{background:#0C2340}}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:30px}
.nav a{color:var(--on-navy-soft);text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding-block:6px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:#fff;border-color:var(--gold)}
.nav .ext::after{content:" ↗";color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:.04em;text-decoration:none;padding:14px 22px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#E8B632}
.btn-line{border-color:rgba(255,255,255,.4);color:#fff}
.btn-line:hover{border-color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-deep)}
.head-cta{padding:11px 18px;font-size:13px}
.menu-btn{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;padding:9px 12px;border-radius:2px}
@media (max-width:900px){
  .nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;background:var(--navy);padding:16px var(--gut) 24px;border-bottom:1px solid var(--navy-line)}
  .nav.open{display:flex}
  .nav a{font-size:14px;padding-block:10px}
  .menu-btn{display:block}
  .head-cta{display:none}
  .brand img{height:28px}
}

/* ---------- Hero / pond ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate;margin-top:-77px;padding-top:77px}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;cursor:crosshair}
.hero .wrap{pointer-events:none}
.hero-inner{padding-block:clamp(72px,11vw,150px) clamp(64px,9vw,120px);max-width:760px;pointer-events:none}
.hero-inner a,.hero-inner button{pointer-events:auto}
.hero .tagline{color:var(--on-navy-soft);margin-bottom:28px;display:flex;flex-wrap:wrap;gap:.35em .9em}
.hero .tagline b{font-weight:400;color:var(--gold)}
.hero h1{font-size:clamp(44px,7.4vw,96px)}
.hero h1 em{color:var(--teal-bright)}
.hero .lede{margin-top:28px;font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--on-navy-soft);max-width:34em;font-weight:300}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.pond-hint{position:absolute;right:var(--gut);bottom:22px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);pointer-events:none}
@media (max-width:700px){.pond-hint{display:none}}
/* Isla on the pond, home page hero. She stands to the right of the headline with her own
   slow ripples, sized to the space the text leaves; under 1040px she sits small below
   the two buttons. */
.hero .wrap{position:relative}
.isla-hero{position:absolute;z-index:1;right:var(--gut);bottom:clamp(64px,9vw,120px);width:clamp(170px,calc(100% - 2*var(--gut) - 788px),330px);pointer-events:none}
.isla-hero picture,.isla-hero img{display:block;width:100%;height:auto;position:relative}
.isla-rings{position:absolute;left:50%;bottom:-4%;width:150%;transform:translateX(-50%);overflow:visible;pointer-events:none}
.isla-rings .rg{fill:none;stroke:#3FD0C9;stroke-width:1.2;transform-origin:150px 45px;animation:isla-ring 6s linear infinite;opacity:0}
.isla-rings .r2{stroke:#DAA520;animation-delay:2s}
.isla-rings .r3{animation-delay:4s}
@keyframes isla-ring{0%{transform:scale(.3);opacity:0}12%{opacity:.75}70%{opacity:.3}100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){.isla-rings .rg{opacity:.45;transform:scale(.9)}.isla-rings .r2{transform:scale(.6)}.isla-rings .r3{transform:scale(1.2)}}
@media (max-width:1040px){.isla-hero{position:relative;right:auto;bottom:auto;width:150px;margin:-36px 0 44px auto}}

/* ---------- Section scaffolding ---------- */
section{padding-block:clamp(72px,10vw,128px)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.sec-head .eyebrow{color:var(--teal-ink);margin-bottom:18px;display:block}
.sec-head h2{font-size:clamp(36px,5vw,64px)}
.sec-head p{color:var(--ink-soft);max-width:30em}
@media (max-width:800px){.sec-head{grid-template-columns:1fr}}

/* ---------- Divisions ---------- */
.divisions{background:var(--navy);color:#fff;padding-block:0}
.div-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.div-col{position:relative;padding:clamp(40px,4vw,56px) clamp(24px,3vw,40px) clamp(40px,4vw,56px);border-left:1px solid var(--navy-line);display:flex;flex-direction:column;gap:22px;overflow:hidden;text-decoration:none}
.div-col:first-child{border-left:0}
.div-col::before{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;border:1px solid rgba(63,208,201,.0);box-shadow:0 0 0 40px rgba(63,208,201,0),0 0 0 80px rgba(63,208,201,0);transition:border-color .5s, box-shadow .6s;pointer-events:none}
.div-col:hover::before{border-color:rgba(63,208,201,.35);box-shadow:0 0 0 40px rgba(63,208,201,.05),0 0 0 80px rgba(63,208,201,.03)}
.div-kind{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.div-logo{height:44px;display:flex;align-items:center}
.div-logo img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:left center}
.div-col h3{font-size:clamp(28px,2.6vw,36px)}
.div-col h3 em{color:var(--teal-bright)}
.div-col p{color:var(--on-navy-soft);font-weight:300}
.div-col .tagline{color:rgba(255,255,255,.6)}
.div-col .tagline b{font-weight:400;color:var(--teal-bright)}
.div-link{margin-top:auto;display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;border-bottom:1px solid var(--gold);padding-bottom:6px;align-self:flex-start}
.div-col:hover .div-link{color:var(--gold)}
@media (max-width:960px){.div-grid{grid-template-columns:1fr}.div-col{border-left:0;border-top:1px solid var(--navy-line)}.div-col:first-child{border-top:0}}

/* ---------- Structure band (who does what) ---------- */
.structure{background:var(--paper)}
.org{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:start}
.org h2{font-size:clamp(36px,5vw,60px)}
.org h2 em{color:var(--teal-ink)}
.org .eyebrow{color:var(--teal-ink);display:block;margin-bottom:18px}
.org-intro{margin-top:24px;color:var(--ink-soft);max-width:30em}
.org-list{display:grid;gap:0;border-top:1px solid var(--stone)}
.org-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding-block:24px;border-bottom:1px solid var(--stone)}
.org-row dt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--navy)}
.org-row dt span{display:block;font-weight:400;color:var(--gold-ink);letter-spacing:.12em;margin-top:4px}
.org-row dd{margin:0;color:var(--ink-soft)}
@media (max-width:800px){.org{grid-template-columns:1fr}.org-row{grid-template-columns:1fr;gap:6px}}

/* ---------- Process ---------- */
.process{background:var(--stone)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:rgba(12,35,64,.2)}
.step{position:relative;padding-right:28px}
.step-dot{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid rgba(12,35,64,.25);font-family:var(--display);font-size:20px;color:var(--navy);position:relative}
.step:last-child .step-dot{background:var(--navy);color:#fff;border-color:var(--navy)}
.step:last-child .step-dot::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid var(--gold)}
.step h3{font-size:24px;margin-top:26px}
.step p{margin-top:10px;color:var(--ink-soft);font-size:16px}
.step .who{display:block;margin-top:14px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:44px}.steps::before{display:none}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- Principle ---------- */
.principle{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.principle-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,6vw,96px);align-items:center}
.principle blockquote{margin:0;font-family:var(--display);font-size:clamp(34px,4.6vw,60px);line-height:1.1;text-wrap:balance}
.principle blockquote em{color:var(--teal-bright)}
.principle .eyebrow{color:var(--gold);display:block;margin-bottom:24px}
.tenets{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--navy-line)}
.tenets li{padding-block:20px;border-bottom:1px solid var(--navy-line)}
.tenets strong{display:block;font-family:var(--display);font-weight:400;font-size:22px}
.tenets span{display:block;margin-top:6px;color:var(--on-navy-soft);font-size:15px;font-weight:300}
.rings-deco{position:absolute;right:-180px;bottom:-220px;width:560px;height:560px;pointer-events:none;opacity:.5}
@media (max-width:860px){.principle-grid{grid-template-columns:1fr}}

/* ---------- Place ---------- */
.place{background:var(--paper);padding-block:clamp(56px,7vw,88px)}
.place-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px 48px;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);padding-block:28px}
.place-row h2{font-size:clamp(28px,3.4vw,42px)}
.coords{font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.14em;color:var(--ink-soft);display:flex;gap:28px}

/* ---------- CTA ---------- */
.cta{background:var(--paper);padding-top:0;overflow-x:clip}
.cta-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.cta-card .eyebrow{color:var(--gold-ink);display:block;margin-bottom:18px}
.cta-card h2{font-size:clamp(40px,6vw,80px);color:var(--navy)}
.cta-card h2 em{color:var(--teal-ink)}
.cta-card p{margin-top:20px;color:var(--ink-soft);max-width:32em}
.talk{position:relative;width:220px;height:220px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;text-align:center;text-decoration:none;font-family:var(--display);font-size:26px;line-height:1.15;transition:transform .3s}
.talk::before,.talk::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(12,35,64,.18);inset:-22px;transition:inset .5s}
.talk::after{inset:-46px;border-color:rgba(12,35,64,.08)}
.talk:hover::before{inset:-30px;border-color:var(--gold)}
.talk:hover::after{inset:-62px}
.talk small{display:block;font-family:var(--body);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:10px}
@media (max-width:760px){.cta-card{grid-template-columns:1fr}.talk{margin:56px auto 24px;width:190px;height:190px;font-size:22px}}

/* ---------- Division pages ---------- */
.dhero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding-block:clamp(64px,9vw,120px)}
.dhero-logo{height:56px;margin-bottom:48px}
.dhero-logo img{height:100%;width:auto}
.dhero .kind{color:var(--gold);margin-bottom:22px;display:block}
.dhero h1{font-size:clamp(42px,6.6vw,88px);max-width:14ch}
.dhero h1 em{color:var(--teal-bright)}
.dhero .lede{margin-top:28px;max-width:36em;color:var(--on-navy-soft);font-size:clamp(17px,1.5vw,20px);font-weight:300}
.dhero .tagline{margin-top:40px;color:rgba(255,255,255,.66);display:flex;flex-wrap:wrap;gap:.3em 1em}
.dhero .tagline b{font-weight:400;color:var(--teal-bright)}
.dhero-art{position:absolute;right:max(-60px,calc((100vw - var(--wrap))/2 - 60px));top:50%;transform:translateY(-50%);width:min(44vw,520px);opacity:.9;pointer-events:none}
.mkt-art{width:min(24vw,240px);right:max(var(--gut),calc((100vw - var(--wrap))/2 - 60px))}
.ai-art{opacity:.14}
@media (max-width:900px){.dhero-art,.mkt-art{opacity:.18;right:-120px}}
@media (max-width:960px){.mkt-art{opacity:.18;right:-120px}}

.offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--stone)}
.offer{padding:36px 36px 36px 0;border-bottom:1px solid var(--stone);display:grid;gap:12px;align-content:start}
.offer:nth-child(odd){border-right:1px solid var(--stone)}
.offer:nth-child(even){padding-left:36px;padding-right:0}
.offer h3{font-size:28px}
.offer p{color:var(--ink-soft)}
.offer .for{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink);font-weight:600}
@media (max-width:800px){.offers{grid-template-columns:1fr}.offer,.offer:nth-child(even){padding:28px 0;border-right:0}}

.pull{background:var(--stone)}
.pull figure{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.pull img{width:clamp(120px,16vw,200px);height:auto}
.pull blockquote{margin:0;font-family:var(--display);font-size:clamp(30px,4vw,52px);line-height:1.12;color:var(--navy);text-wrap:balance}
.pull blockquote em{color:var(--teal-ink)}
.pull figcaption{margin-top:20px;color:var(--ink-soft);max-width:34em}
@media (max-width:700px){.pull figure{grid-template-columns:1fr}}

.commit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.commit div{border-top:2px solid var(--navy);padding-top:22px}
.commit strong{display:block;font-family:var(--display);font-weight:400;font-size:26px;color:var(--navy)}
.commit span{display:block;margin-top:8px;color:var(--ink-soft);font-size:16px}
@media (max-width:800px){.commit{grid-template-columns:1fr}}

.loop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--stone);border:2px solid var(--stone)}
.loop div{background:var(--paper);padding:28px 24px 32px}
.loop b{display:block;font-family:var(--display);font-weight:400;font-size:40px;color:var(--navy);line-height:1}
.loop h3{font-size:22px;margin-top:18px}
.loop p{margin-top:8px;color:var(--ink-soft);font-size:15px}
.loop .gate{background:var(--navy);color:#fff}
.loop .gate b,.loop .gate h3{color:#fff}
.loop .gate p{color:var(--on-navy-soft)}
.loop .gate .flag{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:4px 8px;font-weight:600}
@media (max-width:900px){.loop{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.loop{grid-template-columns:1fr}}

.social-band{background:var(--navy-deep);color:#fff}
.social-band .inner{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.social-band img{height:40px;width:auto}
.social-band p{color:var(--on-navy-soft);max-width:34em;font-weight:300}
.social-band h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:14px}
.social-band h2 em{color:var(--teal-bright)}

/* ---------- Footer ---------- */
.foot{background:var(--navy);color:var(--on-navy-soft);padding-block:64px 40px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.6fr));gap:40px}
.foot img{height:30px;width:auto;margin-bottom:18px}
.foot h4{margin:0 0 14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot a{text-decoration:none}.foot a:hover{color:#fff}
.foot-base{margin-top:56px;padding-top:22px;border-top:1px solid var(--navy-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:rgba(255,255,255,.5)}
.draft{border:1px solid rgba(218,165,32,.5);color:var(--gold);padding:3px 10px;border-radius:20px;letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}


/* ---------- Marketing services ---------- */
.svc-jump{position:sticky;top:calc(env(safe-area-inset-top,0px) + 76px);z-index:30;background:var(--paper);border-bottom:1px solid var(--stone)}
.svc-jump .wrap{display:flex;gap:6px 26px;overflow-x:auto;padding-block:14px;scrollbar-width:none}
.svc-jump a{flex:none;text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy);padding-block:4px;border-bottom:1px solid transparent}
.svc-jump a:hover{border-color:var(--gold)}
.svc-list{border-top:1px solid var(--stone)}
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,5vw,80px);padding-block:clamp(32px,4vw,48px);border-bottom:1px solid var(--stone);scroll-margin-top:150px}
.svc-kind{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin-bottom:12px}
.svc h3{font-size:clamp(28px,3vw,38px);color:var(--navy)}
.svc h3 em{color:var(--teal-ink)}
.svc-head p{margin-top:14px;color:var(--ink-soft);max-width:30em}
.svc-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-content:start}
.svc-items li{padding:12px 0 12px 22px;border-bottom:1px solid var(--stone);position:relative;font-size:16px}
.svc-items li::before{content:"";position:absolute;left:0;top:50%;width:9px;height:9px;margin-top:-5px;border-radius:50%;border:1.5px solid var(--teal)}
@media (max-width:860px){.svc{grid-template-columns:1fr}}
@media (max-width:520px){.svc-items{grid-template-columns:1fr}}
.record{background:var(--navy);color:#fff}
.record .sec-head .eyebrow{color:var(--gold)}
.record .sec-head h2 em{color:var(--teal-bright)}
.record .sec-head p{color:var(--on-navy-soft)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--navy-line)}
.stats div{padding:28px 24px 28px 0;border-bottom:1px solid var(--navy-line)}
.stats dt{font-family:var(--display);font-size:clamp(44px,5vw,64px);line-height:1;font-variant-numeric:lining-nums tabular-nums}
.stats div:nth-child(3n+2) dt{color:var(--gold)}
.stats dd{margin:10px 0 0;color:var(--on-navy-soft);font-size:15px;max-width:18em}
.industries{margin-top:36px;display:flex;flex-wrap:wrap;gap:10px}
.industries span{border:1px solid var(--navy-line);border-radius:30px;padding:6px 14px;font-size:13px;color:var(--on-navy-soft)}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}}
/* when the last row of figures is one short, draw the rule under the empty cell too */
@media (min-width:761px){.stats:has(> div:nth-child(3n+2):last-child)::after{content:"";border-bottom:1px solid var(--navy-line)}}
@media (max-width:760px){.stats:has(> div:nth-child(odd):last-child)::after{content:"";border-bottom:1px solid var(--navy-line)}}

.built{background:var(--navy);color:#fff}
.built .sec-head .eyebrow{color:var(--gold)}
.built .sec-head h2 em{color:var(--teal-bright)}
.built .sec-head p{color:var(--on-navy-soft)}
.built-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--navy-line)}
.built-grid article{padding:32px 32px 36px 0;display:flex;flex-direction:column;gap:12px}
.built-grid article+article{border-left:1px solid var(--navy-line);padding-left:32px}
.built-grid h3{font-size:30px}
.built-grid p{color:var(--on-navy-soft);font-weight:300;font-size:16px}
.built-grid a{margin-top:auto;align-self:flex-start;color:#fff;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;font-size:13px;font-weight:600;letter-spacing:.06em}
.status{align-self:flex-start;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:4px 10px;border-radius:20px}
.status.live{background:var(--teal);color:var(--navy)}
.status.build{background:var(--gold);color:var(--navy)}
@media (max-width:860px){.built-grid{grid-template-columns:1fr}.built-grid article,.built-grid article+article{border-left:0;padding:28px 0;border-bottom:1px solid var(--navy-line)}}

.div-mark{height:64px;display:flex;align-items:center}
.div-mark img{height:100%;width:auto}
.div-fn{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);line-height:1.5}
.band-mark{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.band-mark img{height:48px;width:auto}
.band-mark span{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.view[hidden]{display:none!important}
@keyframes rise{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
.view .rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.16s}.rise.d3{animation-delay:.24s}.rise.d4{animation-delay:.32s}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- Page not found ----------
   Deliberately unlike the home page: a light page, centered, with the number itself as
   the picture and Isla standing where the zero would be. */
.nf{background:var(--paper);color:var(--ink);text-align:center;padding-block:clamp(36px,5vw,64px) clamp(64px,8vw,112px)}
.nf-in{display:flex;flex-direction:column;align-items:center}
.nf-code{display:flex;align-items:baseline;justify-content:center;gap:.05em;font-family:var(--display);font-weight:400;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-size:clamp(140px,24vw,300px);line-height:.86;color:var(--navy);margin:0 0 clamp(26px,3.6vw,44px)}
.nf-isla{position:relative;display:block;width:.52em;flex:0 0 auto;transform:translateY(.045em)}
.nf-isla picture,.nf-isla img{display:block;width:100%;height:auto;position:relative}
.nf .isla-rings .rg{stroke:var(--teal);stroke-width:1.6}
.nf .isla-rings .r2{stroke:var(--gold)}
.nf .eyebrow{color:var(--gold-ink);margin-bottom:16px}
.nf h1{font-size:clamp(30px,4.2vw,52px);color:var(--navy);max-width:17em}
.nf h1 em{color:var(--teal-ink)}
.nf .lede{margin-top:18px;max-width:36em;color:var(--ink-soft);font-size:clamp(16px,1.5vw,19px);line-height:1.6}
.nf-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
.nf .btn-line{border-color:rgba(12,35,64,.4);color:var(--navy)}
.nf .btn-line:hover{border-color:var(--navy)}

/* office hours under the contact invitation; legal links in the footer base */
.cta-card .hours{margin-top:26px}
.cta-card .hours .eyebrow{margin-bottom:8px}
.cta-card .hours p{margin-top:0;font-size:15px;line-height:1.7;color:var(--ink-soft)}
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot-base a{color:inherit;text-decoration:none}
.foot-base a:hover{color:#fff;text-decoration:underline}
.divisions{scroll-margin-top:77px}
#contact{scroll-margin-top:109px}
