/* ============================================================
   MEDIA TO MOVEMENTS — visual redesign of the real site
   Content, IA, and copy are unchanged from mediatomovements.com.
   Palette + geometry derived from mtm-horz-color.svg.
   Display face is a substitute; production uses licensed Codec Pro.
   ============================================================ */

:root{
  --deep:#12015f;
  --mint:#16ddb2;
  --action:#f93646;

  --ground:oklch(0.985 0.004 292);
  --ground-sunk:oklch(0.955 0.008 292);
  --deep-lift:oklch(0.34 0.17 292);
  --deep-sink:oklch(0.175 0.135 292);
  --ink:oklch(0.30 0.09 292);
  --ink-muted:oklch(0.52 0.045 292);
  --on-deep:oklch(0.965 0.012 292);
  --on-deep-muted:oklch(0.76 0.035 292);
  --mint-ink:oklch(0.46 0.11 168);
  --hairline:oklch(0.885 0.012 292);
  --hairline-deep:oklch(0.38 0.10 292);

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:144px;

  --shell:1380px;

  --display:"Manrope",system-ui,sans-serif;
  --body:"Literata",Georgia,serif;
  --data:"Martian Mono",ui-monospace,monospace;

  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.028em;line-height:1.04;margin:0;}
p{margin:0 0 var(--s4);max-width:66ch;}

.h-xl{font-size:clamp(3rem,6.4vw,6.3rem);line-height:.91;letter-spacing:-.052em;}
.h-lg{font-size:clamp(2rem,4.25vw,4.25rem);line-height:.98;letter-spacing:-.042em;}
.h-md{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.1;}
.h-sm{font-size:1.15rem;font-weight:700;letter-spacing:-.012em;}

.eyebrow{font-family:var(--data);font-weight:700;font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mint-ink);display:block;margin-bottom:var(--s5);}
.eyebrow.on-deep{color:var(--mint);}
.lede{font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.5;color:var(--ink-muted);max-width:52ch;}
.deep .lede{color:var(--on-deep-muted);}

/* ---------- shell ---------- */
.wrap{max-width:var(--shell);margin:0 auto;padding:0 var(--s6);}
@media(min-width:900px){ .wrap{padding:0 var(--s8);} }
.band{padding:var(--s9) 0;}
@media(min-width:900px){ .band{padding:var(--s10) 0;} }
.deep{background:var(--deep);color:var(--on-deep);}
.deep h1,.deep h2,.deep h3,.deep h4{color:var(--on-deep);}
.sunk{background:var(--ground-sunk);}
.edge-v{clip-path:polygon(0 0,50% 5vw,100% 0,100% 100%,0 100%);margin-top:-1px;}

/* ---------- header ---------- */
.siteheader{--hdr-h:82px;position:sticky;top:0;z-index:80;background:color-mix(in oklab,var(--deep) 94%,transparent);
  border-bottom:1px solid transparent;transition:background .25s var(--ease),border-color .25s var(--ease);}
.siteheader.scrolled{--hdr-h:66px;background:var(--deep);border-bottom-color:var(--hairline-deep);}
.hdr{display:flex;align-items:center;gap:var(--s6);height:82px;max-width:var(--shell);
  margin:0 auto;padding:0 var(--s6);transition:height .28s var(--ease);}
.siteheader.scrolled .hdr{height:66px;}
@media(min-width:900px){ .hdr{padding:0 var(--s8);} }
.brand{display:flex;align-items:center;gap:var(--s3);flex-shrink:0;}
.brand svg{width:34px;height:auto;transition:transform .28s var(--ease);}
.siteheader.scrolled .brand svg{transform:scale(.88);}
.brand-wm{font-family:var(--display);font-weight:800;font-size:.74rem;line-height:1.03;
  letter-spacing:-.02em;color:var(--on-deep);text-transform:lowercase;}
.nav{display:none;gap:var(--s6);margin-left:auto;align-items:center;}
@media(min-width:1040px){ .nav{display:flex;} }
.nav>a,.nav>button,.navdrop>button{font-family:var(--display);font-size:.85rem;font-weight:600;
  color:var(--on-deep-muted);padding:var(--s2) 0;position:relative;transition:color .18s var(--ease);}
.nav>a:hover,.nav>button:hover,.navdrop>button:hover{color:var(--on-deep);}
.nav>a.on{color:var(--mint);}
.navdrop{position:relative;}
.navdrop::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:16px;}
.navdrop>button{display:flex;align-items:center;gap:6px;}
.navdrop.open>button,.navdrop:focus-within>button{color:var(--on-deep);}
.navdrop.current>button{color:var(--mint);}
.navdrop svg{width:9px;height:9px;transition:transform .2s var(--ease);}
.navdrop:hover svg,.navdrop.open svg,.navdrop:focus-within svg{transform:rotate(180deg);}
.navdrop-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:300px;background:var(--deep-sink);border:1px solid var(--hairline-deep);
  padding:var(--s3);opacity:0;pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease);}
.navdrop:hover .navdrop-menu,.navdrop.open .navdrop-menu,.navdrop:focus-within .navdrop-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.navdrop-item{display:block;padding:var(--s3) var(--s4);}
.navdrop-item:hover,.navdrop-item:focus-visible{background:var(--deep-lift);}
.navdrop-item.on b{color:var(--mint);}
.navdrop-item b{display:block;font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--on-deep);margin-bottom:2px;}
.navdrop-item span{display:block;font-size:.78rem;color:var(--on-deep-muted);}
.apply{background:var(--action);color:var(--on-deep);font-family:var(--display);font-weight:700;
  font-size:.82rem;padding:var(--s3) var(--s5);margin-left:auto;flex-shrink:0;
  transition:background .18s var(--ease),color .18s var(--ease);white-space:nowrap;}
@media(min-width:1040px){ .apply{margin-left:0;} }
.apply:hover{background:var(--ground);color:var(--deep);}
/* below ~520px, brand + "Get Coaching" + burger no longer fit one row —
   drop the header CTA and surface it inside the mobile menu instead
   (added there explicitly, not just hidden/lost) */
@media(max-width:520px){ .apply{display:none;} }
.burger{display:block;margin-left:var(--s3);color:var(--on-deep);flex-shrink:0;}
@media(min-width:1040px){ .burger{display:none;} }
.mobnav{position:absolute;left:0;right:0;top:100%;background:var(--deep-sink);height:calc(100svh - var(--hdr-h));max-height:calc(100svh - var(--hdr-h));overflow-y:auto;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);border-top:1px solid var(--hairline-deep);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s linear .2s;}
.mobnav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s;}
.mobnav-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);width:100%;min-height:52px;text-align:left;padding:var(--s4) var(--s6);
  font-family:var(--display);font-weight:700;color:var(--on-deep);border-bottom:1px solid var(--hairline-deep);}
.mobnav-toggle>span{width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s var(--ease);}
.mobnav-toggle[aria-expanded="true"]>span{transform:rotate(225deg);}
.mobnav-group{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s var(--ease);}
.mobnav-group>div{overflow:hidden;}
.mobnav-section.open .mobnav-group{grid-template-rows:1fr;}
.mobnav-sub{display:block;width:100%;min-height:48px;text-align:left;padding:var(--s3) var(--s6) var(--s3) var(--s8);
  font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--on-deep-muted);
  border-bottom:1px solid var(--hairline-deep);}
.mobnav-sub.on,.mobnav-top.on{color:var(--mint);}
.mobnav-cta{display:block;margin:var(--s5) var(--s6);text-align:center;background:var(--action);
  color:var(--on-deep);font-family:var(--display);font-weight:700;padding:var(--s4);}
body.nav-open{overflow:hidden;}

/* ---------- hero ---------- */
.hero{background:var(--deep);color:var(--on-deep);min-height:calc(100svh - 82px);position:relative;overflow:hidden;display:flex;align-items:center;}
.hero::before{content:"";position:absolute;inset:auto -12vw -22vw auto;width:min(70vw,980px);aspect-ratio:1;background:var(--deep-lift);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);opacity:.32;transform:translate3d(0,var(--hero-shift,0),0);}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hairline-deep);}
.hero-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s8);align-items:center;width:100%;padding-top:var(--s7);padding-bottom:var(--s8);}
.hero-copy{position:relative;z-index:4;max-width:760px;}
.hero h1{color:var(--on-deep);font-size:clamp(3.4rem,7.1vw,7.7rem);max-width:9.2ch;margin-bottom:var(--s6);}
.hero .lede{font-size:clamp(1.06rem,1.35vw,1.24rem);max-width:48ch;margin-bottom:var(--s7);}
.hero-visual{position:relative;min-height:440px;transform:translate3d(0,var(--parallax-y,0),0);will-change:transform;}
.hero-photo{position:absolute;inset:0 0 0 8%;clip-path:polygon(17% 0,100% 0,100% 84%,82% 100%,0 100%,0 17%);background:var(--deep-lift);overflow:hidden;}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:saturate(.82) contrast(1.05);}
.hero-photo::before{content:"";position:absolute;inset:0;background:var(--deep);opacity:.18;z-index:1;pointer-events:none;}
.chat-orbit{position:absolute;inset:0;z-index:4;pointer-events:none;}
.chat-bubble{position:absolute;display:flex;gap:7px;align-items:center;background:var(--ground);height:44px;padding:0 18px;border:1px solid var(--hairline);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));}
.chat-bubble i{display:block;width:28px;height:4px;background:var(--deep);opacity:.22;}
.chat-bubble i:last-child{width:14px;}
.chat-bubble.b1{left:0;top:15%;width:210px;animation:heroFloat 5.6s var(--ease) infinite alternate;}
.chat-bubble.b2{right:-3%;top:42%;width:188px;animation:heroFloat 6.4s var(--ease) .6s infinite alternate-reverse;}
.chat-bubble.b3{left:6%;bottom:11%;width:238px;animation:heroFloat 7.2s var(--ease) 1.1s infinite alternate;}
.chat-path{position:absolute;left:19%;top:33%;width:55%;height:44%;border-left:1px solid var(--mint);border-bottom:1px solid var(--mint);opacity:.55;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:skewY(-45deg);transform-origin:left top;}
.signal-diamond{position:absolute;left:64%;top:51%;width:18px;height:18px;background:var(--mint);transform:rotate(45deg);box-shadow:0 0 0 8px color-mix(in oklab,var(--mint) 16%,transparent);animation:signalPulse 2.8s ease-in-out infinite;}
.hero-m{position:absolute;left:-8vw;bottom:-10vw;width:min(42vw,620px);height:min(32vw,440px);opacity:.24;pointer-events:none;}
.hero-m span{position:absolute;bottom:0;width:58%;height:34%;background:var(--deep-lift);clip-path:polygon(0 0,50% 100%,100% 0,82% 0,50% 66%,18% 0);}
.hero-m span:first-child{left:0;}
.hero-m span:last-child{left:34%;}
@keyframes heroFloat{to{transform:translate3d(0,-10px,0);}}
@keyframes signalPulse{50%{transform:rotate(45deg) scale(1.13);opacity:.82;}}
@media(min-width:900px){
  .hero-stage{grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);gap:clamp(48px,6vw,104px);padding-top:var(--s8);padding-bottom:var(--s9);}
  .hero-visual{min-height:640px;}
}
@media(max-width:899px){
  .hero{min-height:auto;padding-top:var(--s7);}
  .hero h1{font-size:clamp(3.1rem,13vw,5.8rem);}
  .hero-visual{min-height:520px;}
  .hero-photo{inset:0;}
  .chat-bubble.b1{left:4%;}.chat-bubble.b2{right:1%;}.chat-bubble.b3{left:10%;}
}
@media(max-width:560px){
  .hero-visual{min-height:410px;}
  .chat-bubble{height:38px;padding:0 13px;}
  .chat-bubble.b1{width:160px}.chat-bubble.b2{width:145px}.chat-bubble.b3{width:170px}
  .chat-bubble i{width:20px;}
}


/* ---------- actions ---------- */
.acts{display:flex;flex-wrap:wrap;gap:var(--s3);}
.btn{font-family:var(--display);font-weight:700;font-size:.92rem;padding:var(--s4) var(--s6);display:inline-flex;align-items:center;gap:var(--s3);position:relative;overflow:hidden;transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);}
.btn::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s var(--ease);opacity:.38;}
.btn:hover::after{transform:scaleX(1);transform-origin:left;}
.btn:hover{transform:translateY(-2px);}
.btn svg{width:13px;flex-shrink:0;transition:transform .2s var(--ease);}
.btn:hover svg{transform:translateX(4px);}
.btn-a{background:var(--action);color:var(--on-deep);}
.btn-a:hover{background:var(--ground);color:var(--deep);}
.btn-b{border:1px solid var(--hairline-deep);color:var(--on-deep);}
.btn-b:hover{border-color:var(--mint);color:var(--mint);}
.btn-c{background:var(--deep);color:var(--on-deep);}
.btn-c:hover{background:var(--deep-lift);}
.btn-d{border:1px solid var(--hairline);color:var(--ink);}
.btn-d:hover{border-color:var(--deep);background:var(--deep);color:var(--on-deep);}

/* ---------- editorial two-col (replaces icon+text card grids) ---------- */
.split2{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s8);align-items:start;}
@media(min-width:900px){ .split2{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(56px,7vw,112px);} }
.split2.rev{direction:rtl;}
.split2.rev>*{direction:ltr;}

/* what-god editorial (was: 3 icon cards) */
.godlist{border-top:1px solid var(--hairline);margin-top:var(--s7);}
.deep .godlist{border-color:var(--hairline-deep);}
.godrow{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);padding:var(--s6) 0;border-bottom:1px solid var(--hairline);}
.deep .godrow{border-color:var(--hairline-deep);}
@media(min-width:760px){ .godrow{grid-template-columns:220px 1fr;gap:var(--s7);align-items:baseline;} }
.godrow h4{font-size:1.3rem;}
.deep .godrow h4{color:var(--on-deep);}
.godrow p{margin:0;color:var(--ink-muted);}
.deep .godrow p{color:var(--on-deep-muted);}

/* coaching timeline (was: 4 icon cards) */
.timeline{border-top:1px solid var(--hairline);margin-top:var(--s6);}
.tstep{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);padding:var(--s6) 0;border-bottom:1px solid var(--hairline);}
@media(min-width:640px){ .tstep{grid-template-columns:64px 1fr;gap:var(--s5);align-items:baseline;} }
.tstep .n{font-family:var(--data);font-weight:700;font-size:1.4rem;color:var(--mint-ink);letter-spacing:-.04em;}
.tstep h4{font-size:1.14rem;margin-bottom:var(--s2);}
.tstep p{margin:0;color:var(--ink-muted);font-size:.97rem;}

/* benefits editorial (was: 4 icon cards) */
.benefits{border-top:1px solid var(--hairline);margin-top:var(--s6);}
.brow{padding:var(--s6) 0;border-bottom:1px solid var(--hairline);}
.brow h4{font-size:1.16rem;margin-bottom:var(--s2);}
.brow p{margin:0;color:var(--ink-muted);font-size:.97rem;}

/* ---------- photography ---------- */
.frame{position:relative;overflow:hidden;background:var(--ground-sunk);width:100%;}
.frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease);}
.frame:hover img{transform:scale(1.018);}
.media-reveal{position:relative;overflow:hidden;}
.media-reveal::after{content:"";position:absolute;inset:-2px;background:var(--deep);clip-path:polygon(0 0,100% 0,100% 100%,18% 100%,0 82%);transform:translate3d(0,0,0);transition:transform .82s var(--ease);z-index:5;pointer-events:none;}
.media-reveal.revealed::after{transform:translate3d(112%,0,0);}
.deep .media-reveal::after,.hero .media-reveal::after{background:var(--deep-lift);}
.frame.mask-tl{clip-path:polygon(0 10%,100% 0,100% 100%,0 100%);}
.frame.mask-br{clip-path:polygon(0 0,100% 0,100% 90%,0 100%);}
.frame.tall{aspect-ratio:4/5;}
.frame.wide{aspect-ratio:16/10;}
.cap{font-family:var(--data);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-muted);margin-top:var(--s3);display:block;}
.deep .cap{color:var(--on-deep-muted);}

/* ---------- quotes ---------- */
.quotes{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s8);margin-top:var(--s7);}
@media(min-width:860px){ .quotes{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s9);} .quotes .q:nth-child(even){margin-top:var(--s8);} }
.q blockquote{margin:0 0 var(--s5);font-family:var(--display);font-weight:600;
  font-size:clamp(1.25rem,2.1vw,1.72rem);line-height:1.27;letter-spacing:-.026em;}
.q .who{font-family:var(--data);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-muted);}
.q .who b{color:var(--mint-ink);font-weight:700;display:block;margin-bottom:3px;}
.deep .q .who{color:var(--on-deep-muted);}
.deep .q .who b{color:var(--mint);}
.attrib{display:flex;align-items:center;gap:var(--s4);}
.attrib img{height:30px;width:auto;flex-shrink:0;filter:grayscale(1);opacity:.6;}

/* ---------- resource promo row ---------- */
.promos{border-top:1px solid var(--hairline);margin-top:var(--s7);}
.promo{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);padding:var(--s6) 0;border-bottom:1px solid var(--hairline);
  align-items:baseline;transition:padding-left .25s var(--ease);}
@media(min-width:780px){ .promo{grid-template-columns:110px 1fr auto;gap:var(--s6);} }
.promo:hover{padding-left:var(--s4);}
.promo .kind{font-family:var(--data);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--mint-ink);}
.promo h4{font-size:1.15rem;margin-bottom:var(--s2);}
.promo p{margin:0;color:var(--ink-muted);font-size:.93rem;}
.promo .go{font-family:var(--display);font-weight:700;font-size:.82rem;color:var(--mint-ink);white-space:nowrap;}

/* ---------- CTA ---------- */
.cta{background:var(--deep);color:var(--on-deep);padding:clamp(96px,12vw,180px) 0;position:relative;overflow:hidden;}
.cta::before{content:"";position:absolute;left:-10vw;bottom:-16vw;width:42vw;height:42vw;
  background:var(--deep-lift);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);opacity:.4;}
.cta .wrap{position:relative;}
.cta h2{color:var(--on-deep);font-size:clamp(2.8rem,6vw,6.6rem);max-width:12ch;}
.cta p{color:var(--on-deep-muted);}

/* ---------- coaching page: phases + characteristics ---------- */
.phases{border-top:1px solid var(--hairline);margin-top:var(--s7);}
.phase{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);padding:var(--s7) 0;border-bottom:1px solid var(--hairline);}
@media(min-width:780px){ .phase{grid-template-columns:64px 1fr;gap:var(--s6);align-items:start;} }
.phase .n{font-family:var(--data);font-weight:700;font-size:1.6rem;color:var(--mint-ink);letter-spacing:-.05em;}
.phase h4{font-size:1.3rem;}
.phase svg{max-width:280px;width:100%;height:auto;margin-top:var(--s4);}

.characteristics{border-top:1px solid var(--hairline);margin-top:var(--s6);}
.crow{display:flex;gap:var(--s4);padding:var(--s5) 0;border-bottom:1px solid var(--hairline);}
.crow .dm{width:10px;height:10px;background:var(--mint-ink);transform:rotate(45deg);flex-shrink:0;margin-top:8px;}
.crow p{margin:0;font-size:1rem;}

/* ---------- accordion (real FAQs) ---------- */
.acc{border-top:1px solid var(--hairline);margin-top:var(--s6);}
.deep .acc{border-color:var(--hairline-deep);}
.acc-i{border-bottom:1px solid var(--hairline);}
.deep .acc-i{border-color:var(--hairline-deep);}
.acc-h{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--s5);
  padding:var(--s5) 0;text-align:left;font-family:var(--display);font-weight:700;font-size:1.04rem;}
.acc-h .dm{width:11px;height:11px;border:2px solid var(--mint-ink);transform:rotate(45deg);
  flex-shrink:0;transition:transform .3s var(--ease),background .3s var(--ease);}
.deep .acc-h .dm{border-color:var(--mint);}
.acc-i.open .acc-h .dm{background:var(--mint-ink);transform:rotate(225deg);}
.deep .acc-i.open .acc-h .dm{background:var(--mint);}
.acc-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s var(--ease);}
.acc-i.open .acc-b{grid-template-rows:1fr;}
.acc-b>div{overflow:hidden;}
.acc-b p{padding-bottom:var(--s5);margin:0;color:var(--ink-muted);font-size:.97rem;}
.deep .acc-b p{color:var(--on-deep-muted);}
.acc-b p a{color:var(--mint-ink);text-decoration:underline;}
.deep .acc-b p a{color:var(--mint);}

/* ---------- who-we-are: vision/mission/values ---------- */
.pillars{border-top:1px solid var(--hairline);margin-top:var(--s7);}
.pillar{padding:var(--s7) 0;border-bottom:1px solid var(--hairline);}
.pillar .eyebrow{margin-bottom:var(--s4);}
.pillar p{margin:0;font-size:1.05rem;color:var(--ink-muted);max-width:62ch;}
.pillar .values{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s2);}
.vtag{font-family:var(--data);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--hairline);padding:8px 13px;color:var(--ink-muted);}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);margin-top:var(--s7);}
@media(min-width:640px){ .team{grid-template-columns:repeat(2,1fr);} }
@media(min-width:1000px){ .team{grid-template-columns:repeat(3,1fr);gap:var(--s8) var(--s6);} .mem:nth-child(3n+2){--stagger:var(--s6);} }
.mem{--stagger:0px;transition:transform .35s var(--ease);}.mem img{aspect-ratio:1/1;object-fit:cover;object-position:50% 14%;width:100%;background:var(--ground-sunk);clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%);}
.mem h4{font-size:1.14rem;margin:var(--s4) 0 2px;}
.mem .role{font-family:var(--data);font-size:.53rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mint-ink);}
.mem p{font-size:.9rem;color:var(--ink-muted);margin-top:var(--s3);line-height:1.55;}

/* ---------- partners ---------- */
.pgroup{border-top:1px solid var(--hairline);margin-top:var(--s7);}
.deep .pgroup{border-color:var(--hairline-deep);}
.prow{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);padding:var(--s7) 0;border-bottom:1px solid var(--hairline);align-items:start;}
.deep .prow{border-color:var(--hairline-deep);}
@media(min-width:780px){ .prow{grid-template-columns:200px 1fr auto;gap:var(--s6);align-items:center;} }
.prow img{max-width:170px;width:100%;height:auto;}
.deep .prow img{filter:none;}
.prow:not(.deep-row) img{filter:invert(1) brightness(0.2);}
.prow p{margin:0;color:var(--ink-muted);font-size:.95rem;}
.deep .prow p{color:var(--on-deep-muted);}

/* flex, not grid — grid's repeat(4,1fr) reserves a phantom 4th-column
   track even when the last row has only 3 items, exposing the seam
   background as a stray empty box. Flex only ever sizes to real items. */
.orgs{display:flex;flex-wrap:wrap;gap:1px;background:var(--hairline-deep);margin-top:var(--s7);}
.org{flex:1 1 100%;}
@media(min-width:520px){ .org{flex:1 1 calc(50% - 1px);} }
@media(min-width:860px){ .org{flex:1 1 calc(25% - 1px);} }
.org{background:var(--deep);padding:var(--s6) var(--s5);display:flex;align-items:center;
  justify-content:center;min-height:100px;transition:background .25s var(--ease);}
.org:hover{background:var(--deep-lift);}
.org img{max-height:32px;width:auto;max-width:100%;opacity:.72;transition:opacity .25s var(--ease);}
.org:hover img{opacity:1;}

/* ---------- articles ---------- */
.arts{border-top:1px solid var(--hairline);margin-top:var(--s7);}
.art{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s2);padding:var(--s5) 0;border-bottom:1px solid var(--hairline);
  align-items:baseline;transition:padding-left .25s var(--ease);}
@media(min-width:780px){ .art{grid-template-columns:1fr 56px;gap:var(--s6);} }
.art:hover{padding-left:var(--s4);}
.art h4{font-size:1.06rem;font-weight:700;letter-spacing:-.012em;}
.art .no{font-family:var(--data);font-size:.64rem;color:var(--hairline);text-align:right;}
.loadmore{display:block;margin:var(--s7) auto 0;}

.reports{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);margin-top:var(--s8);}
@media(min-width:700px){ .reports{grid-template-columns:repeat(3,1fr);} }
.report{border:1px solid var(--hairline);padding:var(--s5);}
.report img{width:100%;height:auto;margin-bottom:var(--s4);}
.report h5{font-family:var(--display);font-weight:700;font-size:.95rem;margin-bottom:var(--s3);}
.report a{font-family:var(--data);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mint-ink);display:inline-flex;align-items:center;min-height:44px;padding:8px 0;}

/* ---------- stories ---------- */
.stories{border-top:1px solid var(--hairline);margin-top:var(--s7);}
.story{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s2);padding:var(--s6) 0;border-bottom:1px solid var(--hairline);}
@media(min-width:780px){ .story{grid-template-columns:110px 1fr;gap:var(--s6);align-items:baseline;} }
.story .kind{font-family:var(--data);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--mint-ink);}
.story h4{font-size:1.14rem;}

/* ---------- contact ---------- */
.ctopics{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:var(--s7);}
@media(min-width:700px){ .ctopics{grid-template-columns:1fr 1fr;} }
.ctopic{background:var(--ground);padding:var(--s6);transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);}
.ctopic:hover{background:var(--deep);color:var(--on-deep);transform:translateY(-3px);}
.ctopic h4{font-size:1.1rem;margin-bottom:var(--s3);}
.ctopic p{margin:0;font-size:.92rem;color:var(--ink-muted);}
.ctopic:hover p{color:var(--on-deep-muted);}

/* ---------- footer ---------- */
footer{background:var(--deep-sink);color:var(--on-deep-muted);padding:var(--s10) 0 var(--s6);position:relative;overflow:hidden;}
/* minmax(0,1fr) — without an explicit basis, a grid track sizes to its
   content's min-content width, which let this column overflow its
   container on narrow screens (the newsletter row was the culprit). */
.fgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s7);}
@media(min-width:820px){ .fgrid{grid-template-columns:1.5fr 1fr 1fr;gap:var(--s8);} }
footer h5{font-family:var(--data);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mint);margin:0 0 var(--s4);}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:var(--s3);font-size:.9rem;}
footer li a:hover{color:var(--mint);}
.sub{display:flex;margin-top:var(--s4);max-width:390px;}
.sub input{flex:1;min-width:0;background:transparent;border:1px solid var(--hairline-deep);border-right:0;
  padding:var(--s3) var(--s4);color:var(--on-deep);font-family:var(--body);font-size:.9rem;}
.sub input::placeholder{color:var(--on-deep-muted);}
.sub input:focus{outline:0;border-color:var(--mint);}
.sub button{background:var(--mint);color:var(--deep);font-family:var(--display);font-weight:700;
  font-size:.82rem;padding:0 var(--s5);white-space:nowrap;}
.fbot{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--hairline-deep);
  display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:space-between;
  font-family:var(--data);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;}

/* ---------- views + motion ---------- */
.view{display:none;}
.view.on{display:block;}
.rv{opacity:0;transform:translateY(16px);filter:blur(4px);}
.rv.in{opacity:1;transform:none;filter:none;
  transition:opacity .58s var(--ease),transform .58s var(--ease),filter .58s var(--ease);}
.team .mem.rv.in{transform:translateY(var(--stagger));}
:focus-visible{outline:2px solid var(--mint-ink);outline-offset:3px;}
.deep :focus-visible,footer :focus-visible,.siteheader :focus-visible,.cta :focus-visible{outline-color:var(--mint);}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1;transform:none;filter:none;}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}


/* ---------- R4 art-direction system ---------- */
.kinetic{position:relative;overflow:clip;}
.kinetic::before{content:"";position:absolute;width:360px;height:360px;right:-220px;top:12%;background:var(--deep);opacity:.035;transform:rotate(45deg) translate3d(0,var(--kinetic-shift,0),0);pointer-events:none;}
.home-intro::before{width:520px;height:520px;right:-300px;top:22%;}
.home-quotes::before{left:-260px;right:auto;top:8%;background:var(--mint-ink);opacity:.045;}

.home-intro .split2{align-items:center;}
.home-intro .frame{width:100%;min-height:0;}
@media(min-width:900px){
  .home-coaching .split2>div:first-child{position:sticky;top:112px;align-self:start;}
  .home-benefits .split2>div:first-child{position:sticky;top:112px;align-self:start;}
}
.home-coaching .online{max-width:560px;}
.home-coaching .tstep{transition:opacity .28s var(--ease),transform .28s var(--ease);}
.home-benefits .brow{transition:transform .28s var(--ease),opacity .28s var(--ease);}
@media(min-width:900px){
  .home-coaching .tstep:not(.active){opacity:.5;}
  .home-coaching .tstep.active{opacity:1;transform:translateX(8px);}
  .home-coaching .tstep.active .n{color:var(--deep);}
}
@media(hover:hover) and (pointer:fine){
  .home-benefits .brow:hover{transform:translateX(8px);}
  .team .mem.rv.in:hover{transform:translateY(calc(var(--stagger) - 6px));}
}

.page-hero{position:relative;overflow:hidden;min-height:clamp(390px,52vh,620px);display:flex;align-items:center;}
.page-hero::before{content:"";position:absolute;width:min(52vw,760px);aspect-ratio:1;right:-18vw;bottom:-32vw;background:var(--deep-lift);opacity:.42;transform:rotate(45deg);}
.page-hero::after{content:"";position:absolute;width:18px;height:18px;background:var(--mint);right:9vw;top:22%;transform:rotate(45deg);opacity:.85;}
.page-hero>.wrap{position:relative;z-index:2;width:100%;}
.page-hero .h-xl{max-width:12ch;}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s8);align-items:center;}
.page-hero-media{position:relative;width:100%;aspect-ratio:16/11;overflow:hidden;clip-path:polygon(14% 0,100% 0,100% 86%,86% 100%,0 100%,0 14%);transform:translate3d(0,var(--parallax-y,0),0);}
.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);}
.page-hero-media::before{content:"";position:absolute;inset:0;background:var(--deep);opacity:.22;z-index:2;pointer-events:none;}
@media(min-width:900px){
  .page-hero--media{min-height:640px;}
  .page-hero-grid{grid-template-columns:minmax(0,.84fr) minmax(520px,1.16fr);gap:clamp(52px,7vw,112px);}
  .page-hero-media{width:min(100%,456px);aspect-ratio:4/5;justify-self:end;}
}

.strategy-stage{align-items:start;}
.strategy-funnel{position:relative;}
.funnel-shell{position:relative;background:var(--ground-sunk);padding:clamp(20px,3vw,42px);min-height:520px;display:grid;place-items:center;}
.funnel-shell img{width:100%;max-height:620px;object-fit:contain;}
.funnel-marker{position:absolute;left:50%;top:15%;width:16px;height:16px;background:var(--mint);transform:translate(-50%,-50%) rotate(45deg);transition:top .55s var(--ease),transform .55s var(--ease);box-shadow:0 0 0 8px color-mix(in oklab,var(--mint) 12%,transparent);}
.strategy-stage .crow{transition:opacity .28s var(--ease),transform .28s var(--ease);}
@media(min-width:900px){
  .strategy-stage .crow{opacity:.52;}
  .strategy-stage .crow.active{opacity:1;transform:translateX(8px);}
}
@media(min-width:900px){.strategy-funnel{position:sticky;top:112px;}}
@media(max-width:899px){.funnel-shell{min-height:0;}}

.page-wipe{position:fixed;inset:0;z-index:120;pointer-events:none;background:var(--deep);clip-path:polygon(0 0,100% 0,100% 100%,14% 100%,0 86%);transform:translate3d(-105%,0,0);}
.page-wipe::before,.page-wipe::after{content:"";position:absolute;width:28vw;height:28vw;min-width:280px;min-height:280px;transform:rotate(45deg);}
.page-wipe::before{background:var(--deep-lift);right:15vw;top:-14vw;}
.page-wipe::after{background:var(--deep-lift);left:-18vw;bottom:-20vw;opacity:.9;}
.wipe-mark{position:absolute;left:50%;top:50%;width:24px;height:24px;background:var(--mint);transform:translate(-50%,-50%) rotate(45deg);z-index:2;}
.page-wipe.enter{animation:wipeIn .34s var(--ease) forwards;}
.page-wipe.exit{animation:wipeOut .42s var(--ease) forwards;}
@keyframes wipeIn{to{transform:translate3d(0,0,0);}}
@keyframes wipeOut{from{transform:translate3d(0,0,0)}to{transform:translate3d(105%,0,0);}}

.contact-visual{position:relative;min-height:340px;}
.contact-visual::before{content:"";position:absolute;inset:12% 8% 10% 0;border:1px solid var(--hairline-deep);clip-path:polygon(10% 0,100% 0,100% 84%,84% 100%,0 100%,0 10%);}
.contact-chat{position:absolute;height:52px;background:var(--ground);opacity:.92;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));}
.contact-chat.c1{width:58%;left:4%;top:18%;}.contact-chat.c2{width:46%;right:1%;top:43%;}.contact-chat.c3{width:68%;left:12%;bottom:16%;}
.contact-chat::before{content:"";position:absolute;left:18px;right:22%;top:20px;height:4px;background:var(--deep);opacity:.18;}
.contact-chat::after{content:"";position:absolute;left:18px;width:30%;top:30px;height:4px;background:var(--deep);opacity:.1;}
.contact-diamond{position:absolute;right:9%;top:18%;width:20px;height:20px;background:var(--mint);transform:rotate(45deg);}

.footer-geometry{position:absolute;inset:0;pointer-events:none;opacity:.18;}
.footer-geometry span{position:absolute;bottom:-120px;width:420px;height:280px;background:var(--deep-lift);clip-path:polygon(0 0,50% 100%,100% 0,80% 0,50% 60%,20% 0);}
.footer-geometry span:first-child{left:-120px}.footer-geometry span:nth-child(2){left:120px}.footer-geometry i{position:absolute;right:8%;top:18%;width:18px;height:18px;background:var(--mint);transform:rotate(45deg);}
footer>.wrap{position:relative;z-index:2;}

.map-frame{max-width:1100px;margin-left:auto;margin-right:auto;}

@media(max-width:899px){
  .page-hero{min-height:auto;}
  .page-hero-media{min-height:0;aspect-ratio:16/11;}
  [data-parallax]{transform:none!important;}
  .contact-visual{min-height:300px;}
}
@media(max-width:560px){
  .page-hero-media{min-height:0;}
  .contact-visual{min-height:240px;}
  .page-wipe::before,.page-wipe::after{width:58vw;height:58vw;}
}


@media(max-width:560px){
  .wrap,.hdr{padding-left:var(--s5);padding-right:var(--s5);}
  .mobnav-top{padding-left:var(--s5);padding-right:var(--s5);}
  .mobnav-sub{padding-left:var(--s7);padding-right:var(--s5);}
  .mobnav-cta{margin-left:var(--s5);margin-right:var(--s5);}
  .btn{max-width:100%;line-height:1.25;}
}
@media(max-width:420px){
  .sub{flex-direction:column;}
  .sub input{border-right:1px solid var(--hairline-deep);}
  .sub button{padding:var(--s3) var(--s5);}
}

@media(prefers-reduced-motion:reduce){
  .chat-bubble,.signal-diamond{animation:none!important;}
  .page-wipe{display:none;}
  [data-parallax]{transform:none!important;}
  .home-coaching .tstep:not(.active){opacity:1;}
}


/* ---------- orchestrated entrances ---------- */
.view.on .page-hero .h-xl{animation:pageTitleIn .72s var(--ease) both;}
.view.on .page-hero .lede{animation:pageCopyIn .72s var(--ease) .08s both;}
.view.on .page-hero .page-hero-media{animation:pageMediaIn .82s var(--ease) .05s both;}
.view.on .hero-copy h1{animation:pageTitleIn .8s var(--ease) both;}
.view.on .hero-copy .lede{animation:pageCopyIn .78s var(--ease) .09s both;}
.view.on .hero-copy .acts{animation:pageCopyIn .78s var(--ease) .16s both;}
@keyframes pageTitleIn{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes pageCopyIn{from{opacity:0;transform:translateY(10px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes pageMediaIn{from{opacity:0;transform:translate3d(24px,var(--parallax-y,0),0)}to{opacity:1;transform:translate3d(0,var(--parallax-y,0),0)}}

@media(prefers-reduced-motion:reduce){
  .view.on .page-hero .h-xl,.view.on .page-hero .lede,.view.on .page-hero .page-hero-media,
  .view.on .hero-copy h1,.view.on .hero-copy .lede,.view.on .hero-copy .acts{animation:none!important;}
}
