/* Layout: light and airy. Off-white and white sections carry the page; deep teal opens (hero) and closes (call to action). The brushstroke arc from the logo is the one recurring motif. Gold is reserved for that arc and the stars; magenta for actions only. Deliberate single look. */
:root{
  --teal:#065762; --teal-deep:#043f47; --gold:#c8ac30; --pink:#cc007e; --pink-d:#b0006d;
  --lteal:#88b8b5; --mist:#e3eeee; --navy:#191a2e; --white:#fefefe;
  --paper:#f5f7f7; --ink:#191a2e; --slate:#525252;
  --line:rgba(25,26,46,.10); --line-w:rgba(254,254,254,.18);
  --hero:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --text:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --serif:"Cormorant Garamond",Garamond,Georgia,serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;text-wrap:balance}
h2{font-family:var(--text);font-weight:700;font-size:clamp(30px,3.6vw,48px);line-height:1.15;letter-spacing:-.01em;color:var(--ink)}
h2 em,h3 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--teal);font-size:1.14em;letter-spacing:0}
p{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:3px}
.wrap{max-width:1320px;margin:0 auto;padding-inline:clamp(16px,4vw,32px);position:relative}
section{padding-block:clamp(72px,9vw,112px);position:relative;overflow:hidden}
.paper{background:var(--paper)}
.kick{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.dink{display:block;width:96px;height:auto;margin-top:18px}
.sec-h{max-width:820px;margin-bottom:clamp(36px,5vw,52px)}
.sec-h.center{margin-inline:auto;text-align:center}
.sec-h.center .dink{margin-inline:auto}

/* The logo arc as background motif */
.arc{position:absolute;pointer-events:none;height:auto;max-width:none}
.dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(136,184,181,.4) 1.1px,transparent 1.6px);background-size:11px 11px;-webkit-mask-image:linear-gradient(115deg,transparent 10%,#000 30%,transparent 50%);mask-image:linear-gradient(115deg,transparent 10%,#000 30%,transparent 50%);opacity:.55}

/* Soft striped-wave texture on the light sections */
.tex::before{content:"";position:absolute;inset:0;pointer-events:none;background:url("wave.png") center/cover no-repeat;opacity:var(--tex-o,.55);transform:var(--tex-t,none)}
.tex-a{--tex-o:.6}
.tex-b{--tex-o:.42;--tex-t:scaleX(-1)}
.tex-c{--tex-o:.5}
.tex-d{--tex-o:.4;--tex-t:scale(-1,-1)}
.tex-e{--tex-o:.55;--tex-t:scaleY(-1)}
.tex-f{--tex-o:.35;--tex-t:scaleX(-1)}

/* Pink italic heading accents, with lift */
h2 em,h3 em{color:var(--pink);font-weight:700;text-shadow:0 1px 0 rgba(254,254,254,.9),0 0 22px rgba(254,254,254,.95);background:linear-gradient(transparent 62%,rgba(204,0,126,.13) 62%,rgba(204,0,126,.13) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}
.dark h2 em,.detail h3 em{color:var(--pink);text-shadow:none;background:var(--white);padding:0 .22em .04em;border-radius:6px;box-shadow:0 10px 26px -12px rgba(0,0,0,.55);line-height:1.5}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--text);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:15px 26px;border-radius:40px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:box-shadow .25s,background .25s,color .25s,transform .25s}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-pink{background:var(--pink);color:var(--white)}
.btn-pink:hover{background:var(--pink-d);box-shadow:0 14px 30px -12px rgba(204,0,126,.7);transform:translateY(-2px)}
.btn-line{border-color:var(--teal);color:var(--teal);background:transparent}
.btn-line:hover{background:var(--teal);color:var(--white)}
.dark .btn-line{border-color:var(--white);color:var(--white)}
.dark .btn-line:hover{background:var(--white);color:var(--teal)}

/* Nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(254,254,254,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.nav .mark img{height:52px;width:auto}
.links{display:flex;gap:clamp(16px,2.6vw,36px);list-style:none;margin:0;padding:0}
.links a{text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:6px 0;border-bottom:2px solid transparent;transition:border-color .25s,color .25s}
.links a:hover{color:var(--teal);border-color:var(--teal)}
.nav .btn{padding:12px 20px}
@media (max-width:900px){.links{display:none}.nav .mark img{height:42px}}

/* Hero (deep teal) */
.dark{background:linear-gradient(160deg,#0a6d7a 0%,var(--teal) 45%,var(--teal-deep) 100%);color:var(--white)}
.dark::before,.detail::before,footer::before{content:"";position:absolute;inset:0;pointer-events:none;background:url("facets.svg") center/100% 100% no-repeat}
.dark h2{color:var(--white)}
.dark h2 em{color:var(--lteal)}
.dark .kick{color:var(--lteal)}
.hero{padding-block:clamp(48px,6vw,84px)}
.hero .arc.a1{width:1500px;left:-300px;bottom:-40px;opacity:.10;transform:rotate(-14deg)}
.hero .arc.a2{width:900px;right:-260px;top:40px;opacity:.28;transform:rotate(-8deg)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,56px);align-items:end;position:relative;z-index:2}
.hero-photo{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(4,52,60,.94) 0%,rgba(4,52,60,.82) 38%,rgba(4,52,60,.45) 62%,rgba(4,52,60,.3) 100%),linear-gradient(0deg,rgba(4,47,54,.85) 0%,rgba(4,47,54,0) 45%),url("hero-bg.jpg") 70% 30%/cover no-repeat;animation:photoIn 1.4s ease 4.6s forwards}
@keyframes photoIn{to{opacity:1}}
.hero::before{z-index:0}
.hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero .kick{margin:0;display:flex;align-items:center;gap:14px;color:var(--white);font-size:13.5px;letter-spacing:.2em}
.hero .kick::before{content:"";width:34px;height:2px;background:var(--gold);flex:0 0 auto}
.hero h1{font-family:var(--hero);font-weight:800;text-transform:uppercase;line-height:.92;font-size:clamp(58px,7.4vw,116px);letter-spacing:.005em}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.03em}
.hero h1 .ln span{display:block;animation:rise 1s var(--ease) both}
.hero h1 .ln:nth-child(2) span{animation-delay:.12s;color:var(--gold)}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero .lede{font-size:clamp(18px,1.75vw,22px);line-height:1.6;color:#dbe9e8;max-width:31em}
.hero .lede b{color:var(--white);font-weight:600}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero .sub{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,2.2vw,28px);line-height:1.25;color:var(--white);max-width:26em}

/* Photo stack: team pops in, Takisha last, then everything clears to the logo */
.stack{position:relative;height:clamp(400px,44vw,600px);cursor:pointer}
.stack .pc{position:absolute;left:var(--x);top:var(--y);width:34%;aspect-ratio:4/5;border:6px solid var(--white);border-radius:4px;overflow:hidden;box-shadow:0 22px 44px -22px rgba(0,0,0,.85);transform:rotate(var(--r));opacity:0;animation:pop .32s cubic-bezier(.3,1.5,.5,1) var(--d) forwards,clear .55s ease-in 3.3s forwards}
.stack .pc img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.stack .pc.lead{width:54%;left:23%!important;top:-2%!important;z-index:2;border-width:7px;box-shadow:0 40px 70px -24px rgba(0,0,0,.95)}
.stack .logo-final{position:absolute;left:50%;top:50%;width:min(44%,260px);transform:translate(-50%,-50%) scale(.6);opacity:0;animation:logoIn .9s cubic-bezier(.3,1.4,.5,1) 3.65s forwards,logoDown 1.1s cubic-bezier(.6,0,.2,1) 4.7s forwards;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
@keyframes logoDown{from{top:50%;left:50%;opacity:1;transform:translate(-50%,-50%)}to{top:100%;left:var(--lx,100%);opacity:1;transform:translate(var(--tx,-100%),-100%)}}
@keyframes pop{from{opacity:0;transform:rotate(var(--r)) scale(.35)}to{opacity:1;transform:rotate(var(--r)) scale(1)}}
@keyframes clear{from{opacity:1;transform:rotate(var(--r)) scale(1)}to{opacity:0;transform:rotate(0deg) scale(.6) translateY(30px)}}
@keyframes logoIn{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.hero.replay .pc,.hero.replay .logo-final,.hero.replay .hero-photo{animation:none}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.stack{height:clamp(300px,74vw,440px);margin-top:-8px}.stack .logo-final{--lx:0%;--tx:0%;width:min(52%,230px)}}
@media (prefers-reduced-motion:reduce){.stack .pc{display:none}.stack .logo-final{opacity:1;top:100%;left:var(--lx,100%);transform:translate(var(--tx,-100%),-100%)}.hero-photo{opacity:1}}

/* Signals */
.signals .arc{width:1100px;right:-380px;top:-60px;opacity:.16;transform:rotate(-10deg)}
.sig-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sig{border-radius:10px;padding:30px 26px;background:var(--white);box-shadow:0 2px 8px rgba(24,26,46,.05),0 14px 34px -22px rgba(6,87,98,.35);transition:transform .35s var(--ease),box-shadow .35s;min-width:0}
.sig:hover{transform:translateY(-4px);box-shadow:0 4px 10px rgba(24,26,46,.06),0 24px 44px -24px rgba(6,87,98,.45)}
.sig p{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,2vw,27px);line-height:1.2;color:var(--ink)}
.sig-close{margin-top:32px;max-width:46em;font-size:17px;color:var(--slate)}
.sig-close b{color:var(--teal)}
@media (max-width:1000px){.sig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sig-grid{grid-template-columns:1fr}}

/* Pain point cards: statement on top, answer aligned along the bottom */
.sig-grid{align-items:stretch}
.sig{display:flex;flex-direction:column;padding:28px 26px 26px}
.sig p.stmt{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,1.8vw,25px);line-height:1.2;color:var(--ink)}
.sig .exp{margin-top:auto;display:block}
.sig .exp .in{display:block;margin-top:22px;padding-top:16px;border-top:2px solid var(--pink);min-height:152px}
@media (max-width:1000px){.sig .exp .in{min-height:0}}
.sig .exp b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}
.sig .exp span{display:block;font-size:14.5px;line-height:1.55;color:var(--slate)}
.sig .exp>span{display:block}
.sig-cta .in{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--white);border-radius:12px;padding:22px 26px;border-left:4px solid var(--pink);box-shadow:0 18px 40px -28px rgba(6,87,98,.45)}
.sig-cta p{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,2vw,27px);color:var(--ink)}

/* Photo band */
.band{position:relative;margin:0}
.band .bg{height:clamp(480px,46vw,700px);background:url("photo-4-lg.jpg") 72% 46%/cover no-repeat}
.band figcaption{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,47,54,.55),rgba(4,47,54,.15) 50%,rgba(4,47,54,0) 70%)}
.band figcaption .wrap{width:100%}
.band .panel{max-width:520px;background:rgba(254,254,254,.95);border-radius:14px;padding:clamp(26px,3.6vw,44px);box-shadow:0 30px 70px -30px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:14px;border-top:4px solid var(--pink)}
.band p.big{font-weight:700;font-size:clamp(24px,2.6vw,34px);line-height:1.2;color:var(--ink)}
.band p.big em{display:block;margin-top:8px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.2em;color:var(--pink)}
.band p.small{font-size:15.5px;color:var(--slate);line-height:1.6}
@media (max-width:700px){.band .bg{height:auto;aspect-ratio:4/3;background-position:70% 40%}.band figcaption{position:static;background:none;display:block}.band figcaption .wrap{margin-top:-60px;padding-bottom:40px}.band .panel{max-width:none}}

/* Partner + benefits */
.partner-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,6vw,80px);align-items:start}
.partner-grid blockquote{margin:28px 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(24px,2.5vw,32px);line-height:1.25;color:var(--ink)}
.partner-grid blockquote b{font-weight:600;color:var(--teal)}
.benefits{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.benefit{padding:26px 22px 26px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start;min-width:0}
.benefit:nth-child(even){padding-left:22px;padding-right:0;border-left:1px solid var(--line)}
.benefit svg{flex:0 0 28px;width:28px;height:28px;stroke:var(--teal);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.benefit p{font-size:15.5px;font-weight:500;color:var(--ink);line-height:1.55}
.partner-grid .diff{margin-top:18px;font-size:17px;font-weight:600;color:var(--ink)}
.partner-grid .diff em{font-family:var(--serif);font-style:italic;font-size:1.3em;color:var(--pink)}
.benefit p b{font-weight:700;color:var(--teal)}
@media (max-width:900px){.partner-grid{grid-template-columns:1fr}}
@media (max-width:560px){.benefits{grid-template-columns:1fr}.benefit:nth-child(even){padding-left:0;border-left:0}}

/* Meet Takisha video card + player */
.vcard{margin-top:32px;display:flex;align-items:stretch;gap:0;max-width:460px;background:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(24,26,46,.06),0 22px 44px -26px rgba(6,87,98,.5);cursor:pointer;border:0;padding:0;font:inherit;text-align:left;color:inherit;transition:transform .35s var(--ease),box-shadow .35s}
.vcard:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(24,26,46,.08),0 28px 50px -24px rgba(6,87,98,.55)}
.vcard .thumb{position:relative;flex:0 0 150px;aspect-ratio:4/5;background:#6d6d6d}
.vcard .thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.vcard .play{position:absolute;left:50%;bottom:16px;width:52px;height:52px;margin-left:-26px;border-radius:50%;background:var(--pink);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(204,0,126,.25);transition:transform .3s var(--ease)}
.vcard:hover .play{transform:scale(1.08)}
.vcard .play svg{width:20px;height:20px;fill:var(--white);margin-left:3px}
.vcard .info{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.vcard .lab{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--pink)}
.vcard .ttl{font-size:19px;font-weight:700;line-height:1.25;color:var(--ink)}
.vcard .sub{font-size:13.5px;color:var(--slate)}
.player{border:0;padding:0;background:transparent;max-width:min(1000px,92vw);width:100%}
.player::backdrop{background:rgba(10,20,26,.82)}
.player video{width:100%;display:block;border-radius:12px;background:#000;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.player .close{position:absolute;top:-48px;right:0;background:transparent;border:1.5px solid rgba(254,254,254,.6);color:var(--white);border-radius:40px;padding:8px 16px;font:700 12px var(--text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.player .close:hover{background:var(--white);color:var(--ink)}
.player-inner{position:relative;margin-top:56px}
@media (max-width:480px){.vcard .thumb{flex-basis:120px}.vcard .info{padding:18px}}

/* Services: lanes + ecosystem in one */
.lanes .arc{width:1200px;left:-420px;bottom:-30px;opacity:.14;transform:rotate(-12deg)}
.eco-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.eco-col{border:1.5px solid var(--line);border-radius:12px;padding:24px;background:var(--white);position:relative;z-index:1;min-width:0;transition:border-color .3s,box-shadow .3s}
.eco-col.sel{border-color:var(--teal);box-shadow:0 18px 40px -26px rgba(6,87,98,.5)}
.lane-btn{all:unset;cursor:pointer;display:block;width:100%;margin-bottom:16px}
.lane-btn b{display:block;font-size:20px;font-weight:700;color:var(--ink)}
.lane-btn span{display:block;font-size:12.5px;color:var(--slate);margin-top:2px}
.lane-btn:focus-visible{outline:3px solid var(--pink);outline-offset:4px;border-radius:4px}
.eco-col.sel .lane-btn b{color:var(--teal)}
.eco-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.chip{width:100%;text-align:left;font:600 13.5px var(--text);color:var(--ink);background:var(--paper);border:1.5px solid transparent;border-radius:40px;padding:11px 16px;cursor:pointer;transition:all .3s var(--ease)}
.chip:hover{border-color:var(--teal)}
.lanes.live .chip{opacity:.45}
.lanes.live .chip.on{opacity:1;background:var(--pink);color:var(--white)}
.lanes.live .chip.rel{opacity:1;background:var(--white);border-color:var(--teal);color:var(--teal)}
.eco-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.eco-lines path{fill:none;stroke:var(--teal);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw .6s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.eco-hint-row{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.eco-hint-row .eco-hint{margin:0}
.eco-intro{margin-top:20px;font-size:17px;color:var(--slate);max-width:44em}
.eco-pair{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:820px}
.eco-pair p{background:var(--white);border-left:3px solid var(--pink);border-radius:8px;padding:14px 18px;font-size:15px;color:var(--ink);box-shadow:0 10px 26px -20px rgba(6,87,98,.5)}
.eco-pair b{color:var(--teal)}
@media (max-width:640px){.eco-pair{grid-template-columns:1fr}}
.eco-hint{margin-top:14px;font-size:12.5px;color:var(--slate)}
.detail{margin-top:28px;border-radius:12px;background:linear-gradient(160deg,#0a6d7a,var(--teal) 50%,var(--teal-deep));color:var(--white);padding:clamp(26px,4vw,44px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(20px,4vw,48px);align-items:center;position:relative;overflow:hidden}
.detail .arc{width:700px;right:-200px;bottom:-30px;opacity:.18;transform:rotate(-8deg)}
.detail>div{position:relative}
.detail .pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lteal);margin-bottom:12px}
.detail h3{font-size:clamp(26px,2.8vw,36px);font-weight:700;line-height:1.15;margin-bottom:14px}
.detail h3 em{color:var(--lteal)}
.detail .desc{color:#dbe9e8;font-size:15.5px}
.detail .outcome{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,26px);line-height:1.3;color:var(--white)}
.detail .more{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--white);border-bottom:2px solid var(--pink);padding-bottom:4px}
.detail[data-anim]{animation:fadeup .45s var(--ease)}
@keyframes fadeup{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:860px){.eco-grid{grid-template-columns:1fr}.eco-lines{display:none}.detail{grid-template-columns:1fr}}

/* Services accordion */
.acc{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.acc-item{background:var(--white);border-radius:12px;border:1.5px solid var(--line);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.acc-item.open{border-color:var(--teal);box-shadow:0 20px 44px -28px rgba(6,87,98,.55)}
.acc-h{margin:0}
.acc-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:18px;padding:22px 26px}
.acc-btn:focus-visible{outline:3px solid var(--pink);outline-offset:-3px;border-radius:12px}
.acc-n{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--teal);background:var(--mist);transition:background .3s,color .3s}
.acc-item.open .acc-n{background:var(--pink);color:var(--white)}
.acc-t{flex:1;font-size:clamp(17px,1.7vw,21px);font-weight:700;color:var(--ink)}
.acc-i{flex:0 0 auto;position:relative;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--teal)}
.acc-i::before,.acc-i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--teal);transform:translate(-50%,-50%);transition:transform .3s var(--ease)}
.acc-i::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc-item.open .acc-i::after{transform:translate(-50%,-50%) rotate(0)}
.acc-p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.acc-item.open .acc-p{grid-template-rows:1fr}
.acc-p>div{overflow:hidden}
.acc-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);padding:4px 26px 28px 84px}
.acc-hl{font-size:clamp(22px,2.2vw,28px);font-weight:700;line-height:1.2;color:var(--ink);margin-bottom:12px}
.acc-hl em{font-family:var(--serif);font-style:italic;font-weight:700;font-size:1.12em;color:var(--pink)}
.acc-d{font-size:15.5px;color:var(--slate)}
.acc-o{margin-top:16px;padding:14px 16px;border-radius:8px;background:var(--mist);font-family:var(--serif);font-style:italic;font-weight:600;font-size:19px;line-height:1.3;color:var(--teal)}
.acc-intro{font-weight:700;color:var(--ink);font-size:15.5px;margin-bottom:12px}
.acc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.acc-list li{position:relative;padding-left:28px;font-size:15px;line-height:1.5;color:var(--ink)}
.acc-list li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--pink)}
.acc-list li::after{content:"";position:absolute;left:5px;top:8px;width:7px;height:4px;border-left:2px solid var(--white);border-bottom:2px solid var(--white);transform:rotate(-45deg)}
.more-sol{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-decoration:none;background:var(--pink);color:var(--white);border-radius:14px;padding:22px 28px;box-shadow:0 20px 44px -22px rgba(204,0,126,.7);transition:transform .3s var(--ease),background .3s}
.more-sol:hover{transform:translateY(-3px);background:var(--pink-d)}
.more-sol b{display:block;font-size:clamp(18px,1.9vw,22px);letter-spacing:.02em}
.more-sol small{display:block;font-size:14px;opacity:.9;margin-top:2px}
.more-sol .go{flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--pink);display:grid;place-items:center;font-size:22px;font-weight:700;transition:transform .3s var(--ease)}
.more-sol:hover .go{transform:translateX(4px)}
@media (max-width:760px){.acc-in{grid-template-columns:1fr;padding:0 20px 24px}.acc-btn{padding:18px 20px;gap:14px}.acc-n{width:34px;height:34px}}

/* Builder */
.builder .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
.choices{display:flex;flex-direction:column;gap:30px}
.choices fieldset{border:0;margin:0;padding:0}
.choices legend{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;padding:0;margin-bottom:14px}
.choices legend span{width:28px;height:28px;border-radius:50%;background:var(--teal);color:var(--white);display:grid;place-items:center;font-size:14px}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label{display:flex;flex-direction:column;gap:4px;padding:16px 16px;border-radius:10px;border:1.5px solid var(--line);background:var(--white);cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease);min-width:0;height:100%}
.opts label:hover{transform:translateY(-2px);border-color:var(--lteal)}
.opts label b{font-size:15px;font-weight:700}
.opts label small{font-size:12.5px;color:var(--slate);line-height:1.4}
.opts input:checked+label{border-color:var(--teal);background:var(--mist)}
.opts input:focus-visible+label{outline:3px solid var(--pink);outline-offset:2px}
.result{background:var(--white);border:1.5px solid var(--line);border-top:4px solid var(--teal);border-radius:12px;padding:clamp(26px,4vw,40px);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;box-shadow:0 18px 40px -28px rgba(6,87,98,.45)}
.b-intro{margin-top:18px;font-size:17px;color:var(--slate);max-width:42em}
.result .rec{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--mist);color:var(--teal);padding:6px 12px;border-radius:30px}
.result h3{font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.1}
.result p{color:var(--slate);font-size:16px}
.result p.lane{font-family:var(--serif);font-style:italic;font-size:23px;color:var(--teal);line-height:1.3}
.result .btn{align-self:flex-start;margin-top:auto}
.result.swap{animation:fadeup .45s var(--ease)}
@media (max-width:960px){.builder .grid{grid-template-columns:1fr}}
@media (max-width:560px){.opts{grid-template-columns:1fr}}

/* Voices */
.vgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.vc{margin:0;flex:1 1 300px;max-width:372px;border-radius:12px;padding:34px 28px 30px;background:var(--white);box-shadow:0 2px 8px rgba(24,26,46,.05),0 16px 36px -24px rgba(6,87,98,.4);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;transition:transform .35s var(--ease)}
.vc:hover{transform:translateY(-4px)}
.avatar{width:104px;height:104px;border-radius:50%;overflow:hidden;border:3px solid var(--gold);box-shadow:0 0 0 5px rgba(200,172,48,.15);background:var(--white);flex:0 0 auto;display:grid;place-items:center}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.logo img{width:82%;height:auto;object-fit:contain}
.vc .st{color:var(--gold);letter-spacing:4px;font-size:15px}
.vc blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(21px,1.9vw,25px);line-height:1.25;color:var(--ink)}
.vc figcaption{margin-top:auto;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.vc figcaption span{display:block;margin-top:3px;color:var(--slate);font-weight:600;letter-spacing:.08em}

/* CTA (deep teal) */
.cta .arc.a1{width:1400px;right:-460px;top:20px;opacity:.22;transform:rotate(-10deg)}
.cta .grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:40px;align-items:end}
.cta h2{font-size:clamp(34px,4.6vw,62px);line-height:1.08}
.cta p{margin-top:20px;color:#dbe9e8;font-size:18px;max-width:34em}
.cta p.goal{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,2.2vw,28px);line-height:1.3;color:var(--white)}
.cta .acts{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.cta .contact{margin-top:8px;font-size:14px;color:#cfe2e1;line-height:1.8}
.cta .contact b{color:var(--white);font-weight:600}
@media (max-width:820px){.cta .grid{grid-template-columns:1fr}}

/* Blog */
.blog .top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.post{text-decoration:none;display:flex;flex-direction:column;gap:14px;padding:0;min-width:0}

.post .pimg{display:block;overflow:hidden;border-radius:12px;aspect-ratio:16/9;margin-bottom:4px;box-shadow:0 14px 30px -22px rgba(6,87,98,.6)}
.post .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post:hover .pimg img{transform:scale(1.04)}
.post .meta{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.post .meta span{color:var(--teal)}
.post h3{font-size:clamp(20px,1.8vw,24px);font-weight:700;line-height:1.25;color:var(--ink);transition:color .25s}
.post:hover h3{color:var(--teal)}
.post .read{margin-top:auto;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
@media (max-width:900px){.posts{grid-template-columns:1fr;gap:28px}.post{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:24px;row-gap:8px;align-content:start}.post .pimg{grid-row:1/span 3;margin:0}.post .read{margin-top:4px}}
@media (max-width:560px){.post{display:flex}.post .pimg{margin-bottom:4px}}

/* Footer */
footer{background:var(--navy);padding-block:64px 30px;font-size:14px;color:#b9c3cc;position:relative;overflow:hidden}
footer .arc{width:900px;left:-200px;bottom:-20px;opacity:.10;transform:rotate(-8deg)}
.fgrid{display:grid;grid-template-columns:1.3fr .9fr .8fr 1.1fr;gap:40px;position:relative}
.fgrid>*{min-width:0}
footer .mark img{height:66px;width:auto}
footer h4{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-bottom:16px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
footer a{text-decoration:none}
footer a:hover{color:var(--white)}
.fbrand{display:flex;flex-direction:column;gap:16px}
.fbrand p{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--white)}
.fbase{margin-top:52px;padding-top:22px;border-top:1px solid var(--line-w);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:12px;position:relative}
.fbase nav{display:flex;gap:20px}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}

.dark h2 em,.detail h3 em,.result h3 em{color:var(--pink)}
/* Ask GirlFriday chat */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gfc-launch{position:fixed;overflow:visible;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:80;display:inline-flex;align-items:center;gap:12px;background:var(--navy);color:var(--white);border:1.5px solid var(--gold);border-radius:40px;padding:7px 22px 7px 7px;font:700 13.5px var(--text);letter-spacing:.04em;cursor:pointer;box-shadow:0 18px 40px -12px rgba(25,26,46,.65);transition:transform .25s var(--ease),box-shadow .25s}
.gfc-launch:hover{transform:translateY(-2px);box-shadow:0 22px 46px -12px rgba(25,26,46,.75)}
.gfc-launch .ic{position:relative;width:40px;height:40px;border-radius:50%;background:var(--pink);display:grid;place-items:center;flex:0 0 auto}
.gfc-launch .ic::after{content:"";position:absolute;right:0;top:1px;width:11px;height:11px;border-radius:50%;background:#3ccf7a;border:2px solid var(--navy)}
.gfc-launch .lb{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.gfc-launch .lb small{font:500 11px var(--text);letter-spacing:.02em;color:#c9cfdc}
.gfc-launch svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gfc-launch[aria-expanded="true"]{display:none}
.gfc-launch.pulse::after{content:"";position:absolute;inset:-6px;border-radius:44px;border:2px solid var(--gold);opacity:0;animation:gfcPulse 2.4s ease-out infinite}
@keyframes gfcPulse{0%{opacity:.7;transform:scale(.96)}100%{opacity:0;transform:scale(1.18)}}
.gfc-nudge{position:fixed;right:20px;bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:80;max-width:250px;animation:gfcIn .45s var(--ease)}
.gfc-nudge[hidden]{display:none}
.gfc-nudge-msg{display:block;text-align:left;font:500 14px/1.45 var(--text);color:var(--ink);background:var(--white);border:0;border-radius:16px 16px 4px 16px;padding:14px 16px;box-shadow:0 18px 40px -16px rgba(4,47,54,.45);cursor:pointer}
.gfc-nudge-msg b{display:block;color:var(--pink);margin-bottom:2px}
.gfc-nudge-x{position:absolute;top:-14px;left:-14px;width:34px;height:34px;border-radius:50%;border:0;background:var(--ink);color:var(--white);font-size:15px;line-height:1;cursor:pointer}
@media (max-width:520px){.gfc-launch .lb small{display:none}.gfc-launch{padding:6px 16px 6px 6px}.gfc-launch .ic{width:36px;height:36px}.gfc-nudge{right:14px;bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
.gfc{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:81;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 110px));background:var(--white);border-radius:18px;box-shadow:0 30px 80px -20px rgba(4,47,54,.55);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:gfcIn .35s var(--ease)}
.gfc[hidden]{display:none}
@keyframes gfcIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.gfc-head{position:relative;background:linear-gradient(160deg,#0a6d7a,var(--teal) 50%,var(--teal-deep));color:var(--white);padding:18px 18px 16px;display:flex;align-items:center;gap:12px}
.gfc-head::before{content:"";position:absolute;inset:0;background:url("facets.svg") center/100% 100% no-repeat;pointer-events:none}
.gfc-head>*{position:relative}
.gfc-head img{height:34px;width:auto}
.gfc-head .t{flex:1;min-width:0}
.gfc-head b{display:block;font-size:15px}
.gfc-head span{display:block;font-size:12px;color:#cfe2e1}
.gfc-x{background:transparent;border:1.5px solid rgba(254,254,254,.5);color:var(--white);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1}
.gfc-x:hover{background:rgba(254,254,254,.15)}
.gfc-body{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.gfc-msg{max-width:86%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.gfc-msg.bot{align-self:flex-start;background:var(--white);color:var(--ink);border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(24,26,46,.06)}
.gfc-msg.me{align-self:flex-end;background:var(--teal);color:var(--white);border-bottom-right-radius:4px}
.gfc-typing{align-self:flex-start;display:flex;gap:5px;padding:14px 16px;background:var(--white);border-radius:16px;border-bottom-left-radius:4px}
.gfc-typing i{width:7px;height:7px;border-radius:50%;background:var(--lteal);animation:gfcDot 1s infinite}
.gfc-typing i:nth-child(2){animation-delay:.15s}.gfc-typing i:nth-child(3){animation-delay:.3s}
@keyframes gfcDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.gfc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.gfc-chips button{font:600 12.5px var(--text);color:var(--teal);background:var(--white);border:1.5px solid var(--teal);border-radius:30px;padding:8px 13px;cursor:pointer;transition:background .2s,color .2s}
.gfc-chips button:hover{background:var(--teal);color:var(--white)}
.gfc-form{align-self:stretch;background:var(--white);border-radius:14px;border-top:4px solid var(--pink);padding:16px;display:flex;flex-direction:column;gap:9px;box-shadow:0 2px 8px rgba(24,26,46,.06)}
.gfc-form b{font-size:14.5px}
.gfc-form p{font-size:13px;color:var(--slate);line-height:1.5}
.gfc-form label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.gfc-form input,.gfc-form textarea{font:inherit;font-size:14px;width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.gfc-form input:focus,.gfc-form textarea:focus{outline:none;border-color:var(--teal);background:var(--white)}
.gfc-form textarea{min-height:70px;resize:vertical}
.gfc-form .btn{align-self:flex-start;padding:12px 20px;margin-top:4px}
.gfc-form .err{color:var(--pink);font-size:12.5px;min-height:1em}
.gfc-foot{border-top:1px solid var(--line);padding:10px;display:flex;gap:8px;background:var(--white)}
.gfc-foot input{flex:1;min-width:0;font:inherit;font-size:14.5px;padding:12px 14px;border:1.5px solid var(--line);border-radius:30px;background:var(--paper);color:var(--ink)}
.gfc-foot input:focus{outline:none;border-color:var(--teal);background:var(--white)}
.gfc-send{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:0;background:var(--pink);color:var(--white);cursor:pointer;display:grid;place-items:center}
.gfc-send:disabled{opacity:.5;cursor:default}
.gfc-send svg{width:18px;height:18px;fill:currentColor}
.gfc-note{font-size:11px;color:var(--slate);text-align:center;padding:0 12px 10px;background:var(--white)}
@media (max-width:520px){.gfc{right:8px;left:8px;width:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));height:min(640px,calc(100vh - 90px))}.gfc-launch{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.eco-lines path{stroke-dashoffset:0}}
/* Ecosystem clarity: instruction above, live caption below, softer fade */
.eco-hint-top{margin:0 0 16px}
.eco-cap{margin-top:18px;background:var(--white);border-left:3px solid var(--pink);border-radius:8px;padding:14px 18px;font-size:15px;line-height:1.55;color:var(--ink);box-shadow:0 10px 26px -20px rgba(6,87,98,.5);max-width:820px}
.eco-cap b{color:var(--teal)}
.lanes.live .chip{opacity:.62}
.lanes.live .chip.on,.lanes.live .chip.rel{opacity:1}
/* Hero photo on phone and iPad: center the crop on the women */
@media (max-width:860px){.hero-photo{background-position:0 0,0 0,42% 22%}}
@media (min-width:561px) and (max-width:860px){.hero-photo{background-position:0 0,0 0,28% 22%}}

/* Phones and tablets: no background photo behind the headline; the team photo stack stays as the hero image */
.stack-photo{display:none}
/* Phones and tablets: the team flashes in, then the stack clears to a photo of the team at work (no photo behind the headline) */
@media (max-width:860px){
  .hero-photo{display:none}
  .stack .logo-final{display:none}
  .stack-photo{display:block;position:absolute;left:0;top:50%;width:100%;aspect-ratio:3/2;height:auto;max-height:100%;object-fit:cover;object-position:50% 40%;border-radius:14px;border:5px solid var(--white);box-shadow:0 30px 60px -24px rgba(0,0,0,.8);opacity:0;transform:translateY(-50%) scale(.92);animation:stackPhoto .9s cubic-bezier(.3,1.2,.5,1) 3.7s forwards}
  .hero.replay .stack-photo{animation:none}
}
@keyframes stackPhoto{to{opacity:1;transform:translateY(-50%) scale(1)}}
@media (max-width:860px) and (prefers-reduced-motion:reduce){.stack-photo{opacity:1;transform:translateY(-50%);animation:none}}
@media (min-width:561px) and (max-width:860px){.stack{width:min(100%,500px);margin-inline:auto;height:450px}}

/* Phones: the hero ends on a full-width photo, and the next heading sits in a card that overlaps it (same look as the band further down) */
@media (max-width:700px){
  .hero{padding-bottom:0}
  .stack{width:auto;margin:8px -16px 0;height:auto;aspect-ratio:4/3}
  .stack-photo{top:0;left:0;width:100%;height:100%;aspect-ratio:auto;max-height:none;border:0;border-radius:0;box-shadow:none;transform:scale(1.04);object-position:50% 35%}
  @keyframes stackPhoto{to{opacity:1;transform:none}}
  .signals{overflow:visible;padding-top:0}
  .signals .arc{display:none}
  .signals .sec-h{position:relative;z-index:3;margin-top:-56px;background:rgba(254,254,254,.97);border-top:4px solid var(--pink);border-radius:14px;padding:26px 22px 22px;box-shadow:0 30px 70px -30px rgba(0,0,0,.55)}
  .signals .sec-h h2{font-size:27px;line-height:1.2}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){.stack-photo{transform:none}}

/* Brighter, crisper Home hero photo; the headline side keeps enough teal to stay readable */
@media (min-width:861px){
  .hero-photo{background:linear-gradient(90deg,rgba(4,52,60,.9) 0%,rgba(4,52,60,.72) 34%,rgba(4,52,60,.22) 58%,rgba(4,52,60,.04) 100%),linear-gradient(0deg,rgba(4,47,54,.7) 0%,rgba(4,47,54,0) 36%),url("hero-bg.jpg") 70% 30%/cover no-repeat}
}

/* Wide screens: hero copy shifts left into the empty margin so it sits clear of the people in the photo */
@media (min-width:1400px){.hero .hero-copy{margin-left:calc(-1 * clamp(0px, (100vw - 1320px) / 2 - 56px, 190px))}}

/* Phones and tablets: after Takisha, the logo pops forward, then sinks back and fades as the team photo comes up behind it (same brand moment as desktop, kept short) */
@media (max-width:860px){
  .stack .logo-final{display:block;left:50%;top:50%;z-index:3;width:min(46%,220px);animation:logoIn .7s cubic-bezier(.3,1.4,.5,1) 3.6s forwards,logoBack .75s cubic-bezier(.5,0,.75,0) 4.75s forwards}
  .stack-photo{animation-delay:4.85s}
}
@keyframes logoBack{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.55)}}
@media (max-width:860px) and (prefers-reduced-motion:reduce){.stack .logo-final{display:none}}

/* ===== Shared additions for the inner pages. Same tokens, same motifs as the approved homepage. ===== */

/* Nav: dropdowns, active state, mobile menu */
.links>li{position:relative}
.links a[aria-current="page"],.links .has-sub.on>a{color:var(--teal);border-color:var(--teal)}
.links .has-sub>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.subnav{position:absolute;left:-18px;top:100%;min-width:250px;list-style:none;margin:0;padding:10px;background:var(--white);border-radius:12px;box-shadow:0 24px 50px -22px rgba(6,87,98,.55),0 2px 8px rgba(24,26,46,.06);border-top:3px solid var(--pink);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s var(--ease),visibility .2s}
.has-sub:hover .subnav,.has-sub:focus-within .subnav,.has-sub.tap-open .subnav{opacity:1;visibility:visible;transform:none}
/* Touch screens (iPad and touch laptops): no hover, so About Us and Services open their list on the first tap and go to the page on the second */
@media (hover:none){.has-sub:hover:not(.tap-open) .subnav,.has-sub:focus-within:not(.tap-open) .subnav{opacity:0;visibility:hidden}}
.subnav a{display:block;padding:10px 12px!important;border:0!important;border-radius:8px;letter-spacing:.12em!important;font-size:11.5px!important}
.subnav a:hover{background:var(--mist)}
.subnav .div{height:1px;background:var(--line);margin:6px 8px}
.nav-r{display:flex;align-items:center;gap:12px}
/* Taps respond on the first touch on phones (no double-tap zoom wait) */
a,button,summary,label,.btn{touch-action:manipulation;-webkit-tap-highlight-color:rgba(204,0,126,.12)}
.menu-btn{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--teal);background:transparent;cursor:pointer;position:relative}
.menu-btn i{position:absolute;left:13px;right:13px;height:2px;background:var(--teal);transition:transform .3s var(--ease),opacity .2s}
.menu-btn i:nth-child(1){top:16px}.menu-btn i:nth-child(2){top:22px}.menu-btn i:nth-child(3){top:28px}
.menu-btn[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:calc(76px + env(safe-area-inset-top,0px));bottom:0;z-index:39;background:var(--white);overflow-y:auto;padding:12px clamp(16px,4vw,32px) 120px;animation:gfcIn .3s var(--ease)}
.mnav[hidden]{display:none}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav>ul>li{border-bottom:1px solid var(--line)}
.mnav>ul>li>a,.mnav summary{display:flex;justify-content:space-between;align-items:center;padding:18px 4px;font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);cursor:pointer;list-style:none}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary::after{content:"+";font-size:22px;font-weight:500;color:var(--teal)}
.mnav details[open] summary::after{content:"\2212"}
.mnav details ul{padding:0 0 14px 12px;display:flex;flex-direction:column;gap:2px}
.mnav details a{display:block;padding:10px 4px;font-size:15px;font-weight:500;color:var(--slate);text-decoration:none}
.mnav .btn{margin-top:26px;width:100%;justify-content:center}
.mnav .mcontact{margin-top:20px;font-size:14px;color:var(--slate);line-height:1.8}
@media (max-width:900px){.menu-btn{display:block}.nav .wrap>.nav-r>.btn{padding:11px 16px;font-size:11.5px}}
@media (max-width:420px){.nav .wrap>.nav-r>.btn{padding:10px 13px;font-size:10.5px;letter-spacing:.1em}.nav .wrap>.nav-r>.btn .arr{display:none}.nav-r{gap:8px}}
body.menu-open{overflow:hidden}

/* Inner page hero: same deep teal, facets and arcs, sized to content */
.phero{padding-block:clamp(56px,7vw,96px)}
.phero .arc.a1{width:1300px;left:-320px;bottom:-60px;opacity:.10;transform:rotate(-14deg)}
.phero .arc.a2{width:820px;right:-260px;top:30px;opacity:.26;transform:rotate(-8deg)}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,64px);align-items:center;position:relative;z-index:2}
.phero-grid.solo{grid-template-columns:minmax(0,900px)}
.phero .hero-copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.phero .kick{margin:0;display:flex;align-items:center;gap:14px;color:var(--white);font-size:13px;letter-spacing:.2em}
.phero .kick::before{content:"";width:34px;height:2px;background:var(--gold);flex:0 0 auto}
.phero h1{font-family:var(--hero);font-weight:800;text-transform:uppercase;line-height:.94;font-size:clamp(48px,6.2vw,96px);letter-spacing:.005em;color:var(--white)}
.phero h1 .ln{display:block;overflow:hidden;padding-bottom:.03em}
.phero h1 .ln span{display:block;animation:rise 1s var(--ease) both}
.phero h1 .ln:nth-child(2) span{animation-delay:.1s;color:var(--gold)}
.phero h1 .ln:nth-child(3) span{animation-delay:.2s}
.phero .sub{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,2.2vw,28px);line-height:1.25;color:var(--white);max-width:26em}
.phero .lede{font-size:clamp(17px,1.6vw,20px);line-height:1.65;color:#dbe9e8;max-width:34em}
.phero .lede b{color:var(--white);font-weight:600}
.crumbs{display:flex;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lteal)}
.crumbs a{text-decoration:none;color:var(--lteal)}.crumbs a:hover{color:var(--white)}
@media (max-width:860px){.phero-grid{grid-template-columns:1fr}}

/* Static photo trio (real headshots only) */
.trio{position:relative;height:clamp(300px,32vw,440px)}
.trio .pc{position:absolute;width:44%;aspect-ratio:4/5;border:6px solid var(--white);border-radius:4px;overflow:hidden;box-shadow:0 22px 44px -22px rgba(0,0,0,.85);transform:rotate(var(--r));animation:pop .45s cubic-bezier(.3,1.5,.5,1) var(--d) both}
.trio .pc img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.trio .pc.lead{width:54%;left:23%;top:4%;z-index:2;border-width:7px}
.trio .logo-chip{position:absolute;right:2%;bottom:0;width:min(46%,220px);z-index:3;filter:drop-shadow(0 6px 18px rgba(0,0,0,.4))}
@media (max-width:860px){.trio{height:clamp(280px,70vw,400px);max-width:460px}}

/* Generic section helpers */
.lead-p{font-size:17px;color:var(--slate);max-width:44em;margin-top:18px}
.lead-p b{color:var(--teal)}
.serif-line{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,2.3vw,30px);line-height:1.25;color:var(--ink);margin-top:18px}
.serif-line em{color:var(--pink)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:900px){.two{grid-template-columns:1fr}}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.cards3{grid-template-columns:1fr}}
.card{border-radius:12px;padding:28px 26px;background:var(--white);box-shadow:0 2px 8px rgba(24,26,46,.05),0 14px 34px -22px rgba(6,87,98,.35);min-width:0;display:flex;flex-direction:column;gap:10px;transition:transform .35s var(--ease),box-shadow .35s}
.card:hover{transform:translateY(-4px)}
.card .stmt{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,1.9vw,26px);line-height:1.22;color:var(--ink)}
.card h3{font-size:19px;font-weight:700;line-height:1.3;color:var(--ink)}
.card p{font-size:15px;color:var(--slate);line-height:1.6}
.card .tag{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.card.pinkline{border-top:3px solid var(--pink)}
.ico{width:46px;height:46px;border-radius:50%;background:var(--mist);display:grid;place-items:center;flex:0 0 auto}
.ico svg{width:24px;height:24px;stroke:var(--teal);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Stat + testimonials */
.proof-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center;margin-bottom:clamp(36px,5vw,52px)}
.stat{display:flex;flex-direction:column;align-items:flex-start;padding-right:clamp(24px,5vw,64px);border-right:2px solid var(--gold)}
.stat b{font-family:var(--hero);font-weight:800;font-size:clamp(84px,10vw,150px);line-height:.85;color:var(--teal)}
.stat span{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pink);margin-top:10px}
@media (max-width:700px){.proof-top{grid-template-columns:1fr}.stat{border-right:0;border-bottom:2px solid var(--gold);padding:0 0 20px}}

/* Story panels */
.story{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.story .detail{margin-top:0;grid-template-columns:1fr;align-items:start}
.story .detail p.desc+p.desc{margin-top:12px}
@media (max-width:900px){.story{grid-template-columns:1fr}}

/* Values */
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.val{background:var(--white);border-radius:12px;padding:28px 26px;border:1.5px solid var(--line);display:flex;flex-direction:column;gap:12px;min-width:0;transition:border-color .3s,box-shadow .3s}
.val:hover{border-color:var(--teal);box-shadow:0 18px 40px -26px rgba(6,87,98,.5)}
.val h3{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(26px,2.3vw,30px);line-height:1.1;color:var(--teal)}
.val p{font-size:15px;color:var(--slate);line-height:1.6}
@media (max-width:960px){.vals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.vals{grid-template-columns:1fr}}

/* FAQ (shares the homepage accordion look) */
.faq .acc-in{grid-template-columns:1fr;padding:0 26px 26px 84px}
.faq .acc-in p{font-size:15.5px;color:var(--slate);max-width:52em}
@media (max-width:760px){.faq .acc-in{padding:0 20px 22px}}

/* Team */
.founder{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center}
.founder .ph{position:relative;max-width:420px;width:100%}
.founder .ph img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:6px;border:8px solid var(--white);box-shadow:0 40px 70px -30px rgba(6,87,98,.7);transform:rotate(-2deg)}
.founder .ph .arcimg{position:absolute;left:-12%;bottom:-8%;width:80%;transform:rotate(-8deg);opacity:.9}
.founder .role{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-top:12px}
.founder .bio{margin-top:18px;font-size:16.5px;color:var(--slate);max-width:40em}
.founder .bio+.bio{margin-top:12px}
.soc{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.soc a{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--teal);border:1.5px solid var(--teal);border-radius:30px;padding:9px 16px;transition:background .25s,color .25s}
.soc a:hover{background:var(--teal);color:var(--white)}
@media (max-width:860px){.founder{grid-template-columns:1fr}.founder .ph{max-width:340px}}
.tgroup+.tgroup{margin-top:clamp(48px,6vw,72px)}
.tgroup-h{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}
.tgroup-h h3{font-size:clamp(22px,2.2vw,28px);font-weight:700}
.tgroup-h h3 em{font-family:var(--serif);font-style:italic;color:var(--pink);font-size:1.12em}
.tgroup-h span{flex:1;height:1px;background:var(--line)}
.tgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.tgrid.owners{grid-template-columns:repeat(3,minmax(0,1fr))}
.tm{margin:0;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(24,26,46,.05),0 16px 36px -24px rgba(6,87,98,.45);display:flex;flex-direction:column;min-width:0;transition:transform .35s var(--ease)}
.tm:hover{transform:translateY(-4px)}
.tm .pimg{aspect-ratio:4/5;overflow:hidden;background:#6d6d6d}
.tm .pimg img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .6s var(--ease)}
.tm:hover .pimg img{transform:scale(1.04)}
.tm figcaption{padding:18px 18px 20px;display:flex;flex-direction:column;gap:4px;border-top:3px solid var(--gold)}
.tm b{font-size:17px;font-weight:700;color:var(--ink);line-height:1.25}
.tm .t{font-size:13px;font-weight:600;color:var(--teal);line-height:1.4}
.tm .loc{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-top:4px}
@media (max-width:1000px){.tgrid{gap:14px}.tm figcaption{padding:14px}.tm b{font-size:15.5px}}
@media (max-width:760px){.tgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tm figcaption{padding:14px}}

/* Our Work */
.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cs{position:relative;text-decoration:none;color:inherit;background:var(--white);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(24,26,46,.05),0 18px 40px -26px rgba(6,87,98,.5);transition:transform .35s var(--ease),box-shadow .35s;min-width:0}
.cs:hover{transform:translateY(-5px);box-shadow:0 4px 10px rgba(24,26,46,.07),0 28px 50px -24px rgba(6,87,98,.55)}
.cs .top{position:relative;height:150px;background:linear-gradient(160deg,#0a6d7a,var(--teal) 50%,var(--teal-deep));overflow:hidden;display:flex;align-items:flex-end;padding:20px 22px}
.cs .top::before{content:"";position:absolute;inset:0;background:url("facets.svg") center/100% 100% no-repeat}
.cs .top .arc{width:420px;right:-120px;top:10px;opacity:.35;transform:rotate(-10deg)}
.cs .top .tag{position:relative;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:rgba(254,254,254,.14);border:1px solid rgba(254,254,254,.3);border-radius:30px;padding:6px 12px}
.cs .bd{padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.cs h3{font-size:clamp(19px,1.7vw,22px);font-weight:700;line-height:1.25;color:var(--ink);transition:color .25s}
.cs:hover h3{color:var(--teal)}
.cs .read{margin-top:auto;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
@media (max-width:1000px){.cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cs-grid{grid-template-columns:1fr}}

/* Services */
.jump{position:sticky;top:calc(76px + env(safe-area-inset-top,0px));z-index:30;background:rgba(254,254,254,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.jump .wrap{display:flex;gap:8px;overflow-x:auto;padding-block:12px;scrollbar-width:none}
.jump .wrap::-webkit-scrollbar{display:none}
.jump a{flex:0 0 auto;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--teal);border:1.5px solid var(--line);border-radius:30px;padding:9px 16px;transition:border-color .25s,background .25s,color .25s}
.jump a:hover,.jump a.on{border-color:var(--teal);background:var(--teal);color:var(--white)}
.svc-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:start;margin-bottom:clamp(36px,5vw,52px)}
.svc-head .acc-o{margin-top:22px}
@media (max-width:900px){.svc-head{grid-template-columns:1fr}}
.checks{background:var(--white);border-radius:12px;padding:26px;box-shadow:0 18px 40px -28px rgba(6,87,98,.45);border-top:4px solid var(--teal)}
.checks .acc-intro{margin-bottom:14px}
.caps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cap{background:var(--white);border:1.5px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0;transition:border-color .3s}
.cap:hover{border-color:var(--teal)}
.cap b{font-size:15.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.cap span{font-size:14px;color:var(--slate);line-height:1.5}
.cap.brochure{background:var(--pink);border-color:var(--pink);color:var(--white);text-decoration:none;justify-content:space-between;box-shadow:0 18px 40px -22px rgba(204,0,126,.7);transition:transform .3s var(--ease),background .3s}
.cap.brochure:hover{transform:translateY(-3px);background:var(--pink-d)}
.cap.brochure b{color:var(--white);font-size:18px}
.cap.brochure span{color:rgba(254,254,254,.9)}
.cap.brochure .pdf{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
.cap.brochure .pdf i{font-style:normal;border:1.5px solid rgba(254,254,254,.7);border-radius:6px;padding:2px 6px;font-size:10px}
@media (max-width:1100px){.caps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:800px){.caps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.caps{grid-template-columns:1fr}}
.sub-h{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:clamp(40px,5vw,56px) 0 18px;display:flex;align-items:center;gap:14px}
.sub-h::after{content:"";flex:1;height:1px;background:var(--line)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:st}
.step{position:relative;background:var(--white);border-radius:12px;padding:26px 24px;box-shadow:0 2px 8px rgba(24,26,46,.05),0 14px 34px -22px rgba(6,87,98,.35);min-width:0}
.step::before{counter-increment:st;content:counter(st);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--pink);color:var(--white);font-weight:700;margin-bottom:14px}
.step b{display:block;font-size:18px;font-weight:700;margin-bottom:6px}
.step p{font-size:15px;color:var(--slate);line-height:1.6}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.why p{padding:18px 18px 18px 0;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:500;display:flex;gap:12px;align-items:flex-start;min-width:0}
.why p::before{content:"";flex:0 0 10px;height:10px;margin-top:8px;border-radius:50%;background:var(--gold)}
@media (max-width:860px){.why{grid-template-columns:1fr}}
.invest{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center}
.invest .num{font-family:var(--hero);font-weight:800;font-size:clamp(46px,5vw,64px);line-height:1;color:var(--gold);padding-top:2px}
.invest .num small{display:block;font-family:var(--text);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--lteal);margin-bottom:18px;line-height:1.4}
.invest .num span{font-family:var(--serif);font-style:italic;font-weight:600;font-size:.42em;color:var(--white);text-transform:none}
.invest p{color:#dbe9e8;font-size:17.5px;margin-top:24px;max-width:36em}
.invest .num span{display:inline-block;margin-left:.2em}
.invest .pts{display:flex;flex-direction:column;gap:12px}
.invest .pts p{margin:0;background:rgba(254,254,254,.08);border:1px solid var(--line-w);border-radius:10px;padding:14px 18px;font-size:15.5px;color:var(--white)}
@media (max-width:860px){.invest{grid-template-columns:1fr}}
.addl{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.addl .card{padding:clamp(26px,3.4vw,40px)}
.addl .card h3{font-size:clamp(22px,2.2vw,28px)}
.addl .card h3 em{font-family:var(--serif);font-style:italic;color:var(--pink);font-size:1.1em}
.addl .acc-list{margin-top:8px}
@media (max-width:900px){.addl{grid-template-columns:1fr}}

/* Blog page */
.btools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:34px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button,.filters a{font:700 11.5px var(--text);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--teal);background:var(--white);border:1.5px solid var(--line);border-radius:30px;padding:10px 16px;cursor:pointer;transition:all .25s}
.filters button:hover,.filters a:hover{border-color:var(--teal)}
.filters .on{background:var(--teal);border-color:var(--teal);color:var(--white)}
.bsearch{position:relative;flex:0 1 300px;min-width:0}
.bsearch input{width:100%;font:inherit;font-size:14.5px;padding:12px 16px;border:1.5px solid var(--line);border-radius:30px;background:var(--white);color:var(--ink)}
.bsearch input:focus{outline:none;border-color:var(--teal)}
.feat{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,48px);align-items:center;text-decoration:none;color:inherit;margin-bottom:clamp(40px,5vw,56px)}
.feat .pimg{display:block;overflow:hidden;border-radius:14px;aspect-ratio:16/9;box-shadow:0 24px 50px -28px rgba(6,87,98,.7)}
.feat .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.feat:hover .pimg img{transform:scale(1.03)}
.feat .lab{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--pink)}
.feat h2{margin-top:10px;font-size:clamp(28px,3vw,40px);transition:color .25s}
.feat:hover h2{color:var(--teal)}
.feat .meta{margin-top:14px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.feat .meta span{color:var(--teal)}
.feat .ex{margin-top:14px;font-size:16px;color:var(--slate)}
.feat .read{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
@media (max-width:860px){.feat{grid-template-columns:1fr}}
.pimg.fallback,.feat .pimg.fallback{position:relative;background:linear-gradient(160deg,#0a6d7a,var(--teal) 50%,var(--teal-deep))}
.pimg.fallback::before{content:"";position:absolute;inset:0;background:url("facets.svg") center/100% 100% no-repeat}
.pimg.fallback::after{content:"";position:absolute;width:70%;height:40%;left:15%;top:30%;background:url("arc-gold.png") center/contain no-repeat;opacity:.8}
.pimg.fallback img{display:none}
.noresults{padding:40px 0;font-size:16px;color:var(--slate)}
.pager{display:flex;gap:8px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.pager a,.pager span{min-width:44px;height:44px;display:inline-grid;place-items:center;padding:0 14px;border-radius:30px;border:1.5px solid var(--line);font-weight:700;font-size:13px;text-decoration:none;color:var(--teal)}
.pager .current{background:var(--teal);border-color:var(--teal);color:var(--white)}
.newsband .in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--white);border-radius:14px;padding:clamp(24px,3.4vw,40px);border-left:4px solid var(--pink);box-shadow:0 18px 40px -28px rgba(6,87,98,.45)}
.newsband h2{font-size:clamp(26px,2.8vw,36px)}
.newsband p{margin-top:8px;color:var(--slate);font-size:16px}

/* Single post (WordPress) */
.article{max-width:760px;margin:0 auto}
/* A single post carries the class "post" (WordPress post_class), which the blog cards also use; keep the article a normal block at every screen size */
.article.post{display:block!important;grid-template-columns:none}
.article.post>*{max-width:100%}
/* Blog posts built with Elementor on the old site: ignore their old column, width, padding and font settings
   so every section runs the full article width in the GirlFriday fonts (no half-empty two-column boxes). */
.article .entry .e-con,.article .entry .e-con-inner,.article .entry .elementor-section,.article .entry .elementor-container,.article .entry .elementor-column,.article .entry .elementor-widget-wrap{display:block!important;width:auto!important;max-width:100%!important;min-height:0!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;--width:100%}
.article .entry .elementor-widget{width:auto!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.article .entry .elementor-widget-text-editor,.article .entry .elementor-widget-text-editor *:not(h1,h2,h3,h4,h5,h6,a,strong,b,em,i){font-family:var(--text)!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important}
.article .entry .elementor-widget-text-editor{font-size:17.5px!important;line-height:1.8!important;color:var(--ink)!important}
.article .entry :is(h1,h2,h3,h4,h5,h6),.article .entry :is(h1,h2,h3,h4,h5,h6) *{font-family:var(--text)!important}
.article .entry .elementor-heading-title{font-family:var(--text)!important;color:var(--ink)!important}
.article .entry .e-con:empty,.article .entry .e-con-inner:empty{display:none!important}
.article .entry .elementor-widget-divider{margin:1.4em 0!important}
.article .entry .e-n-accordion-item,.article .entry details{margin-top:.6em}
.article .entry :is(.elementor-widget,.e-con)+:is(.elementor-widget,.e-con){margin-top:1.1em!important}
.article .entry :is(h2,h3){margin-bottom:.45em}
.article .entry{font-size:17.5px;line-height:1.8;color:var(--ink)}
.article .entry>*+*{margin-top:1.1em}
/* Posts built with Elementor wrap paragraphs in widget boxes, so space them wherever they sit */
.article .entry :is(p,ul,ol,blockquote,figure,table,h2,h3,h4,h5,img)+:is(p,ul,ol,blockquote,figure,table,img){margin-top:1.1em}
.article .entry .elementor-widget+.elementor-widget,.article .entry .e-con+.e-con,.article .entry .elementor-section+.elementor-section{margin-top:1.1em}
.article .entry .elementor-widget-container>p:first-child,.article .entry .elementor-widget-text-editor>p:first-child{margin-top:0}
.article .entry h2{font-size:clamp(26px,2.6vw,34px);margin-top:1.6em}
.article .entry h3{font-size:clamp(21px,2vw,25px);margin-top:1.4em}
.article .entry a{color:var(--teal);text-decoration-color:var(--pink);text-underline-offset:3px}
.article .entry img{border-radius:12px;height:auto}
/* Old Elementor posts: drop the outlined boxes, shadows and box colors from the old design (Amy, Oct 13). Pictures stay exactly as they are. */
.article .entry :is(.e-con,.e-con-inner,.elementor-section,.elementor-container,.elementor-column,.elementor-column-wrap,.elementor-widget-wrap,.elementor-element,.elementor-widget-container,.elementor-background-overlay){border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;background-color:transparent!important}
.article .entry .elementor-background-overlay{display:none!important}
.article .entry blockquote{margin:1.4em 0;padding:4px 0 4px 22px;border-left:4px solid var(--pink);font-family:var(--serif);font-style:italic;font-size:1.3em;line-height:1.35}
.article .entry ul,.article .entry ol{padding-left:1.3em}
.article .entry li+li{margin-top:.4em}
.post-hero-img{max-width:1100px;margin:-60px auto 0;position:relative;z-index:3;border-radius:14px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(4,47,54,.6)}
.post-hero-img img{width:100%;height:auto}
.post-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lteal)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:22px;align-items:stretch}
.path{border-radius:14px;padding:clamp(26px,3.6vw,40px);display:flex;flex-direction:column;gap:14px;min-width:0}
.path.primary{position:relative;overflow:hidden;background:linear-gradient(160deg,#0a6d7a,var(--teal) 50%,var(--teal-deep));color:var(--white)}
.path.primary::before{content:"";position:absolute;inset:0;background:url("facets.svg") center/100% 100% no-repeat;pointer-events:none}
.path.primary>*{position:relative}
.path.primary .arc{position:absolute;width:640px;right:-200px;bottom:-30px;opacity:.22;transform:rotate(-8deg)}
.path .lab{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lteal)}
.path h3{font-size:clamp(26px,2.8vw,36px);font-weight:700;line-height:1.15}
.path h3 em{font-family:var(--serif);font-style:italic;color:var(--pink);background:var(--white);padding:0 .22em;border-radius:6px}
.path p{font-size:16px;color:#dbe9e8}
.path .btn{align-self:flex-start;margin-top:6px}
.path.alt{background:var(--white);border:1.5px solid var(--line);box-shadow:0 18px 40px -28px rgba(6,87,98,.45)}
.path.alt .lab{color:var(--pink)}
.path.alt p{color:var(--slate)}
.direct{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.direct .row{display:flex;align-items:center;gap:14px;background:var(--paper);border-radius:10px;padding:14px 16px;min-width:0}
.direct .row .ico{width:40px;height:40px;background:var(--white)}
.direct .row div{min-width:0}
.direct .row small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.direct .row b{display:block;font-size:16px;font-weight:600;color:var(--ink);user-select:all;overflow-wrap:anywhere}
.direct .row a{text-decoration:none}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* Think Bigger */
.tb-q{text-align:center}
.tb-q .kick{text-align:center}
.tb-q h2{max-width:900px;margin-inline:auto}
.tb-q h2 b{font-family:var(--hero);font-weight:800;text-transform:uppercase;color:var(--teal);letter-spacing:.01em;font-size:1.12em}
.comp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.comp .card{border-top:3px solid var(--gold)}
.comp .card h3{font-size:20px}
@media (max-width:960px){.comp{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.comp{grid-template-columns:1fr}}
.imagine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}
.imagine p{border-top:2px solid var(--gold);padding-top:18px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,2.2vw,29px);line-height:1.25;color:var(--white)}
.imagine-close{margin-top:34px;font-size:18px;color:#dbe9e8}
.imagine-close b{color:var(--white)}
@media (max-width:860px){.imagine{grid-template-columns:1fr}}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fit .col{border-radius:14px;padding:clamp(24px,3.4vw,38px);min-width:0}
.fit .yes{background:var(--white);border-top:4px solid var(--teal);box-shadow:0 18px 40px -28px rgba(6,87,98,.45)}
.fit .no{background:var(--paper);border:1.5px dashed rgba(25,26,46,.2)}
.fit h3{font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}
.fit .yes h3{color:var(--teal)}.fit .no h3{color:var(--slate)}
.fit ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.fit li{position:relative;padding-left:34px;font-size:16px;line-height:1.5}
.fit .yes li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--pink)}
.fit .yes li::after{content:"";position:absolute;left:6px;top:8px;width:9px;height:5px;border-left:2px solid var(--white);border-bottom:2px solid var(--white);transform:rotate(-45deg)}
.fit .no li{color:var(--slate)}
.fit .no li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--slate)}
.fit .no li::after{content:"";position:absolute;left:6px;top:12px;width:10px;height:1.5px;background:var(--slate)}
@media (max-width:860px){.fit{grid-template-columns:1fr}}
.impact{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.impact div{padding:24px 20px 24px 0;min-width:0}
.impact div+div{padding-left:20px;border-left:1px solid var(--line)}
.impact b{display:block;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(23px,2vw,27px);line-height:1.15;color:var(--teal);margin-bottom:10px}
.impact p{font-size:14.5px;color:var(--slate);line-height:1.55}
@media (max-width:1000px){.impact{grid-template-columns:1fr 1fr}.impact div,.impact div+div{padding:20px 16px 20px 0;border-left:0;border-bottom:1px solid var(--line)}}
@media (max-width:560px){.impact{grid-template-columns:1fr}}
.case{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 22px 50px -30px rgba(6,87,98,.55)}
.case div{padding:clamp(24px,3vw,34px);min-width:0}
.case div+div{border-left:1px solid var(--line)}
.case small{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}
.case p{font-size:16px;line-height:1.6}
.case div:last-child{background:var(--mist)}
.case div:last-child p{font-family:var(--serif);font-style:italic;font-weight:600;font-size:22px;line-height:1.3;color:var(--teal)}
@media (max-width:860px){.case{grid-template-columns:1fr}.case div+div{border-left:0;border-top:1px solid var(--line)}}
.roadmap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center}
.roadmap .doc{width:clamp(110px,14vw,160px);aspect-ratio:3/4;border-radius:8px;background:var(--white);box-shadow:0 26px 50px -20px rgba(0,0,0,.6);padding:16px 14px;display:flex;flex-direction:column;gap:8px;transform:rotate(-4deg)}
.roadmap .doc img{width:70%}
.roadmap .doc i{display:block;height:6px;border-radius:3px;background:var(--mist)}
.roadmap .doc i:nth-child(3){width:80%}.roadmap .doc i:nth-child(4){width:60%;background:var(--gold)}.roadmap .doc i:nth-child(6){width:70%}
@media (max-width:600px){.roadmap{grid-template-columns:1fr}}
.legal{margin-top:20px;display:flex;gap:18px;font-size:12px;color:#cfe2e1}
.legal a{color:#cfe2e1}
.cs.wide{grid-column:1/-1;flex-direction:row}
.cs.wide .top{flex:0 0 42%;height:auto;min-height:240px}
.cs.wide .bd{justify-content:center;padding:clamp(26px,3.6vw,44px)}
.cs.wide h3{font-size:clamp(24px,2.6vw,34px)}
.cs.wide .lab{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
@media (max-width:760px){.cs.wide{flex-direction:column}.cs.wide .top{min-height:150px}}

.card .acc-o{font-size:19px;color:var(--teal);line-height:1.3}
.invest .kick{margin-bottom:18px}

/* ===== Guided path (challenge -> path -> level -> result) ===== */
.guide{display:flex;flex-direction:column}
.g-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.g-head h3{font-size:clamp(19px,1.9vw,23px);font-weight:700;color:var(--ink)}
.g-n{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--teal);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:15px}
.g-head2{margin-top:clamp(40px,5vw,56px)}
.g-chal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}
.gc{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0;background:var(--white);border:1.5px solid var(--line);border-radius:12px;padding:20px 20px 18px;box-shadow:0 2px 8px rgba(24,26,46,.04);transition:border-color .25s,box-shadow .25s,transform .25s var(--ease),background .25s}
.gc:hover{transform:translateY(-3px);border-color:var(--lteal)}
.gc:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.gc-q{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(19px,1.6vw,22px);line-height:1.22;color:var(--ink)}
.gc-go{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.gc.on{border-color:var(--pink);background:var(--white);box-shadow:0 18px 40px -24px rgba(204,0,126,.55);border-top:4px solid var(--pink)}
.gc.on .gc-go{color:var(--pink)}
.guide span.chip{display:block;cursor:default;position:relative}
.guide span.chip:hover{border-color:transparent}
.guide.live .chip{opacity:.6}
.guide.live .chip.on{opacity:1;background:var(--pink);color:var(--white);padding-left:46px}
.guide .chip.on::before{content:attr(data-step);position:absolute;left:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--white);color:var(--pink);display:grid;place-items:center;font-size:12.5px;font-weight:700}
.guide .eco-lines path{stroke:var(--pink);stroke-width:2}
.lane-static{cursor:default}
.g-lanehint{margin:12px 0 0}
.g-path{margin-top:22px}
.g-path-h{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-bottom:14px}
.g-path-h b{color:var(--pink)}
.g-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:none}
.g-st{position:relative;background:var(--white);border-radius:12px;padding:20px 20px 22px;box-shadow:0 2px 8px rgba(24,26,46,.05),0 14px 34px -22px rgba(6,87,98,.35);display:flex;flex-direction:column;gap:6px;min-width:0;animation:fadeup .45s var(--ease) both}
.g-st+.g-st::after{content:"";position:absolute;left:-14px;top:34px;width:14px;height:2px;background:var(--pink)}
.g-num{width:30px;height:30px;border-radius:50%;background:var(--pink);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:13.5px;margin-bottom:6px}
.g-tag{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.g-st b{font-size:16.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.g-why{font-size:14.5px;line-height:1.55;color:var(--slate)}
.g-end{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:stretch}
.g-end .opts{grid-template-columns:1fr;gap:12px}
.g-end .opts label{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px}
.g-for{font-size:12px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)!important}
.g-outs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.g-outs li{background:var(--mist);border-radius:8px;padding:12px 14px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:18px;line-height:1.3;color:var(--teal)}
.g-outs li b{font-family:var(--text);font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-right:6px;color:var(--ink)}
@media (max-width:1000px){.g-chal{grid-template-columns:repeat(2,minmax(0,1fr))}.g-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.g-st+.g-st::after{display:none}}
@media (max-width:860px){.guide .eco-grid{display:none}.g-lanehint{display:none}.g-path{margin-top:6px}}
@media (max-width:860px){.g-end{grid-template-columns:1fr}}
@media (max-width:560px){.g-chal{grid-template-columns:1fr}.g-steps{grid-template-columns:1fr}.g-end .opts label{flex-direction:column;gap:2px}}

/* ===== Testimonial carousel: center card in color and lifted, neighbors in black and white ===== */
.tcar{position:relative}
.tcar-view{position:relative}
.tcar.ready .tcar-view{height:var(--tcar-h,460px);overflow:hidden;margin-inline:calc(-1 * clamp(16px,4vw,32px));padding-inline:clamp(16px,4vw,32px)}
.tcar.ready .tcar-track{position:relative;display:block;height:100%}
.tcar.ready .vc{position:absolute;left:50%;top:50%;width:var(--tcar-w,360px);max-width:none;margin:0;transform:translate(-50%,-50%) translateX(var(--x,0px)) scale(var(--s,1));filter:grayscale(1);opacity:var(--o,.7);transition:transform .7s var(--ease),filter .7s var(--ease),opacity .7s var(--ease),box-shadow .7s var(--ease);cursor:pointer;z-index:var(--z,1)}
.tcar.ready .vc:hover{transform:translate(-50%,-50%) translateX(var(--x,0px)) scale(var(--s,1))}
.tcar.ready .vc.is-active{filter:none;opacity:1;cursor:default;box-shadow:0 4px 12px rgba(24,26,46,.08),0 40px 70px -30px rgba(6,87,98,.55);border-top:4px solid var(--pink)}
.tcar.ready .vc.no-anim{transition:none}
.tcar-ctrl{display:none;align-items:center;justify-content:center;gap:16px;margin-top:10px}
.tcar.ready .tcar-ctrl{display:flex}
.tcar-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--teal);background:var(--white);color:var(--teal);font-size:18px;cursor:pointer;transition:background .25s,color .25s}
.tcar-btn:hover{background:var(--teal);color:var(--white)}
.tcar-dots{display:flex;gap:8px}
.tcar-dots button{width:10px;height:10px;border-radius:10px;border:0;padding:0;background:rgba(6,87,98,.25);cursor:pointer;transition:width .35s var(--ease),background .35s}
.tcar-dots button[aria-selected="true"]{width:28px;background:var(--pink)}

/* Additional services: stacked so each menu link lands on its own card */
.addl{grid-template-columns:1fr}
.addl .card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(24px,4vw,56px);row-gap:12px;align-items:start}
.addl .card>.tag,.addl .card>h3,.addl .card>p:not(.acc-o){grid-column:1}
.addl .card>.acc-list{grid-column:2;grid-row:1/span 4;margin-top:0}
.addl .card>.acc-o{grid-column:1}
@media (max-width:900px){.addl .card{grid-template-columns:1fr}.addl .card>.acc-list{grid-column:1;grid-row:auto}}
/* Anchored sections clear the sticky header and the Services jump bar */
#operations,#marketing,#investment,#systems-engineering,#executive-leadership,#engage{scroll-margin-top:150px}

/* Inner page hero photo (from the 2025 site banners) under the same teal treatment as the homepage hero */
.phero-photo{position:absolute;inset:0;z-index:1;background-size:cover;background-repeat:no-repeat;pointer-events:none}
.phero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,52,60,.95) 0%,rgba(4,52,60,.86) 40%,rgba(4,52,60,.5) 68%,rgba(4,52,60,.32) 100%),linear-gradient(0deg,rgba(4,47,54,.7) 0%,rgba(4,47,54,0) 50%)}
.phero.has-photo::before{z-index:0}
.phero.has-photo .phero-grid{z-index:2}

@media (max-width:860px){.phero-photo::after{background:linear-gradient(180deg,rgba(4,52,60,.8) 0%,rgba(4,52,60,.9) 100%)}}

/* Case study cards with their photos */
.cs .pimg{display:block;aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--mist)}
.cs .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.cs:hover .pimg img{transform:scale(1.04)}
.cs.wide .pimg{flex:0 0 52%;aspect-ratio:auto;min-height:280px}
@media (max-width:760px){.cs.wide .pimg{aspect-ratio:16/10;min-height:0}}
@media (max-width:420px){.phero h1{font-size:40px}}

/* Photo sits on the right as a smaller, zoomed-out panel that fades into the teal */
@media (min-width:861px){
  .phero-photo{left:48%;background-size:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
  .phero-photo::after{background:linear-gradient(90deg,rgba(4,52,60,.35) 0%,rgba(4,52,60,.1) 50%,rgba(4,52,60,.05) 100%),linear-gradient(0deg,rgba(4,47,54,.45) 0%,rgba(4,47,54,0) 40%)}
}

/* Designed case study covers: brand colors, facets, gold arc, one icon and the client type */
.cs .cover{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;aspect-ratio:16/10;padding:22px 24px;overflow:hidden;color:var(--white);background:linear-gradient(160deg,#0a6d7a,var(--teal) 50%,var(--teal-deep))}
.cs .cover.v1{background:linear-gradient(160deg,#25274a,var(--navy) 55%,#101122)}
.cs .cover.v2{background:linear-gradient(160deg,#0a6d7a,var(--teal-deep) 60%,#032d33)}
.cs .cover::before{content:"";position:absolute;inset:0;background:url("facets.svg") center/100% 100% no-repeat;pointer-events:none}
.cs .cover.v2::after{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:var(--pink);opacity:.9}
.cs .cover .cv-arc{position:absolute;width:115%;max-width:none;right:-30%;top:18%;opacity:.35;transform:rotate(-10deg);pointer-events:none}
.cs .cover>*{position:relative;z-index:1}
.cs .cover .cv-k{position:absolute;left:24px;top:20px;font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.cs .cover svg{width:52px;height:52px;fill:none;stroke:var(--white);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease)}
.cs:hover .cover svg{transform:translateY(-4px) scale(1.05)}
.cs .cover b{font-family:var(--hero);font-weight:800;text-transform:uppercase;font-size:clamp(28px,2.6vw,36px);line-height:.95;letter-spacing:.01em}
.cs.wide .cover{flex:0 0 52%;aspect-ratio:auto;min-height:300px;padding:30px 34px}
.cs.wide .cover .cv-k{left:34px;top:28px}
.cs.wide .cover b{font-size:clamp(38px,4vw,56px)}
.cs.wide .cover svg{width:68px;height:68px}
@media (max-width:760px){.cs.wide .cover{aspect-ratio:16/10;min-height:0}}

/* Case study photos: muted with a soft teal wash, full color on hover */
.cs .pimg::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,109,122,.42) 0%,rgba(6,87,98,.36) 55%,rgba(4,63,71,.5) 100%);transition:opacity .5s var(--ease);pointer-events:none}
.cs .pimg img{filter:saturate(.3) contrast(.92) brightness(1.04);transition:filter .5s var(--ease),transform .6s var(--ease)}
.cs:hover .pimg img,.cs:focus-visible .pimg img{filter:none}
.cs:hover .pimg::after,.cs:focus-visible .pimg::after{opacity:0}

/* ===== Newsletter signup: its own look (email field + attached teal button), separate from Book a Call ===== */
.nl-card{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,56px);align-items:center;background:var(--white);border-radius:18px;padding:clamp(26px,4vw,52px);box-shadow:0 2px 8px rgba(24,26,46,.05),0 30px 60px -36px rgba(6,87,98,.55);overflow:hidden}
.nl-card::before{content:"";position:absolute;left:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:var(--mist)}
.nl-art,.nl-copy{position:relative;min-width:0}
.nl-art svg{width:100%;max-width:340px;height:auto;display:block;margin-inline:auto}
.nl-trail{stroke:var(--teal);stroke-width:2.5;stroke-dasharray:6 8;stroke-linecap:round;fill:none}
.nl-ring{stroke:var(--teal);stroke-width:2.5;stroke-dasharray:4 5;fill:none}
.nl-copy h2{font-size:clamp(28px,3vw,40px)}
.nl-sub{margin-top:12px;font-size:16.5px;color:var(--slate);max-width:36em}
.nl-form{display:flex;align-items:stretch;margin-top:22px;max-width:520px;border-radius:12px;background:var(--white);border:1.5px solid var(--line);box-shadow:0 10px 26px -18px rgba(6,87,98,.5);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.nl-form:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px rgba(6,87,98,.12)}
.nl-field{flex:1;display:flex;align-items:center;gap:10px;padding:0 14px;min-width:0}
.nl-field svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:var(--lteal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nl-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15.5px;color:var(--ink);padding:16px 0}
.nl-field input::placeholder{color:#8a9196}
.nl-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;padding:0 22px;background:var(--teal);color:var(--white);text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:background .25s}
.nl-btn:hover{background:var(--teal-deep)}
.nl-btn svg{width:18px;height:18px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;transition:transform .3s var(--ease)}
.nl-btn:hover svg{transform:translate(3px,-3px)}
.nl-note{margin-top:10px;font-size:12.5px;color:var(--slate)}
@media (max-width:820px){.nl-card{grid-template-columns:1fr}.nl-art svg{max-width:240px}}
@media (max-width:440px){.nl-form{flex-direction:column}.nl-btn{justify-content:center;padding:14px}}
/* Footer version on navy */
footer .nl-mini{margin-top:0;background:rgba(254,254,254,.06);border-color:var(--line-w);box-shadow:none}
footer .nl-mini:focus-within{border-color:var(--lteal);box-shadow:none}
footer .nl-mini .nl-field input{color:var(--white);padding:13px 0;font-size:14.5px}
footer .nl-mini .nl-field input::placeholder{color:#9aa6b0}
footer .nl-mini .nl-btn{padding:0 16px;font-size:11.5px;background:var(--gold);color:var(--navy)}
footer .nl-mini .nl-btn:hover{background:#d8bd45}
footer .nl-mini .nl-btn svg{stroke:var(--navy)}
@media (max-width:440px){footer .nl-mini{flex-direction:row}footer .nl-mini .nl-btn{padding:0 14px}}

/* Tablet: no card left alone on its own row */
@media (min-width:641px) and (max-width:1000px){
  .cs-grid .cs:last-child:nth-child(even){grid-column:1/-1;flex-direction:row}
  .cs-grid .cs:last-child:nth-child(even) .pimg{flex:0 0 52%;aspect-ratio:16/10}
  .cs-grid .cs:last-child:nth-child(even) .bd{justify-content:center}
}
@media (min-width:561px) and (max-width:1000px){.impact div:last-child:nth-child(odd){grid-column:1/-1}}

/* Contact: fill the Book a Call card */
.call-list{list-style:none;margin:2px 0 8px;padding:0;display:flex;flex-direction:column;gap:10px}
.call-list li{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;color:var(--white)}
.call-list li span{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:rgba(254,254,254,.12);border:1.5px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-size:13px;font-weight:700}
.path.primary .path-foot{margin-top:auto;padding-top:24px;border-top:1px solid var(--line-w);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.faces{display:flex;flex:0 0 auto}
.faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid var(--teal-deep);margin-left:-12px;background:#6d6d6d}
.faces img:first-child{margin-left:0}
.path.primary .path-foot p{flex:1 1 220px;font-size:14.5px;color:#dbe9e8;margin:0}
.path.primary .path-foot a{color:var(--white);font-weight:700;text-decoration-color:var(--pink);text-underline-offset:3px}
.path.primary .btn{margin-bottom:6px}

/* Footer signup: wider column, full-width email field with the button underneath */
.fgrid{grid-template-columns:1.1fr .9fr .7fr 1.5fr}
footer .nl-mini{flex-direction:column;max-width:none;width:100%}
footer .nl-mini .nl-field{padding:0 14px}
footer .nl-mini .nl-field input{padding:14px 0;font-size:15px}
footer .nl-mini .nl-btn{justify-content:center;padding:12px 16px;border-radius:0}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}
.fgrid{grid-template-columns:1fr .85fr .65fr 1.8fr}
footer .nl-mini .nl-field input{font-size:14.5px}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}.fgrid>div:last-child{grid-column:1/-1;max-width:560px}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}
@media (min-width:861px){.phero-photo.wide{left:36%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}}

/* Subscribe buttons: pink with white text, and a paper plane flying out on a dotted trail */
.nl-btn{background:var(--pink);color:var(--white)}
.nl-btn:hover{background:var(--pink-d)}
.nl-btn svg{stroke:var(--white)}
footer .nl-mini .nl-btn{background:var(--pink);color:var(--white)}
footer .nl-mini .nl-btn:hover{background:var(--pink-d)}
footer .nl-mini .nl-btn svg{stroke:var(--white)}
.nl-wrap{position:relative}
/* Subscribe goes straight to the signup form (no email box on our site, Amy Oct 13): the pink button fills the bar */
.nl-form>.nl-btn:only-child{flex:1 1 auto;justify-content:center;padding:17px 22px}
footer .nl-mini>.nl-btn:only-child{padding:15px 16px}
.nl-fly{position:absolute;left:calc(100% - 4px);bottom:16px;width:44px;height:104px;pointer-events:none;overflow:visible}
.nl-fly-trail{fill:none;stroke:var(--lteal);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 7;animation:nlTrail 2.4s linear infinite}
.nl-fly g{animation:nlBob 3s ease-in-out infinite;transform-box:fill-box}
@keyframes nlTrail{to{stroke-dashoffset:-20}}
@keyframes nlBob{0%,100%{translate:0 0}50%{translate:3px -4px}}
footer .nl-wrap{margin-top:4px;padding-top:6px}
.nl-wrap{margin-right:34px}
@media (max-width:560px){.nl-wrap{margin-right:30px}.nl-fly{width:36px;height:86px}}

/* Careers */
.career-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px);font-size:17px;line-height:1.75;color:var(--ink)}
@media (max-width:800px){.career-intro{grid-template-columns:1fr}}
.comp.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.comp.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.comp.four{grid-template-columns:1fr}}
.job{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,40px);align-items:center;background:rgba(254,254,254,.06);border:1px solid rgba(254,254,254,.16);border-left:4px solid var(--gold);border-radius:18px;padding:clamp(24px,3.4vw,40px)}
.job-n{font-family:var(--hero);font-weight:800;font-size:clamp(54px,6vw,84px);line-height:.85;color:var(--gold)}
.job h3{color:var(--white);font-size:clamp(24px,2.4vw,32px)}
.job-body>p{color:rgba(254,254,254,.82);font-size:16px;line-height:1.7;margin-top:12px;max-width:640px}
.job-tags{display:flex;flex-wrap:wrap;gap:8px}
.job-tags span{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lteal);border:1px solid rgba(136,184,181,.45);border-radius:30px;padding:6px 12px}
.job-q{margin-top:28px;color:rgba(254,254,254,.82);font-size:16px;line-height:1.7}
.job-q b{color:var(--white)}
.job-q a{color:var(--gold);overflow-wrap:anywhere}
@media (max-width:860px){.job{grid-template-columns:1fr;align-items:start}.job .btn{justify-self:start}}

/* Guide on phones and tablets: each challenge opens its path right underneath it */
.guide.acc .g-chal{grid-template-columns:1fr;gap:12px;margin-bottom:8px}
.guide.acc .gc{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px}
.guide.acc .gc:hover{transform:none}
.guide.acc .gc-go{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--teal);font-size:0;letter-spacing:0;display:grid;place-items:center;position:relative;transition:transform .3s var(--ease),background .25s,border-color .25s}
.guide.acc .gc-go::before,.guide.acc .gc-go::after{content:"";position:absolute;width:12px;height:2px;border-radius:2px;background:var(--teal)}
.guide.acc .gc-go::after{transform:rotate(90deg);transition:transform .3s var(--ease)}
.guide.acc .gc-go span{display:none}
.guide.acc .gc.on:not(.shut){border-radius:12px 12px 0 0;border-bottom-color:transparent;box-shadow:none}
.guide.acc .gc.on:not(.shut) .gc-go{background:var(--pink);border-color:var(--pink)}
.guide.acc .gc.on:not(.shut) .gc-go::before,.guide.acc .gc.on:not(.shut) .gc-go::after{background:var(--white)}
.guide.acc .gc.on.shut{border-color:var(--line);border-top:1.5px solid var(--line);box-shadow:0 2px 8px rgba(24,26,46,.04)}
.guide.acc .gc.on:not(.shut) .gc-go::after{transform:rotate(0)}
.guide.acc .g-path{margin:-12px 0 0;background:var(--white);border:1.5px solid var(--pink);border-top:0;border-radius:0 0 12px 12px;padding:4px 18px 20px;box-shadow:0 18px 40px -26px rgba(204,0,126,.5)}
.guide.acc .g-path[hidden]{display:none}
.guide.acc .g-path-h{font-size:11px;margin:0 0 14px;padding-top:14px;border-top:1px dashed var(--line)}
.guide.acc .g-path-h b{display:none}
.guide.acc .g-steps{grid-template-columns:1fr;gap:0;position:relative}
.guide.acc .g-steps::before{content:"";position:absolute;left:14px;top:16px;bottom:24px;width:2px;background:linear-gradient(var(--pink),rgba(204,0,126,.25))}
.guide.acc .g-st{background:transparent;box-shadow:none;border-radius:0;padding:0 0 18px 46px;gap:3px}
.guide.acc .g-st:last-child{padding-bottom:0}
.guide.acc .g-st+.g-st::after{display:none}
.guide.acc .g-num{position:absolute;left:0;top:0;margin:0;box-shadow:0 0 0 4px var(--white)}
.guide.acc .g-st b{font-size:16px}
.guide.acc .g-why{font-size:14.5px}
.guide.acc .g-head2{margin-top:36px}

/* Phones and tablets: larger small print so labels, buttons and captions are easy to read (desktop unchanged) */
@media (max-width:860px){
  .kick,.sub-h,.g-path-h,.g-for,.g-tag,.card .tag,.addl .tag,.job-tags span,.contact small,.path .lab,.info .lab,.bd .lab,.pill,.loc,.rec,
  .post .meta,.post .read,.bd .read,.crumbs,.crumbs a,.post-meta span,.filters button,.soc a,.jump a,.stat span,.role,.num small,
  .vc figcaption,.vc figcaption span,.g-outs li b,.in>b,.cap .pdf,footer h4{font-size:13px!important;letter-spacing:.12em}
  .cap .pdf i{font-size:11.5px!important}
  .direct .row small,.row small{font-size:13px!important;letter-spacing:.12em}
  .btn,.nl-btn{font-size:14px!important;letter-spacing:.1em}
  .nav-r .btn{font-size:12.5px!important}
  .g-why,.in>span,.cap span,.brochure span,.more-sol small,.path-foot p,.team figcaption .t,.nl-copy p,footer p,footer li a,.choices small,.opts small,.contact,.contact b{font-size:16px!important;line-height:1.6}
  .nl-note{font-size:14.5px!important}
  .card p,.acc-list li,.eco-pair p,.val p,.step p,.panel p,.benefit p,.acc-d,.acc-intro,.desc,.acc-in p,.why p,.pts p,.cap b{font-size:16px!important}
  figcaption .t{font-size:14.5px!important}
  .fbase,.fbase a,.fbase span{font-size:13.5px!important}
  .info .sub{font-size:15px!important}
}

/* Top bar button: "Book a Call" on larger screens, shorter "Let's Talk" on phones */
.nav-r .lbl-m{display:none}
@media (max-width:700px){.nav-r .lbl-d{display:none}.nav-r .lbl-m{display:inline}}
#guide{scroll-margin-top:110px}

/* Preview-only version badge (never in the WordPress theme) */
.ver-badge{position:fixed;left:14px;bottom:14px;z-index:60;pointer-events:none;border-radius:30px;padding:9px 16px;font-family:var(--text);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fefefe;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);border:2px solid #fefefe}
.ver-badge.cur{background:#065762}.ver-badge.new{background:#cc007e}
@media (max-width:700px){.ver-badge{font-size:10.5px;padding:7px 12px;left:10px;bottom:10px;max-width:46vw;line-height:1.3}}

/* Proposed version additions */
.who-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:900px;margin-inline:auto}
.who-list li{background:var(--white);border:1.5px solid var(--line);border-radius:40px;padding:12px 20px;font-weight:600;font-size:15px;color:var(--teal);box-shadow:0 2px 8px rgba(24,26,46,.04)}
.lanes-more{margin-top:clamp(36px,5vw,52px);text-align:center}
.tbd{background:#fff4d6;color:#7a5b00;border-radius:4px;padding:0 5px;font-style:normal}
.feat-quote{margin:22px 0 0;max-width:640px}
.feat-quote .st{color:var(--gold);letter-spacing:.2em;font-size:15px}
.feat-quote p{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(22px,2.2vw,28px);line-height:1.3;color:var(--ink);margin:8px 0 10px}
.feat-quote cite{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.story{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.story{grid-template-columns:1fr}}
.cs .ind{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.cs .res{font-size:15px;line-height:1.5;color:var(--slate)}
@media (max-width:860px){.cs .ind{font-size:13px!important}.cs .res{font-size:16px!important}}
#faq{scroll-margin-top:150px}
.story h3{font-size:clamp(24px,2.3vw,34px)}
/* Who We Work With: editorial index instead of pills */
.who-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(20px,3vw,40px);max-width:1100px;justify-content:stretch;flex-wrap:nowrap}
.who-list li{background:none;border:0;border-top:1.5px solid var(--gold);border-radius:0;box-shadow:none;padding:16px 2px 18px;font-size:16px;font-weight:700;color:var(--teal);text-align:left;line-height:1.35}
@media (max-width:860px){.who-list{grid-template-columns:repeat(2,minmax(0,1fr))}.who-list li{font-size:16px!important}}

/* Phones: pain-point cards show the answer only, without the repeated service label */
@media (max-width:700px){.sig .exp b{display:none}}

/* Phones: "How involved should we be?" becomes three tabs directly above their answer */
@media (max-width:700px){
  .g-end{gap:14px}
  .g-end .opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .g-end .opts label{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0;padding:14px 6px;min-height:64px;position:relative}
  .g-end .opts label small{display:none}
  .g-end .opts label b{font-size:14.5px;line-height:1.25}
  .g-end .opts input:checked+label{background:var(--teal);border-color:var(--teal);color:var(--white)}
  .g-end .opts input:checked+label::after{content:"";position:absolute;left:50%;bottom:-9px;width:16px;height:16px;background:var(--teal);transform:translateX(-50%) rotate(45deg);border-radius:2px}
  .g-end .opts label:hover{transform:none}
  .result h3{font-size:26px;line-height:1.15}
}

/* Phones and tablets: clear "tap here" cues in the guide */
.g-hint,.g-prompt{display:none}
@media (max-width:860px){
  .g-hint{display:flex;align-items:center;gap:8px;margin:-6px 0 16px;font-size:15px;font-weight:600;color:var(--pink)}
  .g-hint::before{content:"";width:18px;height:18px;flex:0 0 auto;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cc007e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11V5a2 2 0 0 1 4 0v6'/%3E%3Cpath d='M13 10a2 2 0 0 1 4 0v2'/%3E%3Cpath d='M17 11a2 2 0 0 1 4 0v4a7 7 0 0 1-7 7h-1a7 7 0 0 1-6-3.5L4 14a2 2 0 0 1 3.4-2L9 14'/%3E%3C/svg%3E")}
  .guide.acc.fresh .g-prompt{display:block;font-family:var(--serif);font-style:italic;font-weight:600;font-size:22px;line-height:1.3;color:var(--teal)}
  .guide.acc.fresh #g-rec,.guide.acc.fresh #g-title,.guide.acc.fresh #g-for,.guide.acc.fresh #g-outs{display:none!important}
}
@media (max-width:700px){
  .g-end .opts label{padding-top:30px}
  .g-end .opts label::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;border:2px solid var(--teal);background:var(--white);box-sizing:border-box}
  .g-end .opts input:checked+label::before{border-color:var(--white);background:var(--pink);box-shadow:0 0 0 2px var(--white) inset}
}

/* Phones: Cormorant runs small, so the italic serif lines get a little more size */
@media (max-width:700px){
  .card p.stmt{font-size:22px!important;line-height:1.3}
  .gc-q{font-size:21px}
  .card p.acc-o,.acc-o{font-size:19px!important;line-height:1.4}
  .band p.big{font-size:24px!important}
  footer .fbrand p{font-size:19px!important}
  .num span{font-size:22px}
}

/* Phones: keep each highlighted italic phrase together as one unit instead of splitting it across lines */
@media (max-width:700px){h1 em,h2 em,h3 em{display:inline-block;max-width:100%;box-decoration-break:clone;-webkit-box-decoration-break:clone}.dark h2 em,.detail h3 em,.path h3 em{line-height:1.25;padding:.06em .22em .1em}}
@media (max-width:700px){h1 em.wrapok,h2 em.wrapok,h3 em.wrapok{display:inline}}

@media (max-width:700px){.gfc-foot input,input[type=email],input[type=text],input[type=search],input[type=tel],textarea,select{font-size:16px!important}}
/* Who We Work With: split dark band */
.who.dark{position:relative;overflow:hidden;padding:clamp(64px,8vw,112px) 0}
.who-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.who-copy h2{margin-bottom:18px}
.who.dark .lead-p{color:rgba(254,254,254,.86);max-width:30em}
.who-stat{display:flex;align-items:baseline;gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(254,254,254,.2)}
.who-stat b{font-family:var(--hero);font-size:clamp(56px,6vw,84px);line-height:.85;color:var(--gold);letter-spacing:.01em}
.who-stat span{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lteal)}
.who.dark .who-list{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;max-width:none;margin:0}
.who.dark .who-list li{position:relative;color:var(--white);border-top:1px solid rgba(254,254,254,.18);padding:19px 4px 19px 30px;font-size:17px;font-weight:600;line-height:1.35}
.who.dark .who-list li::before{content:"";position:absolute;left:3px;top:26px;width:10px;height:10px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px rgba(204,0,126,.22)}
@media (max-width:860px){.who-grid{grid-template-columns:1fr}.who.dark .who-list li{font-size:16px!important}}
@media (max-width:560px){.who.dark .who-list{grid-template-columns:1fr}.who.dark .who-list li{padding:15px 4px 15px 28px}.who.dark .who-list li::before{top:21px}}
/* Values: one connected editorial panel */
.vals{gap:0;counter-reset:val;background:var(--white);border-radius:18px;overflow:hidden;border-top:4px solid var(--teal);box-shadow:0 30px 60px -38px rgba(6,87,98,.45),0 0 0 1px var(--line)}
.val{counter-increment:val;position:relative;border:0;border-radius:0;background:transparent;padding:40px 36px 42px;gap:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s}
.val:nth-child(3n){border-right:0}
.val:nth-last-child(-n+3){border-bottom:0}
.val::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.val::after{content:counter(val,decimal-leading-zero);position:absolute;top:30px;right:34px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:46px;line-height:1;color:var(--gold);opacity:.6}
.val:hover{background:#f7fbfb;box-shadow:none;border-color:var(--line)}
.val:hover::before{transform:scaleX(1)}
.val .ico{width:52px;height:52px;background:var(--teal);box-shadow:0 10px 22px -12px rgba(6,87,98,.8)}
.val .ico svg{stroke:var(--white);width:24px;height:24px}
.val h3{font-size:clamp(28px,2.5vw,34px);margin-top:8px;position:relative;padding-bottom:14px}
.val h3::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--gold)}
@media (max-width:960px){.val:nth-child(3n){border-right:1px solid var(--line)}.val:nth-child(2n){border-right:0}.val:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.val:nth-last-child(-n+2){border-bottom:0}}
@media (max-width:600px){.val{border-right:0!important;padding:32px 24px 34px}.val:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.val:last-child{border-bottom:0}.val::after{font-size:38px;top:26px;right:24px}}

/* Gold logo swoosh under "starting at" */
.invest .num small .sw{position:relative;display:inline-block;font:inherit;color:inherit;margin:0;text-transform:inherit;letter-spacing:inherit}
.invest .num small .sw-line{position:absolute;left:-3%;bottom:-13px;width:104%;height:14px;fill:var(--gold);overflow:visible;clip-path:inset(0 100% 0 0);transition:clip-path 1.9s cubic-bezier(.45,.05,.25,1) .35s}
.invest .num small .sw.drawn .sw-line{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.invest .num small .sw-line{clip-path:none;transition:none}}

/* Bright, crisp banner photos (matches the About banner) */
@media (min-width:861px){
  .phero-photo,.phero-photo.wide{left:40%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
  .phero-photo::after{background:linear-gradient(90deg,rgba(4,52,60,.5) 0%,rgba(4,52,60,.14) 30%,rgba(4,52,60,0) 55%),linear-gradient(0deg,rgba(4,47,54,.32) 0%,rgba(4,47,54,0) 34%)}
  .phero.has-photo h1,.phero.has-photo .sub,.phero.has-photo .lede{text-shadow:0 2px 18px rgba(2,30,36,.5)}
}
@media (max-width:860px){
  .phero-photo::after{background:linear-gradient(180deg,rgba(4,52,60,.6) 0%,rgba(4,52,60,.74) 100%)}
  .phero.has-photo h1,.phero.has-photo .sub,.phero.has-photo .lede,.phero.has-photo .kick,.phero.has-photo .crumbs{text-shadow:0 1px 14px rgba(2,30,36,.55)}
}

/* Services overview: one card per service, each linking to its own page */
.svc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.svc-card{background:var(--white);border:1.5px solid var(--line);border-top:4px solid var(--teal);border-radius:16px;padding:clamp(26px,3vw,36px);display:flex;flex-direction:column;gap:14px;min-width:0;box-shadow:0 2px 8px rgba(24,26,46,.05),0 18px 40px -26px rgba(6,87,98,.4);transition:transform .3s,box-shadow .3s}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 2px 8px rgba(24,26,46,.06),0 24px 48px -24px rgba(6,87,98,.5)}
.svc-card .tag{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.svc-card h3{font-size:clamp(22px,2vw,26px);line-height:1.2}
.svc-card h3 em{font-family:var(--serif);font-style:italic;color:var(--teal);font-size:1.1em}
.svc-card p{color:var(--slate);line-height:1.65;flex:1}
.svc-card-acts{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:6px}
.svc-pdf{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);text-underline-offset:4px}
@media (max-width:980px){.svc-cards{grid-template-columns:1fr}.svc-card p{flex:none}}
/* Service pages: "works best together" links to the other services */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pair-c{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;background:var(--white);border:1.5px solid var(--line);border-radius:16px;padding:clamp(24px,3vw,34px);transition:border-color .3s,transform .3s}
.pair-c:hover{border-color:var(--teal);transform:translateY(-3px)}
.pair-c .tag{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.pair-c b{font-size:clamp(20px,1.9vw,24px);line-height:1.25}
.pair-c b em{font-family:var(--serif);font-style:italic;color:var(--teal);font-size:1.1em;font-weight:600}
.pair-c .d{color:var(--slate);line-height:1.65}
.pair-c .go{margin-top:4px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
@media (max-width:760px){.pair{grid-template-columns:1fr}}
#faq,#services-list{scroll-margin-top:110px}

/* Our Work: rotating results spotlight with rolling numbers (light section, navy scoreboard card) */
.spot{position:relative;padding:clamp(64px,8vw,104px) 0}
.spot-head .kick{color:var(--pink)}
.spot-head h2{font-size:clamp(34px,4.4vw,58px);line-height:1.06;margin-top:8px}
.spot-card{position:relative;overflow:hidden;margin-top:clamp(28px,4vw,44px);border-radius:24px;padding:clamp(28px,4.4vw,60px);background:linear-gradient(150deg,#22244a 0%,var(--navy) 55%,#11122a 100%);box-shadow:0 30px 70px -36px rgba(25,26,46,.65),0 4px 14px rgba(25,26,46,.10);border-top:5px solid var(--gold)}
.spot-card::after{content:"";position:absolute;right:-160px;top:-200px;width:520px;height:520px;border-radius:50%;border:2px solid rgba(200,172,48,.22);pointer-events:none}
.spot-card::before{content:"";position:absolute;right:-90px;top:-130px;width:380px;height:380px;border-radius:50%;border:1.5px solid rgba(204,0,126,.22);pointer-events:none}
.spot-body,.spot-next{position:relative;z-index:1}
.spot-case{font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#bfe0dd}
.spot-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);margin:clamp(18px,2.4vw,26px) 0 clamp(20px,2.6vw,30px);border-top:1px solid rgba(254,254,254,.16);padding-top:clamp(22px,3vw,34px)}
.spot-stat{display:flex;flex-direction:column;gap:10px;min-width:0}
.spot-stat b{font-family:var(--hero);font-weight:800;font-size:clamp(56px,8vw,124px);line-height:.9;color:var(--gold);letter-spacing:.01em;display:inline-flex;white-space:nowrap}
.spot-stat>span{font-size:clamp(14px,1.3vw,17px);font-weight:600;color:var(--white);line-height:1.35}
.spot-ctx{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(20px,2vw,26px);line-height:1.35;color:var(--white);max-width:36em}
.spot-link{display:inline-block;margin-top:16px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-underline-offset:5px}
.spot-next{margin-top:clamp(26px,3vw,36px);background:var(--pink);border:0;color:var(--white);border-radius:30px;padding:14px 24px;font:700 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .25s}
.spot-next:hover{background:#b0006d;transform:translateY(-1px)}
/* odometer digits */
.roll .dg{display:inline-block;height:1em;overflow:hidden;vertical-align:top;line-height:1}
.roll .dg i{display:flex;flex-direction:column;font-style:normal;transform:translateY(0);transition:transform 2.6s cubic-bezier(.16,.72,.14,1)}
.roll .dg i em{font-style:normal;height:1em;display:block}
.roll .ch{display:inline-block;line-height:1}
@media (max-width:760px){.spot-stats{grid-template-columns:1fr;gap:22px}.spot-stat b{font-size:clamp(60px,18vw,92px)}.spot-card{border-radius:18px}}
@media (prefers-reduced-motion:reduce){.roll .dg i{transition:none}}

/* Home: keep the closing infrastructure line on one line wherever it fits */
.sig-close.one-line{max-width:none}

/* Phone and iPad portrait: the banner photo gets its own clear panel under the headline (no text over faces, full color) */
@media (max-width:860px){
  .phero.has-photo{display:flex;flex-direction:column;padding-bottom:0}
  .phero.has-photo .phero-grid{order:1;width:100%}
  .phero.has-photo .phero-photo{order:2;position:relative;inset:auto;width:100%;aspect-ratio:16/10;margin-top:clamp(28px,5vw,40px);z-index:2;-webkit-mask-image:none;mask-image:none}
  .phero.has-photo .phero-photo::after{background:linear-gradient(180deg,rgba(4,52,60,.35) 0%,rgba(4,52,60,0) 18%)}
  .phero.has-photo h1,.phero.has-photo .sub,.phero.has-photo .lede,.phero.has-photo .kick,.phero.has-photo .crumbs{text-shadow:none}
}
@media (max-width:560px){.phero.has-photo .phero-photo{aspect-ratio:4/3}}

/* Desktop: keep the Executive Leadership intro on one line */
@media (min-width:1024px){.lead-p.one-line{max-width:none}}

/* Closing line: break before "revenue growth" on desktop only */
.goal .d-br{display:none}
@media (min-width:1024px){.goal .d-br{display:inline}}

/* Even out paragraph line lengths where the browser supports it */
main p,main li,main blockquote,main figcaption{text-wrap:pretty}

/* Homepage promo: compact slide-in card (bottom left on desktop, slim strip above the chat button on phones and iPad) */
.promo{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:79;width:430px;display:grid;grid-template-columns:128px 1fr;background:var(--navy);color:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 26px 60px -18px rgba(10,12,30,.7);border:1px solid rgba(200,172,48,.45);transform:translateY(24px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease)}
.promo[hidden]{display:none}
.promo.show{transform:none;opacity:1}
.promo-img{display:block;overflow:hidden;min-height:100%}
.promo-img img{width:100%;height:100%;object-fit:cover;object-position:40% 50%;display:block}
.promo-body{padding:14px 40px 16px 16px;display:flex;flex-direction:column;gap:8px}
.promo-kick{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);line-height:1.4}
.promo-kick span{display:none}
.promo-h{margin:0;color:var(--white);font-weight:700;font-size:14px;line-height:1.35}
.promo-t{display:none}
.promo-meta{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(254,254,254,.82)}
.promo .promo-cta{align-self:flex-start;margin-top:2px;padding:10px 18px;font-size:11px}
.promo-x{position:absolute;top:6px;right:6px;width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:rgba(254,254,254,.85);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.promo-x:hover,.promo-x:focus-visible{background:var(--pink);color:var(--white)}
@media (max-width:860px){
  .promo{left:12px;right:12px;width:auto;max-width:560px;bottom:calc(92px + env(safe-area-inset-bottom,0px));grid-template-columns:92px 1fr}
  .promo-body{padding:11px 40px 12px 12px;gap:5px}
  .promo-h{display:none}
  .promo-kick{font-size:11px}
  .promo-meta{font-size:10.5px;letter-spacing:.05em}
  .promo .promo-cta{padding:8px 14px;font-size:10.5px}
}
@media (max-width:520px){.promo{bottom:calc(78px + env(safe-area-inset-bottom,0px))}}
@media (max-width:340px){.promo{grid-template-columns:1fr}.promo-img{display:none}}
.promo-meta span{white-space:nowrap}
.promo.centered{box-shadow:0 40px 90px -20px rgba(10,12,30,.75),0 0 0 6px rgba(200,172,48,.18)}
.promo.show{transition:transform .9s cubic-bezier(.65,0,.25,1),opacity .45s var(--ease),box-shadow .9s}
.promo.no-move{transition:none!important}
.promo-tab{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:79;display:inline-flex;align-items:center;gap:9px;background:var(--navy);color:var(--white);border:1.5px solid var(--gold);border-radius:40px;padding:11px 18px 11px 14px;font:700 12px var(--text);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:pointer;box-shadow:0 18px 40px -12px rgba(25,26,46,.65);transform:translateY(16px);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease),background .2s,border-color .2s}
.promo-tab[hidden]{display:none}
.promo-tab.show{transform:none;opacity:1}
.promo-tab.in-nav{position:static;box-shadow:none;transform:scale(.6);padding:10px 16px 10px 13px;font-size:11.5px;background:var(--white);color:var(--navy);border-color:var(--pink)}
.promo-tab.in-nav.show{transform:none}
.promo-tab.show.pop{animation:promoPop .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes promoPop{0%{transform:scale(.6)}100%{transform:none}}
.promo-tab:hover,.promo-tab:focus-visible{background:var(--pink);border-color:var(--pink);color:var(--white)}
.promo-tab-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--pink);animation:promoDot 2.4s ease-out infinite}
.promo-tab:hover .promo-tab-dot,.promo-tab:focus-visible .promo-tab-dot{background:var(--white)}
@keyframes promoDot{0%{box-shadow:0 0 0 0 rgba(204,0,126,.55)}70%{box-shadow:0 0 0 9px rgba(204,0,126,0)}100%{box-shadow:0 0 0 0 rgba(204,0,126,0)}}
.promo-fly{position:fixed;z-index:120;width:44px;height:44px;background:var(--pink);box-shadow:0 10px 30px -6px rgba(204,0,126,.7);pointer-events:none}
@media (max-width:520px){.promo-tab{left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:10px 14px 10px 12px;font-size:10.5px;letter-spacing:.06em;gap:8px}}
@media (prefers-reduced-motion:reduce){.promo-tab{transition:none}.promo-tab-dot,.promo-tab.show.pop{animation:none}}
body.promo-on .gfc-nudge{display:none!important}
@media (prefers-reduced-motion:reduce){.promo{transition:none}}

/* Our Team page, phones only: no stock banner photo; the intro leads straight into Takisha (iPad, desktop and other pages keep their banners) */
@media (max-width:700px){
  .phero.team-hero .phero-photo{display:none}
  .phero.team-hero{padding-bottom:clamp(44px,11vw,56px)}
}

/* Wide desktops: banner text moves left into the empty margin, same as the Home page, so it sits clear of the people in the photos */
@media (min-width:1400px){.phero .hero-copy{margin-left:calc(-1 * clamp(0px, (100vw - 1320px) / 2 - 56px, 190px))}}

/* Guide on phones and tablets: three colored department lanes with a line weaving between them (desktop unchanged) */
.g-key,.g-weave{display:none}
.guide.acc .g-path{position:relative}
.guide.acc .g-key{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 16px;padding-bottom:14px;border-bottom:1px dashed var(--line);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.guide.acc .g-key span{white-space:nowrap}
.guide.acc .g-key span{display:inline-flex;align-items:center;gap:6px}
.guide.acc .g-key span::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.guide.acc .k-ops,.guide.acc .lane-ops .g-tag{color:var(--teal)}
.guide.acc .k-mkt,.guide.acc .lane-mkt .g-tag{color:var(--pink)}
.guide.acc .k-sys,.guide.acc .lane-sys .g-tag{color:#8a740f}
.guide.acc .k-sys::before{background:var(--gold)!important}
.guide.acc .g-weave{display:block;position:absolute;width:66px;overflow:visible;pointer-events:none;z-index:0}
.guide.acc .g-weave path{fill:none;stroke-width:2.4;stroke-linecap:round}
.guide.acc .g-steps::before{display:none}
.guide.acc .g-steps{background:linear-gradient(rgba(6,87,98,.16),rgba(6,87,98,.16)) 12px 0/2px 100% no-repeat,linear-gradient(rgba(204,0,126,.16),rgba(204,0,126,.16)) 32px 0/2px 100% no-repeat,linear-gradient(rgba(200,172,48,.28),rgba(200,172,48,.28)) 52px 0/2px 100% no-repeat}
.guide.acc .g-st{padding-left:76px;position:relative;z-index:1}
.guide.acc .g-num{width:28px;height:28px;font-size:12.5px}
.guide.acc .lane-ops .g-num{left:-1px;background:var(--teal)}
.guide.acc .lane-mkt .g-num{left:19px;background:var(--pink)}
.guide.acc .lane-sys .g-num{left:39px;background:var(--gold);color:var(--ink)}

/* Home pain-point cards: no department label; the answer itself in teal, semi-bold */
.sig .exp .in{min-height:118px}
.sig .exp span{color:var(--teal);font-weight:600;font-size:15px;line-height:1.55}
@media (max-width:1000px){.sig .exp .in{min-height:0}}

/* Blog filter: hidden cards stay hidden (the card display rule was overriding the hidden attribute) */
.posts .post[hidden]{display:none!important}

/* Blog post: Topics row (the post's WordPress tags) */
.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}
.post-tags-h{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-right:6px}
.post-tags a{font-size:13px;font-weight:600;color:var(--teal);text-decoration:none;background:rgba(6,87,98,.07);border:1px solid rgba(6,87,98,.15);border-radius:20px;padding:6px 12px;transition:background .2s,color .2s}
.post-tags a:hover{background:var(--teal);color:var(--white)}

/* Careers: shown when there are no job openings */
.job-none{color:rgba(254,254,254,.86);font-size:17px;line-height:1.7;background:rgba(254,254,254,.06);border:1px solid rgba(254,254,254,.16);border-left:4px solid var(--gold);border-radius:18px;padding:clamp(22px,3vw,32px)}

/* Old menu link /gf-services/#fractional-project-management lands on the leadership section */
.anchor-alias{display:block;height:0;scroll-margin-top:110px}
/* Phones and tablets: footer links are easy to tap and the last row (LinkedIn, Facebook) can scroll clear of the floating Holiday Offer and Ask GirlFriday buttons (Oct 13) */
@media (max-width:900px){
  footer li a,footer nav[aria-label="Social"] a{display:inline-block;padding:7px 0;min-height:34px}
  footer nav[aria-label="Social"] a+a{margin-left:22px}
  footer{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))!important}
}

/* Takisha's closing on her blog posts (wp/inc/signoff.php) */
.article .entry .gf-signoff{margin-top:2em!important}
.article .entry .gf-signoff p{margin:0!important}
.article .entry .gf-signoff-close{font-family:var(--serif);font-style:italic;font-size:1.25em;color:var(--teal)}
.article .entry .gf-signoff-name{margin-top:.35em!important;font-weight:700;color:var(--ink)}

/* WordPress */
.admin-bar .nav{top:32px}@media (max-width:782px){.admin-bar .nav{top:46px}}
.vh:focus{position:fixed!important;left:16px;top:16px;width:auto;height:auto;clip:auto;z-index:100;background:var(--white);padding:10px 16px;border-radius:8px}
.pager .page-numbers{min-width:44px;height:44px;display:inline-grid;place-items:center;padding:0 14px;border-radius:30px;border:1.5px solid var(--line);font-weight:700;font-size:13px;text-decoration:none;color:var(--teal)}.pager .page-numbers.current{background:var(--teal);border-color:var(--teal);color:var(--white)}
.entry .alignwide,.entry .alignfull{max-width:none}
