/* ===== Coachiatry — Brand stylesheet v2 (editorial / secondary palette) ===== */
:root{
  /* primary */
  --foundation:#0F1634;
  --momentum:#F78A1F;
  --clarity:#CBECFF;
  --calm:#FFFAE8;
  /* secondary (page 2 of brand kit) */
  --encouragement:#FF8F60;
  --growth:#98CB5F;
  --insight:#332C83;
  --optimism:#F9BD47;
  --connection:#2498AE;
  --creativity:#9B2E7E;
  /* neutrals */
  --ink:#0F1634;
  --ink-70:#3a4060;
  --ink-50:#6b7090;
  --paper:#FFFFFF;
  --line:#e6e8f0;
  --maxw:1200px;
  --font-display:"DM Sans",system-ui,-apple-system,sans-serif;
  --font-serif:"IBM Plex Serif",Georgia,serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-display);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-0.025em;line-height:1.06;color:var(--foundation)}
h1{font-size:clamp(2.5rem,6vw,5rem)}
h2{font-size:clamp(2rem,4vw,3.3rem)}
h3{font-size:clamp(1.25rem,2vw,1.7rem)}
.serif{font-family:var(--font-serif)}
.italic{font-style:italic}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--momentum);margin-bottom:1.1rem;display:inline-flex;align-items:center;gap:.7em}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;display:inline-block}
.lede{font-family:var(--font-serif);font-size:clamp(1.05rem,1.5vw,1.32rem);color:var(--ink-70);line-height:1.65}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
section{padding:clamp(64px,9vw,128px) 0;position:relative}
.section-tight{padding:clamp(48px,6vw,84px) 0}
.center{text-align:center;max-width:760px;margin:0 auto}

/* bg helpers */
.bg-calm{background:var(--calm)}
.bg-clarity{background:var(--clarity)}
.bg-navy{background:var(--foundation);color:#fff}
.bg-navy h2,.bg-navy h3,.bg-navy h4{color:#fff}
.bg-navy .lede{color:rgba(255,255,255,.8)}
.bg-insight{background:var(--insight);color:#fff}
.bg-insight h2,.bg-insight h3{color:#fff}
.bg-insight .lede{color:rgba(255,255,255,.82)}

/* ---------- Arc motif (from logo) ---------- */
.arc-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.arc-bg svg{position:absolute}
.wrap{position:relative;z-index:1}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:700;font-size:.96rem;letter-spacing:-0.01em;padding:.92em 1.7em;border-radius:100px;border:2px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn .arr{transition:transform .2s ease}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--momentum);color:#fff;box-shadow:0 8px 22px -10px rgba(247,138,31,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(247,138,31,.75)}
.btn-secondary{background:transparent;color:var(--foundation);border-color:var(--foundation)}
.btn-secondary:hover{background:var(--foundation);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--foundation);padding-left:0;padding-right:0}
.btn-light{background:#fff;color:var(--foundation)}
.btn-light:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(0,0,0,.4)}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:11px;font-weight:700}
.brand-logo{height:34px;width:auto;display:block}
.brand .mark{width:40px;height:40px;flex:0 0 40px}
.brand .name{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:1.05rem;color:var(--foundation)}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links>a,.navitem>.dd-trigger{font-size:.92rem;font-weight:500;color:var(--ink-70);transition:color .15s;position:relative;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.nav-links>a:hover,.navitem>.dd-trigger:hover,.nav-links>a.active,.navitem>.dd-trigger.active{color:var(--momentum)}
.nav-links>a.active::after,.navitem>.dd-trigger.active::after{content:"";position:absolute;bottom:-6px;left:0;right:0;height:2px;background:var(--momentum);border-radius:2px}
.caret{font-size:.6rem;transition:transform .2s;opacity:.7}
/* dropdown */
.navitem{position:relative}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:210px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -18px rgba(15,22,52,.35);padding:8px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;z-index:70}
.navitem:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.navitem:hover .caret{transform:rotate(180deg)}
.dropdown::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.dropdown a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:9px;font-size:.9rem;font-weight:500;color:var(--ink-70);white-space:nowrap;transition:background .14s,color .14s}
.dropdown a:hover{background:var(--calm);color:var(--foundation)}
.soon{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--ink-50);padding:2px 7px;border-radius:100px}
.dropdown a[aria-disabled="true"]{color:var(--ink-50);cursor:default}
.dropdown a[aria-disabled="true"]:hover{background:transparent;color:var(--ink-50)}
.nav-cta{display:flex;align-items:center;gap:14px}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.menu-toggle span{width:24px;height:2px;background:var(--foundation);transition:.2s}

/* ---------- IMAGE FRAMES (where photos/graphics go) ---------- */
.imgframe{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#eef1fb,#dde6f7);min-height:280px;display:grid;place-items:center;border:1px solid var(--line)}
.imgframe[data-tone="coral"]{background:linear-gradient(135deg,#ffe4d6,#ffd0bb)}
.imgframe[data-tone="growth"]{background:linear-gradient(135deg,#e6f3d6,#d3ebb8)}
.imgframe[data-tone="insight"]{background:linear-gradient(135deg,#ded9f5,#c9c1ee)}
.imgframe[data-tone="optimism"]{background:linear-gradient(135deg,#fdefc9,#fbe3a3)}
.imgframe[data-tone="connection"]{background:linear-gradient(135deg,#cdeaf0,#aaddE6)}
.imgframe[data-tone="creativity"]{background:linear-gradient(135deg,#eccfe2,#dfb0d0)}
.imgframe[data-tone="navy"]{background:linear-gradient(135deg,#1a2350,#0c1230)}
.imgframe .ph{text-align:center;padding:30px;color:var(--ink-50)}
.imgframe[data-tone="navy"] .ph{color:rgba(255,255,255,.65)}
.imgframe .ph svg{margin:0 auto 12px;opacity:.55}
.imgframe .ph .lbl{font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.imgframe .ph .cap{font-family:var(--font-serif);font-style:italic;font-size:.92rem;max-width:240px;margin:0 auto;line-height:1.4}
.imgframe.tall{min-height:440px}
.imgframe.wide{min-height:340px}
/* decorative arc inside frames */
.imgframe::after{content:"";position:absolute;width:160px;height:160px;border:2px solid rgba(255,255,255,.5);border-radius:50%;bottom:-60px;right:-50px}

/* ---------- HERO (asymmetric editorial) ---------- */
.hero{background:var(--foundation);color:#fff;position:relative;overflow:hidden;padding:clamp(80px,11vw,140px) 0 clamp(70px,9vw,120px)}
.hero h1{color:#fff}
.hero .lede{color:rgba(255,255,255,.82)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.hero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.5)}
.hero .btn-secondary:hover{background:#fff;color:var(--foundation);border-color:#fff}
.hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(247,138,31,.25),transparent 65%);top:-200px;right:-100px;pointer-events:none}
.hero::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(36,152,174,.22),transparent 65%);bottom:-220px;left:-160px;pointer-events:none}

/* big orbital hero visual built from arcs */
.hero-visual{position:relative;aspect-ratio:1;display:grid;place-items:center}
.hero-visual .ring{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.12)}
.hero-visual .r1{inset:0}
.hero-visual .r2{inset:14%}
.hero-visual .r3{inset:30%}
.hero-visual .orb{position:absolute;width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 8px rgba(247,138,31,.14)}
.hero-photo{position:absolute;inset:30%;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#1a2350,#0c1230);display:grid;place-items:center;border:2px solid rgba(255,255,255,.14)}
.hero-photo .ph{text-align:center;color:rgba(255,255,255,.6);padding:18px}
.hero-photo .ph .lbl{font-weight:700;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.hero-photo .ph .cap{font-family:var(--font-serif);font-style:italic;font-size:.82rem;margin-top:4px}

/* Stuck->Started->Done track */
.track{display:flex;align-items:flex-start;width:100%;margin-top:48px}
.track .stage{flex:1;position:relative;text-align:center}
.track .dot{width:20px;height:20px;border-radius:50%;margin:0 auto 16px;position:relative;z-index:2;border:2px solid}
.track .s1 .dot{background:var(--creativity);border-color:var(--creativity)}
.track .s2 .dot{background:var(--momentum);border-color:var(--momentum)}
.track .s3 .dot{background:var(--growth);border-color:var(--growth);box-shadow:0 0 0 6px rgba(152,203,95,.2)}
.track .bar{position:absolute;top:9px;left:50%;width:100%;height:3px;z-index:1}
.track .s1 .bar{background:linear-gradient(90deg,var(--creativity),var(--momentum))}
.track .s2 .bar{background:linear-gradient(90deg,var(--momentum),var(--growth))}
.track .stage:last-child .bar{display:none}
.track .lab{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.track .sub{font-family:var(--font-serif);font-style:italic;font-size:.86rem;color:rgba(255,255,255,.55);margin-top:5px}

/* ---------- Editorial split (asymmetric, alternating) ---------- */
.editorial{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}
.editorial.wide-left{grid-template-columns:1.2fr .8fr}
.editorial.wide-right{grid-template-columns:.8fr 1.2fr}
.editorial.flip>.col-text{order:2}

/* ---------- Feature cards w/ color spines ---------- */
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.cols-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:46px}
.feature{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 30px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s;position:relative;overflow:hidden}
.feature::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent,var(--momentum))}
.feature:hover{transform:translateY(-5px);box-shadow:0 24px 44px -28px rgba(15,22,52,.4);border-color:transparent}
.feature .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;background:var(--accent-soft,rgba(247,138,31,.14))}
.feature h3{margin-bottom:8px;font-size:1.3rem}
.feature p{color:var(--ink-70);font-size:.98rem}
.feature .step-n{font-family:var(--font-serif);font-style:italic;font-size:1rem;color:var(--accent,var(--momentum));font-weight:600;display:block;margin-bottom:6px}

/* accent presets */
.ac-coral{--accent:var(--encouragement);--accent-soft:rgba(255,143,96,.16)}
.ac-growth{--accent:var(--growth);--accent-soft:rgba(152,203,95,.2)}
.ac-insight{--accent:var(--insight);--accent-soft:rgba(51,44,131,.12)}
.ac-optimism{--accent:var(--optimism);--accent-soft:rgba(249,189,71,.22)}
.ac-connection{--accent:var(--connection);--accent-soft:rgba(36,152,174,.16)}
.ac-creativity{--accent:var(--creativity);--accent-soft:rgba(155,46,126,.12)}
.ac-momentum{--accent:var(--momentum);--accent-soft:rgba(247,138,31,.16)}

/* ---------- "said" quote cards ---------- */
.said-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:42px}
.said{font-family:var(--font-serif);font-style:italic;font-size:1.08rem;color:var(--foundation);background:#fff;border-left:3px solid var(--accent,var(--momentum));border-radius:0 12px 12px 0;padding:18px 22px;box-shadow:0 10px 24px -20px rgba(15,22,52,.5)}
.said:nth-child(6n+1){border-left-color:var(--encouragement)}
.said:nth-child(6n+2){border-left-color:var(--connection)}
.said:nth-child(6n+3){border-left-color:var(--creativity)}
.said:nth-child(6n+4){border-left-color:var(--optimism)}
.said:nth-child(6n+5){border-left-color:var(--growth)}
.said:nth-child(6n+6){border-left-color:var(--insight)}

/* ---------- process steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.step{position:relative;padding-top:14px}
.step .n{font-family:var(--font-display);font-weight:700;font-size:2.8rem;letter-spacing:-.04em;line-height:1;display:block;margin-bottom:14px}
.step:nth-child(1) .n{color:var(--creativity)}
.step:nth-child(2) .n{color:var(--momentum)}
.step:nth-child(3) .n{color:var(--growth)}
.step h3{font-size:1.35rem;margin-bottom:8px}
.step p{color:var(--ink-70)}

/* ---------- service snapshot ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:48px}
.svc{border:1px solid var(--line);border-radius:18px;padding:30px;background:#fff;display:flex;gap:18px;align-items:flex-start;transition:.2s;border-top:4px solid var(--accent,var(--momentum))}
.svc:hover{transform:translateY(-3px);box-shadow:0 20px 40px -28px rgba(15,22,52,.4)}
.svc .tag{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent,var(--momentum))}
.svc h3{font-size:1.18rem;margin:4px 0 6px}
.svc p{color:var(--ink-70);font-size:.95rem}
.svc .num{font-family:var(--font-serif);font-size:1.5rem;flex:0 0 auto;background:var(--accent,var(--foundation));width:50px;height:50px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:600}

/* ---------- proof / testimonial ---------- */
.proof{background:var(--insight);color:#fff;border-radius:32px;padding:clamp(40px,6vw,76px);position:relative;overflow:hidden}
.proof h2{color:#fff}
.proof blockquote{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1.38;max-width:820px;color:#fff;position:relative;z-index:1}
.proof .who{margin-top:28px;font-weight:600;letter-spacing:.04em;color:var(--optimism)}
.proof .bigquote{position:absolute;top:-30px;left:30px;font-family:var(--font-serif);font-size:18rem;line-height:1;color:rgba(255,255,255,.06);z-index:0}

/* ---------- CTA band ---------- */
.cta-band{background:var(--momentum);color:#fff;text-align:center;border-radius:36px;padding:clamp(48px,7vw,92px) 28px;position:relative;overflow:hidden}
.cta-band h2{color:#fff;max-width:700px;margin:0 auto;position:relative;z-index:1}
.cta-band p{font-family:var(--font-serif);font-style:italic;font-size:1.18rem;margin:16px auto 32px;max-width:560px;color:rgba(255,255,255,.94);position:relative;z-index:1}
.cta-band .btn{position:relative;z-index:1}
.cta-band::before{content:"";position:absolute;width:340px;height:340px;border:2px solid rgba(255,255,255,.18);border-radius:50%;top:-140px;left:-80px}
.cta-band::after{content:"";position:absolute;width:260px;height:260px;border:2px solid rgba(255,255,255,.14);border-radius:50%;bottom:-120px;right:-60px}
.cta-insight{background:var(--insight)}
.cta-connection{background:var(--connection)}

/* ---------- audience cards (big, photo-ready) ---------- */
.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.aud{border-radius:24px;overflow:hidden;color:#fff;position:relative;display:flex;flex-direction:column;min-height:380px;transition:transform .2s;text-align:left}
.aud:hover{transform:translateY(-6px)}
.aud .aud-photo{height:170px;position:relative;display:grid;place-items:center;overflow:hidden}
.aud .aud-photo .ph{text-align:center;color:rgba(255,255,255,.8);padding:14px}
.aud .aud-photo .ph .lbl{font-weight:700;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.aud .aud-photo .ph .cap{font-family:var(--font-serif);font-style:italic;font-size:.82rem;margin-top:3px}
.aud .aud-body{padding:28px 28px 30px;flex:1;display:flex;flex-direction:column}
.aud h3{color:#fff;font-size:1.5rem;margin-bottom:8px}
.aud p{color:rgba(255,255,255,.86);flex:1;font-size:.97rem}
.aud .more{margin-top:18px;font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:8px}
.aud-students{background:var(--connection)}
.aud-students .aud-photo{background:linear-gradient(135deg,#2db2cb,#1c7385)}
.aud-pros{background:var(--insight)}
.aud-pros .aud-photo{background:linear-gradient(135deg,#4035a3,#221d5e)}
.aud-clin{background:var(--foundation)}
.aud-clin .aud-photo{background:linear-gradient(135deg,#1a2350,#070b1d)}
.aud .aud-photo::after{content:"";position:absolute;width:130px;height:130px;border:2px solid rgba(255,255,255,.25);border-radius:50%;bottom:-50px;right:-40px}

/* ---------- checklist ---------- */
.checklist{list-style:none;display:grid;gap:14px;margin-top:8px}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-family:var(--font-serif);font-size:1.05rem;color:var(--ink-70)}
.checklist li::before{content:"✓";color:var(--growth);font-weight:700;font-family:var(--font-display);flex:0 0 auto;margin-top:2px}

/* ---------- pills ---------- */
.pillrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;justify-content:center}
.pill{background:#fff;border:1px solid var(--line);border-radius:100px;padding:10px 20px;font-size:.92rem;font-weight:500;color:var(--ink-70);transition:.18s}
.pill:hover{border-color:var(--momentum);color:var(--foundation);transform:translateY(-2px)}
.pill:nth-child(6n+1){border-bottom:3px solid var(--encouragement)}
.pill:nth-child(6n+2){border-bottom:3px solid var(--connection)}
.pill:nth-child(6n+3){border-bottom:3px solid var(--creativity)}
.pill:nth-child(6n+4){border-bottom:3px solid var(--optimism)}
.pill:nth-child(6n+5){border-bottom:3px solid var(--growth)}
.pill:nth-child(6n+6){border-bottom:3px solid var(--insight)}
.bg-navy .pill{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.85)}

/* ---------- are/are not ---------- */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.dual .box{border-radius:20px;padding:32px}
.dual .are{background:rgba(152,203,95,.12);border:1px solid rgba(152,203,95,.4)}
.dual .arenot{background:rgba(155,46,126,.07);border:1px solid rgba(155,46,126,.25)}
.dual h3{margin-bottom:18px;font-size:1.2rem}
.dual ul{list-style:none;display:grid;gap:11px}
.dual li{font-family:var(--font-serif);font-size:1.02rem;display:flex;gap:10px}
.dual .are li::before{content:"✓";color:var(--growth);font-weight:700;font-family:var(--font-display)}
.dual .arenot li::before{content:"✕";color:var(--creativity);font-weight:700;font-family:var(--font-display)}

/* ---------- values (color dots) ---------- */
.values{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:48px}
.value{padding-left:22px;position:relative}
.value::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:50%}
.value:nth-child(1)::before{background:var(--growth)}
.value:nth-child(2)::before{background:var(--encouragement)}
.value:nth-child(3)::before{background:var(--connection)}
.value:nth-child(4)::before{background:var(--momentum)}
.value h3{font-size:1.25rem;margin-bottom:6px}
.value p{color:var(--ink-70);font-family:var(--font-serif)}

/* ---------- team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .2s,box-shadow .2s;text-align:center;display:block}
.tcard:hover{transform:translateY(-5px);box-shadow:0 24px 44px -28px rgba(15,22,52,.4)}
.tcard .tphoto{height:200px;display:grid;place-items:center;position:relative;overflow:hidden}
.tcard .tphoto img.headshot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.tcard .tphoto .ph{color:rgba(255,255,255,.85);text-align:center;z-index:1}
.tcard .tphoto .ph .mono{font-size:2.4rem;font-weight:700}
.tcard .tphoto .ph .lbl{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;margin-top:6px;font-weight:700;opacity:.8}
.tcard .tphoto::after{content:"";position:absolute;width:150px;height:150px;border:2px solid rgba(255,255,255,.22);border-radius:50%;bottom:-60px;left:-40px}
.tcard .tbody{padding:24px 24px 28px}
.tcard h3{font-size:1.25rem}
.tcard .role{color:var(--accent,var(--momentum));font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin:5px 0 10px}
.tcard p{font-family:var(--font-serif);font-style:italic;color:var(--ink-70);font-size:.96rem}
.tcard .tlink{display:inline-block;margin-top:14px;font-family:var(--font-display);font-weight:700;font-size:.86rem;color:var(--accent,var(--momentum));font-style:normal}

/* ---------- team profile page ---------- */
.profile-hero{background:var(--foundation);color:#fff;position:relative;overflow:hidden;padding:clamp(64px,8vw,104px) 0}
.profile-hero::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,var(--pf-glow,rgba(247,138,31,.22)),transparent 65%);top:-160px;right:-80px;pointer-events:none}
.profile-grid{display:grid;grid-template-columns:320px 1fr;gap:clamp(36px,5vw,64px);align-items:center}
.profile-photo{aspect-ratio:1;border-radius:24px;display:grid;place-items:center;position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.14)}
.profile-photo img.headshot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.profile-photo .ph{text-align:center;color:rgba(255,255,255,.85);z-index:1}
.profile-photo .ph .mono{font-size:4rem;font-weight:700;font-family:var(--font-display)}
.profile-photo .ph .lbl{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin-top:8px;font-weight:700;opacity:.8}
.profile-photo::after{content:"";position:absolute;width:200px;height:200px;border:2px solid rgba(255,255,255,.22);border-radius:50%;bottom:-70px;left:-50px}
.profile-hero h1{color:#fff;font-size:clamp(2.2rem,4.4vw,3.4rem)}
.profile-hero .role-tag{display:inline-block;font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;padding:7px 16px;border-radius:100px;color:#fff;margin-bottom:18px}
.profile-hero .ptag{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.15rem,2vw,1.5rem);color:rgba(255,255,255,.9);margin-top:14px;line-height:1.45}
.profile-back{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.6);font-size:.88rem;font-weight:500;margin-bottom:24px;transition:color .15s}
.profile-back:hover{color:#fff}
.quickfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.qf{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px;border-top:4px solid var(--accent,var(--momentum))}
.qf .qlabel{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent,var(--momentum));margin-bottom:8px}
.qf .qval{font-family:var(--font-serif);font-size:1.05rem;color:var(--foundation);line-height:1.4}
.profile-body{max-width:760px}
.profile-body p{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink-70);line-height:1.7;margin-bottom:18px}
.bio-more[hidden]{display:none}
.bio-toggle{display:inline-flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--momentum);padding:4px 0;transition:gap .2s ease}
.bio-toggle:hover{gap:11px}
.bio-toggle .arr{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(247,138,31,.14);font-size:1rem;line-height:1}

/* ---------- pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.price-card{border:1px solid var(--line);border-radius:24px;padding:34px 28px;background:#fff;display:flex;flex-direction:column;transition:.2s;position:relative;border-top:5px solid var(--accent,var(--momentum))}
.price-card:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(15,22,52,.45)}
.price-card.feat{box-shadow:0 26px 50px -30px rgba(247,138,31,.5)}
.price-card .ribbon{position:absolute;top:-13px;right:28px;background:var(--momentum);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:100px}
.price-card .pname{font-size:1.4rem;font-weight:700}
.price-card .best{font-family:var(--font-serif);font-style:italic;color:var(--ink-70);margin:6px 0 20px}
.price-card .amt{font-size:2.4rem;font-weight:700;color:var(--foundation);letter-spacing:-.03em;margin-bottom:6px}
.price-card .amt small{font-size:1rem;font-weight:500;color:var(--ink-50)}
.price-card .checklist{margin:20px 0 26px;flex:1}
.price-card .btn{justify-content:center}

/* ---------- faq ---------- */
.faq{max-width:800px;margin:44px auto 0}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{font-weight:700;font-size:1.1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--foundation)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--momentum);font-weight:400;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin-top:12px;color:var(--ink-70);font-family:var(--font-serif)}

/* ---------- comparison table ---------- */
.compare{width:100%;border-collapse:collapse;margin-top:48px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(15,22,52,.4)}
.compare th,.compare td{padding:18px 20px;text-align:center;border-bottom:1px solid var(--line)}
.compare th{background:var(--foundation);color:#fff;font-size:.95rem}
.compare td:first-child,.compare th:first-child{text-align:left;font-weight:600}
.compare .yes{color:var(--growth);font-weight:700;font-size:1.15rem}
.compare tr:last-child td{border-bottom:none}

/* ---------- footer ---------- */
footer.site{background:var(--foundation);color:rgba(255,255,255,.7);padding:72px 0 32px;position:relative;overflow:hidden}
footer.site::before{content:"";position:absolute;width:400px;height:400px;border:2px solid rgba(255,255,255,.05);border-radius:50%;top:-160px;right:8%}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;position:relative;z-index:1}
footer.site h4{color:#fff;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
footer.site a{display:block;color:rgba(255,255,255,.65);font-size:.94rem;padding:5px 0;transition:color .15s}
footer.site a:hover{color:var(--momentum)}
.foot-brand .name{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:1.3rem;color:#fff;margin-bottom:12px}
.foot-logo{height:36px;width:auto;display:block;margin-bottom:14px}
.foot-brand p{font-family:var(--font-serif);font-style:italic;color:rgba(255,255,255,.6);max-width:300px}
.foot-dots{display:flex;gap:8px;margin-top:20px}
.foot-dots span{width:14px;height:14px;border-radius:50%}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:52px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:rgba(255,255,255,.45);position:relative;z-index:1}

/* ---------- reveal ---------- */
/* ---------- Meet Coachiatry — headshot collage ---------- */
/* ---------- How It Works — animated video ---------- */
#how{background:#FAFAF7}
.hiw-video{width:100%;height:auto;display:block;border-radius:24px;background:#FAFAF7}
/* ---------- Services — animated loop graphic ---------- */
.loop-graphic{width:100%;max-width:480px;margin:0 auto}
.loop-graphic svg{width:100%;height:auto;display:block;overflow:visible}

.team-collage{position:relative;width:100%;max-width:460px;margin:0 auto;aspect-ratio:1/1.04}
.team-collage .cphoto{position:absolute;margin:0;border-radius:20px;overflow:hidden;border:4px solid #fff;box-shadow:0 18px 36px -16px rgba(15,22,52,.45);background:var(--ring,#fff);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;will-change:transform}
.team-collage .cphoto::after{content:"";position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 0 0 3px var(--ring,transparent);pointer-events:none}
.team-collage .cphoto img{display:block;width:100%;height:100%;object-fit:cover}
.team-collage .cphoto:hover{transform:rotate(0deg) scale(1.06)!important;z-index:20;box-shadow:0 26px 48px -16px rgba(15,22,52,.55)}
/* scattered, tilted placement */
.team-collage .p1{width:42%;left:2%;top:6%;transform:rotate(-6deg);z-index:6}
.team-collage .p2{width:38%;right:4%;top:0;transform:rotate(5deg);z-index:5}
.team-collage .p3{width:36%;left:24%;top:34%;transform:rotate(2deg);z-index:9}
.team-collage .p4{width:40%;right:2%;top:38%;transform:rotate(-4deg);z-index:7}
.team-collage .p5{width:35%;left:1%;bottom:4%;transform:rotate(4deg);z-index:8}
.team-collage .p6{width:37%;right:8%;bottom:2%;transform:rotate(-7deg);z-index:6}
/* brand arc + dot accents behind/around the cluster */
.team-collage .collage-arc{position:absolute;width:78%;height:78%;left:11%;top:11%;border:2px dashed rgba(15,22,52,.14);border-radius:50%;z-index:1}
.team-collage .collage-dot{position:absolute;width:18px;height:18px;border-radius:50%;z-index:2}
.team-collage .collage-dot.d1{background:var(--momentum);right:0;top:30%;box-shadow:0 0 0 6px rgba(247,138,31,.16)}
.team-collage .collage-dot.d2{background:var(--connection);left:6%;top:24%;box-shadow:0 0 0 5px rgba(36,152,174,.16)}
@media(max-width:920px){
  .team-collage{max-width:420px;margin-bottom:20px}
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- page hero ---------- */
.phero{background:var(--foundation);color:#fff;padding:clamp(72px,9vw,124px) 0;position:relative;overflow:hidden}
.phero h1{color:#fff;max-width:820px}
.phero .lede{color:rgba(255,255,255,.82);max-width:660px;margin-top:18px}
.phero .hero-actions{margin-top:30px}
.phero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.45)}
.phero .btn-secondary:hover{background:#fff;color:var(--foundation)}
.phero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(247,138,31,.22),transparent 65%);top:-180px;right:-100px}
.phero.tone-connection::before{background:radial-gradient(circle,rgba(36,152,174,.3),transparent 65%)}
.phero.tone-optimism::before{background:radial-gradient(circle,rgba(249,189,71,.3),transparent 65%)}
.phero.tone-insight::before{background:radial-gradient(circle,rgba(155,46,126,.28),transparent 65%)}
.phero .phero-arc{position:absolute;right:-60px;bottom:-120px;width:380px;height:380px;border:2px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.phero .phero-arc::after{content:"";position:absolute;inset:18%;border:2px solid rgba(255,255,255,.06);border-radius:50%}

@media(max-width:920px){
  .hero-grid,.editorial,.editorial.wide-left,.editorial.wide-right,.cols-3,.cols-2,.audience,.steps,.svc-grid,.price-grid,.values,.dual,.said-list,.team-grid,.foot-grid{grid-template-columns:1fr}
  .editorial.flip>.col-text{order:0}
  .hero-visual{max-width:420px;margin:0 auto}
  .nav-links{display:none}
  .nav-links.open{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;background:#fff;padding:16px 22px 22px;border-bottom:1px solid var(--line);gap:2px;align-items:stretch;box-shadow:0 14px 28px -16px rgba(0,0,0,.3);max-height:calc(100vh - 76px);overflow-y:auto}
  .nav-links.open>a,.nav-links.open .dd-trigger{padding:13px 6px;font-size:1.02rem;border-bottom:1px solid var(--line)}
  .nav-links.open .navitem{display:flex;flex-direction:column}
  .nav-links.open .dropdown{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;border-radius:0;padding:0 0 8px 14px;min-width:0;display:none}
  .nav-links.open .navitem.open .dropdown{display:block}
  .nav-links.open .navitem.open .caret{transform:rotate(180deg)}
  .nav-links.open .dropdown a{padding:11px 8px;border-bottom:1px solid var(--line)}
  .menu-toggle{display:flex}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{justify-content:center}
  .foot-grid{grid-template-columns:1fr}
  .wrap{padding:0 22px}
  .brand-logo{height:28px}
  .nav-cta .btn-primary{display:none}
}
