/* Self-hosted web fonts (SIL OFL 1.1, see assets/fonts/LICENSES.txt); latin + latin-ext subsets, variable weights. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/bricolage-grotesque-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/hanken-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/hanken-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}


/* ============================================================
   EXPERT EASE TRAINING — "Built from the Mark"
   True brand palette sampled from the hexagon logo (COOL scheme):
   white / cool-mist #F4F6FB / cobalt #2633A5 / navy #0C2B59 + coral #F6834F
   ============================================================ */
:root{
  /* --- mark tokens (canonical) --- */
  --ink:#0C2B59;            /* deep wordmark navy — body text on light + darkest bands */
  --blue:#2633A5;           /* logo cobalt — primary brand / feature bands / links / active */
  --blue-deep:#1B2570;      /* cobalt hover / pressed */
  --coral:#F6834F;          /* logo orange — the ONLY accent */
  --coral-deep:#E2693A;     /* coral hover / pressed */
  --ground:#FFFFFF;         /* default page canvas */
  --mist:#F4F6FB;           /* cool alt ground (NOT cream/warm) */
  --line:#E2E7F2;           /* hairline borders/dividers */
  --line-strong:#CBD3E6;
  --muted:#5B6788;          /* secondary text on light */
  --on-dark-soft:#C6CCF0;   /* secondary text on dark (light cobalt) */
  --ink-rgb:12,43,89;
  --blue-rgb:38,51,165;
  --coral-rgb:246,131,79;
  --coral-deep-rgb:226,105,58;

  /* --- compatibility aliases: existing class CSS references these names --- */
  --royal:var(--blue);          /* app "royal" == mark cobalt */
  --royal-bright:#3A40DE;
  --royal-rgb:38,51,165;
  --navy:var(--ink);            /* app "navy" == mark ink navy */
  --navy-900:#06122F;           /* deepest cool navy — dark chrome (hero/cta/footer) only */
  --paper:var(--ground);        /* warm paper -> white */
  --paper-2:var(--mist);        /* warm paper-2 -> cool mist */
  --paper-3:#ECEFF7;
  --paper-rgb:255,255,255;
  --white:#FFFFFF;
  --coral-soft:#FCE7DC;
  --muted-on-dark:var(--on-dark-soft);
  --line-on-dark:rgba(255,255,255,.16);

  /* --- type: display Bricolage, body Hanken, italic accents Instrument Serif --- */
  --display:"Bricolage Grotesque", system-ui, sans-serif;
  --serif:"Bricolage Grotesque", system-ui, sans-serif;
  --sans:"Hanken Grotesk", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --disp:var(--display);
  --text:var(--sans);

  /* --- rhythm --- */
  --maxw:1280px;
  --gutter:clamp(20px, 5vw, 72px);
  --gut:var(--gutter);
  --section-y:clamp(80px, 11vw, 168px);
  --chev:34px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  font-size:clamp(16px,1.05vw,18px);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.has-js.lenis-stopped{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
::selection{background:var(--coral);color:#fff}

h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.02;letter-spacing:-.02em;margin:0}
p{margin:0}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:0}
.italic{font-style:italic}

/* ---------- layout helpers ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y);position:relative}
.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.18em;
  text-transform:uppercase;display:inline-flex;align-items:center;gap:.7em;color:var(--royal);
}
.eyebrow::before{content:"";width:14px;height:16px;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex:none}
.on-dark .eyebrow{color:#fff}
.worlds .eyebrow{color:#fff}   /* .worlds sets colour directly, it does not carry .on-dark */
.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--muted);max-width:60ch;line-height:1.55}
.on-dark .lead{color:var(--muted-on-dark)}

/* fluid display sizes */
.display-xl{font-size:clamp(2.3rem,5.2vw,4.9rem);letter-spacing:-.03em}
.display-l{font-size:clamp(2.3rem,5.5vw,4.6rem)}
.display-m{font-size:clamp(1.8rem,3.6vw,3rem)}

/* hexagon utility */
.hex{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-weight:600;
  font-size:.98rem;padding:1em 1.7em;border-radius:0;border:1.5px solid transparent;
  transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease);
  will-change:transform;
}
.btn svg{width:1.05em;height:1.05em;transition:transform .35s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--coral);color:var(--navy-900);box-shadow:0 14px 30px -12px rgba(var(--coral-deep-rgb),.55)}
.btn-primary:hover{background:var(--coral-deep)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--royal)}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.on-dark .btn-ghost{border-color:var(--line-on-dark);color:#fff}
.on-dark .btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
/* dark page heroes: ghost button must read white, not navy-on-navy */
.page-hero .btn-ghost{border-color:#fff;color:#fff}
.page-hero .btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}

/* ===========================================================
   NAV
   =========================================================== */
#nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);
  border-bottom:1px solid transparent;transition:border-color .4s var(--ease),box-shadow .4s var(--ease)}
#nav.scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px -18px rgba(var(--ink-rgb),.5)}
.nav{display:flex;align-items:center;gap:14px;height:76px}
.brand{flex:none;display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);
  font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
.brand .logo{height:42px;width:auto;display:block}
.brand small{display:block;font-family:var(--sans);font-weight:500;font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--coral-deep);line-height:1}
.menu{display:flex;align-items:center;gap:clamp(12px,1.35vw,22px);margin-left:auto;margin-right:16px;font-size:14px;font-weight:500}
.menu a{white-space:nowrap;text-decoration:none;color:var(--navy);opacity:.82;position:relative;transition:opacity .25s}
.menu a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--coral);transition:width .3s var(--ease)}
.menu a:hover{opacity:1}
.menu a:hover::after{width:100%}
.menu a[aria-current="page"]{opacity:1;color:var(--coral-deep)}
.menu a[aria-current="page"]::after{width:100%}
.nav-cta{flex:none;white-space:nowrap;padding:10px 16px;font-size:13.5px}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;margin-left:auto}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:transform .3s var(--ease),opacity .3s}
#nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#nav.open .nav-toggle span:nth-child(2){opacity:0}
#nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* accessible mobile drawer */
.mobile-menu{position:fixed;inset:0;z-index:99;background:rgba(6,18,47,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease),visibility 0s linear .3s}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.mobile-menu .panel{position:absolute;top:0;right:0;height:100%;width:min(360px,86vw);background:var(--ground);
  box-shadow:-30px 0 60px -30px rgba(var(--ink-rgb),.5);transform:translateX(100%);transition:transform .35s var(--ease);
  display:flex;flex-direction:column;padding:90px 26px 30px;overflow-y:auto}
.mobile-menu.open .panel{transform:none}
.mobile-menu a{font-family:var(--display);font-size:1.12rem;font-weight:600;color:var(--navy);
  padding:15px 2px;border-bottom:1px solid var(--line);text-decoration:none}
.mobile-menu a[aria-current="page"]{color:var(--coral-deep)}
.mobile-menu .btn{margin-top:22px;justify-content:center;border-bottom:0}
html.menu-open{overflow:hidden}
@media(max-width:1240px){
  .menu{display:none}
  .nav-cta{display:none}
  .nav-toggle{display:flex}
}
@media(min-width:1241px){
  .mobile-menu{display:none}
}

/* ===========================================================
   HERO
   =========================================================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;
  padding-top:120px;padding-bottom:60px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(120% 90% at 88% 8%, rgba(var(--royal-rgb),.12), transparent 55%),
    radial-gradient(90% 70% at 6% 96%, rgba(var(--coral-rgb),.12), transparent 55%),
    var(--paper);
}
.honeycomb{position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg width='56' height='100' viewBox='0 0 56 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 0L56 16v34L28 66 0 50V16z' fill='none' stroke='%230C2B59' stroke-opacity='0.05' stroke-width='1.2'/%3E%3Cpath d='M28 66l28 16v34L28 132 0 116V82z' fill='none' stroke='%230C2B59' stroke-opacity='0.05' stroke-width='1.2'/%3E%3C/svg%3E");
  background-size:56px 100px}
.hero .wrap{position:relative;z-index:2;width:100%;
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,70px);align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:.7em;font-weight:600;font-size:.78rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--royal);background:none;border:0;padding:0;margin-bottom:24px}
.hero-tag b{width:14px;height:16px;background:var(--coral);border-radius:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.hero h1{margin-bottom:26px}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 em{color:var(--coral)}
.hero-sub{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--muted);max-width:46ch;margin-bottom:36px;line-height:1.55}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-meta{margin-top:40px;display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.hero-meta .m{display:flex;flex-direction:column;line-height:1.1}
.hero-meta .m b{font-family:var(--display);font-size:1.7rem;color:var(--navy)}
.hero-meta .m span{font-size:.8rem;color:var(--muted);letter-spacing:.02em}
.hero-meta .vr{width:1px;height:38px;background:var(--line-strong)}

/* hero photo cluster */
.hero-art{position:relative;aspect-ratio:1/1.06}
.hero-art .photo{position:absolute;inset:0;overflow:hidden;
  border-radius:30px;box-shadow:0 40px 80px -34px rgba(12,43,89,.5)}
.hero-art .photo img{width:100%;height:100%;object-fit:cover}
.hero-art .badge{position:absolute;background:var(--white);border-radius:18px;
  box-shadow:0 24px 50px -22px rgba(12,43,89,.45);padding:14px 18px;display:flex;align-items:center;gap:12px}
.hero-art .badge .ic{width:40px;height:44px;display:grid;place-items:center;color:#fff;flex:none}
.hero-art .badge .ic.coral{background:var(--coral)}
.hero-art .badge .ic.royal{background:var(--royal)}
.hero-art .badge b{font-family:var(--display);font-size:1.2rem;color:var(--navy);display:block;line-height:1}
.hero-art .badge span{font-size:.72rem;color:var(--muted)}
.hero-art .b1{bottom:-22px;left:-26px}
.hero-art .b2{top:24px;right:-30px}
.hero-art .floathex{position:absolute;width:78px;height:86px;z-index:-1}
.hero-art .floathex.c{background:var(--coral);top:-34px;left:18%}
.hero-art .floathex.r{background:var(--royal);bottom:8%;right:-44px;width:54px;height:60px}
.scroll-cue{position:absolute;left:var(--gutter);bottom:26px;z-index:3;display:flex;align-items:center;gap:10px;
  font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.scroll-cue .dot{width:22px;height:34px;border:1.5px solid var(--line-strong);border-radius:14px;position:relative}
.scroll-cue .dot::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:4px;border-radius:50%;
  background:var(--coral);transform:translateX(-50%);animation:scrolldot 1.8s var(--ease) infinite}
@keyframes scrolldot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}100%{opacity:0}}

@media(max-width:920px){
  .hero .wrap{grid-template-columns:1fr;gap:48px}
  .hero-art{max-width:440px;margin-inline:auto;width:100%}
  .hero-art .b2{right:8px}
  .hero-art .floathex.r{right:0}
  .testi-deco.br{right:0}
  .testi-deco.tl{left:0}
  .about .art .ph.small{right:0}
  .scroll-cue{display:none}
}

/* subtle trust strip, just below hero */
.trust-strip{padding-block:24px;border-top:1px solid var(--line)}
.trust-strip .wrap{display:flex;align-items:center;justify-content:center;gap:16px 44px;flex-wrap:wrap}
.trust-strip .ts-label{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.trust-strip .ts-label::before{content:"";width:12px;height:14px;flex:none;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.trust-strip .ts-logos{display:flex;align-items:center;gap:clamp(26px,4vw,46px);flex-wrap:wrap;justify-content:center}
.trust-strip .ts-logos img{height:58px;width:auto;display:block}
@media(max-width:600px){.trust-strip .wrap{justify-content:center}.trust-strip .ts-label{white-space:normal;text-align:center;justify-content:center}.trust-strip .ts-logos{gap:24px}.trust-strip .ts-logos img{height:42px}}
/* three grouped credential/membership/partnership bands */
.trust-strip .wrap.ts-multi{align-items:flex-start;gap:clamp(26px,4vw,56px)}
.ts-group{display:flex;flex-direction:column;align-items:center;gap:13px;position:relative}
.ts-group + .ts-group::before{content:"";position:absolute;left:calc(clamp(26px,4vw,56px) / -2);top:2px;bottom:2px;width:1px;background:var(--line)}
.ts-group .ts-logos{gap:clamp(20px,2.6vw,34px)}
.ts-group .ts-logos img.ts-ihscm{height:70px}
@media(max-width:820px){.ts-group + .ts-group::before{display:none}}
@media(max-width:600px){.trust-strip .wrap.ts-multi{flex-direction:column;gap:26px}.ts-group{width:100%}.ts-group .ts-logos img.ts-ihscm{height:52px}}

/* ===========================================================
   MARQUEE / positioning strip
   =========================================================== */
.strip{background:var(--mist);color:var(--muted);padding-block:15px;overflow:hidden;position:relative;border-block:1px solid var(--line)}
.marquee{display:flex;gap:0;white-space:nowrap;width:max-content;animation:scrollx 38s linear infinite}
.has-js .strip:hover .marquee{animation-play-state:paused}
.marquee .item{display:inline-flex;align-items:center;gap:18px;padding-inline:26px;font-family:var(--display);
  font-weight:600;font-size:1.02rem;color:var(--muted)}
.marquee .item::before{content:"";width:13px;height:15px;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex:none}
@keyframes scrollx{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee{animation:none}}

/* ===========================================================
   INTRO / manifesto
   =========================================================== */
.intro{background:var(--paper)}
.intro .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:start}
.intro .big{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.08;
  font-size:clamp(1.7rem,3.2vw,2.85rem);color:var(--navy)}
.intro .big em{color:var(--coral)}
.intro .col p{color:var(--muted);font-size:1.08rem;margin-bottom:18px;max-width:52ch}
.intro .sig{margin-top:26px;display:flex;align-items:center;gap:14px}
.intro .sig img{width:46px;height:auto}
.intro .sig div b{font-family:var(--display);color:var(--navy);display:block;line-height:1.1}
.intro .sig div span{font-size:.85rem;color:var(--muted)}
@media(max-width:820px){.intro .grid{grid-template-columns:1fr;gap:34px}}

/* ===========================================================
   THREE WORLDS — sticky scroll stage
   =========================================================== */
.worlds{background:var(--navy-900);color:#fff;position:relative}
.worlds .head{max-width:var(--maxw);margin-inline:auto;padding:var(--section-y) var(--gutter) 0}
.worlds .head h2{margin:16px 0 0;color:#fff}
.worlds-stage{position:relative}
.worlds-track{position:relative}
.world{min-height:100svh;display:grid;align-items:center}
.world .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;width:100%}
.world .copy .n{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--coral);
  display:flex;align-items:center;gap:.6em;letter-spacing:.04em}
.world .copy h3{font-size:clamp(2.2rem,5vw,4rem);margin:18px 0 20px;color:#fff}
.world .copy p{color:var(--muted-on-dark);font-size:1.1rem;max-width:46ch;margin-bottom:26px}
.world .tags{font-size:1rem;color:var(--muted-on-dark);line-height:1.8}
.world .tags span{font-weight:500;color:#fff}
.world .tags span:not(:last-child)::after{content:"   \00B7   ";color:var(--coral);font-weight:700}
.world .art{position:relative;aspect-ratio:4/3.4}
.world .art .ph{position:absolute;inset:0;border-radius:24px;overflow:hidden;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.7)}
.world .art .ph img{width:100%;height:100%;object-fit:cover}
.world .art .chip{position:absolute;left:-18px;bottom:-18px;background:var(--coral);color:#fff;
  width:96px;height:108px;display:grid;place-items:center;text-align:center;padding:10px;
  font-family:var(--display);font-weight:700;line-height:1}
.world .art .chip span{font-family:var(--sans);font-weight:600;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;display:block;margin-top:4px;opacity:.9}
/* opaque panels wipe up over the pinned previous one. No border/divider; only panels that FOLLOW
   another panel get a soft depth shadow, so the section title flows seamlessly into the first panel. */
.world.sticky-mode{position:sticky;top:0;height:100svh;background:var(--navy-900)}
.world.sticky-mode + .world.sticky-mode{box-shadow:0 -44px 90px -50px rgba(0,0,0,.55)}
.world.sticky-mode .wrap{transition:opacity .4s var(--ease)}
/* CALM variant: worlds are normal alternating sections instead of a sticky stack */
[data-variant="calm"] .world.sticky-mode{position:relative;height:auto;min-height:auto;
  padding-block:clamp(70px,9vw,120px);box-shadow:none;border-top:1px solid var(--line-on-dark)}
[data-variant="calm"] .world:nth-child(even) .wrap{direction:rtl}
[data-variant="calm"] .world:nth-child(even) .wrap > *{direction:ltr}
@media(max-width:860px){
  .world .wrap{grid-template-columns:1fr;gap:34px}
  .world{min-height:auto;padding-block:64px}
  .world.sticky-mode{position:relative;height:auto;box-shadow:none}
  [data-variant="calm"] .world:nth-child(even) .wrap{direction:ltr}
}

/* ===========================================================
   PROGRAMMES — horizontal pinned scroll
   =========================================================== */
.programmes{background:var(--paper-2)}
.prog-wrap{padding-block:var(--section-y)}
.prog-head2{max-width:62ch;margin-bottom:clamp(36px,5vw,60px)}
.prog-head2 h2{color:var(--navy);margin:14px 0 14px}
.prog-explorer{display:grid;grid-template-columns:1fr;gap:22px}
.prog-list{display:none}
.prog-item{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:baseline;text-align:left;
  background:none;border:0;border-top:1px solid var(--line);padding:20px 8px 20px 0;cursor:pointer;position:relative;
  transition:padding .35s var(--ease)}
.prog-list .prog-item:last-child{border-bottom:1px solid var(--line)}
.prog-item::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;
  background:var(--coral);transform:scaleY(0);transform-origin:center;transition:transform .35s var(--ease)}
.prog-item .pi-num{font-family:var(--display);font-weight:800;font-size:1.15rem;color:var(--line-strong);transition:color .35s}
.prog-item .pi-name{font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--navy);line-height:1.05;transition:color .35s}
.prog-item .pi-sub{grid-column:2;font-size:.82rem;color:var(--muted);margin-top:3px}
.prog-item:hover .pi-name,.prog-item.active .pi-name{color:var(--coral-deep)}
.prog-item:hover .pi-num,.prog-item.active .pi-num{color:var(--coral)}
.prog-item.active{padding-left:18px}
.prog-item.active::before{transform:scaleY(1)}
.prog-panels{position:relative;display:flex;flex-direction:column;gap:16px}
.prog-panel{position:relative;background:var(--white);border:1px solid var(--line);border-radius:22px;
  padding:clamp(28px,3.2vw,42px);display:flex;flex-direction:column;overflow:hidden}
.prog-panel .pp-num{position:absolute;top:22px;right:28px;font-family:var(--display);font-weight:800;
  font-size:clamp(3rem,5vw,5rem);color:var(--paper-2);line-height:1;z-index:0}
.prog-panel > *{position:relative;z-index:1}
.prog-panel .ic{width:60px;height:66px;background:var(--royal);display:grid;place-items:center;color:#fff;margin-bottom:22px}
.prog-panel:nth-child(even) .ic{background:var(--coral)}
.prog-panel .ic svg{width:28px;height:28px}
.prog-panel .kicker{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:10px}
.prog-panel h3{font-size:clamp(1.7rem,2.4vw,2.3rem);color:var(--navy);margin-bottom:12px}
.prog-panel p{color:var(--muted);font-size:1.04rem;max-width:50ch;margin-bottom:auto}
.prog-panel .foot{display:flex;flex-wrap:wrap;gap:8px;padding-top:24px}
.prog-panel .foot span{font-size:.8rem;background:var(--paper);border:1px solid var(--line);padding:.4em .9em;border-radius:100px;color:var(--navy)}
/* interactive split: only with JS (.motion) on wider screens; calm keeps the readable stacked cards */
@media(min-width:861px){
  .motion:not([data-variant="calm"]) .prog-explorer{grid-template-columns:.8fr 1.2fr;gap:clamp(28px,4vw,64px);align-items:start}
  .motion:not([data-variant="calm"]) .prog-list{display:flex;flex-direction:column}
  .motion:not([data-variant="calm"]) .prog-panels{display:grid;min-height:392px}
  .motion:not([data-variant="calm"]) .prog-panel{grid-area:1/1;opacity:0;transform:translateY(18px);pointer-events:none;
    transition:opacity .5s var(--ease),transform .5s var(--ease)}
  .motion:not([data-variant="calm"]) .prog-panel.active{opacity:1;transform:none;pointer-events:auto}
}

/* ===========================================================
   APPROACH — 5 step scroll timeline
   =========================================================== */
.approach{background:var(--white)}
.approach .head{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.approach .head h2{color:var(--navy);max-width:14ch}
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.steps .railtrack{position:absolute;left:0;right:0;top:31px;height:2px;background:var(--line)}
.steps .railfill{position:absolute;left:0;top:31px;height:2px;width:0;background:var(--coral);z-index:1}
.step{position:relative;padding-top:0}
.step .dot{width:64px;height:72px;background:var(--paper-2);color:var(--navy);display:grid;place-items:center;
  font-family:var(--display);font-weight:800;font-size:1.4rem;position:relative;z-index:2;
  transition:background .4s var(--ease),color .4s var(--ease),transform .4s var(--ease)}
.step.active .dot{background:var(--royal);color:#fff;transform:translateY(-2px)}
.step h4{font-size:1.2rem;color:var(--navy);margin:22px 0 8px}
.step p{font-size:.92rem;color:var(--muted)}
@media(max-width:860px){
  .approach .head{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:14px}
  .steps .railtrack,.steps .railfill{display:none}
  .step{display:grid;grid-template-columns:64px 1fr;
    grid-template-areas:"dot title" "dot text";column-gap:18px;row-gap:6px;align-items:start;
    border-bottom:1px solid var(--line);padding-bottom:20px}
  .step .dot{grid-area:dot}
  .step h4{grid-area:title;margin:6px 0 0}
  .step p{grid-area:text}
}

/* ===========================================================
   PROOF — stats
   =========================================================== */
.proof{background:linear-gradient(160deg,var(--royal),var(--navy) 70%);color:#fff;position:relative;overflow:hidden}
.proof .honeycomb{opacity:.6;background-image:url("data:image/svg+xml,%3Csvg width='56' height='100' viewBox='0 0 56 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 0L56 16v34L28 66 0 50V16z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3Cpath d='M28 66l28 16v34L28 132 0 116V82z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3C/svg%3E")}
.proof .wrap{position:relative;z-index:2}
.proof .head{max-width:60ch;margin-bottom:clamp(40px,6vw,72px)}
.proof .head h2{color:#fff;margin-top:16px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{border-top:2px solid rgba(255,255,255,.22);padding-top:22px}
.stat .big{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,5vw,4rem);line-height:1;
  letter-spacing:-.03em;display:flex;align-items:baseline;gap:2px}
.stat .big .u{font-size:.42em;font-weight:700;color:var(--coral);margin-left:2px}
.stat p{margin-top:14px;color:var(--muted-on-dark);font-size:.95rem;max-width:30ch}
.proof .fineprint{margin-top:34px;font-size:.78rem;color:rgba(255,255,255,.5);max-width:80ch}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr;gap:30px 22px}}
@media(max-width:520px){.stats{grid-template-columns:1fr}}

/* ===========================================================
   WHY — reasons grid
   =========================================================== */
.why{background:var(--paper)}
.why .head{margin-bottom:clamp(40px,5vw,64px);max-width:60ch}
.why .head h2{color:var(--navy);margin-top:16px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--white)}
.reason{padding:38px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;
  transition:background .35s var(--ease)}
.reason:hover{background:var(--paper)}
.reason .ic{width:46px;height:52px;background:var(--coral);display:grid;place-items:center;color:#fff;margin-bottom:22px}
.reason:nth-child(3n+2) .ic{background:var(--royal)}
.reason:nth-child(3n) .ic{background:var(--navy)}
.reason h4{font-size:1.25rem;color:var(--navy);margin-bottom:10px}
.reason p{font-size:.96rem;color:var(--muted)}
.reason .idx{position:absolute;top:30px;right:34px;font-size:.8rem;color:var(--line-strong);font-weight:600}
@media(max-width:860px){.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr}}

/* ===========================================================
   TESTIMONIALS
   =========================================================== */
/* auto-rotating (5s) two-column testimonials */
.testi{background:var(--paper-2);overflow:hidden}
.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);align-items:center}
.testi-head h2{color:var(--navy);margin:16px 0 18px;max-width:14ch}
.testi-head .lead{margin-bottom:30px}
.testi-controls{display:flex;align-items:center;gap:16px;padding-top:4px}
.testi-dots{display:flex;align-items:center;gap:10px}
.testi-dots button{position:relative;height:9px;width:9px;border:0;padding:0;border-radius:100px;background:var(--line-strong);
  cursor:pointer;transition:width .35s var(--ease),background .35s var(--ease)}
.testi-dots button::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:24px;min-height:24px}
.testi-dots button:hover{background:var(--muted)}
.testi-dots button.active{width:36px;background:var(--coral)}
.testi-play{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;color:var(--navy);
  display:grid;place-items:center;cursor:pointer;flex:none;transition:background .25s,color .25s,border-color .25s}
.testi-play:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.testi-play svg{width:15px;height:15px;fill:currentColor}
.testi-play .ic-play{display:none}
.testi-play.paused .ic-pause{display:none}
.testi-play.paused .ic-play{display:block}
/* grid-stack: every card shares one cell, so the stage auto-sizes to the tallest quote (no clip, no jump) */
.testi-stage{position:relative;display:grid}
.testi-deco{position:absolute;width:96px;height:96px;border-radius:20px;z-index:0}
.testi-deco.tl{left:-22px;bottom:-26px;background:rgba(var(--royal-rgb),.10)}
.testi-deco.br{right:-24px;top:-26px;background:rgba(var(--coral-rgb),.12)}
.tcard{grid-area:1/1;z-index:1;background:var(--white);border:1px solid var(--line);border-radius:24px;
  padding:clamp(28px,3.2vw,42px);box-shadow:0 38px 70px -44px rgba(12,43,89,.5);display:flex;flex-direction:column;
  opacity:0;transform:translateX(44px) scale(.96);pointer-events:none;
  transition:opacity .6s var(--ease),transform .6s var(--ease)}
.tcard.active{opacity:1;transform:none;pointer-events:auto;z-index:2}
.tcard .tstars{color:var(--coral-deep);font-size:1.05rem;letter-spacing:5px;margin-bottom:20px}
.tcard .tquote{position:relative;flex:1}
.tcard .tquote::before{content:"\201C";position:absolute;top:-2.5rem;left:-.7rem;font-family:var(--display);
  font-size:5rem;line-height:1;color:var(--coral);opacity:.16}
.tcard .tquote p{position:relative;z-index:1;font-size:clamp(1.1rem,1.5vw,1.32rem);line-height:1.5;
  font-weight:500;color:var(--ink)}
.tcard .tsep{height:1px;background:var(--line);margin:22px 0}
.tcard .tperson{display:flex;align-items:center;gap:14px}
.tcard .tavatar{width:48px;height:54px;display:grid;place-items:center;color:#fff;flex:none;
  font-family:var(--display);font-weight:700;font-size:1rem}
.tcard .tperson b{display:block;font-weight:700;color:var(--navy)}
.tcard .tperson span{font-size:.86rem;color:var(--muted)}
@media(max-width:860px){.testi-grid{grid-template-columns:1fr;gap:34px}}

/* ===========================================================
   ABOUT / founder
   =========================================================== */
.about{background:var(--paper)}
.about .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,6vw,80px);align-items:center}
.about .art{position:relative}
.about .art .ph{border-radius:26px;overflow:hidden;aspect-ratio:4/4.4;box-shadow:0 40px 80px -44px rgba(12,43,89,.5)}
.about .art .ph img{width:100%;height:100%;object-fit:cover}
.about .art .ph.small{position:absolute;width:42%;aspect-ratio:1/1;right:-22px;bottom:-30px;
  border:6px solid var(--paper);border-radius:20px}
.about .art .hexmark{position:absolute;top:-10px;left:-10px;width:82px;height:92px;background:var(--coral);z-index:0}
.about .art .ph{position:relative;z-index:1}
.about .art .ph.small{z-index:2}
.about h2{color:var(--navy);margin:16px 0 22px}
.about p{color:var(--muted);font-size:1.05rem;margin-bottom:18px;max-width:50ch}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.vm .card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px}
.vm .card .t{font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:10px;display:flex;align-items:center;gap:.6em}
.vm .card .t::before{content:"";width:11px;height:13px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.vm .card p{font-size:.95rem;margin:0;color:var(--ink)}
@media(max-width:860px){.about .grid{grid-template-columns:1fr;gap:60px}.vm{grid-template-columns:1fr}.about .art{max-width:440px}}

/* ===========================================================
   CTA
   =========================================================== */
.cta{background:var(--coral);color:#fff;position:relative;overflow:hidden;text-align:center;padding:clamp(64px,9vw,116px) 0 0}
.cta .honeycomb{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg width='56' height='100' viewBox='0 0 56 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 0L56 16v34L28 66 0 50V16z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3Cpath d='M28 66l28 16v34L28 132 0 116V82z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3C/svg%3E")}
.cta .glow{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 110%,rgba(var(--coral-rgb),.4),transparent 60%);z-index:1}
.cta .wrap{position:relative;z-index:2;max-width:900px;padding-bottom:clamp(46px,6vw,76px)}
.cta h2{font-size:clamp(2.4rem,6vw,5rem);color:#fff;margin-bottom:24px}
.cta h2 em{color:#fff}
.cta p{color:#fff;font-size:1.15rem;max-width:54ch;margin:0 auto 46px}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cta-contact{margin-top:46px;display:flex;gap:30px;justify-content:center;flex-wrap:wrap;
  padding-top:34px;border-top:1px solid var(--line-on-dark)}
.cta-contact a{display:flex;align-items:center;gap:10px;font-weight:500;color:#fff}
.cta-contact a svg{width:1.2em;height:1.2em;color:var(--coral)}

/* ===========================================================
   FOOTER
   =========================================================== */
.footer{background:var(--navy-900);color:rgba(255,255,255,.58);padding-block:38px 18px;position:relative;overflow:hidden;font-size:.84rem}
.footer .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(24px,2.6vw,44px);padding-bottom:26px;border-bottom:1px solid var(--line-on-dark)}
.footer .brand{display:flex;align-items:center;gap:.55em;color:#fff;font-family:var(--display);font-weight:700;font-size:.98rem;margin-bottom:10px}
.footer .brand img{width:30px}
.footer .top p{max-width:34ch;font-size:.8rem;line-height:1.5}
.footer .top p + p{margin-top:7px}
.footer h5{color:#fff;font-family:var(--sans);font-weight:600;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.footer ul a{font-size:.82rem;opacity:.82;line-height:1.35}
.footer ul a:hover{opacity:1;color:var(--coral)}
.footer .bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:14px;font-size:.72rem;opacity:.72}
.footer .byline{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-on-dark);text-align:center;font-size:.7rem;letter-spacing:.04em;color:rgba(255,255,255,.5)}
.footer .byline a{color:rgba(255,255,255,.82);font-weight:600;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1px;transition:color .2s ease,border-color .2s ease}
.footer .byline a:hover,.footer .byline a:focus-visible{color:var(--coral);border-bottom-color:var(--coral)}
@media(max-width:1080px){.footer .top{grid-template-columns:1.4fr 1fr 1fr;gap:26px 34px}}
@media(max-width:760px){.footer .top{grid-template-columns:1fr 1fr;gap:24px 28px}}
@media(max-width:520px){.footer .top{grid-template-columns:1fr;gap:22px}}

/* ===========================================================
   reveal animation defaults (only with JS + GSAP)
   =========================================================== */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ===== full-site additions ===== */
.tagrow{margin-top:24px;font-size:1rem;color:var(--muted);line-height:1.8}
.tagrow span{font-weight:600;color:var(--navy)}
.tagrow span:not(:last-child)::after{content:"   \00B7   ";color:var(--coral);font-weight:700}
.mission{background:linear-gradient(160deg,var(--royal),var(--navy) 78%);color:#fff;position:relative;overflow:hidden}
.mission .honeycomb{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg width='56' height='100' viewBox='0 0 56 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 0L56 16v34L28 66 0 50V16z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3Cpath d='M28 66l28 16v34L28 132 0 116V82z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3C/svg%3E")}
.mission .grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:center}
.mission .art{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:1/1;box-shadow:0 44px 90px -46px rgba(0,0,0,.6)}
.mission .art img{width:100%;height:100%;object-fit:cover}
.mission .art .hexmark{position:absolute;top:-24px;right:-24px;width:84px;height:94px;background:var(--coral);z-index:-1}
.mission h2{color:#fff;margin:16px 0 20px}
.mission h2 em{color:var(--coral)}
.mission p{color:var(--muted-on-dark);font-size:1.12rem;max-width:50ch;margin-bottom:18px}
@media(max-width:860px){.mission .grid{grid-template-columns:1fr;gap:36px}}
/* module + course grids reuse .why-grid / .reason; add helpers */
.modgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--white)}
.modcard{padding:28px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .35s var(--ease)}
.modcard:hover{background:var(--paper)}
.modcard .mn{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--coral);display:flex;align-items:center;gap:.5em}
.modcard .mn::before{content:"";width:12px;height:14px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.modcard h4{font-size:1.12rem;color:var(--navy);margin:14px 0 0;line-height:1.18}
@media(max-width:900px){.modgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.modgrid{grid-template-columns:1fr}}
.aud{margin-top:26px;font-size:1rem;color:var(--muted);max-width:74ch}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.course-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column}
.course-card h4{font-size:1.1rem;color:var(--navy);margin:0 0 8px;line-height:1.2}
.course-card p{font-size:.92rem;color:var(--muted);margin:0}
.course-card .dur{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:.5em;font-size:.78rem;font-weight:600;color:var(--coral-deep)}
.course-card .dur::before{content:"";width:11px;height:13px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex:none}
.course-card.soon{background:var(--paper);border-style:dashed}
@media(max-width:860px){.course-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.course-grid{grid-template-columns:1fr}}
.accred{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.accred img{height:70px;width:auto;background:#fff;border-radius:14px;padding:10px;border:1px solid var(--line);box-shadow:0 18px 30px -24px rgba(12,43,89,.4)}
.accred p{font-size:.92rem;color:var(--muted);max-width:46ch;margin:0}
@media(min-width:861px){.steps.steps-3{grid-template-columns:repeat(3,1fr)}}
.cform{display:grid;gap:14px;max-width:460px;margin:34px auto 0;text-align:left}
.cform input,.cform textarea{font:inherit;font-size:.98rem;padding:.95em 1.1em;border-radius:14px;border:1px solid var(--line-on-dark);background:rgba(255,255,255,.07);color:#fff;width:100%}
.cform input::placeholder,.cform textarea::placeholder{color:rgba(255,255,255,.55)}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--coral);outline-offset:2px;border-color:var(--coral)}
.cform textarea{min-height:120px;resize:vertical}
.cform .btn{justify-content:center}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cform .f-field{display:flex;flex-direction:column;gap:6px}
.cform .f-label{font-size:.76rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}
@media(max-width:520px){.cform-row{grid-template-columns:1fr}}

/* ===== multi-page additions ===== */
.page-hero{background:var(--navy-900);color:#fff;position:relative;overflow:hidden;padding:clamp(40px,6vw,72px) 0 clamp(54px,8vw,96px)}
.page-hero .honeycomb{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg width='56' height='100' viewBox='0 0 56 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 0L56 16v34L28 66 0 50V16z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3Cpath d='M28 66l28 16v34L28 132 0 116V82z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3C/svg%3E")}
.page-hero .wrap{position:relative;z-index:2;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.page-hero .eyebrow{color:#fff}
.page-hero h1{color:#fff;margin:16px 0 18px;font-size:clamp(2.4rem,6vw,4.4rem)}
.page-hero h1 em{color:var(--coral)}
.page-hero p{color:var(--muted-on-dark);max-width:62ch;font-size:1.12rem}
.teaser-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tcard2{display:flex;flex-direction:column;justify-content:flex-start;border-radius:24px;padding:clamp(28px,3vw,38px);color:var(--navy);text-decoration:none;position:relative;overflow:hidden;background:var(--white);border:1px solid var(--line);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);box-shadow:0 30px 60px -50px rgba(12,43,89,.5)}
.tcard2:hover{transform:translateY(-6px);box-shadow:0 46px 72px -44px rgba(12,43,89,.5);border-color:rgba(246,131,79,.55)}
.tcard2 .k{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-deep)}
.tcard2 h3{font-size:clamp(1.5rem,2.2vw,1.9rem);margin:12px 0 10px;color:var(--navy);line-height:1.1}
.tcard2 p{color:var(--muted);font-size:.98rem;margin-bottom:20px;max-width:42ch}
.tcard2 .go{display:inline-flex;align-items:center;gap:.5em;font-weight:700;color:var(--coral-deep);margin-top:auto}
.tcard2 .go svg{width:1.05em;height:1.05em;transition:transform .3s}
.tcard2:hover .go svg{transform:translateX(4px)}
@media(max-width:760px){.teaser-cards{grid-template-columns:1fr}}
.teaser-cards-3{grid-template-columns:repeat(3,1fr);gap:20px}
.teaser-cards-3 .tcard2{padding:clamp(22px,2.2vw,28px)}
.teaser-cards-3 .tcard2 h3{font-size:clamp(1.22rem,1.6vw,1.42rem);margin:10px 0 8px}
.teaser-cards-3 .tcard2 p{font-size:.94rem;margin-bottom:16px;max-width:none}
@media(max-width:980px){.teaser-cards-3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.teaser-cards-3{grid-template-columns:1fr}}

/* ===== STAGES: box-free before/during/after journey ===== */
.stages{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(34px,4.5vw,52px)}
.stage{padding:0 clamp(24px,2.6vw,38px)}
.stage:first-child{padding-left:0}
.stage:last-child{padding-right:0}
.stage + .stage{border-left:1px solid var(--line)}
.stage .st-k{display:block;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:9px}
.stage h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.25rem,1.9vw,1.55rem);line-height:1.15;margin:0 0 18px}
.stage ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.stage li{position:relative;padding-left:24px;color:var(--muted);font-size:.97rem;line-height:1.5}
.stage li::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:12px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
@media(max-width:820px){
  .stages{grid-template-columns:1fr}
  .stage{padding:clamp(22px,4vw,28px) 0 0}
  .stage:first-child{padding-top:0}
  .stage + .stage{border-left:0;border-top:1px solid var(--line)}
}

/* ===== MINDSET MAKEOVER: scroll-driven before/after transformation ===== */
.makeover{margin-top:clamp(26px,3.5vw,42px)}
.mk-rows{list-style:none;margin:0;padding:0}
.mk-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(14px,3vw,34px);padding:clamp(15px,1.8vw,20px) 0;border-bottom:1px solid var(--line)}
.mk-row:last-child{border-bottom:0}
.mk-from,.mk-to{font-family:var(--display);font-weight:700;font-size:clamp(1.05rem,1.7vw,1.4rem);line-height:1.2;transition:color .55s var(--ease),opacity .55s var(--ease),transform .55s var(--ease),text-decoration-color .55s var(--ease)}
.mk-from{justify-self:end;text-align:right;color:var(--navy)}
.mk-to{justify-self:start;text-align:left;color:var(--muted);opacity:.4}
.mk-arr{color:var(--line-strong);transition:color .55s var(--ease),transform .55s var(--ease)}
.mk-arr svg{width:26px;height:26px;display:block}
.mk-row.is-after .mk-from{color:var(--muted);opacity:.5;text-decoration:line-through;text-decoration-color:rgba(246,131,79,.6);text-decoration-thickness:2px}
.mk-row.is-after .mk-to{color:var(--coral-deep);opacity:1;transform:translateX(3px)}
.mk-row.is-after .mk-arr{color:var(--coral);transform:translateX(3px)}
@media(max-width:600px){
  .mk-row{gap:10px}
  .mk-from,.mk-to{font-size:1.02rem}
  .mk-arr svg{width:20px;height:20px}
}
/* makeover GRID variant: rows flow into columns (3 across), each cell a uniform 2-line shift */
.makeover.mk-grid .mk-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,3.6vw,60px)}
.makeover.mk-grid .mk-row{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"from from" "arr to";column-gap:10px;row-gap:4px;align-items:center;border-bottom:1px solid var(--line);padding:clamp(15px,1.7vw,19px) 0}
.makeover.mk-grid .mk-from{grid-area:from;justify-self:start;text-align:left;font-size:clamp(.97rem,1.05vw,1.08rem)}
.makeover.mk-grid .mk-arr{grid-area:arr;justify-self:center}
.makeover.mk-grid .mk-arr svg{width:20px;height:20px}
.makeover.mk-grid .mk-to{grid-area:to;justify-self:start;text-align:left;font-size:clamp(1.05rem,1.2vw,1.22rem)}
@media(max-width:860px){.makeover.mk-grid .mk-rows{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.makeover.mk-grid .mk-rows{grid-template-columns:1fr}}

/* ===== RELATIONSHIP WEB: interactive connected nodes (managers & teams) ===== */
.relweb{position:relative;height:clamp(450px,46vw,540px);margin-top:clamp(30px,4vw,48px)}
.rw-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rw-lines line{stroke:rgba(255,255,255,.22);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:200;stroke-dashoffset:0;transition:stroke-dashoffset .85s var(--ease),stroke .3s,stroke-width .3s}
.relweb.armed .rw-lines line{stroke-dashoffset:200}
.relweb.armed.drawn .rw-lines line{stroke-dashoffset:0}
.rw-lines line.lit{stroke:var(--coral);stroke-width:2.6}
.rw-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:122px;height:136px;background:linear-gradient(135deg,var(--coral),var(--coral-deep));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);color:#fff;text-align:center;box-shadow:0 26px 52px -22px rgba(0,0,0,.55)}
.rw-hub svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rw-hub span{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;line-height:1.2}
.rw-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:3;display:inline-flex;align-items:center;gap:10px;max-width:230px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:11px 18px;color:#fff;font-weight:600;font-size:.95rem;line-height:1.25;transition:opacity .55s var(--ease) calc(var(--i,0)*70ms + .12s),background .3s,border-color .3s,transform .3s var(--ease)}
.relweb.armed .rw-node{opacity:0}
.relweb.armed.drawn .rw-node{opacity:1}
.rw-node:hover{background:var(--coral);border-color:var(--coral);transform:translate(-50%,-50%) scale(1.06)}
.rw-dot{flex:none;width:13px;height:14px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:background .3s}
.rw-node:hover .rw-dot{background:#fff}
@media(max-width:960px){
  .relweb{height:auto;display:grid;gap:12px;max-width:540px;margin-inline:auto}
  .rw-lines{display:none}
  .rw-hub{position:static;transform:none;width:auto;height:auto;clip-path:none;border-radius:16px;flex-direction:row;justify-content:center;padding:14px 20px;gap:12px}
  .rw-hub svg{width:26px;height:26px}
  .rw-node{position:static;transform:none!important;opacity:1!important;max-width:none;justify-content:flex-start}
}

/* ===== TOOL DIRECTORY: creative clickable rows (assessments) ===== */
.toolnav{margin-top:clamp(34px,4.5vw,52px);border-top:1px solid var(--line)}
.toolnav-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(18px,3vw,34px);padding:clamp(22px,3vw,32px) clamp(10px,2vw,22px);border-bottom:1px solid var(--line);text-decoration:none;transition:background .3s var(--ease)}
.toolnav-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--coral),var(--coral-deep));transform:scaleY(0);transform-origin:top;transition:transform .38s var(--ease)}
.toolnav-row:hover{background:rgba(246,131,79,.07)}
.toolnav-row:hover::before,.toolnav-row:focus-visible::before{transform:scaleY(1)}
.tn-hex{flex:none;width:60px;height:68px;display:grid;place-items:center;color:#fff;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--coral);transition:transform .4s var(--ease)}
.toolnav-row:nth-child(2) .tn-hex{background:var(--royal)}
.toolnav-row:nth-child(3) .tn-hex{background:var(--navy)}
.toolnav-row:hover .tn-hex{transform:scale(1.07) rotate(-4deg)}
.tn-hex svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tn-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.tn-k{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-deep)}
.tn-title{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.05;margin:2px 0}
.tn-desc{color:var(--muted);font-size:.98rem;line-height:1.5;max-width:62ch}
.tn-go{flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--coral-deep);transition:transform .38s var(--ease),background .3s,border-color .3s,color .3s}
.tn-go svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.toolnav-row:hover .tn-go,.toolnav-row:focus-visible .tn-go{background:var(--coral);border-color:var(--coral);color:#fff;transform:translateX(5px)}
@media(max-width:680px){
  .toolnav-row{grid-template-columns:auto 1fr;gap:16px;padding:22px 6px}
  .tn-hex{width:50px;height:57px}
  .tn-hex svg{width:23px;height:23px}
  .tn-title{font-size:1.45rem}
  .tn-go{display:none}
}
.netzero{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:clamp(28px,3.5vw,44px)}
.netzero ul{margin:0;padding:0;list-style:none;display:grid;gap:12px;grid-template-columns:1fr 1fr}
.netzero li{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.98rem}
.netzero li i{width:12px;height:14px;background:var(--coral);flex:none;margin-top:5px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
@media(max-width:680px){.netzero ul{grid-template-columns:1fr}}
.cform .consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:rgba(255,255,255,.72);text-align:left}
.cform .consent input{width:auto;margin-top:3px;flex:none}

/* hero image — medium, right-aligned. Explicit width so the grid item can't collapse to 0. */
.hero .wrap{grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,56px)}
.hero-art{width:min(100%,520px);justify-self:end;margin:0}
.hero{min-height:auto;padding-top:clamp(40px,7vh,84px);padding-bottom:clamp(60px,9vh,96px)}
.hero-sub{font-size:clamp(1rem,1.25vw,1.15rem)}
@media(max-width:920px){.hero .wrap{grid-template-columns:1fr;gap:38px}.hero-art{width:min(100%,460px);justify-self:center;margin-inline:auto}}

/* ===== rich-content sections ===== */
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sector{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px -40px rgba(12,43,89,.5);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.sector:hover{transform:translateY(-5px);box-shadow:0 36px 58px -38px rgba(12,43,89,.55)}
.sector .ph{position:relative;aspect-ratio:16/11;overflow:hidden}
.sector .ph img{width:100%;height:100%;object-fit:cover}
.sector .ph .chip{position:absolute;left:12px;bottom:-14px;width:38px;height:42px;background:var(--coral);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.85rem}
.sector:nth-child(2) .ph .chip{background:var(--royal)}
.sector:nth-child(3) .ph .chip{background:var(--coral-deep)}
.sector:nth-child(4) .ph .chip{background:var(--navy)}
.sector .body{padding:22px 16px 18px;display:flex;flex-direction:column;flex:1}
.sector .body .k{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-deep)}
.sector .body h3{font-size:1.02rem;color:var(--navy);margin:6px 0 8px;line-height:1.2}
.sector .body p{color:var(--muted);font-size:.79rem;line-height:1.42;margin:0 0 12px}
.sector .body ul{list-style:none;margin:auto 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:6px}
.sector .body li{font-size:.73rem;color:var(--navy);display:flex;gap:7px;align-items:flex-start;line-height:1.3}
.sector .body li::before{content:"";width:8px;height:9px;background:var(--coral);flex:none;margin-top:3px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
@media(max-width:1080px){.sector-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sector-grid{grid-template-columns:1fr}}
.vm2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vmc{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:clamp(28px,3.5vw,44px)}
.vmc .t{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:14px;display:flex;align-items:center;gap:.6em}
.vmc .t::before{content:"";width:13px;height:15px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.vmc p{color:var(--ink);font-size:1.1rem;line-height:1.5;margin:0}
@media(max-width:760px){.vm2{grid-template-columns:1fr}}
.out-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.out{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3vw,38px)}
.out h4{font-size:1.2rem;color:var(--navy);margin:0 0 18px;padding-bottom:14px;border-bottom:2px solid var(--coral)}
.out ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.out li{font-size:.96rem;color:var(--muted);display:flex;gap:10px;align-items:flex-start}
.out li::before{content:"";width:12px;height:14px;background:var(--coral);flex:none;margin-top:5px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
@media(max-width:860px){.out-grid{grid-template-columns:1fr}}
.delivery{counter-reset:dlv;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,5vw,64px);max-width:var(--maxw);border-top:1px solid var(--line)}
.delivery span{counter-increment:dlv;display:flex;align-items:baseline;gap:16px;padding:18px 2px;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--navy)}
.delivery span::before{content:counter(dlv,decimal-leading-zero);color:var(--coral);font-family:var(--display);font-weight:800;font-size:.85rem;letter-spacing:.05em;flex:none;min-width:2em}
@media(max-width:680px){.delivery{grid-template-columns:1fr}}

/* ===== accreditation (bold) ===== */
.creds{background:var(--paper-2)}
.creds-head{text-align:center;max-width:64ch;margin:0 auto clamp(34px,5vw,50px)}
.creds-head h2{color:var(--navy);margin:14px 0 16px}
.creds-head .lead{margin-inline:auto}
.cred-seals{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:clamp(38px,5vw,56px)}
.cred-seals .seal{display:inline-flex;align-items:center;gap:11px;background:var(--white);border:1px solid var(--line);border-radius:100px;padding:.7em 1.25em .7em .7em;font-family:var(--display);font-weight:600;color:var(--navy);font-size:.98rem;box-shadow:0 18px 34px -28px rgba(12,43,89,.4)}
.cred-seals .seal .ic{width:30px;height:34px;background:var(--coral);color:#fff;display:grid;place-items:center;flex:none}
.cred-seals .seal .ic svg{width:16px;height:16px}
.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cred-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:clamp(30px,3.2vw,42px) 30px;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 34px 64px -46px rgba(12,43,89,.5);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.cred-card:hover{transform:translateY(-6px);box-shadow:0 48px 76px -44px rgba(12,43,89,.55)}
.cred-card .logo{height:120px;display:grid;place-items:center;margin-bottom:24px}
.cred-card .logo img{max-height:108px;max-width:180px;width:auto;object-fit:contain}
.cred-card .cpi-mark{width:118px;height:118px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:2.1rem;letter-spacing:.06em}
.cred-card b{font-family:var(--display);font-size:1.22rem;color:var(--navy);margin-bottom:8px}
.cred-card span{font-size:.94rem;color:var(--muted);max-width:30ch}
@media(max-width:860px){.cred-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}}

/* ===== ported from mockup: Sport Spotlight (cobalt band, 3 cards) ===== */
.sportspot{background:linear-gradient(160deg,var(--royal),var(--navy) 84%);color:#fff;position:relative;overflow:hidden}
.sportspot .head h2{color:#fff}
.sportspot .lead{color:var(--muted-on-dark)}
.spot-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(34px,5vw,50px)}
.spot-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:clamp(26px,3vw,34px);box-shadow:0 30px 60px -46px rgba(12,43,89,.38)}
.spot-card .ic{width:54px;height:60px;background:var(--coral);display:grid;place-items:center;color:#fff;margin-bottom:18px}
.spot-card:nth-child(2) .ic{background:var(--royal);color:#fff}
.spot-card:nth-child(3) .ic{background:var(--coral-deep)}
.spot-card .ic svg{width:24px;height:24px}
.spot-card h3{font-size:1.25rem;color:var(--navy);margin-bottom:9px}
.spot-card p{color:var(--muted);font-size:.96rem}
/* spot-cards on dark bands (cobalt/sportspot) */
.on-dark .spot-card,.sportspot .spot-card{background:rgba(255,255,255,.06);border-color:var(--line-on-dark);box-shadow:none}
.on-dark .spot-card h3,.sportspot .spot-card h3{color:#fff}
.on-dark .spot-card p,.sportspot .spot-card p{color:var(--muted-on-dark)}
.on-dark .spot-card:nth-child(2) .ic,.sportspot .spot-card:nth-child(2) .ic{background:#fff;color:var(--royal)}
@media(max-width:860px){.spot-cards{grid-template-columns:1fr}}

/* ===== ported from mockup: Meet the Practitioners (navy feature, hex portrait) ===== */
.practitioners{background:var(--navy-900);color:#fff;position:relative;overflow:hidden}
.prac-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,80px);align-items:center}
.prac-fig{position:relative}
.prac-ph{position:relative;z-index:1;overflow:hidden;aspect-ratio:253/300;max-width:340px;
  clip-path:polygon(50% 0,100% 12%,100% 88%,50% 100%,0 88%,0 12%);box-shadow:0 40px 80px -44px rgba(0,0,0,.6)}
.prac-ph img{width:100%;height:100%;object-fit:cover}
.prac-fig::before{content:"";position:absolute;top:-22px;left:-22px;width:84px;height:94px;background:var(--coral);z-index:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.practitioners h2{color:#fff;margin-bottom:18px}
.practitioners .copy p{color:var(--muted-on-dark);margin-bottom:16px;max-width:52ch}
.practitioners .copy .accent{color:var(--coral);font-weight:600}
.practitioners .copy small{color:rgba(255,255,255,.55)}
@media(max-width:860px){.prac-grid{grid-template-columns:1fr;gap:42px}.prac-fig{order:-1}.prac-ph{max-width:360px}}

/* ===== Our Purpose: coral emphasis (no serif) + compact embedded Vision/Mission ===== */
.about h2 em{color:var(--coral);font-style:normal}
.about .copy .aq{color:var(--coral-deep);font-weight:600}
.about .copy p{color:var(--muted);margin-bottom:16px;max-width:52ch}
.about .vm2{margin-top:28px;gap:16px}
.about .vmc{padding:22px;background:var(--paper-2)}
.about .vmc p{font-size:.95rem;line-height:1.55}

/* ===== Net Zero navy band (ported from mockup: deep navy + chevron-notch top + coral-hex tick list) ===== */
.nz-band{background:var(--navy);color:#fff}
.nz-band .head h2{color:#fff}
.nz-band .lead{color:var(--muted-on-dark);max-width:60ch}
/* chevron notch cut into the TOP edge (reveals the light section above) */
.chevtop{clip-path:polygon(0 0, 50% var(--chev), 100% 0, 100% 100%, 0 100%)}
.ticks{display:grid;grid-template-columns:1fr 1fr;gap:14px 36px;margin-top:clamp(30px,4vw,44px)}
.tick{display:flex;align-items:flex-start;gap:12px;font-size:1.02rem;color:#fff}
.tick::before{content:"";flex:none;margin-top:6px;width:13px;height:15px;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
@media(max-width:680px){.ticks{grid-template-columns:1fr}}


/* ===== em accents: same display font, coral only ===== */
.hero h1 em,.cta h2 em,.mission h2 em,.page-hero h1 em,.intro .big em,
.testi-head h2 em,.creds-head h2 em,.sec-head h2 em,.display-l em,.display-xl em,.display-m em{
  color:var(--coral);font-style:normal}


/* ============================================================
   BUILT FROM THE MARK — section-rhythm system + new components
   ============================================================ */
/* ground modifiers (cool coloured bands) */
.ground-mist{background:var(--mist)}
.ground-cobalt{background:var(--blue);color:#fff}
.ground-navy{background:var(--ink);color:#fff}
.ground-cobalt h2,.ground-cobalt h3,.ground-cobalt h4,.ground-navy h2,.ground-navy h3,.ground-navy h4{color:#fff}
.ground-cobalt .lead,.ground-navy .lead{color:var(--on-dark-soft)}

/* Phase 3B — About/Purpose hexagon photo cluster */
.about .art .ph{border-radius:0;clip-path:polygon(50% 0,100% 12%,100% 88%,50% 100%,0 88%,0 12%)}
.about .art .ph.small{border-radius:0;border:6px solid #fff;clip-path:polygon(50% 0,100% 27%,100% 73%,50% 100%,0 73%,0 27%)}

/* Phase 3D — Delivery depth ladder */
.ladder{position:relative;margin-top:clamp(46px,6vw,74px);padding-top:clamp(26px,4vw,54px)}
.ladder-track{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.3vw,18px);align-items:end;position:relative;z-index:2}
.rung{--rise:clamp(16px,2.1vw,32px);margin-bottom:calc(var(--d,0) * var(--rise))}
.rung:nth-child(1){--d:0}.rung:nth-child(2){--d:1}.rung:nth-child(3){--d:2}
.rung:nth-child(4){--d:3}.rung:nth-child(5){--d:4}.rung:nth-child(6){--d:5}
.rung-cap{width:44px;height:50px;margin:0 auto -10px;background:var(--coral);color:#fff;display:grid;place-items:center;
  font-family:var(--display);font-weight:800;font-size:1.05rem;position:relative;z-index:3;
  clip-path:polygon(50% 0,100% 27%,100% 73%,50% 100%,0 73%,0 27%)}
.rung-panel{position:relative;background:var(--blue);color:#fff;min-height:130px;padding:26px 14px 18px;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  box-shadow:0 26px 46px -34px rgba(var(--ink-rgb),.65)}
.rung:nth-child(even) .rung-panel{background:var(--ink)}
.rung-fmt{font-family:var(--display);font-weight:700;font-size:clamp(.9rem,1vw,1.08rem);line-height:1.16;margin-top:10px}
.rung-meta{font-size:.74rem;color:var(--on-dark-soft);margin-top:7px;line-height:1.3}
.ladder-arrow{position:absolute;inset:0;z-index:1;pointer-events:none}
.ladder-arrow svg{width:100%;height:100%;display:block;overflow:visible}
.ladder-arrow .ln{fill:none;stroke:var(--coral);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.motion .ladder-arrow .ln{stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease)}
.motion .ladder.drawn .ladder-arrow .ln{stroke-dashoffset:0}
.ladder-modes{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;align-items:center;margin-top:clamp(34px,5vw,52px)}
.ladder-modes .mlabel{font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.dmode{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:600;color:var(--navy);font-size:1.02rem}
.dmode .bh{width:34px;height:38px;background:var(--coral);color:#fff;display:grid;place-items:center;flex:none;
  clip-path:polygon(50% 0,100% 27%,100% 73%,50% 100%,0 73%,0 27%)}
.dmode .bh svg{width:16px;height:16px}
@media(max-width:760px){
  .ladder{padding-top:0}
  .ladder-track{grid-template-columns:1fr;gap:12px}
  .rung{display:flex;align-items:center;gap:14px;margin-bottom:0}
  .rung-cap{margin:0;flex:none}
  .rung-panel{flex:1;flex-direction:row;align-items:baseline;text-align:left;gap:12px;min-height:0;padding:16px 18px}
  .rung-fmt{margin-top:0}
  .rung-meta{margin-top:0}
  .ladder-arrow{display:none}
}

/* Phase 2 — contact form on a light ground */
.cform input,.cform textarea{border:1px solid var(--line);background:var(--ground);color:var(--ink)}
.cform input::placeholder,.cform textarea::placeholder{color:var(--muted)}
.cform input:focus,.cform textarea:focus{border-color:var(--coral)}
.cform .consent{color:var(--muted)}
.cta-contact{border-top:1px solid var(--line)}
.cta-contact a{color:var(--navy)}
.cta-contact a svg{color:var(--coral)}

/* Phase 2c — contact page split panel (dark intro + light form), first-draft layout */
.contact-split{display:grid;grid-template-columns:1fr 1.15fr;border-radius:28px;overflow:hidden;
  box-shadow:0 40px 90px -56px rgba(var(--ink-rgb),.55)}
.csplit-intro{position:relative;overflow:hidden;background:var(--navy-900);display:flex;
  padding:clamp(36px,4.4vw,56px) clamp(30px,3.6vw,46px)}
.csplit-intro .honeycomb{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg width='56' height='100' viewBox='0 0 56 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 0L56 16v34L28 66 0 50V16z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3Cpath d='M28 66l28 16v34L28 132 0 116V82z' fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1.2'/%3E%3C/svg%3E")}
.csplit-intro-in{position:relative;z-index:2;display:flex;flex-direction:column;width:100%}
.csplit-intro h2{color:#fff;margin:16px 0 14px;font-size:clamp(1.6rem,2.6vw,2.15rem)}
.csplit-intro h2 em{color:var(--coral);font-style:normal}
.csplit-intro .lead{font-size:1rem;max-width:38ch}
.csplit-intro .checks{grid-template-columns:1fr;gap:12px;margin-top:clamp(24px,3vw,32px)}
.csplit-mark{margin-top:auto;padding-top:clamp(28px,4vw,44px);width:32px;height:auto;opacity:.65}
.csplit-form{background:var(--white);padding:clamp(36px,4.4vw,56px) clamp(30px,3.6vw,46px)}
.csplit-form .cform{max-width:none;margin:22px 0 0}
@media(max-width:760px){
  .contact-split{grid-template-columns:1fr;border-radius:22px}
}

/* ===== clear chevron divider between adjacent light sections ===== */
.divide{position:relative;border-top:1px solid var(--line-strong)}
.divide::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:16px solid var(--coral);z-index:4}

/* ===== compact accreditor wall (mandatory training) ===== */
.accreditors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:clamp(28px,4vw,42px)}
.acard{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px 14px;display:flex;flex-direction:column;
  align-items:center;gap:12px;text-align:center;box-shadow:0 18px 32px -30px rgba(var(--ink-rgb),.4);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.acard:hover{transform:translateY(-4px);box-shadow:0 30px 48px -34px rgba(var(--ink-rgb),.5)}
.acard .amono{width:58px;height:64px;display:grid;place-items:center;background:var(--blue);color:#fff;font-family:var(--display);
  font-weight:800;font-size:.82rem;letter-spacing:.01em;flex:none;clip-path:polygon(50% 0,100% 27%,100% 73%,50% 100%,0 73%,0 27%)}
.acard:nth-child(3n+2) .amono{background:var(--coral)}
.acard:nth-child(3n) .amono{background:var(--ink)}
.acard .alogo{height:64px;display:grid;place-items:center}
.acard .alogo img{max-height:52px;max-width:118px;width:auto;object-fit:contain}
.acard b{font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--navy);line-height:1.18}
@media(max-width:560px){.accreditors{grid-template-columns:1fr 1fr}}


/* ghost buttons on the dark CTA band: white at rest (were navy-on-navy, hard to see) */
.cta .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.cta .btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}


/* coral CTA (Built from the Mark "markcta"): white buttons + cobalt rising floor + white contact row */
.cta .eyebrow::before{background:#fff}
.cta .btn-primary{background:#fff;color:var(--coral-deep);box-shadow:0 14px 30px -14px rgba(12,43,89,.4)}
.cta .btn-primary:hover{background:var(--navy);color:#fff}
.cta .btn-ghost{border-color:#fff;color:#fff}
.cta .btn-ghost:hover{background:#fff;color:var(--coral-deep);border-color:#fff}
.cta .floor{position:absolute;left:0;right:0;bottom:0;height:36%;background:var(--blue);
  clip-path:polygon(0 26%,50% 0,100% 26%,100% 100%,0 100%);z-index:1}
.cta .cta-contact{border-top-color:rgba(255,255,255,.35)}
.cta .cta-contact a{color:#fff}
.cta .cta-contact a svg{color:#fff}

/* coral CTA em must stay white (overrides the global coral-em rule above) */
.cta h2 em{color:#fff}


/* ===== mandatory-training: courses as a clean editorial list (no boxes) ===== */
.courselist{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,5vw,64px);margin-top:clamp(28px,4vw,42px);border-top:2px solid var(--line-strong)}
.courselist .ci{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:16px 4px;border-bottom:1px solid var(--line)}
.courselist .cn{font-family:var(--display);font-weight:600;font-size:clamp(1.02rem,1.25vw,1.18rem);color:var(--navy);line-height:1.2}
.courselist .cd{display:inline-flex;align-items:center;gap:.55em;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--coral-deep);white-space:nowrap;flex:none}
.courselist .cd::before{content:"";width:10px;height:12px;background:var(--coral);flex:none;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.courselist .ci.soon .cn,.courselist .ci.soon .cd{color:var(--muted)}
.courselist .ci.soon .cd::before{background:var(--line-strong)}
@media(max-width:680px){.courselist{grid-template-columns:1fr}}


/* ===== footer: wide (full-width, not centred) with a trim inset + EE-hexagon watermark ===== */
.footer .wrap{position:relative;z-index:1;max-width:none;width:100%;margin-inline:0;padding-inline:var(--gutter)}
.footer::before{content:"";position:absolute;right:-30px;top:50%;transform:translateY(-50%);
  width:230px;height:250px;background:url("../img/logo-mark.png") no-repeat center/contain;opacity:.05;pointer-events:none;z-index:0}
@media(max-width:860px){.footer::before{width:180px;height:196px;right:-60px;opacity:.045}}
@media(max-width:600px){.footer::before{display:none}}


/* ===== "Trusted by" strip ===== */
.trustbar{display:flex;flex-direction:column;align-items:center;gap:clamp(3px,0.7vw,8px);text-align:center}
.trustbar .tb-label{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.trustbar .tb-names{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;font-family:var(--display);font-weight:600;color:var(--navy);font-size:clamp(1rem,1.4vw,1.18rem)}
.trustbar .tb-names span{position:relative;padding:4px 18px}
.trustbar .tb-names span:not(:last-child)::after{content:"";position:absolute;right:-3px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--coral)}
@media(max-width:600px){.trustbar .tb-names span{padding:3px 11px;font-size:.98rem}}

/* ===== Real Results: reviews wall (masonry) ===== */
.review-grid{columns:3 290px;column-gap:18px;margin-top:clamp(34px,5vw,52px)}
.review{break-inside:avoid;margin:0 0 18px;background:var(--white);border:1px solid var(--line);border-radius:20px;
  padding:clamp(24px,2.6vw,32px);box-shadow:0 30px 60px -48px rgba(var(--ink-rgb),.5)}
.review .rstars{color:var(--coral-deep);font-size:1rem;letter-spacing:4px;margin-bottom:14px}
.review .rquote{font-size:1.02rem;line-height:1.55;color:var(--ink);margin:0 0 18px}
.review .rsep{height:1px;background:var(--line);margin:0 0 16px}
.review .rperson{display:flex;align-items:center;gap:12px}
.review .ravatar{width:44px;height:50px;display:grid;place-items:center;color:#fff;flex:none;font-family:var(--display);font-weight:700;font-size:.95rem}
.review .rperson b{display:block;color:var(--navy);font-size:.98rem}
.review .rperson span{font-size:.84rem;color:var(--muted)}
@media(max-width:900px){.review-grid{columns:2 260px}}
@media(max-width:560px){.review-grid{columns:1}}


/* ===== featured pull-quote band (testimonials) ===== */
.bigquote-wrap{max-width:940px;margin-inline:auto;text-align:center}
.bigquote-mark{font-family:var(--display);font-weight:800;font-size:clamp(3rem,7vw,5.5rem);line-height:.5;color:var(--coral);margin-bottom:6px}
.bigquote{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.2;font-size:clamp(1.5rem,3.1vw,2.4rem);color:#fff;margin:0}
.bigquote-cite{margin-top:24px;font-weight:600;color:var(--on-dark-soft);font-size:.95rem}
.review-grid.solo{columns:1;max-width:560px;margin-inline:auto}

/* Testimonial persona photos */
.review .ravatar img{width:100%;height:100%;object-fit:cover}
.bigquote-person{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:28px}
.bigquote-person .bigquote-cite{margin-top:0}
.bq-avatar{width:66px;height:74px;flex:none;display:block;overflow:hidden;box-shadow:0 16px 32px -18px rgba(0,0,0,.7)}
.bq-avatar img{width:100%;height:100%;object-fit:cover}

/* Practitioner placeholder (real photo to follow) */
.prac-ph-empty{background:rgba(255,255,255,.05)}
.prac-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:rgba(255,255,255,.62);padding:24px}
.prac-placeholder svg{width:54px;height:54px;color:var(--coral);opacity:.92}
.prac-placeholder span{font-family:var(--display);font-weight:600;font-size:.98rem;line-height:1.35;letter-spacing:.01em}

/* Animated testimonial columns (infinite auto-scroll) */
.tcols{display:flex;justify-content:center;gap:clamp(16px,2vw,24px);margin-top:clamp(34px,5vw,52px);
  align-items:flex-start}
.tcol{flex:1 1 0;min-width:0;max-width:380px}
.tcol-inner{display:flex;flex-direction:column;gap:24px;padding-bottom:24px}
.tcol-inner .tdup{display:none}
.tccard .who .tlogo{display:flex;align-items:center;height:32px;flex:none}
.tccard .who .tlogo img{width:auto;height:24px;max-width:130px;object-fit:contain;border-radius:0}
.bq-logo{display:inline-flex;height:34px}
.bq-logo img{width:auto;height:34px;object-fit:contain;filter:brightness(0) invert(1)}
.tccard{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,2.6vw,32px);
  box-shadow:0 24px 50px -34px rgba(12,43,89,.30)}
.tccard p{font-size:1rem;line-height:1.6;color:var(--ink);margin:0}
.tccard .who{display:flex;align-items:center;gap:12px;margin-top:20px}
.tccard .who img,.tccard .who .tav{width:46px;height:46px;border-radius:50%;flex:none}
.tccard .who img{object-fit:cover}
.tccard .who .tav{display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:.02em}
.tccard .who b{display:block;color:var(--navy);font-size:.98rem;line-height:1.25}
.tccard .who span{font-size:.84rem;color:var(--muted);line-height:1.3}
@media(max-width:860px){
  .tcols{display:block;height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .tcol{max-width:560px;margin:0 auto 22px}
  .tcol-inner{animation:none;padding-bottom:0;gap:22px}
  .tccard.tdup{display:none}
}
@media(prefers-reduced-motion:reduce){
  .tcols{height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none;align-items:flex-start}
  .tcol-inner{animation:none;padding-bottom:0}
  .tccard.tdup{display:none}
}

/* ============ DROPDOWN NAVIGATION ============ */
.menu .navitem{position:relative;display:flex;align-items:center}
.menu .navlink{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.menu .navlink svg{width:12px;height:12px;opacity:.65;transition:transform .25s var(--ease)}
.menu .navitem:hover .navlink svg,.menu .navitem:focus-within .navlink svg{transform:rotate(180deg)}
.submenu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:250px;background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 30px 60px -34px rgba(var(--ink-rgb),.45);padding:10px;
  display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease);z-index:120}
.menu .navitem:hover .submenu,.menu .navitem:focus-within .submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.submenu::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.submenu a{padding:10px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--navy);opacity:.85;white-space:nowrap}
.submenu a::after{display:none}
.submenu a:hover,.submenu a:focus-visible{opacity:1;background:var(--mist);color:var(--coral-deep)}
/* mobile drawer groups */
.mobile-menu .mgroup-label{font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--coral-deep);padding:20px 2px 2px;border:0}
.mobile-menu a.msub{font-size:1rem;font-weight:500;opacity:.86;padding-left:16px}

/* ============ HOMEPAGE TAGLINE RIBBON ============ */
.tagline-ribbon{text-align:center;font-family:var(--display);font-weight:600;color:var(--navy);
  font-size:clamp(1.05rem,1.8vw,1.4rem);letter-spacing:-.01em;padding:6px 0}
.tagline-ribbon em{color:var(--coral)}

/* ============ HOMEPAGE ACCREDITATION ============ */
.home-accred{margin-top:clamp(44px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);align-items:start;max-width:940px;margin-inline:auto}
.ac-group{display:flex;flex-direction:column;align-items:center;position:relative}
.ac-group + .ac-group::before{content:"";position:absolute;left:calc(clamp(34px,5vw,72px) / -2);top:4px;bottom:4px;width:1px;background:var(--line)}
.ac-label{display:block;text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 20px;line-height:1.5}
.ac-row{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:clamp(16px,2vw,22px)}
.ac-badge{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:158px;max-width:232px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 26px;box-shadow:0 20px 44px -32px rgba(12,43,89,.42);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ac-badge:hover{transform:translateY(-3px);box-shadow:0 26px 52px -30px rgba(12,43,89,.48)}
.ac-badge img{height:50px;width:auto;max-width:100%;object-fit:contain;display:block}
.accred-band{background:var(--mist);padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
@media(max-width:720px){.home-accred{grid-template-columns:1fr;gap:0;max-width:520px}.ac-group + .ac-group::before{display:none}.ac-group + .ac-group{margin-top:34px;padding-top:34px;border-top:1px solid var(--line)}.ac-badge img{height:42px}}
/* hero-integrated accreditation strip (light bar flush at the hero base) */
.page-hero.has-accred{padding-bottom:0}
.hero-accred{margin-top:clamp(32px,5vw,52px);background:#fff;position:relative;z-index:2}
.hero-accred .wrap{display:flex;align-items:center;gap:clamp(16px,3vw,36px);flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
.hero-accred .ha-label{white-space:nowrap;color:#000}
.hero-accred .ha-logos{display:flex;align-items:center;gap:clamp(26px,4vw,54px);flex-wrap:wrap;margin-left:auto}
.hero-accred .ha-logos img{height:44px;width:auto;display:block}
@media(max-width:600px){.hero-accred .ha-label{white-space:normal}.hero-accred .ha-logos{margin-left:0}.hero-accred .ha-logos img{height:34px}}

/* ============ FAQ ACCORDION (native details) ============ */
.faq-wrap{max-width:840px;margin:clamp(34px,5vw,52px) auto 0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 4px;font-family:var(--display);font-weight:600;font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .fq-ic{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--mist);color:var(--coral-deep);font-size:1.2rem;line-height:1;
  transition:transform .3s var(--ease),background .3s,color .3s}
.faq-item[open] summary .fq-ic{transform:rotate(45deg);background:var(--coral);color:#fff}
.faq-item .faq-a{padding:0 4px 24px;color:var(--muted);line-height:1.65;max-width:74ch}
.faq-item .faq-a p{margin:0 0 10px}
.faq-item .faq-a ul{margin:8px 0 0;padding-left:18px}
.faq-item .faq-a li{margin:5px 0}

/* ============ PAGE HERO WITH PHOTO BACKGROUND ============ */
.page-hero.has-photo{position:relative;overflow:hidden}
.page-hero.has-photo .ph-bg{position:absolute;inset:0;z-index:0}
.page-hero.has-photo .ph-bg img{width:100%;height:100%;object-fit:cover}
.page-hero.has-photo .ph-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(6,18,47,.92) 0%,rgba(12,43,89,.82) 46%,rgba(38,51,165,.55) 100%)}
.page-hero.has-photo .wrap{position:relative;z-index:1}

/* ===== STAT CALLOUTS (big numbers, pulled out of prose) ===== */
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(22px,4vw,46px);margin-top:clamp(8px,2vw,16px)}
.stat .num{display:block;font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:.98;
  font-size:clamp(2.3rem,4.6vw,3.5rem);color:var(--coral)}
.stat .lbl{display:block;margin-top:12px;color:var(--muted);font-size:.95rem;line-height:1.45;max-width:32ch}
.on-dark .stat .num{color:#fff}
.on-dark .stat .num em{color:var(--coral);font-style:normal}
.on-dark .stat .lbl{color:var(--muted-on-dark)}

/* ===== CHECK GRID (scannable list, replaces long <ul>) ===== */
ul.checks{list-style:none;padding:0;margin:clamp(22px,3vw,34px) 0 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:13px 32px}
ul.checks li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;line-height:1.5;color:var(--ink)}
ul.checks li::before{content:"";flex:none;width:13px;height:15px;margin-top:5px;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.on-dark ul.checks li{color:#fff}

/* ===== SHIFT ROWS (from -> to): flat editorial rows, no bubbles ===== */
.shifts{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:0 52px;
  margin-top:clamp(22px,3vw,34px);border-top:1px solid var(--line)}
.shift{display:flex;align-items:center;gap:12px;padding:16px 2px;border-bottom:1px solid var(--line)}
.shift .from{color:var(--muted);font-size:.96rem}
.shift .arr{color:var(--coral);flex:none;display:inline-flex}
.shift .arr svg{width:18px;height:18px}
.shift .to{color:var(--navy);font-weight:600;font-size:1rem}
.on-dark .shifts{border-top-color:var(--line-on-dark)}
.on-dark .shift{border-bottom-color:var(--line-on-dark)}
.on-dark .shift .from{color:var(--muted-on-dark)}
.on-dark .shift .to{color:#fff}

/* ===== MEDIA ROW (image + text) ===== */
.media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.media .m-img{border-radius:22px;overflow:hidden;box-shadow:0 44px 84px -52px rgba(12,43,89,.55);aspect-ratio:4/3}
.media .m-img img{width:100%;height:100%;object-fit:cover;display:block}
.media.rev .m-img,.media.rev .prac-fig{order:2}
.media .m-copy .head{margin-bottom:0}
.media .m-copy .head + .prose,.media .m-copy .head + p{margin-top:clamp(16px,1.8vw,22px)}
.media .m-copy p{max-width:54ch;margin-bottom:16px}
.media .m-copy p:last-child{margin-bottom:0}
.media .m-copy .ticks{grid-template-columns:1fr}
@media(max-width:860px){.media{grid-template-columns:1fr;gap:24px}.media.rev .m-img,.media.rev .prac-fig{order:0}}

/* ===== TABSET (declutter dense sections: one tidy panel at a time) ===== */
.tabset{margin-top:clamp(26px,3.5vw,40px)}
.tabset-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:5px;background:var(--mist);border-radius:999px}
.tab{appearance:none;border:0;background:none;cursor:pointer;font-family:inherit;font-weight:600;font-size:.95rem;
  color:var(--muted);padding:10px 22px;border-radius:999px;transition:background .25s var(--ease),color .25s}
.tab[aria-selected="true"]{background:var(--coral);color:var(--navy)}
.tab:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.tabset-panels{margin-top:clamp(20px,2.6vw,28px)}
.tabset:not(.js-ready) .tabset-tabs{display:none}
.tabset:not(.js-ready) .tabpanel + .tabpanel{margin-top:26px}
.tabpanel{display:block}
.tabset.js-ready .tabpanel{display:none}
.tabset.js-ready .tabpanel.active{display:block;animation:tabfade .35s var(--ease)}
@keyframes tabfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tabpanel .shifts,.tabpanel ul.checks{margin-top:0}
.on-dark .tabset-tabs{background:rgba(255,255,255,.1)}
.on-dark .tab{color:var(--muted-on-dark)}
.on-dark .tab[aria-selected="true"]{background:var(--coral);color:var(--navy)}

/* ===== CAPABILITY TABLE (prototype) ===== */
.captable{width:100%;border-collapse:collapse;margin-top:clamp(26px,3.5vw,40px);font-size:.98rem}
.captable thead th{text-align:left;font-family:var(--display);font-weight:700;color:var(--navy);font-size:.76rem;
  letter-spacing:.1em;text-transform:uppercase;padding:0 18px 14px;border-bottom:2px solid var(--coral)}
.captable td{padding:18px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted);line-height:1.55}
.captable tbody tr{transition:background .25s var(--ease)}
.captable tbody tr:hover{background:var(--mist)}
.captable .cap{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.04rem;display:flex;align-items:center;gap:12px}
.captable .cap .ic{flex:none;width:34px;height:38px;background:var(--coral);color:#fff;display:grid;place-items:center;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.captable .cap .ic svg{width:17px;height:17px}
.captable .cap-out{color:var(--coral-deep);font-weight:600}
@media(max-width:780px){
  .captable,.captable tbody,.captable tr,.captable td{display:block;width:100%}
  .captable thead{display:none}
  .captable tr{border:1px solid var(--line);border-radius:16px;margin-bottom:14px;padding:8px 6px;background:var(--white)}
  .captable td{border:0;padding:8px 16px}
}

/* ===== BENTO GRID (prototype) ===== */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:clamp(26px,3.5vw,40px)}
.bento .bcard{grid-column:span 2;background:var(--white);border:1px solid var(--line);border-radius:22px;
  padding:clamp(22px,2.6vw,30px);box-shadow:0 30px 60px -52px rgba(12,43,89,.42);transition:transform .3s var(--ease),box-shadow .3s}
.bento .bcard:hover{transform:translateY(-4px);box-shadow:0 46px 76px -48px rgba(12,43,89,.48)}
.bento .bcard.wide{grid-column:span 3}
.bento .bcard.full{grid-column:span 6;background:linear-gradient(150deg,var(--royal),var(--navy));color:#fff;border:0}
.bento .bcard .ic{width:48px;height:54px;background:var(--coral);color:#fff;display:grid;place-items:center;margin-bottom:16px;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.bento .bcard .ic svg{width:22px;height:22px}
.bento .bcard h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.18rem;margin-bottom:8px}
.bento .bcard.full h3{color:#fff;font-size:clamp(1.4rem,2.4vw,1.9rem)}
.bento .bcard p{color:var(--muted);font-size:.96rem;line-height:1.55}
.bento .bcard.full p{color:var(--muted-on-dark);max-width:60ch}
@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}.bento .bcard,.bento .bcard.wide{grid-column:span 2}.bento .bcard.full{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bento .bcard,.bento .bcard.wide,.bento .bcard.full{grid-column:span 1}}

/* ===== PAIN PILLS: compact, dense capability/pain chips ===== */
.painbento{display:grid;grid-template-columns:repeat(auto-fit,minmax(244px,1fr));gap:12px;margin-top:clamp(26px,3.5vw,40px)}
.pcard{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:13px;
  padding:13px 17px;opacity:0;transform:translateY(16px);
  transition:opacity .5s var(--ease),transform .5s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.pcard.in{opacity:1;transform:none}
.pcard:hover{border-color:rgba(246,131,79,.6);box-shadow:0 16px 32px -24px rgba(12,43,89,.5)}
.pcard .ic{flex:none;width:32px;height:36px;background:var(--coral);color:#fff;display:grid;place-items:center;margin:0;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.pcard .ic svg{width:16px;height:16px}
.pcard h4{font-family:var(--display);font-weight:600;color:var(--navy);font-size:.97rem;line-height:1.3;margin:0}
.pcard p{display:none}
.on-dark .pcard{background:rgba(255,255,255,.05);border-color:var(--line-on-dark)}
.on-dark .pcard h4{color:#fff}
@media(prefers-reduced-motion:reduce){.pcard{opacity:1;transform:none}}

/* ===== LAW COMPARE: animated "shrinking window" bars ===== */
.lawcompare{margin-top:clamp(30px,4vw,46px);max-width:780px}
.lawbar{margin-bottom:28px}
.lawbar:last-child{margin-bottom:0}
.lawbar .lb-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:11px}
.lawbar .lb-label{font-weight:700;color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.lawbar.now .lb-label{color:var(--coral-deep)}
.lawbar .lb-val{font-family:var(--display);font-weight:800;letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--navy);line-height:1}
.lawbar.now .lb-val{color:var(--coral)}
.lawbar .lb-track{height:16px;background:var(--mist);border-radius:999px;overflow:hidden}
.lawbar .lb-fill{height:100%;border-radius:999px;width:0;transition:width 1.25s cubic-bezier(.22,1,.36,1)}
.lawbar .lb-fill.was{background:#c6d0e4}
.lawbar .lb-fill.is{background:linear-gradient(90deg,var(--coral),var(--coral-deep))}
.lawcompare .lb-fill.was{width:100%}
.lawcompare .lb-fill.is{width:25%}
.lawcompare.armed .lb-fill{width:0}
.lawcompare.armed.in .lb-fill.was{width:100%}
.lawcompare.armed.in .lb-fill.is{width:25%}
@media(prefers-reduced-motion:reduce){.lawcompare.armed .lb-fill{transition:none}}

/* ===== HEX CYCLE: auto-rotating capability selector ===== */
.hexcycle{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center;margin-top:clamp(30px,4vw,50px)}
.hc-stage{position:relative;width:min(100%,440px);aspect-ratio:1/1;margin:0 auto;--r:167px}
.hc-rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hc-rings .ring{fill:none;stroke:var(--line);stroke-width:.6}
.hc-rings .hexring{fill:none;stroke:var(--line);stroke-width:.8;transform-origin:50% 50%;animation:hcspin 34s linear infinite}
.hc-rings .hexring2{fill:none;stroke:rgba(246,131,79,.35);stroke-width:.8;stroke-dasharray:3 5;transform-origin:50% 50%;animation:hcspin 22s linear infinite reverse}
@keyframes hcspin{to{transform:rotate(360deg)}}
.hc-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:98px;height:110px;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--royal),var(--navy));color:#fff;text-align:center;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);box-shadow:0 24px 44px -22px rgba(12,43,89,.6)}
.hc-hub .hb-num{font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:1}
.hc-hub .hb-tot{font-size:.74rem;opacity:.7;letter-spacing:.1em}
.hc-node{position:absolute;top:50%;left:50%;width:60px;height:68px;border:0;background:none;padding:0;cursor:pointer;
  transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--r)) rotate(calc(-1*var(--a)))}
.hc-node .hh{width:52px;height:58px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--royal);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:transform .35s var(--ease),background .35s,color .35s,box-shadow .35s}
.hc-node .hh svg{width:22px;height:22px}
.hc-node:hover .hh{transform:scale(1.08)}
.hc-node.active .hh{background:var(--coral);color:#fff;transform:scale(1.22);box-shadow:0 18px 32px -14px rgba(246,131,79,.75)}
.hc-detail{min-height:236px}
.hc-detail .d-ey{font-weight:700;color:var(--coral-deep);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.hc-detail .d-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.1;margin:10px 0 14px}
.hc-detail .d-build{color:var(--muted);font-size:1.02rem;line-height:1.6;margin:0 0 16px;max-width:46ch}
.hc-detail .d-out{display:inline-flex;align-items:center;gap:9px;color:var(--coral-deep);font-weight:600;font-size:1rem}
.hc-detail .d-out::before{content:"";flex:none;width:13px;height:15px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.hc-fade{animation:hcfade .45s var(--ease)}
@keyframes hcfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hc-dots{display:flex;gap:9px;margin-top:24px}
.hc-dots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--line);cursor:pointer;padding:0;transition:background .3s,transform .3s}
.hc-dots button.active{background:var(--coral);transform:scale(1.35)}
.on-dark .hc-node .hh{background:rgba(255,255,255,.08);border-color:var(--line-on-dark);color:#fff}
.on-dark .hc-detail .d-name{color:#fff}
.on-dark .hc-detail .d-build{color:var(--muted-on-dark)}
@media(max-width:860px){.hexcycle{grid-template-columns:1fr;gap:30px}.hc-stage{width:min(86vw,340px);--r:128px}.hc-detail{text-align:center}.hc-detail .d-build{margin-inline:auto}.hc-dots{justify-content:center}}
@media(prefers-reduced-motion:reduce){.hc-rings .hexring,.hc-rings .hexring2{animation:none}}

/* ===== VERSUS: old-way vs our-way comparison ===== */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(28px,4vw,44px)}
.vcard{border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,34px);background:var(--white)}
.vcard.old{background:var(--mist);border-color:transparent}
.vcard.our{border-color:rgba(246,131,79,.5);box-shadow:0 34px 64px -48px rgba(12,43,89,.45)}
.vcard .v-tag{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vcard.our .v-tag{color:var(--coral-deep)}
.vcard h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.2rem,1.8vw,1.45rem);margin:8px 0 18px}
.vlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vlist li{display:flex;gap:12px;align-items:flex-start;font-size:.99rem;line-height:1.5}
.vlist li::before{flex:none;font-weight:800;margin-top:1px}
.vlist.no li{color:var(--muted)}
.vlist.no li::before{content:"\2715";color:#aab4cc}
.vlist.yes li{color:var(--ink)}
.vlist.yes li::before{content:"\2713";color:var(--coral)}
@media(max-width:760px){.versus{grid-template-columns:1fr}}

/* ===== DELIVERY FORMAT SELECTOR: depth spectrum ===== */
.dformats{margin-top:clamp(34px,4.5vw,56px)}
.df-track{position:relative;display:flex;justify-content:space-between;gap:10px;padding:0 4px}
.df-track::before{content:"";position:absolute;left:4px;right:4px;top:11px;height:3px;background:var(--line);border-radius:3px}
.df-fill{position:absolute;left:4px;top:11px;height:3px;width:8%;background:linear-gradient(90deg,var(--coral),var(--coral-deep));border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.df-stop{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;background:none;border:0;padding:0;cursor:pointer;font:inherit}
.df-dot{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--line);transition:transform .3s,border-color .3s,box-shadow .3s}
.df-stop:hover .df-dot{border-color:var(--coral)}
.df-stop.is-active .df-dot{border-color:var(--coral-deep);background:var(--coral);transform:scale(1.2);box-shadow:0 0 0 6px rgba(246,131,79,.16)}
.df-lab{font-size:.82rem;font-weight:600;color:var(--muted);text-align:center;line-height:1.25;max-width:13ch;transition:color .25s}
.df-stop:hover .df-lab,.df-stop.is-active .df-lab{color:var(--navy)}
.df-ends{display:flex;justify-content:space-between;margin-top:14px;padding:0 2px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.df-stage{margin-top:clamp(26px,3vw,38px);border:1px solid var(--line);border-radius:24px;background:var(--white);padding:clamp(26px,3.4vw,42px);box-shadow:0 36px 70px -54px rgba(12,43,89,.5)}
.df-panel{display:none}
.df-panel.is-active{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,40px);align-items:start;animation:dfin .45s ease}
@keyframes dfin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.df-ic{flex:none;width:64px;height:72px;background:var(--coral);display:grid;place-items:center;color:#fff;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.df-ic svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.df-tag{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-deep);background:rgba(246,131,79,.1);padding:6px 13px;border-radius:999px}
.df-panel h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.45rem,2.4vw,1.95rem);margin:15px 0 10px}
.df-desc{color:var(--muted);font-size:1.03rem;line-height:1.55;max-width:56ch;margin:0}
.df-meter{display:flex;align-items:center;gap:7px;margin-top:22px}
.df-meter i{width:38px;height:9px;border-radius:5px;background:var(--line);transition:background .4s}
.df-meter b{margin-left:12px;font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--navy)}
.df-meter[data-depth="1"] i:nth-child(-n+1),
.df-meter[data-depth="2"] i:nth-child(-n+2),
.df-meter[data-depth="3"] i:nth-child(-n+3),
.df-meter[data-depth="4"] i:nth-child(-n+4),
.df-meter[data-depth="5"] i:nth-child(-n+5){background:linear-gradient(90deg,var(--coral),var(--coral-deep))}
.df-note{display:flex;gap:14px;align-items:flex-start;margin-top:clamp(22px,3vw,32px);padding:18px 22px;border-radius:16px;background:var(--mist);border:1px solid var(--line)}
.df-note svg{flex:none;width:22px;height:22px;color:var(--coral-deep);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.df-note p{margin:0;color:var(--navy);font-size:.97rem;line-height:1.55}
@media(max-width:760px){
  .df-track{flex-direction:column;align-items:stretch;gap:0;padding:0}
  .df-track::before{left:11px;right:auto;top:0;bottom:0;width:3px;height:auto}
  .df-fill{display:none}
  .df-stop{flex-direction:row;align-items:center;gap:14px;padding:11px 0}
  .df-lab{text-align:left;max-width:none;font-size:.95rem}
  .df-ends{display:none}
  .df-panel.is-active{grid-template-columns:1fr}
  .df-ic{width:54px;height:60px}
}

/* ===== MBTI: preference pairs explainer ===== */
.dichos{display:grid;gap:16px;margin-top:clamp(34px,4.5vw,52px)}
.dicho-cap{display:block;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding-left:4px}
.dicho-pair{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.dp{display:flex;align-items:center;gap:15px;padding:18px 22px}
.dp-a{background:var(--white)}
.dp-b{background:var(--mist);flex-direction:row-reverse;text-align:right;border-left:1px solid var(--line)}
.dp-let{flex:none;width:46px;height:52px;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.3rem;color:#fff;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.dp-a .dp-let{background:var(--royal)}
.dp-b .dp-let{background:var(--coral)}
.dp-t b{display:block;color:var(--navy);font-size:1.06rem;font-weight:700;line-height:1.2}
.dp-t span{display:block;color:var(--muted);font-size:.88rem;line-height:1.4;margin-top:3px}
.dicho-eg{margin-top:clamp(28px,3.6vw,42px);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.dicho-eg>p{margin:0;color:var(--navy);font-size:1.06rem;max-width:54ch}
.dicho-egnote{color:var(--muted);font-size:.95rem;max-width:60ch;line-height:1.55}
.mbti-type{display:flex;gap:12px}
.mbti-type b{width:62px;height:70px;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.9rem;color:#fff;background:var(--royal);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.mbti-type b:nth-child(2){background:var(--coral)}
.mbti-type b:nth-child(3){background:var(--coral-deep)}
.mbti-type b:nth-child(4){background:var(--navy)}
@media(max-width:620px){
  .dicho-pair{grid-template-columns:1fr}
  .dp-b{flex-direction:row;text-align:left;border-left:0;border-top:1px solid var(--line)}
  .mbti-type b{width:54px;height:62px;font-size:1.6rem}
}

/* ===== FLOW: connected process steps ===== */
.flow{list-style:none;margin:clamp(30px,4vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.flow-step{position:relative;padding:0 16px;text-align:center}
.flow-step::before{content:"";position:absolute;top:26px;left:50%;right:-50%;height:2px;background:var(--line);z-index:0}
.flow-step:last-child::before{display:none}
.fs-n{position:relative;z-index:1;width:54px;height:54px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:var(--white);border:2px solid var(--coral);color:var(--coral-deep);font-family:var(--display);font-weight:800;font-size:1.15rem}
.flow-step h4{font-size:1.02rem;color:var(--navy);margin:0}
@media(max-width:680px){
  .flow{grid-template-columns:1fr}
  .flow-step{display:grid;grid-template-columns:54px 1fr;align-items:center;text-align:left;gap:16px;padding:9px 0}
  .flow-step::before{top:54px;bottom:-9px;left:26px;right:auto;width:2px;height:auto}
  .fs-n{margin:0}
}

/* ===== OFFERS: three ways to start (non-boxed columns) ===== */
.offers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(30px,4vw,46px)}
.offer{padding:0 clamp(22px,2.6vw,36px);display:flex;flex-direction:column}
.offer:first-child{padding-left:0}
.offer:last-child{padding-right:0}
.offer+.offer{border-left:1px solid var(--line)}
.offer .of-n{width:40px;height:40px;border-radius:50%;background:var(--mist);display:grid;place-items:center;font-family:var(--display);font-weight:800;color:var(--coral-deep);font-size:1rem;margin-bottom:18px}
.offer h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.2rem,1.8vw,1.4rem);margin:0 0 14px;line-height:1.2}
.offer ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:9px;flex:1}
.offer li{position:relative;padding-left:20px;color:var(--muted);font-size:.93rem;line-height:1.5}
.offer li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:10px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.offer .of-go{display:inline-flex;align-items:center;gap:.5em;font-weight:700;color:var(--coral-deep);text-decoration:none;font-size:.95rem;margin-top:auto}
.offer .of-go svg{width:1em;height:1em;transition:transform .3s}
.offer .of-go:hover svg{transform:translateX(4px)}
.offer .of-suit{font-size:.86rem;line-height:1.45;color:var(--muted);margin:16px 0 18px;padding-top:14px;border-top:1px solid var(--line)}
.offer .of-suit b{color:var(--navy);font-weight:700}
@media(max-width:820px){
  .offers{grid-template-columns:1fr}
  .offer{padding:clamp(22px,4vw,28px) 0 0}
  .offer:first-child{padding-top:0}
  .offer+.offer{border-left:0;border-top:1px solid var(--line)}
}

/* ===== PRICE TABLE: simple, non-boxed guidance table ===== */
.pricetable{width:100%;border-collapse:collapse;margin-top:clamp(26px,3.5vw,40px);font-size:.98rem}
.pricetable thead th{text-align:left;font-family:var(--display);font-weight:700;color:var(--navy);font-size:.76rem;
  letter-spacing:.08em;text-transform:uppercase;padding:0 18px 14px;border-bottom:2px solid var(--line)}
.pricetable thead th:last-child{text-align:right}
.pricetable td{padding:20px 18px;border-bottom:1px solid var(--line);vertical-align:middle}
.pricetable tbody tr{transition:background .25s var(--ease)}
.pricetable tbody tr:hover{background:var(--mist)}
.pricetable .pt-service{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.03rem}
.pricetable .pt-price{text-align:right;color:var(--coral-deep);font-weight:700;font-size:1.05rem;white-space:nowrap}


/* ===== TESTIMONIALS: unified voices wall (featured + masonry) ===== */
.voices-wall{display:grid;grid-template-columns:1.02fr 1.98fr;gap:clamp(18px,2vw,28px);align-items:stretch;margin-top:clamp(30px,4vw,48px)}
.voices-list{columns:2;column-gap:clamp(18px,2vw,28px)}
.vcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,2.3vw,30px);box-shadow:0 26px 54px -40px rgba(12,43,89,.34);position:relative}
.voices-list .vcard{break-inside:avoid;margin-bottom:clamp(18px,2vw,28px)}
.vcard blockquote{margin:0;font-size:1rem;line-height:1.62;color:var(--ink)}
.vstars{color:var(--coral);letter-spacing:3px;font-size:.85rem;margin-bottom:12px}
.vwho{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.vwho .vav{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--display);font-weight:700;font-size:.95rem}
.vwho .vlogo{flex:none;display:flex;align-items:center;height:30px;min-width:46px}
.vwho .vlogo img{height:24px;width:auto;max-width:130px;object-fit:contain}
.vwho .vmeta b{display:block;color:var(--navy);font-size:.96rem;line-height:1.25}
.vwho .vmeta span{font-size:.82rem;color:var(--muted);line-height:1.35}
.voices-feature{display:flex;flex-direction:column;justify-content:space-between;gap:22px;background:var(--navy);border-color:transparent;color:#fff;overflow:hidden;padding:clamp(30px,3.2vw,48px)}
.voices-feature .vqmark{font-family:var(--display);font-weight:800;font-size:clamp(3.4rem,6vw,5rem);line-height:.4;color:var(--coral);display:block;margin-bottom:16px}
.voices-feature blockquote{font-family:var(--display);font-weight:600;letter-spacing:-.01em;font-size:clamp(1.35rem,2vw,1.95rem);line-height:1.25;color:#fff}
.voices-feature .vwho{border-top-color:rgba(255,255,255,.16)}
.voices-feature .vmeta b{color:#fff}
.voices-feature .vmeta span{color:rgba(255,255,255,.72)}
.vlogo-inv img{filter:brightness(0) invert(1)}
.voices-feature .vhex{position:absolute;right:-40px;bottom:-44px;width:196px;height:224px;background:rgba(246,131,79,.14);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);pointer-events:none}
@media(max-width:900px){.voices-wall{grid-template-columns:1fr}.voices-list{columns:1;max-width:640px}}


/* ===== TESTIMONIALS: spotlight carousel (one at a time) ===== */
.spotlight{margin-top:clamp(30px,4vw,50px)}
.sp-track{position:relative;transition:height .5s var(--ease)}
.sp-slide{position:absolute;top:0;left:0;width:100%;display:grid;grid-template-columns:minmax(220px,.82fr) 1.18fr;gap:clamp(26px,3.6vw,56px);align-items:center;
  opacity:0;visibility:hidden;transform:translateY(16px) scale(.992);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.sp-slide.active{opacity:1;visibility:visible;transform:none}
.sp-visual{display:flex;align-items:center;justify-content:center;min-height:clamp(140px,18vw,200px);padding:6px}
.sp-visual .sp-logo{display:flex;align-items:center;justify-content:center;width:100%}
.sp-visual .sp-logo img{max-height:clamp(66px,8.5vw,102px);max-width:80%;width:auto;height:auto;object-fit:contain;display:block}
.sp-visual .sp-face{width:clamp(118px,15vw,156px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid rgba(246,131,79,.9);box-shadow:0 24px 48px -26px rgba(12,43,89,.42)}
.sp-visual .sp-face img{width:100%;height:100%;object-fit:cover;display:block}
.sp-visual .sp-hex{position:absolute;width:150%;height:150%;left:-38%;bottom:-52%;background:rgba(246,131,79,.16);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);pointer-events:none}
.sp-body .sp-mark{font-family:var(--display);font-weight:800;font-size:clamp(3rem,5vw,4.6rem);line-height:.35;color:var(--coral);display:block;margin-bottom:14px}
.sp-body blockquote{margin:0;font-family:var(--display);font-weight:600;letter-spacing:-.012em;font-size:clamp(1.2rem,1.95vw,1.85rem);line-height:1.32;color:var(--navy)}
.sp-cite{margin-top:clamp(20px,2.4vw,28px)}
.sp-cite b{display:block;color:var(--navy);font-size:1.05rem;line-height:1.3}
.sp-cite span{color:var(--muted);font-size:.92rem}
.sp-controls{display:flex;align-items:center;gap:18px;margin-top:clamp(28px,3.4vw,42px)}
.sp-arrow{flex:none;width:50px;height:50px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.sp-arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.sp-arrow:active{transform:scale(.94)}
.sp-arrow svg{width:20px;height:20px}
.sp-dots{display:flex;align-items:center;gap:9px;justify-content:center;flex:1}
.sp-dots button{height:9px;width:9px;border:0;padding:0;border-radius:100px;background:var(--line-strong);cursor:pointer;transition:width .3s var(--ease),background .3s var(--ease)}
.sp-dots button:hover{background:var(--muted)}
.sp-dots button.active{width:32px;background:var(--coral)}
@media(max-width:760px){
  .sp-slide{grid-template-columns:1fr;gap:24px}
  .sp-visual{aspect-ratio:16/10;max-width:340px}
  .sp-controls{gap:12px}
}
/* spotlight: no-JS fallback — show all testimonials stacked, hide controls */
.no-js .sp-track{height:auto!important}
.no-js .sp-slide{position:relative;opacity:1;visibility:visible;transform:none;margin-bottom:clamp(26px,4vw,44px)}
.no-js .sp-controls{display:none}

/* new-manager checklist: 3-col numbered card grid + card descriptions */
.modcard p{margin:10px 0 0;font-size:.95rem;line-height:1.55;color:var(--muted)}
.modgrid.g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.modgrid.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.modgrid.g3{grid-template-columns:1fr}}


/* ===== "delivered sessions for" — scrolling logo marquee ===== */
.logo-marquee{width:100%;overflow:hidden;margin-top:clamp(2px,0.5vw,7px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.lm-track{display:flex;align-items:center;gap:0;width:max-content;animation:scrollx 34s linear infinite}
.logo-marquee:hover .lm-track{animation-play-state:paused}
.lm-item{flex:none;display:flex;align-items:center;justify-content:center;padding-inline:clamp(22px,3.2vw,52px);height:84px}
.lm-item img{height:clamp(42px,4.6vw,62px);width:auto;max-width:280px;object-fit:contain;display:block}
@media(prefers-reduced-motion:reduce){.lm-track{animation:none;flex-wrap:wrap;justify-content:center}.logo-marquee{-webkit-mask-image:none;mask-image:none}}

/* ===== featured article card (Insights) ===== */
.feat-article{display:grid;grid-template-columns:minmax(200px,300px) 1fr;width:100%;text-align:left;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;cursor:pointer;padding:0;font:inherit;color:inherit;box-shadow:0 34px 66px -52px rgba(12,43,89,.5);transition:transform .3s var(--ease),box-shadow .3s var(--ease);margin-bottom:clamp(34px,4.5vw,52px)}
.feat-article:hover{transform:translateY(-4px);box-shadow:0 48px 88px -46px rgba(12,43,89,.55)}
.feat-article:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
/* the partner lockup owns this panel, so it stays plain: no gradient, no
   hexagon. The IHSCM PNG has an opaque white ground, so a white panel lets
   it sit flush instead of showing as a pasted-on white box. */
.fa-media{position:relative;background:#fff;border-right:1px solid var(--line);min-height:210px;
  display:grid;place-items:center;padding:clamp(30px,3.2vw,38px);overflow:hidden}
.fa-tag{position:absolute;top:16px;left:16px;z-index:2;font-family:var(--display);font-weight:700;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--navy-900);padding:6px 11px;border-radius:20px}
/* partner credit (IHSCM) — fills the featured-article media panel */
.fa-partner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(12px,1.6vw,18px);width:100%;height:100%}
.fa-partner-label{font-family:var(--display);font-weight:700;font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--coral);text-align:center;line-height:1.3}
.fa-partner img{display:block;width:100%;max-width:216px;height:auto}
@media(max-width:680px){
  /* panel goes full width and short, so pad the top to clear the
     absolutely-positioned "Latest article" chip */
  .fa-media{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:60px 24px 30px}
  .fa-partner img{max-width:186px}
}

.fa-copy{padding:clamp(24px,3.2vw,40px);display:flex;flex-direction:column;gap:11px;justify-content:center}
.fa-copy .k{font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--coral)}
.fa-title{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.25rem,2.1vw,1.7rem);line-height:1.2;letter-spacing:-.01em}
.fa-desc{color:var(--muted);line-height:1.6;font-size:1rem;max-width:60ch}
.fa-copy .go{display:inline-flex;align-items:center;gap:.5em;font-weight:700;color:var(--coral-deep);font-size:.98rem;margin-top:4px}
.fa-copy .go svg{width:1em;height:1em;transition:transform .3s}
.feat-article:hover .fa-copy .go svg{transform:translateX(4px)}
@media(max-width:680px){.feat-article{grid-template-columns:1fr}.fa-media{min-height:140px}}

/* ===== article modal ===== */
body.am-lock{overflow:hidden}
.article-modal{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;padding:clamp(14px,4vw,56px)}
.article-modal.open{display:flex}
.am-backdrop{position:absolute;inset:0;background:rgba(6,18,47,.64);backdrop-filter:blur(3px);cursor:pointer}
.am-panel{position:relative;z-index:1;background:#fff;width:min(880px,100%);max-height:calc(100dvh - clamp(28px,8vw,112px));overflow-y:auto;overscroll-behavior:contain;border-radius:26px;box-shadow:0 60px 130px -40px rgba(6,18,47,.72);animation:amrise .42s var(--ease) both;-webkit-overflow-scrolling:touch}
.article-modal.open{overscroll-behavior:contain;touch-action:none}
.am-panel{touch-action:pan-y}
@keyframes amrise{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
.am-top{position:sticky;top:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(16px,2.6vw,22px) clamp(22px,4vw,46px);border-bottom:1px solid var(--line);z-index:3}
.am-kick{font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);display:inline-flex;align-items:center;gap:9px}
.am-kick::before{content:"";width:12px;height:14px;flex:none;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.am-close{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:.2s var(--ease)}
.am-close:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.am-close svg{width:18px;height:18px}
.am-body{padding:clamp(24px,4vw,52px)}
.am-eyebrow{display:inline-flex;font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--coral);margin-bottom:12px}
.am-body h1,.am-body .am-title{font-family:var(--display);font-weight:800;color:var(--navy);font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.12;letter-spacing:-.015em;margin:0 0 14px;overflow-wrap:break-word}
.am-body h1 em,.am-body .am-title em{color:var(--coral);font-style:normal}
.am-meta{color:var(--muted);font-size:.92rem;line-height:1.5;margin:0 0 clamp(22px,3vw,32px);padding-bottom:clamp(20px,2.8vw,28px);border-bottom:1px solid var(--line)}
/* partner credit (IHSCM) inside the article modal */
.am-partner{display:flex;align-items:center;gap:clamp(14px,2vw,22px);flex-wrap:wrap;
  margin:0 0 clamp(26px,3.4vw,36px);padding:15px 20px;background:#fff;
  border:1px solid var(--line);border-radius:14px}
.am-partner-label{font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted);flex:none}
.am-partner img{display:block;height:58px;width:auto;flex:none}
@media(max-width:600px){.am-partner img{height:44px}}

.am-article h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.2;margin:clamp(28px,3.6vw,40px) 0 10px}
.am-article p{color:var(--ink);line-height:1.78;margin:0 0 18px;font-size:1.03rem;max-width:70ch}
.am-pull{border-left:4px solid var(--coral);background:var(--mist);border-radius:0 18px 18px 0;padding:clamp(22px,3.2vw,34px);margin:clamp(28px,4vw,42px) 0 0;font-family:var(--display);font-weight:600;color:var(--navy);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.42}
.am-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(30px,4vw,44px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--line)}
@media(prefers-reduced-motion:reduce){.am-panel{animation:none}}

/* ---------- LEGAL / POLICY LONG-FORM ---------- */
.legal{max-width:78ch}
.legal h2{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.25;margin:clamp(34px,4vw,46px) 0 14px}
.legal h2:first-child{margin-top:0}
.legal h3{font-family:var(--display);font-weight:600;color:var(--navy);font-size:1.02rem;margin:26px 0 10px}
.legal p{margin:0 0 14px;color:var(--muted);line-height:1.72}
.legal ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px}
.legal li{color:var(--muted);line-height:1.6;display:flex;gap:11px;align-items:flex-start}
.legal li::before{content:"";width:9px;height:10px;flex:none;margin-top:8px;background:var(--coral);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.legal a{color:var(--royal);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--coral-deep)}
.legal strong{color:var(--navy);font-weight:600}
.legal .updated{font-size:.86rem;color:var(--muted);letter-spacing:.02em;margin-bottom:clamp(28px,3.4vw,40px);padding-bottom:clamp(18px,2.4vw,24px);border-bottom:1px solid var(--line)}

/* sector cards: audience line + card CTA (V1 homepage "Who we help") */
.sector .body .s-for{margin:auto 0 0;padding:12px 0 0;border-top:1px solid var(--line);font-size:.73rem;color:var(--muted);line-height:1.45}
.sector .body .s-for b{color:var(--navy);font-weight:700}
.sector .body .s-go{display:inline-flex;align-items:center;gap:7px;margin-top:13px;font-family:var(--display);font-weight:700;font-size:.78rem;color:var(--coral-deep);text-decoration:none;line-height:1.2}
.sector .body .s-go svg{width:14px;height:14px;flex:none;transition:transform .3s var(--ease)}
.sector .body .s-go:hover svg,.sector:hover .body .s-go svg{transform:translateX(3px)}

/* offer cards: strapline under the title (V1 homepage "Three ways to begin") */
.offer .of-lead{font-family:var(--display);font-weight:600;color:var(--coral-deep);font-size:.95rem;line-height:1.35;margin:-4px 0 16px}

/* ---------- V1: hero strapline ---------- */
.hero-strap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin-top:clamp(20px,2.4vw,28px);
  font-family:var(--display);font-weight:600;color:var(--navy);font-size:clamp(.82rem,1.05vw,.96rem);letter-spacing:.01em}
.hero-strap span{padding-right:14px;margin-right:14px;border-right:1px solid var(--line-strong);line-height:1.2}
.hero-strap span:last-child{border-right:0;padding-right:0;margin-right:0}

/* ---------- V1 §2: credentials + proof band ---------- */
.proof-band{padding-block:clamp(34px,4.4vw,60px)}
.proof-statement{text-align:center;font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(1.15rem,2.1vw,1.62rem);line-height:1.3;max-width:30ch;margin:0 auto clamp(26px,3.4vw,42px)}
.proof-band .trustbar .tb-label{max-width:64ch;line-height:1.5;letter-spacing:.1em}

/* ---------- V1 §4: "Why acting earlier matters" swipe cards ---------- */
.worlds.wam .world .copy h3{font-size:clamp(1.75rem,3.2vw,2.75rem);line-height:1.12;max-width:15ch}
.worlds.wam .world .copy p{font-size:1.03rem}
.world .art .ph.contain{background:#fff;display:grid;place-items:center}
.world .art .ph.contain img{object-fit:contain;padding:clamp(14px,2vw,26px)}
.wam-close{max-width:62ch;margin-inline:auto;text-align:center}
.wam-close .wam-line{display:block;color:#fff;font-family:var(--display);font-weight:700;
  font-size:clamp(1.05rem,1.7vw,1.35rem);margin-top:14px}

/* ---------- V1 §5: four-up reason cards ---------- */
.why-grid.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.why-grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.why-grid.four{grid-template-columns:1fr}}
.why-grid.four .reason:nth-child(3n+2) .ic{background:var(--coral)}
.why-grid.four .reason:nth-child(3n) .ic{background:var(--coral)}
.why-grid.four .reason:nth-child(2) .ic{background:var(--royal)}
.why-grid.four .reason:nth-child(3) .ic{background:var(--navy)}
.why-grid.four .reason:nth-child(4) .ic{background:var(--coral-deep)}

/* ---------- V1: static quote grid (Why Choose Expert Ease, proof section) ---------- */
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);margin-top:clamp(28px,3.6vw,42px)}
@media(max-width:960px){.qgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.qgrid{grid-template-columns:1fr}}
.qcard{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:clamp(22px,2.4vw,30px);
  display:flex;flex-direction:column;box-shadow:0 24px 48px -42px rgba(12,43,89,.5)}
.qcard .qstars{color:var(--coral);letter-spacing:.16em;font-size:.86rem;margin-bottom:14px}
.qcard blockquote{margin:0 0 auto;color:var(--navy);font-size:.98rem;line-height:1.6}
.qcard .qwho{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.qcard .qav{width:38px;height:42px;flex:none;display:grid;place-items:center;color:#fff;
  font-family:var(--display);font-weight:800;font-size:.8rem;background:var(--royal)}
.qcard .qwho b{display:block;color:var(--navy);font-size:.92rem;font-weight:700;line-height:1.25}
.qcard .qwho span{display:block;color:var(--muted);font-size:.82rem}

/* light-background tick list (V1: "What clients receive") */
.ticks.on-light .tick{color:var(--navy)}

/* ---------- ALTERNATING PATHWAY SPINE (Why Choose Expert Ease, "the difference") ---------- */
.pathway-spine{list-style:none;margin:clamp(34px,4.5vw,58px) 0 0;padding:0;position:relative}
.pathway-spine::before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:2px;transform:translateX(-50%);
  background:linear-gradient(to bottom,transparent,var(--line-strong) 5%,var(--line-strong) 95%,transparent)}
.ps-step{position:relative;display:grid;grid-template-columns:1fr clamp(64px,7vw,96px) 1fr;align-items:center;
  margin-bottom:clamp(16px,2.2vw,28px)}
.ps-step:last-child{margin-bottom:0}

.ps-node{grid-column:2;justify-self:center;position:relative;z-index:2;
  width:44px;height:50px;display:grid;place-items:center;background:var(--navy);color:#fff;
  font-family:var(--display);font-weight:800;font-size:.88rem;letter-spacing:.02em}
.ps-step:nth-child(3n+2) .ps-node{background:var(--royal)}
.ps-step:nth-child(3n) .ps-node{background:var(--coral-deep)}
.ps-node::before{content:"";position:absolute;top:50%;width:clamp(10px,2.4vw,32px);height:2px;background:var(--line-strong)}
.ps-step:nth-child(odd) .ps-node::before{right:100%}
.ps-step:nth-child(even) .ps-node::before{left:100%}

.ps-card{grid-row:1;background:var(--white);border:1px solid var(--line);border-radius:20px;
  padding:clamp(18px,2.1vw,26px) clamp(20px,2.3vw,30px);box-shadow:0 26px 52px -46px rgba(12,43,89,.55);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.ps-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 34px 62px -42px rgba(12,43,89,.6)}
.ps-step:nth-child(odd) .ps-card{grid-column:1}
.ps-step:nth-child(even) .ps-card{grid-column:3}

.ps-head{display:flex;align-items:center;gap:13px;margin-bottom:9px}
.ps-ic{width:38px;height:43px;flex:none;display:grid;place-items:center;background:var(--coral);color:#fff}
.ps-ic svg{width:19px;height:19px}
.ps-step:nth-child(3n+2) .ps-ic{background:var(--royal)}
.ps-step:nth-child(3n) .ps-ic{background:var(--navy)}
.ps-card h4{font-family:var(--display);font-weight:700;font-size:1.1rem;color:var(--navy);margin:0;line-height:1.22}
.ps-card p{color:var(--muted);font-size:.93rem;line-height:1.62;margin:0}

@media(max-width:880px){
  .pathway-spine::before{left:22px;transform:none}
  .ps-step{grid-template-columns:44px 1fr;column-gap:clamp(14px,3vw,22px);align-items:start}
  .ps-node{grid-column:1;justify-self:start}
  .ps-node::before{display:none}
  .ps-step:nth-child(odd) .ps-card,.ps-step:nth-child(even) .ps-card{grid-column:2}
}
@media(prefers-reduced-motion:reduce){.ps-card{transition:none}.ps-card:hover{transform:none}}

/* ---------- PROSE RHYTHM KIT: break up long paragraph runs ---------- */
/* .prose gives a run of paragraphs internal hierarchy: the opener reads as a
   lead, the rest settle back, so a 3-paragraph block stops looking like a slab. */
.prose{max-width:68ch}
/* every paragraph under a heading reads at the same font, size and colour */
.prose > p{margin:0 0 15px;color:var(--muted);font-size:1rem;line-height:1.68}
.prose > p:last-child{margin-bottom:0}

/* pull-quote: lifts the single sharpest sentence out of the run */
.keyline,.prose > p.keyline{position:relative;margin:clamp(22px,2.8vw,32px) 0;
  padding:3px 0 3px clamp(20px,2.4vw,30px);border-left:3px solid var(--coral);
  font-family:var(--display);font-weight:600;color:var(--navy);
  font-size:clamp(1.05rem,1.65vw,1.3rem);line-height:1.42;max-width:48ch}
.on-dark .keyline,.on-dark .prose > p.keyline{color:#fff;border-left-color:var(--coral)}

/* ---------- NOTICE PANEL: compliance / disclaimer copy ---------- */
/* Distinct from body prose so a legal or scope note reads as a note, not as
   more paragraphs. Body text stays the same size as everywhere else. */
.notice{position:relative;background:var(--white);border:1px solid var(--line);
  border-left:4px solid var(--coral);border-radius:16px;
  padding:clamp(20px,2.4vw,30px) clamp(22px,2.6vw,34px);max-width:70ch;
  box-shadow:0 24px 48px -46px rgba(12,43,89,.5)}
.notice .n-label{display:inline-flex;align-items:center;gap:9px;margin-bottom:12px;
  font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--coral-deep)}
.notice .n-label::before{content:"";width:11px;height:13px;flex:none;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.notice p{color:var(--muted);font-size:1rem;line-height:1.68;margin:0 0 13px}
.notice p:last-child{margin-bottom:0}
.on-dark .notice{background:rgba(255,255,255,.05);border-color:var(--line-on-dark)}
.on-dark .notice p{color:var(--muted-on-dark)}


/* ---------- V2: "why acting earlier matters" sub-blocks ---------- */
.wa-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,34px);margin-top:clamp(30px,3.8vw,46px)}
@media(max-width:860px){.wa-grid{grid-template-columns:1fr}}
.wa-item{background:var(--white);border:1px solid var(--line);border-radius:20px;
  padding:clamp(22px,2.4vw,30px);box-shadow:0 26px 52px -46px rgba(12,43,89,.5)}
.wa-item h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.08rem;
  margin:0 0 12px;line-height:1.25;padding-left:22px;position:relative}
.wa-item h3::before{content:"";position:absolute;left:0;top:.24em;width:12px;height:14px;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.wa-item:nth-child(2) h3::before{background:var(--royal)}
.wa-item:nth-child(3) h3::before{background:var(--navy)}
.wa-item:nth-child(4) h3::before{background:var(--coral-deep)}
.wa-item p{color:var(--muted);font-size:.95rem;line-height:1.62;margin:0 0 12px}
.wa-item p:last-child{margin-bottom:0}
.wa-item .lawcompare{margin-top:18px}
.wa-strap{margin:clamp(28px,3.4vw,40px) 0 0;font-family:var(--display);font-weight:700;color:var(--navy);
  font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.3;padding-left:clamp(18px,2vw,26px);border-left:3px solid var(--coral)}

/* ---------- V2: workforce pathway cards ---------- */
.pwgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.2vw,28px);margin-top:clamp(30px,3.8vw,46px)}
@media(max-width:900px){.pwgrid{grid-template-columns:1fr}}
.pwcard{position:relative;background:var(--white);border:1px solid var(--line);border-radius:22px;
  padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;
  box-shadow:0 28px 56px -48px rgba(12,43,89,.55);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.pwcard:hover{transform:translateY(-4px);box-shadow:0 36px 66px -44px rgba(12,43,89,.6)}
.pw-n{position:absolute;top:clamp(22px,2.4vw,30px);right:clamp(24px,2.6vw,34px);
  font-family:var(--display);font-weight:800;font-size:1rem;color:var(--line-strong)}
.pwcard h3{font-family:var(--display);font-weight:700;color:var(--navy);font-size:clamp(1.18rem,1.8vw,1.4rem);
  margin:0 0 8px;line-height:1.2;padding-right:40px}
.pw-strap{font-family:var(--display);font-weight:600;color:var(--coral-deep);font-size:.98rem;line-height:1.35;margin:0 0 12px}
.pw-desc{color:var(--muted);font-size:.94rem;line-height:1.62;margin:0 0 18px}
.pw-cap{display:block;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);margin-bottom:11px}
.pw-outs{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 16px}
@media(max-width:560px){.pw-outs{grid-template-columns:1fr}}
.pw-outs li{position:relative;padding-left:17px;color:var(--navy);font-size:.83rem;line-height:1.4}
.pw-outs li::before{content:"";position:absolute;left:0;top:.42em;width:8px;height:9px;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.pw-suit{font-size:.85rem;line-height:1.5;color:var(--muted);margin:auto 0 16px;padding-top:15px;border-top:1px solid var(--line)}
.pw-suit b{color:var(--navy);font-weight:700}
.pw-go{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;
  color:var(--coral-deep);text-decoration:none;font-size:.9rem}
.pw-go svg{width:15px;height:15px;flex:none;transition:transform .3s var(--ease)}
.pwcard:hover .pw-go svg{transform:translateX(4px)}

/* ---------- V2: shared sub-heading + pull quote ---------- */
.sub-h{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.05rem;
  margin:clamp(30px,3.6vw,42px) 0 clamp(14px,1.8vw,20px)}
.bigquote{margin:clamp(28px,3.4vw,42px) 0 0;max-width:62ch}
.bigquote blockquote{margin:0;font-family:var(--display);font-weight:600;color:#fff;
  font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1.4;padding-left:clamp(20px,2.4vw,30px);border-left:3px solid var(--coral)}
.bigquote figcaption{margin-top:18px;padding-left:clamp(20px,2.4vw,30px)}
.bigquote figcaption b{display:block;color:#fff;font-size:.98rem}
.bigquote figcaption span{display:block;color:var(--muted-on-dark);font-size:.88rem;margin-top:2px}

/* ---------- V2: static hex list (sport development areas) ---------- */
.hexlist{list-style:none;margin:clamp(28px,3.6vw,44px) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
@media(max-width:900px){.hexlist{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hexlist{grid-template-columns:1fr}}
.hx-item{display:flex;align-items:flex-start;gap:14px;background:var(--white);border:1px solid var(--line);
  border-radius:16px;padding:clamp(16px,1.8vw,22px)}
.hx-n{flex:none;width:34px;height:38px;display:grid;place-items:center;background:var(--coral);color:#fff;
  font-family:var(--display);font-weight:800;font-size:.78rem}
.hx-item:nth-child(3n+2) .hx-n{background:var(--royal)}
.hx-item:nth-child(3n) .hx-n{background:var(--navy)}
.hx-t{color:var(--navy);font-size:.92rem;line-height:1.45;font-weight:500}

/* ---------- V2: grouped list cards (MBTI / DiSC "what it supports") ---------- */
.grpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(28px,3.4vw,42px)}
@media(max-width:900px){.grpgrid{grid-template-columns:1fr}}
.grpcard{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,2.3vw,30px);
  box-shadow:0 24px 48px -46px rgba(12,43,89,.5)}
.grpcard h4{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.02rem;margin:0 0 14px;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.grpcard ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.grpcard li{position:relative;padding-left:18px;color:var(--muted);font-size:.9rem;line-height:1.5}
.grpcard li::before{content:"";position:absolute;left:0;top:.44em;width:8px;height:9px;background:var(--coral);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.grpcard:nth-child(2) li::before{background:var(--royal)}
.grpcard:nth-child(3) li::before{background:var(--navy)}

/* ---------- V2: on-brand DiSC wheel (replaces the copyrighted diagram) ---------- */
.discwheel{margin:0;align-self:start}
.discwheel svg{width:100%;height:auto;max-width:360px;display:block;margin-inline:auto}
.discwheel .dw-let{font-family:var(--display);font-weight:800;font-size:30px;fill:#fff}
.discwheel .dw-mid{font-family:var(--display);font-weight:800;font-size:22px;fill:var(--navy)}
.discwheel .dw-sub{font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;fill:var(--muted)}
.discwheel figcaption{margin-top:16px;color:var(--muted);font-size:.85rem;line-height:1.55;text-align:center;max-width:44ch;margin-inline:auto}
.modgrid.one{grid-template-columns:1fr}

/* pricing table: stack on narrow screens so it cannot overflow the viewport */
@media(max-width:560px){
  .pricetable{font-size:.94rem}
  .pricetable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .pricetable tr{display:block;border-bottom:1px solid var(--line);padding:14px 0}
  .pricetable tbody tr:last-child{border-bottom:0}
  .pricetable td{display:block;border:0;padding:0}
  .pricetable .pt-service{font-size:1rem;margin-bottom:4px}
  .pricetable .pt-price{text-align:left;white-space:normal}
}

/* "why acting earlier" cards: size to their own content, not the tallest in the row */
.wa-grid{align-items:start}

/* about: the decorative hex cluster overhangs by ~1px at narrow widths.
   Scoped clip rather than body{overflow-x:hidden}, which would mask real overflow. */
@media(max-width:560px){.section.about{overflow-x:clip}}

/* skip link (WCAG 2.4.1): visually hidden until focused */
.skip-link{position:absolute;left:16px;top:-100px;z-index:10000;padding:12px 18px;background:var(--navy,#0C2B59);color:#fff;font-weight:700;border-radius:10px;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:top .15s ease}
.skip-link:focus,.skip-link:focus-visible{top:16px;outline:3px solid #fff;outline-offset:2px}
main:focus{outline:none}
/* contact form: real labels + honeypot */
.cform label.f-label{display:block;cursor:pointer}
.cform .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.cform .cform-status{margin-top:14px;font-size:.92rem;color:var(--navy,#0C2B59)}
.cform .cform-status[hidden]{display:none}
