/* ============================================================
   THE KANVASS — shared design system  (pilot)
   Fonts: Libre Baskerville (display) · Montserrat (UI/body)
   Palette: Navy #293A60 · Dark Navy #101F45 · Cream #E8E7E7 · Gold #C9A84C
   Gold is an ACCENT only. One brand family, three pathways.
   ============================================================ */

/* ---- 1. TOKENS + PER-PATHWAY THEME ---- */
:root{
  --dk:#101F45;          /* dark navy   */
  --navy:#293A60;        /* navy        */
  --cream:#E8E7E7;       /* cream       */
  --cream-bg:#ECEAE4;    /* warm paper  */
  --gold:#C9A84C;        /* gold accent */
  --white:#ffffff;

  /* text on light surfaces */
  --text-dark:#16233f;
  --text-mid:#3a4d70;
  --text-light:#5d6d8c;

  /* dark navy tokens kept for inline markup compatibility */
  --dark-navy:#101F45;

  --f-serif:'Libre Baskerville',Georgia,serif;
  --f-sans:'Montserrat',system-ui,-apple-system,sans-serif;

  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --tr:.28s var(--ease);

  /* pathway surfaces — overridden per body class */
  --brand-deep:#293A60;     /* primary dark surface        */
  --brand-deep-2:#101F45;   /* deepest anchor (CTA/footer) */
  --brand-scrim:41,58,96;   /* rgb of --brand-deep         */
}
body.brand-business{ --brand-deep:#293A60; --brand-deep-2:#101F45; --brand-scrim:16,31,69; }
body.brand-kompass { --brand-deep:#101F45; --brand-deep-2:#0A1531; --brand-scrim:10,21,49; }
body.brand-inst    { --brand-deep:#101F45; --brand-deep-2:#293A60; --brand-scrim:16,31,69; }

/* ---- 2. RESET + A11Y BASE ---- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--f-sans);
  background:var(--cream-bg);
  color:var(--text-dark);
  font-weight:400;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;}
a{color:inherit;}
::selection{background:rgba(201,168,76,.28);color:var(--dk);}

.skip-link{position:absolute;left:-999px;top:0;z-index:999;background:var(--gold);color:var(--dk);
  padding:10px 18px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:0 0 3px 0;}
.skip-link:focus{left:0;}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;border-radius:1px;
}

/* ---- 3. TYPOGRAPHY ---- */
.ey{font-size:10px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--navy);opacity:.62;margin-bottom:16px;}
.ey.lt{color:var(--cream);opacity:.5;}
.ey.gd{color:var(--gold);opacity:1;}

h2.st{font-family:var(--f-serif);font-size:clamp(27px,3.9vw,50px);color:var(--dk);
  line-height:1.16;letter-spacing:-.015em;margin-bottom:18px;text-wrap:balance;hyphens:none;-webkit-hyphens:none;}
h2.st em{font-style:italic;color:var(--navy);}
h2.st.lt{color:var(--cream);}
h2.st.lt em{color:rgba(232,231,231,.5);}

.sb{font-size:15.5px;color:var(--text-mid);line-height:1.85;max-width:60ch;}
.sb.lt{color:rgba(232,231,231,.74);}
.sb.c{margin-left:auto;margin-right:auto;text-align:center;}

.lede{font-family:var(--f-serif);font-size:19px;font-style:italic;color:var(--navy);
  line-height:1.6;border-left:2px solid var(--gold);padding-left:24px;margin:8px 0 20px;max-width:720px;}
.lede.lt{color:rgba(232,231,231,.82);}

/* ---- 4. BUTTONS ---- */
.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  font-family:var(--f-sans);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  border-radius:2px;padding:15px 30px;border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform var(--tr),background var(--tr),border-color var(--tr),color var(--tr),box-shadow var(--tr);}
.btn:active{transform:translateY(1px);}
.btn-arr::after{content:'→';font-weight:400;transition:transform var(--tr);}
.btn-arr:hover::after{transform:translateX(4px);}

.btn-gold{background:var(--gold);color:var(--dk);}
.btn-gold:hover{background:#d8b95e;transform:translateY(-2px);box-shadow:0 10px 26px -12px rgba(201,168,76,.7);}
.btn-p{background:var(--cream);color:var(--dk);}
.btn-p:hover{background:#fff;transform:translateY(-2px);}
.btn-gl{background:transparent;color:var(--cream);border-color:rgba(232,231,231,.34);}
.btn-gl:hover{border-color:var(--cream);background:rgba(232,231,231,.08);}
.btn-gd{background:transparent;color:var(--navy);border-color:rgba(41,58,96,.32);}
.btn-gd:hover{border-color:var(--navy);background:rgba(41,58,96,.06);}
.btn-goldout{background:transparent;color:var(--gold);border-color:rgba(201,168,76,.5);}
.btn-goldout:hover{border-color:var(--gold);background:rgba(201,168,76,.09);}

.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn-row.c{justify-content:center;}

/* ---- 5. NAV ---- */
.nav{position:fixed;inset:0 0 auto 0;z-index:200;height:74px;
  display:flex;align-items:center;justify-content:space-between;padding:0 6vw;
  background:rgba(16,31,69,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,231,231,.09);transition:background var(--tr),height var(--tr),border-color var(--tr);}
.nav.scrolled{height:64px;background:rgba(16,31,69,.94);}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:48px;width:auto;}
.nav.scrolled .nav-logo img{height:40px;}

.nav-links{display:flex;align-items:center;gap:clamp(14px,1.5vw,24px);list-style:none;}
.nav-links a{text-decoration:none;font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:rgba(232,231,231,.62);transition:color var(--tr);position:relative;padding:4px 0;white-space:nowrap;}
.nav-links a:hover{color:var(--cream);}
.nav-links a.active{color:var(--gold);}
.nav-links a:not(.nav-cta)::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--gold);transition:right var(--tr);opacity:.8;}
.nav-links a:not(.nav-cta):hover::after{right:0;}
.nav-cta{border:1px solid rgba(201,168,76,.5);padding:9px 18px;border-radius:2px;color:var(--gold)!important;}
.nav-cta:hover{background:rgba(201,168,76,.12);border-color:var(--gold);}
.nav-cta::after{display:none;}

.nav-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;}
.nav-menu-btn span{display:block;width:24px;height:1.5px;background:var(--cream);transition:transform var(--tr),opacity var(--tr);}
.mobile-menu{display:none;position:fixed;top:74px;left:0;right:0;z-index:199;
  background:rgba(16,31,69,.98);backdrop-filter:blur(14px);padding:14px 6vw 24px;
  border-bottom:1px solid rgba(232,231,231,.1);max-height:calc(100vh - 74px);overflow-y:auto;
  box-shadow:0 32px 56px -20px rgba(0,0,0,.5);}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(232,231,231,.62);text-decoration:none;padding:10.5px 0;border-bottom:1px solid rgba(232,231,231,.07);transition:color var(--tr);}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--gold);}
.mobile-menu a.nav-cta{margin-top:6px;color:var(--gold);border:1px solid rgba(201,168,76,.4);border-radius:2px;padding:11px 14px;text-align:center;border-bottom-color:rgba(201,168,76,.4);}

/* ---- 6. HERO + MEDIA SLOT ---- */
.hero{position:relative;min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:150px 6vw 100px;overflow:hidden;
  background:radial-gradient(130% 100% at 50% -10%, rgba(255,255,255,.06), transparent 55%), var(--brand-deep);}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 30%;
  transform:scale(1.04);animation:heroDrift 26s ease-in-out infinite alternate;}
@keyframes heroDrift{from{transform:scale(1.04) translateY(0);}to{transform:scale(1.11) translateY(-1.4%);}}
/* scrim keeps text legible on any photo, tinted to the pathway */
.hero-media-overlay{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg, rgba(var(--brand-scrim),.78) 0%, rgba(var(--brand-scrim),.5) 42%, rgba(var(--brand-scrim),.9) 100%),
    radial-gradient(120% 80% at 50% 22%, rgba(var(--brand-scrim),.12), rgba(var(--brand-scrim),.72));}
/* empty-slot placeholder (no media dropped in yet) */
.hero-media.is-placeholder{background:
    repeating-linear-gradient(135deg, rgba(232,231,231,.03) 0 22px, transparent 22px 44px), var(--brand-deep);}
.hero-media.is-placeholder::after{content:'◇  HERO MEDIA SLOT  ◇';position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  font-size:9px;font-weight:700;letter-spacing:.3em;color:rgba(232,231,231,.28);white-space:nowrap;}
.hero-inner{position:relative;z-index:3;max-width:940px;animation:fadeUp .9s var(--ease) both;}
.hero h1{font-family:var(--f-serif);font-size:clamp(33px,7.4vw,88px);color:var(--cream);
  line-height:1.07;letter-spacing:-.022em;overflow-wrap:break-word;text-wrap:balance;hyphens:none;-webkit-hyphens:none;}
.hero h1 .accent{color:var(--gold);font-style:italic;}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}

/* flat mountain silhouettes retired site-wide — brand lives in the logos + real photography */
.mtn{display:none!important;}

/* hero stat bar */
.stat-bar{display:flex;margin-top:56px;background:rgba(255,255,255,.05);border:1px solid rgba(232,231,231,.12);border-radius:3px;overflow:hidden;}
.stat-item{flex:1;padding:24px 20px;text-align:center;border-right:1px solid rgba(232,231,231,.1);}
.stat-item:last-child{border-right:none;}
.stat-n{font-family:var(--f-serif);font-size:32px;color:var(--gold);font-weight:700;line-height:1;}
.stat-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,231,231,.5);margin-top:7px;line-height:1.5;}

/* ---- 6b. PATHWAY SUBNAV (sits under the fixed .nav, for multi-page pathways) ---- */
.subnav{position:fixed;top:74px;left:0;right:0;z-index:190;background:rgba(9,17,38,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(232,231,231,.08);overflow-x:auto;-webkit-overflow-scrolling:touch;}
.subnav-inner{display:flex;gap:2px;padding:0 6vw;white-space:nowrap;max-width:var(--maxw);margin:0 auto;}
.subnav-inner a{display:block;text-decoration:none;padding:13px 14px;font-size:9.5px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:rgba(232,231,231,.5);border-bottom:2px solid transparent;transition:color var(--tr),border-color var(--tr);}
.subnav-inner a:hover{color:var(--cream);}
.subnav-inner a.active{color:var(--gold);border-bottom-color:var(--gold);}
/* pages with a subnav need extra top clearance on their first section */
body:has(.subnav) .hero{margin-top:40px;}
@media(max-width:760px){
  .subnav{top:64px;}
  .subnav-inner a{padding:11px 11px;font-size:9px;}
}

/* ---- 7. STRIP ---- */
.strip{background:var(--brand-deep-2);padding:16px 6vw;display:flex;align-items:center;justify-content:center;gap:38px;flex-wrap:wrap;}
.strip-i{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(232,231,231,.55);}
.strip-d{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;opacity:.6;}

/* ---- 8. SECTIONS / SURFACES / GRIDS ---- */
section{padding:clamp(80px,10vh,128px) 6vw;}
.si{max-width:var(--maxw);margin:0 auto;}
.dark-s{background:var(--brand-deep);}
.navy-s{background:var(--navy);}
.white-s{background:var(--white);}
.cream-s{background:var(--cream-bg);}

.g2{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,84px);align-items:center;}
.split.top{align-items:start;}

/* ---- 9. CARDS ---- */
.card{background:var(--white);padding:44px 36px;position:relative;overflow:hidden;
  border:1px solid rgba(41,58,96,.07);transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);}
.card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(16,31,69,.4);border-color:rgba(41,58,96,.14);}
.card.cd{background:var(--navy);border-color:rgba(232,231,231,.08);}
.card.cdd{background:var(--brand-deep);border-color:rgba(232,231,231,.08);}
.card.cd:hover,.card.cdd:hover{box-shadow:0 22px 44px -24px rgba(0,0,0,.55);}
.card-num{font-family:var(--f-serif);font-size:50px;color:rgba(41,58,96,.12);font-weight:700;line-height:1;margin-bottom:16px;display:block;}
.cd .card-num,.cdd .card-num{color:rgba(201,168,76,.32);}
h3.ch{font-family:var(--f-serif);font-size:21px;color:var(--dk);margin-bottom:11px;line-height:1.25;}
.cd h3.ch,.cdd h3.ch{color:var(--cream);}
.cp{font-size:13.5px;color:var(--text-mid);line-height:1.75;margin-bottom:24px;}
.cd .cp,.cdd .cp{color:rgba(232,231,231,.66);}
.cl{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--navy);
  text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:gap var(--tr),color var(--tr);}
.cd .cl,.cdd .cl{color:var(--gold);}
.cl::after{content:'→';}
.cl:hover{gap:14px;color:var(--gold);}

.fl{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.fl li{font-size:13px;color:var(--text-mid);display:flex;align-items:flex-start;gap:10px;line-height:1.6;}
.fl li::before{content:'';width:6px;height:6px;margin-top:8px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;opacity:.8;}
.cd .fl li,.cdd .fl li{color:rgba(232,231,231,.72);}

/* ---- 10. PROOF / PATH / COMPLIANCE ---- */
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.proof-box{padding:34px 24px;text-align:center;}
.proof-box:nth-child(odd){background:var(--white);}
.proof-box:nth-child(even){background:var(--cream-bg);}
.proof-num{font-family:var(--f-serif);font-size:36px;font-weight:700;color:var(--navy);line-height:1;margin-bottom:8px;}
.proof-label{font-size:11px;color:var(--text-light);line-height:1.55;}

.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:8px;}
.path-card{padding:56px 40px;position:relative;overflow:hidden;text-decoration:none;display:block;
  background:var(--brand-deep);transition:transform var(--tr),box-shadow var(--tr);}
.path-card:nth-child(2){background:var(--brand-deep-2);}
.path-card:nth-child(3){background:#1C2D52;}
.path-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(0,0,0,.6);}
.path-accent{position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.path-card:hover .path-accent{transform:scaleX(1);}
.path-num{font-family:var(--f-serif);font-size:48px;font-weight:700;color:rgba(201,168,76,.24);line-height:1;margin-bottom:16px;}
.path-label{font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.path-title{font-family:var(--f-serif);font-size:25px;color:var(--cream);margin-bottom:13px;line-height:1.22;}
.path-desc{font-size:13.5px;color:rgba(232,231,231,.62);line-height:1.75;margin-bottom:26px;}
.path-cta{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px;transition:gap var(--tr);}
.path-cta::after{content:'→';}
.path-card:hover .path-cta{gap:14px;}

.compliance-bar{background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.24);border-left:3px solid var(--gold);padding:22px 28px;margin-top:8px;border-radius:0 3px 3px 0;}
.compliance-bar p{font-size:13px;color:var(--text-mid);line-height:1.75;font-style:italic;}
.compliance-bar strong{color:var(--dk);font-style:normal;}
.compliance-bar.lt{background:rgba(201,168,76,.08);}
.compliance-bar.lt p{color:rgba(232,231,231,.72);}
.compliance-bar.lt strong{color:var(--gold);}

/* ---- 11. CTA BANNER (clean deep panel, no mountain) ---- */
.cta-banner{background:var(--brand-deep-2);padding:clamp(84px,11vh,124px) 6vw;text-align:center;position:relative;overflow:hidden;}
.cta-banner::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(90% 130% at 50% -20%, rgba(201,168,76,.10), transparent 60%);}
.cta-banner::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:64px;height:1px;background:rgba(201,168,76,.55);}
.cta-i{position:relative;z-index:2;max-width:700px;margin:0 auto;}
.cta-banner h2{font-family:var(--f-serif);font-size:clamp(27px,4.2vw,48px);color:var(--cream);line-height:1.14;margin-bottom:16px;text-wrap:balance;hyphens:none;-webkit-hyphens:none;}
.cta-banner h2 em{font-style:italic;color:var(--gold);}
.cta-banner .lead{font-size:15.5px;color:rgba(232,231,231,.66);margin-bottom:36px;line-height:1.8;}
.cta-mtn{display:none!important;}

/* ---- 12. FOOTER ---- */
footer{background:#070E1C;padding:64px 6vw 28px;}
.fi{max-width:var(--maxw);margin:0 auto;}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:38px;border-bottom:1px solid rgba(232,231,231,.08);margin-bottom:22px;}
.footer-logo img{height:50px;width:auto;margin-bottom:16px;}
.fb-tag{font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(201,168,76,.6);}
.fb-note{font-size:10.5px;color:rgba(232,231,231,.24);margin-top:8px;}
.fc-h{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(232,231,231,.4);margin-bottom:15px;}
.fc-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
.fc-links a{text-decoration:none;font-size:12.5px;color:rgba(232,231,231,.5);transition:color var(--tr),padding-left var(--tr);}
.fc-links a:hover{color:var(--cream);padding-left:3px;}
.fb-bot{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px 32px;}
.fb-copy,.fb-tm{font-size:9.5px;color:rgba(232,231,231,.28);line-height:1.7;}
/* Keep the legal fine-print from running the full footer width — long single lines are hard to scan */
.fb-tm{max-width:74ch;}
/* legacy inline footer name (kept working if present) */
.fb-the{font-family:var(--f-serif);font-style:italic;font-size:10px;color:rgba(232,231,231,.3);display:block;}
.fb-name{font-family:var(--f-serif);font-size:22px;color:var(--cream);font-weight:700;display:block;margin-bottom:10px;}
.fb-name .pill{color:var(--gold);font-style:italic;font-size:13px;}

/* ---- 13. FORMS (light surface) ---- */
.form-field{margin-bottom:20px;}
.form-field label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:8px;}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 16px;border:1px solid rgba(41,58,96,.22);
  background:var(--white);font-family:var(--f-sans);font-size:13.5px;color:var(--text-dark);border-radius:2px;transition:border-color var(--tr),box-shadow var(--tr);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.15);}
.form-field textarea{min-height:130px;resize:vertical;}
.form-panel{background:var(--white);border:1px solid rgba(41,58,96,.12);padding:clamp(28px,3vw,44px);border-radius:3px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.form-grid .form-field.full{grid-column:1/-1;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}
.form-field textarea{resize:vertical;min-height:120px;}

/* ---- 14. SCROLL REVEAL (fail-safe: hidden only when JS is present) ---- */
html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
html.js .reveal.in{opacity:1;transform:none;}

/* ============================================================
   COMPONENTS used by interior pages (method / pricing / 360 /
   approach / contact). Surface-aware so pathway colors show.
   ============================================================ */

/* Method flow */
.method-flow{display:flex;flex-direction:column;}
.method-step{display:grid;grid-template-columns:64px 1fr;gap:30px;padding:32px 0;border-bottom:1px solid rgba(41,58,96,.1);align-items:start;transition:padding-left var(--tr);}
.method-step:last-child{border-bottom:none;}
.method-step:hover{padding-left:10px;}
.method-n{font-family:var(--f-serif);font-size:40px;font-weight:700;color:var(--gold);line-height:1;opacity:.6;}
.method-name{font-family:var(--f-serif);font-size:22px;color:var(--dk);margin-bottom:8px;line-height:1.25;}
.method-desc{font-size:14px;color:var(--text-mid);line-height:1.8;margin-bottom:12px;max-width:700px;}
.method-deliv{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:rgba(41,58,96,.07);display:inline-block;padding:6px 13px;border-radius:2px;}
.method-deliv .pill{color:var(--gold);}
.dark-s .method-step,.navy-s .method-step{border-color:rgba(232,231,231,.12);}
.dark-s .method-name,.navy-s .method-name{color:var(--cream);}
.dark-s .method-desc,.navy-s .method-desc{color:rgba(232,231,231,.7);}
.dark-s .method-deliv,.navy-s .method-deliv{color:var(--cream);background:rgba(232,231,231,.08);}

/* Tiers */
.tier-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.tier{padding:38px 30px;display:flex;flex-direction:column;}
.tier.t1{background:var(--cream-bg);}
.tier.t2{background:var(--navy);}
.tier.t3{background:var(--brand-deep-2);}
.tier-tag{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:9px;}
.tier.t1 .tier-tag{color:var(--navy);}
.tier.t2 .tier-tag,.tier.t3 .tier-tag{color:var(--gold);}
.tier-name{font-family:var(--f-serif);font-size:24px;margin-bottom:6px;line-height:1.2;}
.tier.t1 .tier-name{color:var(--dk);}
.tier.t2 .tier-name,.tier.t3 .tier-name{color:var(--cream);}
.tier-price{font-size:12.5px;font-weight:600;letter-spacing:.04em;margin-bottom:16px;}
.tier.t1 .tier-price{color:var(--navy);}
.tier.t2 .tier-price,.tier.t3 .tier-price{color:rgba(201,168,76,.9);}
.tier-desc{font-size:13px;line-height:1.7;margin-bottom:22px;}
.tier.t1 .tier-desc{color:var(--text-mid);}
.tier.t2 .tier-desc,.tier.t3 .tier-desc{color:rgba(232,231,231,.56);}
.tier-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:26px;flex:1;}
.tier-list li{font-size:12.5px;line-height:1.55;padding-left:18px;position:relative;}
.tier-list li::before{content:'';position:absolute;left:0;top:6px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}
.tier.t1 .tier-list li{color:var(--text-mid);}
.tier.t2 .tier-list li,.tier.t3 .tier-list li{color:rgba(232,231,231,.66);}

/* Bands */
.band-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:36px;}
.band{padding:32px 26px;text-align:center;}
.band.b1{background:var(--cream-bg);}
.band.b2{background:var(--navy);}
.band.b3{background:var(--brand-deep-2);}
.band-name{font-family:var(--f-serif);font-size:21px;margin-bottom:8px;}
.band.b1 .band-name{color:var(--navy);}
.band.b2 .band-name,.band.b3 .band-name{color:var(--gold);}
.band-range{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:11px;}
.band.b1 .band-range{color:var(--text-light);}
.band.b2 .band-range,.band.b3 .band-range{color:rgba(232,231,231,.5);}
.band-desc{font-size:12.5px;line-height:1.65;}
.band.b1 .band-desc{color:var(--text-mid);}
.band.b2 .band-desc,.band.b3 .band-desc{color:rgba(232,231,231,.6);}

/* 360 suite / pillars */
.suite-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:8px;}
.pillar-card{background:var(--white);padding:28px 26px;display:flex;gap:18px;align-items:flex-start;border:1px solid rgba(41,58,96,.07);transition:transform var(--tr),box-shadow var(--tr);}
.pillar-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px -26px rgba(16,31,69,.4);}
.pillar-weight{font-family:var(--f-serif);font-size:27px;font-weight:700;color:var(--gold);line-height:1;min-width:54px;}
.pillar-name{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--dk);margin-bottom:5px;text-transform:uppercase;}
.pillar-desc{font-size:12.5px;color:var(--text-light);line-height:1.65;}

/* Approach cards */
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:36px;}
.approach-card{background:var(--white);padding:30px 24px;border-top:2px solid var(--cream-bg);transition:border-top-color var(--tr),transform var(--tr);}
.approach-card:hover{border-top-color:var(--gold);transform:translateY(-3px);}
.approach-n{font-family:var(--f-serif);font-size:34px;font-weight:700;color:rgba(41,58,96,.14);line-height:1;margin-bottom:9px;}
.approach-card h4{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dk);margin-bottom:7px;}
.approach-card p{font-size:12.5px;color:var(--text-light);line-height:1.65;}

/* Feature compare (kept / not) */
.feat-split{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:8px;}
.feat-not{background:#FBF4F2;border-left:3px solid #B5564A;padding:32px 28px;}
.feat-yes{background:#F1F6F0;border-left:3px solid #5A8A56;padding:32px 28px;}
.feat-h{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:15px;}
.feat-not .feat-h{color:#B5564A;}
.feat-yes .feat-h{color:#4A7A46;}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:11px;}
.feat-list li{font-size:13px;color:var(--text-mid);line-height:1.55;padding-left:24px;position:relative;}
.feat-not .feat-list li::before{content:'✕';position:absolute;left:0;color:#B5564A;font-weight:700;font-size:11px;}
.feat-yes .feat-list li::before{content:'✓';position:absolute;left:0;color:#5A8A56;font-weight:700;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,64px);align-items:start;}
.contact-info-card{background:var(--brand-deep);padding:46px 40px;}
.contact-info-card h3{font-family:var(--f-serif);font-size:22px;color:var(--cream);margin-bottom:18px;}
.contact-info-card p{font-size:13.5px;color:rgba(232,231,231,.64);line-height:1.8;margin-bottom:24px;}
.contact-method{padding:17px 0;border-top:1px solid rgba(232,231,231,.1);}
.contact-method-label{font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.contact-method a,.contact-method span{font-size:14px;color:var(--cream);text-decoration:none;transition:color var(--tr);}
.contact-method a:hover{color:var(--gold);}

/* Back-to-hub affordance (added to every pathway nav) */
.nav-hub{display:inline-flex;align-items:center;gap:7px;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(232,231,231,.5);text-decoration:none;padding:7px 13px;margin-right:20px;border:1px solid rgba(232,231,231,.16);border-radius:2px;transition:color var(--tr),border-color var(--tr),background var(--tr);white-space:nowrap;}
.nav-hub::before{content:'✦';color:var(--gold);font-size:9px;}
.nav-hub:hover{color:var(--cream);border-color:rgba(232,231,231,.4);background:rgba(232,231,231,.05);}
.nav-left{display:flex;align-items:center;gap:0;}
.mobile-hub{display:flex;align-items:center;gap:8px;color:var(--gold)!important;border-bottom:1px solid rgba(201,168,76,.25)!important;margin-bottom:6px;}

/* ============================================================
   WHY-PAGE COMPONENTS (reused from the old component library,
   integrated into the current premium system)
   ============================================================ */

/* Cost of Inaction — stat cards on a dark surface */
.cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:8px;}
.cost-card{background:rgba(255,255,255,.04);padding:34px 30px;border:1px solid rgba(232,231,231,.08);transition:background var(--tr);}
.cost-card:hover{background:rgba(255,255,255,.06);}
.cost-num{font-family:var(--f-serif);font-weight:700;font-size:42px;color:var(--gold);line-height:1;margin-bottom:13px;}
.cost-lbl{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cream);margin-bottom:11px;line-height:1.45;}
.cost-desc{font-size:12.5px;color:rgba(232,231,231,.55);line-height:1.72;margin-bottom:13px;}
.cost-src{font-size:9px;font-style:italic;color:rgba(232,231,231,.3);letter-spacing:.02em;}

/* Outcomes — measurable-change cards on a light surface */
.out-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:38px;}
.out-card{background:var(--white);padding:34px 30px;border:1px solid rgba(41,58,96,.07);transition:transform var(--tr),box-shadow var(--tr);}
.out-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -28px rgba(16,31,69,.42);}
.out-num{font-family:var(--f-serif);font-weight:700;font-size:34px;color:var(--navy);line-height:1;margin-bottom:11px;}
.out-lbl{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dk);margin-bottom:10px;line-height:1.45;}
.out-desc{font-size:13px;color:var(--text-mid);line-height:1.72;}

/* Comparison table — restrained, editorial */
.cmp-wrap{overflow-x:auto;margin-top:36px;-webkit-overflow-scrolling:touch;border:1px solid rgba(41,58,96,.1);}
.cmp{width:100%;border-collapse:collapse;min-width:680px;}
.cmp th{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:15px 16px;text-align:left;
  background:var(--dk);color:rgba(232,231,231,.5);white-space:nowrap;}
.cmp th.hi{background:var(--navy);color:var(--cream);}
.cmp th.hi .mk{color:var(--gold);}
.cmp td{padding:13px 16px;font-size:13px;border-bottom:1px solid rgba(41,58,96,.08);color:var(--text-mid);vertical-align:top;}
.cmp tr:last-child td{border-bottom:none;}
.cmp td.need{font-weight:600;color:var(--text-dark);background:rgba(41,58,96,.03);min-width:200px;}
.cmp td.hi{background:rgba(201,168,76,.08);font-weight:600;color:var(--dk);}
.cmp .y{color:#3f7a3b;font-weight:600;}
.cmp .p{color:#9a7414;}
.cmp .n{color:#a55; opacity:.85;}
.cmp-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px;font-size:11px;color:var(--text-light);}
/* On phones, stack each comparison row as its own card so the table reads without swiping */
@media(max-width:640px){
  .cmp-wrap{overflow-x:visible;border:none;}
  .cmp{min-width:0;}
  .cmp thead{display:none;}
  .cmp,.cmp tbody,.cmp tr,.cmp td{display:block;width:100%;}
  .cmp tr{padding:16px 16px 14px;border:1px solid rgba(41,58,96,.14);border-radius:3px;margin-bottom:10px;background:var(--white);}
  .cmp tr:last-child{margin-bottom:0;}
  .cmp td{border-bottom:none;padding:0;}
  .cmp td.need{min-width:0;background:none;font-size:14px;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid rgba(41,58,96,.14);}
  .cmp td[data-label]{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:4px 0;font-size:12.5px;}
  .cmp td[data-label]::before{content:attr(data-label);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);flex-shrink:0;}
  .cmp td.hi{background:none;}
}

/* Intelligence Suite blocks */
.intel-pair{display:grid;grid-template-columns:1fr;gap:2px;}
.intel-block{padding:34px 32px;}
.intel-block.dark{background:var(--brand-deep);}
.intel-block.light{background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.2);}
.intel-tag{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:9px;}
.intel-title{font-family:var(--f-serif);font-size:22px;margin-bottom:11px;line-height:1.25;}
.intel-block.dark .intel-title{color:var(--cream);}
.intel-block.light .intel-title{color:var(--dk);}
.intel-desc{font-size:13px;line-height:1.72;margin-bottom:18px;}
.intel-block.dark .intel-desc{color:rgba(232,231,231,.56);}
.intel-block.light .intel-desc{color:var(--text-mid);}
.intel-items{display:flex;flex-direction:column;gap:10px;}
.intel-item{font-size:12.5px;line-height:1.55;padding-left:18px;position:relative;}
.intel-item::before{content:'';position:absolute;left:0;top:6px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;}
.intel-block.dark .intel-item{color:rgba(232,231,231,.62);}
.intel-block.light .intel-item{color:var(--text-mid);}

/* Advisor-gap role grid + access note */
.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:8px;}
.role-cell{background:var(--white);padding:24px 22px;border:1px solid rgba(41,58,96,.06);}
.role-cell.muted{background:var(--cream-bg);}
.role-name{font-family:var(--f-serif);font-size:16px;color:var(--dk);margin-bottom:6px;line-height:1.25;}
.role-desc{font-size:11.5px;color:var(--text-light);line-height:1.6;}
.gap-note{margin-top:2px;background:rgba(41,58,96,.04);border-left:3px solid var(--gold);padding:24px 28px;}
.gap-note p{font-size:13.5px;color:var(--text-mid);line-height:1.78;}
.gap-note strong{color:var(--dk);}

/* Team band — the "you have a team now" promise */
.team-band{background:var(--brand-deep);padding:clamp(64px,9vh,100px) 6vw;text-align:center;position:relative;overflow:hidden;}
.team-band::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:64px;height:1px;background:rgba(201,168,76,.5);}
.team-band .ti{position:relative;z-index:2;max-width:720px;margin:0 auto;}
.team-band h2{font-family:var(--f-serif);font-size:clamp(26px,3.7vw,44px);color:var(--cream);line-height:1.16;}
.team-band h2 em{font-style:italic;color:var(--gold);}
.team-band p{font-size:15px;color:rgba(232,231,231,.68);max-width:600px;margin:18px auto 0;line-height:1.8;}

/* ============================================================
   EDITORIAL LAYOUT TOOLKIT — composition, not decoration.
   Alternating rhythm, full-bleed photography, floating cards,
   pull-quotes, variable widths. Uses only brand tokens.
   ============================================================ */

/* Variable container widths — change the measure through the page */
.si-narrow{max-width:760px;margin:0 auto;}
.si-wide{max-width:1340px;margin:0 auto;}

/* Asymmetric editorial split (not 50/50) */
.ed-split{display:grid;grid-template-columns:1.18fr 0.82fr;gap:clamp(40px,6vw,90px);align-items:center;}
.ed-split.flip{grid-template-columns:0.82fr 1.18fr;}
.ed-split.top{align-items:start;}
.ed-split .ed-media img{width:100%;height:100%;max-height:560px;object-fit:cover;display:block;}
.ed-eyebrow-num{font-family:var(--f-serif);font-size:clamp(40px,5vw,64px);font-weight:700;color:rgba(41,58,96,.12);line-height:1;margin-bottom:14px;}
.dark-s .ed-eyebrow-num,.navy-s .ed-eyebrow-num{color:rgba(201,168,76,.22);}

/* Full-bleed photography band — an emotional breath between sections */
.ed-band{position:relative;width:100%;min-height:clamp(340px,54vh,580px);display:flex;align-items:center;overflow:hidden;}
.ed-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ed-band .ed-band-scrim{position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(16,31,69,.82) 0%, rgba(16,31,69,.55) 42%, rgba(16,31,69,.2) 80%);}
.ed-band.center .ed-band-scrim{background:linear-gradient(180deg, rgba(16,31,69,.5), rgba(16,31,69,.72));}
.ed-band-inner{position:relative;z-index:2;width:100%;max-width:1340px;margin:0 auto;padding:0 6vw;}
.ed-band.center .ed-band-inner{text-align:center;}
.ed-band-text{max-width:560px;}
.ed-band.center .ed-band-text{max-width:760px;margin:0 auto;}
.ed-band h2{font-family:var(--f-serif);font-size:clamp(28px,4vw,50px);color:var(--cream);line-height:1.14;letter-spacing:-.01em;}
.ed-band h2 em{font-style:italic;color:var(--gold);}
.ed-band p{font-size:15.5px;color:rgba(232,231,231,.72);line-height:1.8;margin-top:16px;max-width:520px;}
.ed-band.center p{margin-left:auto;margin-right:auto;}

/* Feature: large image with a floating content card overlapping it */
.ed-feature{position:relative;background:var(--white);padding-bottom:clamp(50px,6vh,84px);}
.ed-feature.on-cream{background:var(--cream-bg);}
.ef-media img{width:100%;height:clamp(400px,58vh,620px);object-fit:cover;display:block;}
.ef-card{position:relative;z-index:2;background:var(--brand-deep);color:var(--cream);
  padding:clamp(34px,4vw,54px);max-width:500px;margin:-104px 8vw 0 auto;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.6);}
.ed-feature.left .ef-card{margin-left:8vw;margin-right:auto;}
.ef-card .ey{color:var(--gold);opacity:1;}
.ef-card h2{font-family:var(--f-serif);font-size:clamp(24px,2.8vw,36px);color:var(--cream);line-height:1.18;margin-bottom:14px;}
.ef-card h2 em{font-style:italic;color:var(--gold);}
.ef-card p{font-size:14px;color:rgba(232,231,231,.7);line-height:1.8;}

/* Pull-quote — an editorial moment */
.ed-quote{max-width:920px;margin:0 auto;text-align:center;}
.ed-quote .mark{font-family:var(--f-serif);font-size:56px;color:rgba(201,168,76,.4);line-height:.6;display:block;margin-bottom:18px;}
.ed-quote blockquote{font-family:var(--f-serif);font-style:italic;font-size:clamp(23px,3.3vw,38px);line-height:1.34;color:var(--dk);}
.ed-quote blockquote .hl{color:var(--navy);}
.ed-quote.lt blockquote{color:var(--cream);}
.ed-quote.lt blockquote .hl{color:var(--gold);}
.ed-quote cite{display:block;margin-top:26px;font-family:var(--f-sans);font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);}
.ed-quote.lt cite{color:rgba(232,231,231,.6);}

/* Editorial stat row (airier than the boxed proof strip) */
.ed-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,48px);}
.ed-stat{border-top:1px solid rgba(41,58,96,.16);padding-top:20px;}
.dark-s .ed-stat,.navy-s .ed-stat{border-top-color:rgba(232,231,231,.16);}
.ed-stat-n{font-family:var(--f-serif);font-weight:700;font-size:clamp(34px,4vw,52px);color:var(--navy);line-height:1;margin-bottom:10px;}
.dark-s .ed-stat-n,.navy-s .ed-stat-n{color:var(--gold);}
.ed-stat-l{font-size:11.5px;color:var(--text-mid);line-height:1.55;}
.dark-s .ed-stat-l,.navy-s .ed-stat-l{color:rgba(232,231,231,.6);}

@media(max-width:860px){
  .ed-split,.ed-split.flip{grid-template-columns:1fr;gap:34px;}
  .ed-split .ed-media img{max-height:360px;}
  .ef-card{margin:-56px 5vw 0;max-width:none;}
  .ed-stats{grid-template-columns:1fr 1fr;}
}

/* ---- 15. RESPONSIVE ---- */
@media(max-width:1080px){
  .nav-links{display:none!important;}
  .nav-menu-btn{display:flex;}
  .nav-hub{display:none;}
  .split,.g2,.g3,.g4,.path-grid,.proof-strip,
  .tier-row,.band-row,.suite-grid,.approach-grid,.contact-grid,.feat-split,
  .cost-grid,.out-grid,.intel-pair{grid-template-columns:1fr;}
  .role-grid{grid-template-columns:1fr 1fr;}
  .fg{grid-template-columns:1fr 1fr;}
  .stat-bar{flex-wrap:wrap;}
  .stat-item{flex:1 1 46%;border-bottom:1px solid rgba(232,231,231,.1);}
}
@media(max-width:600px){
  section{padding:60px 7vw;}
  .hero{padding:120px 7vw 76px;min-height:auto;}
  /* uniform, orphan-safe mobile header sizing — overrides varied inline sizes */
  .hero h1{font-size:clamp(26px,7vw,44px)!important;}
  h2.st{font-size:clamp(23px,5.8vw,34px);}
  .cta-banner h2{font-size:clamp(23px,5.6vw,34px);}
  .strip{gap:13px 16px;padding:15px 7vw;}
  .strip-d{display:none;}
  .strip-i{font-size:9px;}
  .btn-row{flex-direction:column;align-items:stretch;}
  .btn{justify-content:center;width:100%;}
  .fg{grid-template-columns:1fr;gap:30px;}
  .proof-strip{grid-template-columns:1fr 1fr!important;}
  .role-grid{grid-template-columns:1fr;}
  .card{padding:32px 26px;}
  .method-step{grid-template-columns:44px 1fr;gap:16px;padding:26px 0;}
  .method-n{font-size:32px;}
  .contact-info-card{padding:36px 28px;}
  .stat-bar{margin-top:40px;}
  .stat-n{font-size:27px;}
  .nav-logo img{height:42px;max-width:60vw;}
}
/* mobile menu: hub link visible only in the mobile drawer */
.mobile-hub{display:none;}
@media(max-width:1080px){.mobile-menu .mobile-hub{display:flex;}}

/* ---- 16. REDUCED MOTION ---- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .hero-media img,.hero-media video{animation:none;transform:none;}
  .reveal{opacity:1;transform:none;}
}

/* ── Review phase: internal "Review" link to the version-comparison hub (v2-preview.html). Remove this block + the nav links at final deployment. ── */
.nav{height:auto;min-height:74px;}
.nav.scrolled{height:auto;min-height:64px;}
.nav-links{flex-wrap:wrap;row-gap:4px;column-gap:clamp(12px,1vw,18px);justify-content:flex-end;}
.nav-links a.nav-review{color:var(--gold);}
.nav-links a.nav-review:hover{opacity:.75;}
.mobile-menu a.nav-review{color:var(--gold);}

/* ── Premium hover polish — gold accent slides in on card hover + tier lift (site-wide) ── */
.card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:2;}
.card:hover::after{transform:scaleX(1);}
.tier{position:relative;overflow:hidden;transition:transform var(--tr),box-shadow var(--tr);}
.tier::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.tier:hover{transform:translateY(-5px);box-shadow:0 28px 54px -30px rgba(16,31,69,.45);}
.tier:hover::after{transform:scaleX(1);}

/* ============================================================
   Aug 25 implementation — shared component CSS.
   Technical only: built on existing site tokens (.dark-s/.card/.g3/
   .btn-*) so the new sections inherit the current design system.
   No Rev 3 styling reused.
   ============================================================ */

/* Emotional Intelligence band */
.eq-stats{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:30px auto 0;max-width:720px;}
.eq-stat{flex:1 1 240px;border:1px solid rgba(201,168,76,.42);background:rgba(255,255,255,.04);padding:26px 20px;text-align:center;}
.eq-n{display:block;font-family:var(--f-serif);font-weight:700;font-size:clamp(34px,4vw,44px);color:var(--gold);line-height:1;}
.eq-l{display:block;margin-top:10px;font-size:13px;font-weight:600;color:rgba(238,237,235,.9);line-height:1.55;}
.eq-src{font-size:11px;letter-spacing:.06em;color:rgba(232,231,231,.62);margin-top:14px;text-align:center;}

/* Compliance Bridge */
.cb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:rgba(41,58,96,.12);margin-top:30px;}
.cb-card{background:var(--cream-bg);border-top:3px solid var(--navy);padding:28px 26px;}
.cb-t{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.cb-card p{font-family:var(--f-serif);font-size:17px;font-weight:700;color:var(--dark-navy);line-height:1.35;margin:0;}

/* Sponsors & Partners band — own tone so it can't merge with the photo CTA or footer */
.spb{background:var(--navy);border-top:1px solid rgba(201,168,76,.4);padding:clamp(50px,7vh,66px) 6vw;text-align:center;}
.spb-in{max-width:980px;margin:0 auto;}
.spb-lbl{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(232,231,231,.7);margin:24px 0 12px;}
.spb-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin:0 auto;max-width:900px;}
.spb-logos img{height:50px;width:auto;border-radius:4px;background:#fff;padding:5px 9px;}
.spb-more{margin-top:20px;font-size:12.5px;}
.spb-more a{color:var(--gold);text-decoration:none;font-weight:600;}
.spb-more a:hover{text-decoration:underline;}

/* Kompass 360 — three views */
.kv-views{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;background:rgba(232,231,231,.1);margin-top:8px;}
.kv-view{background:rgba(255,255,255,.03);padding:28px 26px;}
.kv-view .vt{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.kv-view p{font-size:13.5px;color:rgba(238,237,235,.78);line-height:1.7;margin:0;}
@media(max-width:600px){.spb-logos img{height:42px;}}

/* ============================================================
   VISUAL REFINEMENT — Athlete Navigator + Sponsors & Partners
   Presentation only. No approved wording altered.
   Cues taken from the Canva brand work: navy ground with a very
   subtle canvas texture, gold hairline as connective thread,
   cinematic no-people sports imagery.
   ============================================================ */

/* ── Athlete Navigator: editorial long-form ── */
.nvx{position:relative;overflow:hidden;background:var(--white);padding:clamp(70px,9vh,108px) 6vw;}
.nvx-bg{position:absolute;inset:0;z-index:0;}
.nvx-bg img{width:100%;height:100%;object-fit:cover;object-position:center 62%;}
.nvx-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(255,255,255,.975) 0%,rgba(255,255,255,.955) 46%,rgba(255,255,255,.9) 100%);}
.nvx-in{position:relative;z-index:2;}
.nvx-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,5vw,76px);align-items:start;}
.nvx-rule{width:54px;height:2px;background:var(--gold);margin-bottom:22px;}
.nvx-lede{font-family:var(--f-serif);font-size:clamp(18.5px,1.95vw,23px);line-height:1.58;color:var(--dark-navy);margin:0;}
.nvx-lede::first-letter{float:left;font-size:3.5em;line-height:.82;padding:6px 12px 0 0;color:var(--gold);font-weight:700;}
.nvx-r{border-left:1px solid rgba(41,58,96,.14);padding-left:clamp(24px,3vw,44px);}
.nvx-p{font-size:15.5px;color:var(--text-mid);line-height:1.9;margin:0;max-width:none;}
.nvx-p+.nvx-p{margin-top:26px;padding-top:26px;border-top:1px solid rgba(41,58,96,.1);}
@media(max-width:900px){
  .nvx-grid{grid-template-columns:1fr;gap:32px;}
  .nvx-r{border-left:none;padding-left:0;border-top:1px solid rgba(41,58,96,.14);padding-top:30px;}
  .nvx-lede::first-letter{font-size:3.1em;}
}

/* ── Sponsors & Partners: dual sliver ── */
.spx{position:relative;overflow:hidden;background:var(--brand-deep-2);padding:clamp(60px,8vh,92px) 0;}
.spx-bg{position:absolute;inset:0;z-index:0;}
.spx-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.26;}
.spx-scrim{position:absolute;inset:0;z-index:1;background:
  radial-gradient(120% 90% at 16% 0%,rgba(201,168,76,.085),transparent 58%),
  linear-gradient(180deg,rgba(10,21,49,.9),rgba(10,21,49,.84) 45%,rgba(10,21,49,.96));}
/* very fine canvas grain, echoing the brand's textured navy */
.spx-grain{position:absolute;inset:0;z-index:1;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");}
.spx-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 6vw;}
.spx-rule{width:54px;height:2px;background:var(--gold);margin-bottom:20px;}
.spx-h{font-family:var(--f-serif);font-weight:700;font-size:clamp(25px,3.3vw,38px);color:var(--cream);line-height:1.16;margin:0;}
.spx-h em{font-style:italic;color:var(--gold);}
/* Sponsor / partner rows: manual arrow-pushed carousel. No looping, no duplicated logos. */
.rail-hd{position:relative;z-index:3;max-width:var(--maxw);margin:clamp(30px,4vh,44px) auto 13px;padding:0 6vw;
  display:flex;align-items:center;justify-content:space-between;gap:20px;}
.rail-lbl{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0;}
.rail-nav{display:flex;gap:9px;flex-shrink:0;}
.rail-nav[hidden]{display:none;}
.rail-btn{width:36px;height:36px;border-radius:50%;padding:0;cursor:pointer;display:grid;place-items:center;
  border:1px solid rgba(232,231,231,.26);background:transparent;color:var(--cream);
  transition:border-color .4s ease,background-color .4s ease,color .4s ease,opacity .4s ease;}
.rail-btn svg{width:14px;height:14px;display:block;}
.rail-btn:hover:not(:disabled){border-color:var(--gold);background-color:rgba(201,168,76,.13);color:var(--gold);}
.rail-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.rail-btn:disabled{opacity:.24;cursor:default;}
.rail{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto clamp(6px,1vh,10px);padding:0 6vw;}
.rail-vp{--fl:0px;--fr:0px;
  border-top:1px solid rgba(232,231,231,.13);border-bottom:1px solid rgba(232,231,231,.13);
  padding:22px 0;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;overscroll-behavior-x:contain;
  scrollbar-width:none;-ms-overflow-style:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);}
.rail-vp::-webkit-scrollbar{display:none;}
.rail.can-l .rail-vp{--fl:52px;}
.rail.can-r .rail-vp{--fr:52px;}
.rail-track{display:flex;align-items:stretch;gap:clamp(16px,1.8vw,26px);width:max-content;min-width:100%;}
/* uniform tiles: the logo files vary in aspect and background, the tile gives the row one rhythm */
.rail-track img{flex:0 0 auto;width:clamp(168px,17vw,214px);height:clamp(92px,9vw,112px);object-fit:contain;
  background:#fff;border-radius:4px;padding:clamp(14px,1.5vw,20px);
  box-shadow:0 12px 28px -20px rgba(0,0,0,.75);filter:saturate(.92);
  transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease,filter .55s ease;}
.rail-track img:hover{transform:translateY(-4px);filter:saturate(1);box-shadow:0 22px 38px -20px rgba(0,0,0,.85);}
/* two source files are edge-to-edge dark artwork, not a mark on white.
   Matching the tile to the art keeps the row uniform instead of showing a dark box inside a white one. */
.rail-track img.on-dark{padding:0;background:var(--tile-bg,#141414);}
/* everything already fits: span the text column edge to edge and drop the arrows,
   rather than leaving a short centred cluster and two dead controls */
.rail.is-fit .rail-track{width:100%;justify-content:space-between;}
@media(prefers-reduced-motion:reduce){
  .rail-vp{scroll-behavior:auto;}
  .rail-track img{transition:none;}
  .rail-track img:hover{transform:none;}
}
.spx-cta{position:relative;z-index:2;max-width:var(--maxw);margin:clamp(28px,3.6vh,40px) auto 0;padding:0 6vw;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.spx-cta p{font-size:13px;color:rgba(232,231,231,.62);max-width:330px;line-height:1.7;margin:0;}
.spx-btns{display:flex;gap:12px;flex-wrap:wrap;}
.spx-more{position:relative;z-index:2;max-width:var(--maxw);margin:16px auto 0;padding:0 6vw;font-size:12.5px;}
.spx-more a{color:var(--gold);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(201,168,76,.35);padding-bottom:2px;}
.spx-more a:hover{border-bottom-color:var(--gold);}
@media(max-width:640px){
  .rail-track img{width:150px;height:84px;padding:12px;}
  .rail-btn{width:33px;height:33px;}
  .spx-cta{flex-direction:column;align-items:flex-start;}
}

/* ── Compliance Bridge: editorial split + record ledger ──
   Replaces .cb-grid. Three items in a two-column card grid always left an empty
   fourth cell; rows cannot orphan. The ledger form also suits the content —
   this section is about a defensible record. */
.cbx{position:relative;overflow:hidden;background:var(--white);}
.cbx-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(38px,5vw,80px);align-items:start;}
.cbx-rule{width:54px;height:2px;background:var(--gold);margin-bottom:20px;}
.cbx-h{margin-bottom:26px;}
.cbx-note{position:relative;padding-left:22px;border-left:2px solid var(--gold);}
.cbx-note p{font-size:15px;font-weight:500;color:var(--text-mid);line-height:1.8;font-style:italic;margin:0;}
/* the ledger */
.cbx-led{position:relative;background:
  linear-gradient(180deg,rgba(236,234,228,.62),rgba(236,234,228,.3));
  border-top:2px solid var(--navy);padding:4px clamp(22px,2.6vw,34px) 6px;}
.cbx-row{display:grid;grid-template-columns:112px 1fr;gap:clamp(16px,2vw,30px);
  align-items:baseline;padding:clamp(22px,2.6vh,30px) 0;}
.cbx-row+.cbx-row{border-top:1px solid rgba(41,58,96,.14);}
.cbx-k{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);white-space:nowrap;position:relative;}
/* a hairline spine implying one continuous record rather than three separate claims */
.cbx-k::after{content:'';position:absolute;top:-2px;bottom:-2px;right:calc(-1 * clamp(8px,1vw,15px));
  width:1px;background:rgba(201,168,76,.4);}
.cbx-v{font-family:var(--f-serif);font-size:clamp(17px,1.7vw,20px);font-weight:700;
  color:var(--dark-navy);line-height:1.35;margin:0;}
/* staggered entrance, one row after another */
html.js .cbx-row{opacity:0;transform:translateY(14px);
  transition:opacity .66s var(--ease),transform .66s var(--ease);transition-delay:var(--d,0s);}
html.js .reveal.in .cbx-row{opacity:1;transform:none;}
@media(max-width:1080px){
  .cbx-in{grid-template-columns:1fr;gap:34px;}
}
@media(max-width:560px){
  .cbx-row{grid-template-columns:1fr;gap:9px;align-items:start;}
  .cbx-k::after{display:none;}
}
@media(prefers-reduced-motion:reduce){
  html.js .cbx-row{opacity:1;transform:none;transition:none;}
}

/* ── Emotional Intelligence band: statistics as display type ──
   Replaces .eq-stats. Two outlined boxes centred on flat navy read as a generic
   stat card row; the figures are the argument, so they carry the typography. */
.eix{position:relative;overflow:hidden;background:var(--brand-deep-2);padding:clamp(74px,10vh,116px) 6vw;}
.eix-bg{position:absolute;inset:0;z-index:0;}
.eix-bg img{width:100%;height:100%;object-fit:cover;object-position:center 56%;opacity:.22;}
.eix-scrim{position:absolute;inset:0;z-index:1;background:
  radial-gradient(105% 78% at 90% 6%,rgba(201,168,76,.1),transparent 60%),
  linear-gradient(96deg,rgba(10,21,49,.95) 0%,rgba(10,21,49,.88) 50%,rgba(10,21,49,.72) 100%);}
.eix-grain{position:absolute;inset:0;z-index:1;opacity:.42;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");}
.eix-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(38px,5.5vw,84px);align-items:center;}
.eix-rule{width:54px;height:2px;background:var(--gold);margin-bottom:22px;}
.eix-h{font-family:var(--f-serif);font-weight:700;font-size:clamp(25px,3.2vw,37px);line-height:1.2;
  color:var(--cream);margin:0 0 28px;text-wrap:balance;}
.eix-h em{font-style:italic;color:var(--gold);}
.eix-figs{display:grid;gap:clamp(22px,3vh,34px);}
.eix-fig{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,2.2vw,30px);align-items:center;}
.eix-fig+.eix-fig{border-top:1px solid rgba(232,231,231,.14);padding-top:clamp(22px,3vh,34px);}
.eix-n{font-family:var(--f-serif);font-weight:700;font-size:clamp(50px,7vw,88px);line-height:.86;
  color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:3.2ch;}
.eix-l{font-size:14.5px;font-weight:500;color:rgba(238,237,235,.88);line-height:1.65;margin:0;max-width:24ch;
  border-left:1px solid rgba(201,168,76,.42);padding-left:clamp(15px,1.8vw,23px);}
/* attribution belongs to both figures, so it sits under the set rather than under the last number */
.eix-src{font-size:11.5px;letter-spacing:.1em;color:rgba(232,231,231,.55);margin:clamp(18px,2.2vh,24px) 0 0;text-align:right;}
@media(max-width:1080px){
  .eix-in{grid-template-columns:1fr;gap:36px;align-items:start;}
  .eix-h{margin-bottom:24px;}
}
@media(max-width:560px){
  .eix-fig{grid-template-columns:1fr;gap:12px;}
  .eix-l{border-left:none;padding-left:0;max-width:none;}
  .eix-src{text-align:left;}
}

/* ── Partner index (Resources) ──
   Distinct from the sponsor carousel on Athlete Home / Institutions: this is a
   directory, so each partner gets its own tile and name rather than a moving row. */
.pidx{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(14px,1.6vw,22px);}
.pidx-i{position:relative;display:flex;flex-direction:column;gap:16px;text-decoration:none;
  background:var(--white);border:1px solid rgba(41,58,96,.1);padding:clamp(22px,2.4vw,30px);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);}
a.pidx-i:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.55);
  box-shadow:0 24px 44px -30px rgba(22,35,63,.55);}
.pidx-i::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
a.pidx-i:hover::after{transform:scaleX(1);}
.pidx-i img{width:100%;height:clamp(62px,6vw,78px);object-fit:contain;object-position:left center;}
.pidx-i img.on-dark{background:var(--tile-bg,#141414);object-position:center;border-radius:3px;}
.pidx-n{font-family:var(--f-serif);font-size:16px;font-weight:700;color:var(--dark-navy);line-height:1.35;margin:0;}
.pidx-go{margin-top:auto;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.pidx-i:not(a) .pidx-n{color:var(--text-dark);}
@media(prefers-reduced-motion:reduce){
  a.pidx-i:hover{transform:none;}
  a.pidx-i:hover::after{transform:scaleX(1);transition:none;}
}

/* ── Statement band ──
   For a passage that carries an argument on its own, with no heading or structure
   around it. Gives the paragraph presence through measure, scale and ground
   instead of leaving it as loose body copy on a blank field. */
.stmt{position:relative;overflow:hidden;background:var(--white);padding:clamp(64px,9vh,104px) 6vw;}
.stmt-grain{position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .14 0 0 0 0 .25 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");}
.stmt-in{position:relative;z-index:1;max-width:820px;margin:0 auto;
  background:linear-gradient(140deg,rgba(236,234,228,.72),rgba(236,234,228,.24));
  border-left:2px solid var(--gold);padding:clamp(34px,4.4vw,54px) clamp(28px,4vw,52px);}
.stmt-mark{display:block;width:44px;height:1px;background:rgba(41,58,96,.28);margin-bottom:24px;}
.stmt-p{font-size:clamp(16.5px,1.55vw,18px);font-weight:500;line-height:1.92;color:var(--text-dark);
  margin:0;max-width:64ch;}
.stmt-p::first-letter{float:left;font-family:var(--f-serif);font-size:3.35em;line-height:.84;
  padding:5px 13px 0 0;color:var(--gold);font-weight:700;}
@media(max-width:560px){
  .stmt-p::first-letter{font-size:2.9em;padding:4px 10px 0 0;}
}

/* ── Paragraph stack ──
   Several consecutive paragraphs read as one slab. Hairline separation gives each
   its own beat without changing a word or adding headings. */
.pstack>*+*{margin-top:22px;padding-top:22px;border-top:1px solid rgba(41,58,96,.11);}
.pstack .nv-lead,.pstack .sb{margin-bottom:0;}
.pstack-lede{font-size:clamp(16px,1.5vw,17.5px);font-weight:500;line-height:1.88;color:var(--text-dark);
  margin:0;max-width:64ch;}
.pstack-lede strong{color:var(--dk);}

/* ── Process track ──
   For content that genuinely is a sequence. A card grid shows four items; this
   shows four items in an order, which is the actual information. Each connector
   draws before the next node appears, so the eye follows the sequence. */
.trk{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,34px);--trk-gap:clamp(18px,2.4vw,34px);}
.trk-s{position:relative;}
.trk-s::after{content:'';position:absolute;top:17px;left:44px;
  width:calc(100% - 44px + var(--trk-gap));height:1px;background:rgba(201,168,76,.32);
  transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);}
.trk-s:last-child::after{display:none;}
.reveal.in .trk-s::after{transform:scaleX(1);}
.trk-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--brand-deep-2);border:1px solid rgba(201,168,76,.5);
  font-size:11px;font-weight:700;color:var(--gold);position:relative;z-index:1;margin-bottom:20px;
  opacity:0;transform:scale(.72);
  transition:opacity .45s var(--ease),transform .45s var(--ease);}
.reveal.in .trk-n{opacity:1;transform:none;}
.trk-s:nth-child(1) .trk-n{transition-delay:.1s}  .trk-s:nth-child(1)::after{transition-delay:.3s}
.trk-s:nth-child(2) .trk-n{transition-delay:.55s} .trk-s:nth-child(2)::after{transition-delay:.75s}
.trk-s:nth-child(3) .trk-n{transition-delay:1s}   .trk-s:nth-child(3)::after{transition-delay:1.2s}
.trk-s:nth-child(4) .trk-n{transition-delay:1.45s}
.trk-h{font-family:var(--f-serif);font-size:17px;font-weight:700;color:var(--cream);
  line-height:1.3;margin:0 0 10px;}
.trk-p{font-size:13.5px;color:rgba(238,237,235,.8);line-height:1.72;margin:0;}
/* light-ground variant */
.trk.lt .trk-n{background:var(--white);border-color:rgba(201,168,76,.75);}
.trk.lt .trk-h{color:var(--dark-navy);}
.trk.lt .trk-p{color:var(--text-mid);}
@media(max-width:900px){
  .trk{grid-template-columns:1fr;gap:0;}
  .trk-s{padding:0 0 26px 52px;}
  .trk-s::after{top:38px;left:16px;width:1px;height:calc(100% - 38px);
    transform:scaleY(0);transform-origin:top;transition:transform .6s var(--ease);}
  .reveal.in .trk-s::after{transform:scaleY(1);}
  .trk-n{position:absolute;top:0;left:0;margin-bottom:0;}
  .trk-s:last-child{padding-bottom:0;}
}
@media(prefers-reduced-motion:reduce){
  .trk-n{opacity:1;transform:none;transition:none;}
  .trk-s::after{transform:none!important;transition:none;}
}

/* ── 360 statement band ──
   Follows the Kompass Canva treatment: one oversized ghosted numeral bleeding off
   the edge on brand navy. The section's job on Athlete Home is to make the suite
   feel like the centre of the model and send people to the full page, so it
   carries a single visual idea rather than a set of statistics. */
.k3b{position:relative;overflow:hidden;background:var(--brand-deep);
  padding:clamp(84px,12vh,148px) 6vw;}
.k3b-mark{position:absolute;right:-4%;bottom:-16%;z-index:0;pointer-events:none;
  font-family:var(--f-serif);font-weight:700;line-height:.78;letter-spacing:-.03em;
  font-size:clamp(230px,42vw,560px);color:rgba(232,231,231,.075);
  opacity:0;transform:translateY(42px) scale(.965);
  transition:opacity 1.5s var(--ease) .15s,transform 1.7s var(--ease) .15s;}
/* the section carries .reveal purely as a scroll trigger, so neutralise the
   generic reveal transform on it and animate its children instead */
html.js .k3b.reveal{opacity:1;transform:none;}
.k3b.reveal.in .k3b-mark{opacity:1;transform:none;}
.k3b-body{opacity:0;transform:translateY(18px);
  transition:opacity .8s var(--ease) .1s,transform .8s var(--ease) .1s;}
html:not(.js) .k3b-body{opacity:1;transform:none;}
.k3b.reveal.in .k3b-body{opacity:1;transform:none;}
.k3b-glow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(80% 70% at 78% 88%,rgba(201,168,76,.11),transparent 62%);}
.k3b-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;}
.k3b-rule{width:54px;height:2px;background:var(--gold);margin-bottom:22px;}
.k3b-body{max-width:64ch;}
.k3b-h{font-family:var(--f-serif);font-weight:700;line-height:1.12;color:var(--cream);
  font-size:clamp(31px,5vw,60px);margin:0 0 26px;}
.k3b-h em{font-style:italic;color:var(--gold);}
.k3b-p{font-size:clamp(15.5px,1.5vw,17px);font-weight:500;line-height:1.85;
  color:rgba(238,237,235,.86);margin:0 0 30px;max-width:60ch;}
@media(max-width:640px){
  .k3b-mark{right:-8%;bottom:-8%;font-size:clamp(190px,58vw,330px);}
}
@media(prefers-reduced-motion:reduce){
  .k3b-mark,.k3b-body{opacity:1;transform:none;transition:none;}
}

/* ── Method ridgeline ──
   Five phases shown as an ascent rather than a row of cards: each phase sits a
   step higher than the last, joined by a rising line. The sequence and the
   progression are both visible, and it carries the brand's mountain language. */
.ridge{position:relative;display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(8px,1.2vw,18px);align-items:end;padding-top:clamp(18px,3vh,34px);}
.ridge-s{position:relative;text-align:center;padding:0 2px;}
/* each phase steps up */
.ridge-s:nth-child(1){padding-bottom:0}
.ridge-s:nth-child(2){padding-bottom:clamp(16px,2.4vw,34px)}
.ridge-s:nth-child(3){padding-bottom:clamp(32px,4.8vw,68px)}
.ridge-s:nth-child(4){padding-bottom:clamp(48px,7.2vw,102px)}
.ridge-s:nth-child(5){padding-bottom:clamp(64px,9.6vw,136px)}
/* the rising connector */
.ridge-s::after{content:'';position:absolute;left:50%;bottom:100%;width:calc(100% + clamp(8px,1.2vw,18px));
  height:2px;background:rgba(201,168,76,.45);transform-origin:left center;
  transform:scaleX(0);transition:transform .6s var(--ease);}
.ridge-s:nth-child(1)::after{transform:scaleX(0) rotate(-11deg);}
.ridge-s:nth-child(2)::after,.ridge-s:nth-child(3)::after,
.ridge-s:nth-child(4)::after{transform:scaleX(0) rotate(-11deg);}
.ridge-s:nth-child(5)::after{display:none;}
.reveal.in .ridge-s:nth-child(1)::after{transform:scaleX(1) rotate(-11deg);transition-delay:.4s}
.reveal.in .ridge-s:nth-child(2)::after{transform:scaleX(1) rotate(-11deg);transition-delay:.8s}
.reveal.in .ridge-s:nth-child(3)::after{transform:scaleX(1) rotate(-11deg);transition-delay:1.2s}
.reveal.in .ridge-s:nth-child(4)::after{transform:scaleX(1) rotate(-11deg);transition-delay:1.6s}
.ridge-ico{width:clamp(40px,4.4vw,54px);height:clamp(40px,4.4vw,54px);margin:0 auto 14px;
  color:var(--navy);opacity:0;transform:translateY(12px) scale(.9);
  transition:opacity .5s var(--ease),transform .5s var(--ease);}
.ridge-ico svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;
  stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;}
.reveal.in .ridge-ico{opacity:1;transform:none;}
.reveal.in .ridge-s:nth-child(1) .ridge-ico{transition-delay:.1s}
.reveal.in .ridge-s:nth-child(2) .ridge-ico{transition-delay:.5s}
.reveal.in .ridge-s:nth-child(3) .ridge-ico{transition-delay:.9s}
.reveal.in .ridge-s:nth-child(4) .ridge-ico{transition-delay:1.3s}
.reveal.in .ridge-s:nth-child(5) .ridge-ico{transition-delay:1.7s}
.ridge-k{display:block;font-size:10px;font-weight:700;letter-spacing:.2em;
  color:var(--gold);margin-bottom:7px;font-variant-numeric:tabular-nums;}
.ridge-n{font-family:var(--f-serif);font-size:clamp(14px,1.55vw,19px);font-weight:700;
  color:var(--dark-navy);line-height:1.25;margin:0;}
/* dark-ground variant */
.ridge.lt .ridge-ico{color:var(--cream);}
.ridge.lt .ridge-n{color:var(--cream);}
.ridge.lt .ridge-s::after{background:rgba(201,168,76,.5);}
@media(max-width:760px){
  .ridge{grid-template-columns:1fr;gap:0;padding-top:0;}
  .ridge-s{text-align:left;display:grid;grid-template-columns:auto 1fr;gap:18px;
    align-items:center;padding:16px 0!important;border-bottom:1px solid rgba(41,58,96,.12);}
  .ridge.lt .ridge-s{border-bottom-color:rgba(232,231,231,.16);}
  .ridge-s:last-child{border-bottom:none;}
  .ridge-s::after{display:none;}
  .ridge-ico{margin:0;width:38px;height:38px;}
}
@media(prefers-reduced-motion:reduce){
  .ridge-ico{opacity:1;transform:none;transition:none;}
  .ridge-s::after{transform:scaleX(1) rotate(-11deg)!important;transition:none;}
}

/* ── Torn-strip curriculum ──
   Krystal's collage artwork, cut into its six strips — one per core module.
   The strips are the interface: hovering or focusing one lifts it out of the
   range and opens its description. Replaces a six-card grid. */
.fpx{position:relative;overflow:hidden;background:var(--brand-deep);padding:clamp(64px,9vh,104px) 6vw;}
.fpx-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;}
.fpx-rule{width:54px;height:2px;background:var(--gold);margin-bottom:18px;}
.fpx-h{font-family:var(--f-serif);font-weight:700;font-size:clamp(26px,3.6vw,44px);
  line-height:1.14;color:var(--cream);margin:0 0 14px;
  text-shadow:0 2px 26px rgba(6,14,32,.75);}
.fpx-h em{font-style:italic;color:var(--gold);}
.fpx-lede{font-size:15px;color:rgba(238,237,235,.88);line-height:1.8;max-width:46ch;margin:0;
  text-shadow:0 1px 18px rgba(6,14,32,.8);}
/* type sits over the range, as in the Kompass collage posts */
.fpx-stage{position:relative;margin-bottom:clamp(22px,3vh,32px);}
.fpx-over{position:absolute;left:0;top:clamp(14px,3vh,34px);z-index:2;
  max-width:min(52%,560px);pointer-events:none;}
.fpx-over .ey{margin-bottom:12px;}
.fpx-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(96deg,rgba(20,32,64,.9) 0%,rgba(20,32,64,.66) 34%,
    rgba(20,32,64,.14) 62%,transparent 82%);}
/* the range */
.fpx-range{position:relative;z-index:0;display:flex;align-items:flex-end;justify-content:center;gap:0;}
.fpx-strip{position:relative;flex:1 1 0;min-width:0;background:none;border:0;padding:0;
  cursor:pointer;display:block;text-align:center;
  transition:transform .55s var(--ease),filter .55s var(--ease);}
/* the strips are tall and narrow at native aspect; crop rather than stretch the range */
.fpx-strip img{width:100%;height:clamp(330px,52vh,520px);object-fit:cover;object-position:center 46%;display:block;pointer-events:none;
  filter:saturate(.92) brightness(.92);transition:filter .55s var(--ease);}
.fpx-strip:hover,.fpx-strip:focus-visible{transform:translateY(-14px);outline:none;}
.fpx-strip:hover img,.fpx-strip:focus-visible img{filter:saturate(1.04) brightness(1.1);}
.fpx-strip[aria-expanded="true"]{transform:translateY(-14px);}
.fpx-strip[aria-expanded="true"] img{filter:saturate(1.04) brightness(1.1);}
.fpx-k{position:relative;z-index:3;display:block;margin-top:14px;font-size:9.5px;font-weight:700;letter-spacing:.18em;
  color:var(--gold);font-variant-numeric:tabular-nums;}
.fpx-n{position:relative;z-index:3;display:block;margin-top:6px;font-size:11px;font-weight:600;line-height:1.4;
  color:rgba(238,237,235,.72);transition:color .4s var(--ease);padding:0 4px;}
.fpx-strip:hover .fpx-n,.fpx-strip:focus-visible .fpx-n,
.fpx-strip[aria-expanded="true"] .fpx-n{color:var(--cream);}
/* the shared detail panel */
.fpx-detail{border-top:1px solid rgba(232,231,231,.16);padding-top:clamp(22px,3vh,30px);
  min-height:96px;}
.fpx-detail-k{font-size:9.5px;font-weight:700;letter-spacing:.2em;color:var(--gold);
  margin:0 0 9px;font-variant-numeric:tabular-nums;}
.fpx-detail-h{font-family:var(--f-serif);font-size:clamp(17px,1.9vw,22px);font-weight:700;
  color:var(--cream);margin:0 0 10px;line-height:1.3;}
.fpx-detail-p{font-size:14.5px;color:rgba(238,237,235,.82);line-height:1.75;margin:0;max-width:70ch;}
.fpx-detail.swap .fpx-detail-k,.fpx-detail.swap .fpx-detail-h,.fpx-detail.swap .fpx-detail-p{
  animation:fpxIn .45s var(--ease) both;}
@keyframes fpxIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .fpx-over{position:static;max-width:none;margin-bottom:26px;}
  .fpx-scrim{display:none;}
  .fpx-h,.fpx-lede{text-shadow:none;}
  .fpx-lede{max-width:62ch;}
}
@media(max-width:760px){
  .fpx-range{flex-wrap:wrap;justify-content:flex-start;gap:2px;}
  .fpx-strip{flex:0 0 calc(33.333% - 2px);}
  .fpx-n{font-size:10px;}
  .fpx-strip img{height:clamp(160px,27vh,215px);}
  .fpx-strip:hover,.fpx-strip:focus-visible,.fpx-strip[aria-expanded="true"]{transform:translateY(-7px);}
}
@media(prefers-reduced-motion:reduce){
  .fpx-strip,.fpx-strip img{transition:none;}
  .fpx-strip:hover,.fpx-strip:focus-visible,.fpx-strip[aria-expanded="true"]{transform:none;}
  .fpx-detail.swap .fpx-detail-k,.fpx-detail.swap .fpx-detail-h,.fpx-detail.swap .fpx-detail-p{animation:none;}
}

/* ── Method ring ──
   Five phases on a ring rather than a row. The page's own copy says development
   is not always linear and an athlete can return to an earlier phase — a ring
   states that; a left-to-right row contradicts it. */
.ringx{position:relative;width:min(640px,84vw);margin:clamp(30px,5vh,54px) auto;
  aspect-ratio:1;padding:0;}
.ringx-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.ringx-track{fill:none;stroke:rgba(41,58,96,.13);stroke-width:1.5;}
.ringx-draw{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;
  stroke-dasharray:942.48;stroke-dashoffset:942.48;
  transform:rotate(-90deg);transform-origin:200px 200px;
  transition:stroke-dashoffset 1.8s var(--ease) .1s;}
.reveal.in .ringx-draw{stroke-dashoffset:0;}
/* nodes sit on the ring */
/* the disc is what must sit on the ring, so it is the node's whole box and the
   label is positioned off it — otherwise the button's centre lands off-circle */
.ringx-n{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);
  background:none;border:0;padding:0;cursor:pointer;font:inherit;
  opacity:0;transition:opacity .5s var(--ease);}
.ringx-lab{position:absolute;top:calc(100% + 11px);left:50%;transform:translateX(-50%);
  width:clamp(104px,15vw,142px);text-align:center;}
.reveal.in .ringx-n{opacity:1;}
.ringx-n:nth-of-type(1){transition-delay:.35s}.ringx-n:nth-of-type(2){transition-delay:.65s}
.ringx-n:nth-of-type(3){transition-delay:.95s}.ringx-n:nth-of-type(4){transition-delay:1.25s}
.ringx-n:nth-of-type(5){transition-delay:1.55s}
.ringx-disc{display:block;width:clamp(62px,8.4vw,80px);height:clamp(62px,8.4vw,80px);border-radius:50%;
  margin:0;display:grid;place-items:center;background:var(--white);
  border:1px solid rgba(41,58,96,.16);box-shadow:0 14px 30px -22px rgba(22,35,63,.6);
  transition:border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease);}
.ringx-disc svg{width:56%;height:56%;color:var(--navy);}
.ringx-n:hover .ringx-disc,.ringx-n:focus-visible .ringx-disc,
.ringx-n[aria-current="true"] .ringx-disc{border-color:var(--gold);transform:scale(1.07);
  box-shadow:0 20px 38px -20px rgba(22,35,63,.5);}
.ringx-n:focus-visible{outline:none;}
.ringx-n:focus-visible .ringx-disc{outline:2px solid var(--gold);outline-offset:4px;}
.ringx-k{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;color:var(--gold);
  margin-bottom:5px;font-variant-numeric:tabular-nums;}
.ringx-nm{display:block;font-family:var(--f-serif);font-size:clamp(14px,1.5vw,17px);
  font-weight:700;color:var(--dark-navy);line-height:1.25;}
/* the centre reads the selected phase */
.ringx-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(52%,300px);text-align:center;pointer-events:none;}
.ringx-c-k{font-size:9.5px;font-weight:700;letter-spacing:.2em;color:var(--gold);margin:0 0 8px;}
.ringx-c-h{font-family:var(--f-serif);font-size:clamp(19px,2.3vw,26px);font-weight:700;
  color:var(--dark-navy);line-height:1.2;margin:0 0 10px;}
.ringx-c-p{font-size:12.5px;color:var(--text-mid);line-height:1.65;margin:0;}
.ringx-c.swap>*{animation:fpxIn .45s var(--ease) both;}
@media(max-width:700px){
  .ringx{width:100%;aspect-ratio:auto;margin:26px auto 0;}
  .ringx-svg,.ringx-c{display:none;}
  .ringx-n{position:static;opacity:1;transform:none;width:100%;text-align:left;
    display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;
    padding:15px 0;border-bottom:1px solid rgba(41,58,96,.12);transition:none;}
  .ringx-lab{position:static;transform:none;width:auto;text-align:left;}
  .ringx-n:last-of-type{border-bottom:none;}
  .ringx-disc{margin:0;width:54px;height:54px;}
}
@media(prefers-reduced-motion:reduce){
  .ringx-draw{stroke-dashoffset:0;transition:none;}
  .ringx-n{opacity:1;transition:none;}
  .ringx-c.swap>*{animation:none;}
}

/* ── Two pathways ──
   Was a three-column grid holding two cards, leaving an empty third column, with
   the dark card variant on one side so Institutions read as pre-selected. Both
   pathways now get identical weight, over the tunnel frame — two lit paths
   converging on the same field. */
.twop{position:relative;overflow:hidden;background:var(--brand-deep-2);
  padding:clamp(66px,9vh,104px) 6vw;}
.twop-bg{position:absolute;inset:0;z-index:0;}
.twop-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.5;}
.twop-scrim{position:absolute;inset:0;z-index:1;background:
  radial-gradient(90% 70% at 50% 88%,rgba(201,168,76,.1),transparent 62%),
  linear-gradient(180deg,rgba(10,21,49,.9),rgba(10,21,49,.62) 42%,rgba(10,21,49,.92));}
.twop-in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;}
.twop-head{text-align:center;max-width:660px;margin:0 auto clamp(34px,4.6vh,52px);}
.twop-rule{width:54px;height:2px;background:var(--gold);margin:0 auto 20px;}
.twop-h{font-family:var(--f-serif);font-weight:700;font-size:clamp(26px,3.4vw,40px);
  line-height:1.16;color:var(--cream);margin:0 0 14px;}
.twop-h em{font-style:italic;color:var(--gold);}
.twop-sub{font-size:15px;color:rgba(238,237,235,.84);line-height:1.8;margin:0;}
.twop-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.twop-card{position:relative;display:flex;flex-direction:column;text-decoration:none;
  background:rgba(232,231,231,.055);border:1px solid rgba(232,231,231,.16);
  padding:clamp(28px,3.4vw,42px);
  transition:background-color .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease);}
.twop-card:hover{background:rgba(232,231,231,.1);border-color:rgba(201,168,76,.5);
  transform:translateY(-4px);}
.twop-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.twop-card:hover::after{transform:scaleX(1);}
.twop-ch{font-family:var(--f-serif);font-size:clamp(19px,2.1vw,25px);font-weight:700;
  color:var(--cream);margin:0 0 12px;line-height:1.25;}
.twop-cp{font-size:14.5px;color:rgba(238,237,235,.8);line-height:1.75;margin:0 0 22px;}
.twop-go{margin-top:auto;font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:9px;
  transition:gap var(--tr);}
.twop-card:hover .twop-go{gap:14px;}
@media(max-width:760px){
  .twop-grid{grid-template-columns:1fr;}
  .twop-card:hover{transform:none;}
}
@media(prefers-reduced-motion:reduce){
  .twop-card:hover{transform:none;}
  .twop-card:hover::after{transform:scaleX(1);transition:none;}
}

/* ── Convergence ──
   "Four parts. One connected relationship." is not a flat list of four: three
   parts feed into the fourth, and the closing line says the Navigator connects
   them. Three items converge on the Navigator, and the connectors draw on scroll. */
.cnv{display:grid;grid-template-columns:1fr clamp(72px,9vw,132px) .9fr;align-items:center;
  gap:0;position:relative;}
.cnv-list{display:grid;gap:2px;}
a.cnv-item{display:block;text-decoration:none;position:relative;
  background:rgba(232,231,231,.055);border:1px solid rgba(232,231,231,.14);
  border-left:2px solid rgba(201,168,76,.55);padding:clamp(17px,2vw,24px) clamp(18px,2.2vw,28px);
  transition:background-color .45s var(--ease),border-left-color .45s var(--ease);}
a.cnv-item:hover{background:rgba(232,231,231,.1);border-left-color:var(--gold);}
a.cnv-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
/* the affordance stays quiet until the row is engaged, so the diagram reads first */
.cnv-go{display:inline-block;margin-top:11px;font-size:9.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  opacity:0;transform:translateX(-5px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);}
a.cnv-item:hover .cnv-go,a.cnv-item:focus-visible .cnv-go,
a.cnv-hub:hover .cnv-go,a.cnv-hub:focus-visible .cnv-go{opacity:1;transform:none;}
a.cnv-hub{display:block;text-decoration:none;
  transition:background-color .45s var(--ease),border-color .45s var(--ease);}
a.cnv-hub:hover{background:rgba(201,168,76,.16);border-color:var(--gold);}
a.cnv-hub:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.cnv-go-hub{margin-top:14px;}
/* no hover on touch, so the affordance must be visible at rest there */
@media(hover:none){
  .cnv-go{opacity:1;transform:none;}
}
.cnv-name{font-family:var(--f-serif);font-size:clamp(15px,1.6vw,18px);font-weight:700;
  color:var(--gold);margin:0 0 7px;line-height:1.25;}
.cnv-desc{font-size:13.5px;color:rgba(238,237,235,.8);line-height:1.7;margin:0;}
/* the connectors */
.cnv-link{position:relative;align-self:stretch;min-height:120px;}
.cnv-link svg{position:absolute;inset:0;width:100%;height:100%;}
.cnv-link path{fill:none;stroke:rgba(201,168,76,.5);stroke-width:1.5;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset 1.1s var(--ease);}
.reveal.in .cnv-link path{stroke-dashoffset:0;}
.reveal.in .cnv-link path:nth-child(1){transition-delay:.2s}
.reveal.in .cnv-link path:nth-child(2){transition-delay:.45s}
.reveal.in .cnv-link path:nth-child(3){transition-delay:.7s}
/* the anchor the three converge on */
.cnv-hub{position:relative;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.45);
  padding:clamp(24px,3vw,34px);}
.cnv-hub::before{content:'';position:absolute;inset:0;border-left:2px solid var(--gold);}
.cnv-hub-k{font-size:9.5px;font-weight:700;letter-spacing:.2em;color:var(--gold);margin:0 0 10px;}
.cnv-hub-n{font-family:var(--f-serif);font-size:clamp(19px,2.2vw,26px);font-weight:700;
  color:var(--cream);margin:0 0 10px;line-height:1.2;}
.cnv-hub-d{font-size:14px;color:rgba(238,237,235,.86);line-height:1.72;margin:0;}
@media(max-width:860px){
  .cnv{grid-template-columns:1fr;}
  .cnv-link{min-height:44px;align-self:center;}
  .cnv-link svg{transform:rotate(90deg);}
  .cnv-hub{border-left-width:1px;}
}
@media(prefers-reduced-motion:reduce){
  .cnv-link path{stroke-dashoffset:0;transition:none;}
  .cnv-go{opacity:1;transform:none;transition:none;}
}

/* ── Ghosted ridgeline ──
   Promoted from about.html's inline styles, where it was doing the Our Story
   section. A light section keeps its legibility but gains depth. */
.ghost-s{position:relative;overflow:hidden;}
.ghost-bg{position:absolute;inset:0;z-index:0;}
.ghost-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%;}
.ghost-scrim{position:absolute;inset:0;z-index:1;}
.ghost-s>.si,.ghost-s>.ghost-in{position:relative;z-index:2;}
.ghost-s.on-light .ghost-scrim{background:rgba(255,255,255,.87);}
.ghost-s.on-cream .ghost-scrim{background:rgba(236,234,228,.88);}

/* ── Navigator duties ──
   Four distinct capabilities, not a sequence. Set as an editorial pair of
   columns with hairline separation rather than four boxes. */
.duty{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(34px,4.4vw,72px);}
.duty-i{padding:clamp(24px,3vh,32px) 0;border-top:1px solid rgba(41,58,96,.14);}
.duty-i:nth-child(1),.duty-i:nth-child(2){border-top:2px solid var(--navy);}
.duty-k{display:block;font-family:var(--f-serif);font-size:13px;font-weight:700;
  letter-spacing:.02em;color:var(--gold);margin-bottom:9px;font-variant-numeric:tabular-nums;}
.duty-n{font-family:var(--f-serif);font-size:clamp(17px,1.9vw,21px);font-weight:700;
  color:var(--dark-navy);margin:0 0 10px;line-height:1.28;}
.duty-d{font-size:14.5px;color:var(--text-mid);line-height:1.78;margin:0;max-width:46ch;}
@media(max-width:760px){
  .duty{grid-template-columns:1fr;}
  .duty-i:nth-child(2){border-top:1px solid rgba(41,58,96,.14);}
}

/* ── Area index ──
   Replaces the pill grid whose seventh item had to span the full row. The
   coordination line is different in kind, so it is set apart deliberately. */
/* three columns exactly: six items make two full rows, so no cell is left empty */
.areas{display:grid;grid-template-columns:repeat(3,1fr);
  gap:0 clamp(26px,3.4vw,54px);border-top:2px solid var(--navy);}
@media(max-width:900px){.areas{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.areas{grid-template-columns:1fr;}}
.areas-i{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:baseline;
  padding:16px 0;border-bottom:1px solid rgba(41,58,96,.13);}
.areas-i::before{content:'✦';color:var(--gold);font-size:10px;line-height:1.7;}
.areas-i p{font-size:14.5px;font-weight:500;color:var(--text-dark);line-height:1.6;margin:0;}
.areas-close{margin-top:clamp(24px,3vh,32px);padding-left:22px;
  border-left:2px solid var(--gold);}
.areas-close p{font-family:var(--f-serif);font-size:clamp(15px,1.65vw,18px);font-weight:700;
  color:var(--dark-navy);line-height:1.5;margin:0;}

/* ── Headline statistics ──
   Lifted out of the hero, where they were competing with the headline and the
   buttons. On cream directly beneath a dark hero the cut is hard, so the figures
   are the first thing the eye lands on after the fold. Inverse of the EQ band:
   same "figures carry the typography" idea, light ground instead of dark. */
.stx{position:relative;overflow:hidden;background:var(--cream-bg);
  padding:clamp(56px,8vh,88px) 6vw clamp(48px,7vh,74px);}
.stx-grain{position:absolute;inset:0;z-index:0;opacity:.45;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .14 0 0 0 0 .25 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");}
.stx-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;}
.stx-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stx-i{text-align:center;padding:clamp(6px,1.4vh,16px) clamp(10px,1.6vw,22px);
  border-left:1px solid rgba(41,58,96,.16);}
.stx-i:first-child{border-left:none;}
.stx-n{display:block;font-family:var(--f-serif);font-weight:700;
  font-size:clamp(34px,5.2vw,62px);line-height:1;color:var(--dark-navy);
  font-variant-numeric:tabular-nums;letter-spacing:-.015em;}
.stx-n .stx-unit{color:var(--gold);}
/* a word is not a figure: set smaller so it does not break at its hyphen,
   and so the numerals stay the display element */
.stx-n--word{font-size:clamp(26px,3.6vw,44px);white-space:nowrap;}
.stx-l{display:block;margin-top:clamp(11px,1.6vh,16px);font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--text-mid);line-height:1.62;}
/* the interpretation, given room to land */
.stx-note{margin:clamp(38px,5vh,60px) auto 0;max-width:64ch;text-align:center;}
.stx-rule{width:54px;height:2px;background:var(--gold);margin:0 auto clamp(20px,2.6vh,28px);}
.stx-note p{font-family:var(--f-serif);font-size:clamp(16.5px,1.85vw,21px);font-weight:400;
  line-height:1.66;color:var(--text-dark);margin:0;text-wrap:pretty;}
@media(max-width:860px){
  .stx-grid{grid-template-columns:1fr 1fr;gap:clamp(22px,4vh,34px) 0;}
  .stx-i:nth-child(odd){border-left:none;}
  .stx-i:nth-child(n+3){border-top:1px solid rgba(41,58,96,.16);padding-top:clamp(20px,3.4vh,30px);}
}
@media(max-width:420px){
  .stx-l{font-size:9.5px;letter-spacing:.1em;}
}

/* ── Three-part role ──
   Krystal's Navigator role reference. Every line is written as "action — detail",
   so the action carries the weight and the detail sits behind it; the reader can
   scan nine actions or read the whole thing. */
.role3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,3.6vw,58px);}
.role3-c{border-top:2px solid var(--navy);padding-top:clamp(20px,2.6vh,28px);}
.role3-n{font-family:var(--f-serif);font-size:clamp(17px,1.9vw,21px);font-weight:700;
  color:var(--dark-navy);margin:0 0 clamp(16px,2.2vh,22px);line-height:1.25;}
.role3-l{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.role3-l li{font-size:14px;color:var(--text-mid);line-height:1.7;
  padding:14px 0;border-bottom:1px solid rgba(41,58,96,.12);}
.role3-l li:last-child{border-bottom:none;}
.role3-l strong{display:block;font-family:var(--f-sans);font-size:11px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
/* dark-ground variant */
.role3.lt .role3-c{border-top-color:var(--gold);}
.role3.lt .role3-n{color:var(--cream);}
.role3.lt .role3-l li{color:rgba(238,237,235,.8);border-bottom-color:rgba(232,231,231,.14);}
@media(max-width:860px){
  .role3{grid-template-columns:1fr;gap:clamp(26px,3.6vh,36px) 0;}
}

/* ── Athlete Home 2 variants ──
   The Navigator narrative reduced to its opening statement: the definitional
   paragraph now lives on the Navigators page as the three-part role, and the
   gap paragraph is the statement band on Why. One column, not two. */
.nvx--solo .nvx-solo-in{max-width:62ch;}
.nvx--solo .nvx-lede{font-size:clamp(18px,1.9vw,22.5px);}
/* the value props now sit under the statement they support, so the framing
   label separates them without a second heading restating the same idea */
.nvx-sub{margin:clamp(38px,5vh,58px) 0 clamp(18px,2.4vh,24px);padding-top:clamp(24px,3vh,32px);
  border-top:1px solid rgba(41,58,96,.16);}
/* three distinct value props, so three columns and no orphaned cell */
.kd-grid.kd-grid--3{grid-template-columns:repeat(3,1fr);border-top:2px solid var(--gold);}
.kd-grid.kd-grid--3 .kd-cell{padding:clamp(26px,2.6vw,34px) clamp(22px,2.2vw,30px);
  border-bottom:none;border-right:1px solid rgba(41,58,96,.16);}
.kd-grid.kd-grid--3 .kd-cell:first-child{padding-left:0;}
.kd-grid.kd-grid--3 .kd-cell:last-child{padding-right:0;border-right:none;}
@media(max-width:860px){
  .kd-grid.kd-grid--3{grid-template-columns:1fr;}
  .kd-grid.kd-grid--3 .kd-cell,
  .kd-grid.kd-grid--3 .kd-cell:first-child,
  .kd-grid.kd-grid--3 .kd-cell:last-child{padding:24px 0;border-right:none;
    border-bottom:1px solid rgba(41,58,96,.16);}
  .kd-grid.kd-grid--3 .kd-cell:last-child{border-bottom:none;}
}

/* ── Sponsor pointer ──
   The full sponsor and partner rows were pulling focus on the home page, so the
   home page only points at them. */
.spl{background:var(--brand-deep-2);padding:clamp(26px,3.6vh,38px) 6vw;}
.spl-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:20px;flex-wrap:wrap;}
.spl-t{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(232,231,231,.6);margin:0;}
.spl-t em{font-style:normal;color:var(--gold);}
@media(max-width:640px){.spl-in{flex-direction:column;align-items:flex-start;}}

/* ── Tiers on the home page ──
   Same tricolor panels as Services, so the two pages agree, but without the
   feature lists — the home page shows the three and links out for detail.
   The two intro paragraphs used to stack as two centred blocks of different
   lengths, which read as ragged; the affordability note now sits below the
   panels, which is also where it belongs since it applies to all three. */
.tiers-head{text-align:center;max-width:660px;margin:0 auto clamp(30px,4vh,44px);}
.tiers-lede{font-size:clamp(15px,1.55vw,16.5px);color:var(--text-mid);line-height:1.8;
  margin:16px auto 0;max-width:56ch;}
.tier-row--home .tier{padding:clamp(28px,3vw,38px) clamp(24px,2.6vw,30px);}
a.tier--link{text-decoration:none;display:flex;flex-direction:column;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
a.tier--link:hover{transform:translateY(-5px);box-shadow:0 28px 52px -34px rgba(22,35,63,.6);}
a.tier--link:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.tier-desc{flex:1;}
.tier-go{margin-top:clamp(18px,2.4vh,24px);font-size:10px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;transition:gap var(--tr);}
.tier.t1 .tier-go{color:var(--navy);}
.tier.t2 .tier-go,.tier.t3 .tier-go{color:var(--gold);}
a.tier--link:hover .tier-go{gap:13px;}
/* the affordability commitment, set apart rather than stacked under the lede */
.tiers-note{max-width:760px;margin:clamp(30px,4vh,42px) auto 0;padding-left:22px;
  border-left:2px solid var(--gold);}
.tiers-note p{font-size:14px;color:var(--text-mid);line-height:1.8;margin:0;}
@media(max-width:860px){
  .tier-row--home{grid-template-columns:1fr;}
  a.tier--link:hover{transform:none;}
}
@media(prefers-reduced-motion:reduce){
  a.tier--link:hover{transform:none;}
}

/* ── The map ──
   Ten named proprietary things were being introduced one at a time, each in its
   own paragraph on its own page, with no single place showing how they relate.
   This is that place: the sentence that defines the three nouns, then each Method
   phase against what it produces, then where Kompass 360 sits under all of it. */
.map5{position:relative;overflow:hidden;background:var(--brand-deep);
  padding:clamp(62px,9vh,100px) 6vw;}
.map5-grain{position:absolute;inset:0;z-index:0;opacity:.42;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");}
.map5-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;}
.map5-rule{width:54px;height:2px;background:var(--gold);margin-bottom:22px;}
/* the defining sentence, one clause per line */
.map5-def{font-family:var(--f-serif);font-weight:700;line-height:1.34;
  font-size:clamp(20px,2.6vw,32px);color:var(--cream);margin:0;max-width:24ch;}
.map5-def b{display:block;font-weight:700;}
.map5-def b+b{margin-top:6px;}
.map5-def .lo{color:rgba(232,231,231,.5);}
/* phase -> deliverable */
.map5-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  margin:clamp(38px,5vh,60px) 0 0;border-top:1px solid rgba(232,231,231,.18);}
.map5-c{padding:clamp(20px,2.6vh,28px) clamp(12px,1.4vw,20px);
  border-right:1px solid rgba(232,231,231,.13);}
.map5-c:last-child{border-right:none;}
.map5-c:first-child{padding-left:0;}
.map5-k{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:9px;font-variant-numeric:tabular-nums;}
.map5-ph{display:block;font-family:var(--f-serif);font-size:clamp(16px,1.75vw,20px);
  font-weight:700;color:var(--cream);line-height:1.2;margin-bottom:12px;}
.map5-arrow{display:block;width:16px;height:1px;background:rgba(201,168,76,.55);margin-bottom:12px;}
.map5-d{display:block;font-size:12.5px;color:rgba(238,237,235,.78);line-height:1.6;}
/* the layer underneath */
.map5-base{margin-top:2px;border-top:1px solid rgba(232,231,231,.18);
  padding-top:clamp(22px,3vh,30px);display:grid;grid-template-columns:auto 1fr;
  gap:clamp(18px,2.4vw,34px);align-items:baseline;}
.map5-base-n{font-family:var(--f-serif);font-size:clamp(17px,1.9vw,22px);font-weight:700;
  color:var(--gold);line-height:1.2;white-space:nowrap;}
.map5-base p{font-size:13.5px;color:rgba(238,237,235,.78);line-height:1.7;margin:0;max-width:70ch;}
@media(max-width:900px){
  .map5-row{grid-template-columns:1fr 1fr;}
  .map5-c{border-right:none;border-bottom:1px solid rgba(232,231,231,.13);}
  .map5-c:nth-child(odd){padding-left:0;}
  .map5-c:nth-child(2n){border-left:1px solid rgba(232,231,231,.13);padding-left:clamp(14px,3vw,22px);}
  .map5-def{max-width:none;}
}
@media(max-width:560px){
  .map5-row{grid-template-columns:1fr;}
  .map5-c,.map5-c:nth-child(2n){border-left:none;padding-left:0;}
  .map5-base{grid-template-columns:1fr;gap:10px;}
}

/* ── Home 2 comparison draft: minimum additions only ── */
.stx-grid--3{grid-template-columns:repeat(3,1fr);}
.stx-model{margin-top:clamp(30px,4vh,42px);padding-top:clamp(24px,3vh,32px);
  border-top:2px solid var(--navy);}
.stx-model-k{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:0 0 12px;}
.stx-model-row{display:flex;align-items:baseline;gap:clamp(16px,2.4vw,30px);flex-wrap:wrap;}
.stx-model-n{font-family:var(--f-serif);font-weight:700;font-size:clamp(28px,3.6vw,44px);
  line-height:1;color:var(--dark-navy);}
.stx-model-l{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-mid);}
/* Understand -> Build -> Connect, on a light ground */
.trk--three{grid-template-columns:repeat(3,1fr);}
.trk.lt-ground .trk-n{background:var(--white);border-color:rgba(201,168,76,.7);}
.trk.lt-ground .trk-h{color:var(--dark-navy);}
.trk.lt-ground .trk-p{color:var(--text-mid);}
.trk.lt-ground .trk-s::after{background:rgba(201,168,76,.4);}
.trk-lead{font-family:var(--f-serif);font-size:clamp(15px,1.6vw,17px);font-weight:700;
  color:var(--gold);margin:0 0 9px;line-height:1.3;}
/* small editorial pull-quote, not a full band */
.pq{background:var(--white);padding:clamp(30px,4.4vh,52px) 6vw;}
.pq-in{max-width:760px;margin:0 auto;padding-left:clamp(20px,3vw,32px);
  border-left:2px solid var(--gold);}
.pq-text{font-family:var(--f-serif);font-style:italic;font-size:clamp(17px,2vw,23px);
  line-height:1.56;color:var(--dark-navy);margin:0 0 14px;}
.pq-cite{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--navy);margin:0;}
.pq-cite span{color:var(--text-light);margin-left:10px;font-weight:600;}
/* EI body + tier extras */
.eix-body{font-size:15px;color:rgba(238,237,235,.86);line-height:1.8;margin:0 0 26px;max-width:56ch;}
.tiers-flat{margin:clamp(24px,3vh,32px) 0 0;text-align:center;font-family:var(--f-serif);
  font-size:clamp(15px,1.65vw,18px);font-weight:700;color:var(--dark-navy);}
/* compliance as a compact trust band */
.trust{background:var(--cream-bg);padding:clamp(44px,6vh,68px) 6vw;}
.trust-in{max-width:var(--maxw);margin:0 auto;}
.trust-h{font-family:var(--f-serif);font-weight:700;font-size:clamp(20px,2.4vw,28px);
  color:var(--dark-navy);line-height:1.24;margin:0 0 clamp(24px,3vh,32px);text-align:center;}
.trust-h em{font-style:italic;color:var(--navy);}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid rgba(41,58,96,.18);}
.trust-i{padding:clamp(18px,2.4vh,24px) clamp(16px,2vw,26px);
  border-right:1px solid rgba(41,58,96,.13);}
.trust-i:last-child{border-right:none;}
.trust-i:first-child{padding-left:0;}
.trust-k{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px;}
.trust-i p{font-size:13.5px;color:var(--text-mid);line-height:1.65;margin:0;}
@media(max-width:860px){
  .stx-grid--3{grid-template-columns:1fr 1fr;}
  .trk--three{grid-template-columns:1fr;}
  .trust-row{grid-template-columns:1fr;}
  .trust-i,.trust-i:first-child{padding:16px 0;border-right:none;
    border-bottom:1px solid rgba(41,58,96,.13);}
  .trust-i:last-child{border-bottom:none;}
}

/* ── Services 2 draft: page-specific additions only ── */
.tier-cue{margin-top:16px;padding-top:14px;font-size:12px;line-height:1.6;font-style:italic;}
.tier.t1 .tier-cue{color:var(--text-light);border-top:1px solid rgba(41,58,96,.16);}
.tier.t2 .tier-cue,.tier.t3 .tier-cue{color:rgba(232,231,231,.62);
  border-top:1px solid rgba(232,231,231,.16);}
.which{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-bottom:clamp(24px,3vh,32px);border-top:1px solid rgba(41,58,96,.18);}
.which-i{padding:15px clamp(14px,1.8vw,22px);border-right:1px solid rgba(41,58,96,.13);}
.which-i:last-child{border-right:none;}
.which-i:first-child{padding-left:0;}
.which-k{display:block;font-family:var(--f-serif);font-size:14.5px;font-weight:700;
  color:var(--gold);margin-bottom:5px;}
.which-i p{font-size:12.5px;color:var(--text-mid);line-height:1.6;margin:0;font-style:italic;}
@media(max-width:760px){
  .which{grid-template-columns:1fr;}
  .which-i,.which-i:first-child{padding:13px 0;border-right:none;
    border-bottom:1px solid rgba(41,58,96,.13);}
  .which-i:last-child{border-bottom:none;}
}

/* Services 2: the six areas are scannable, so the boxes are tighter than the default card */
.g2--tight .card{padding:clamp(24px,2.4vw,30px) clamp(22px,2.2vw,28px);}
.g2--tight .card-num{font-size:34px;margin-bottom:10px;}
.g2--tight .ch{font-size:16.5px;margin-bottom:9px;}
.g2--tight .cp{font-size:13px;line-height:1.68;margin-bottom:16px;}
.g2--tight .fl{gap:7px;margin-bottom:0;}
.g2--tight .fl li{font-size:12px;line-height:1.55;}
.g2--tight .fl li::before{width:5px;height:5px;margin-top:7px;}

/* ── Navigators 2 draft: page-specific additions only ── */
.role3--num .role3-c{border-top:2px solid var(--gold);}
.role3-num{display:block;font-family:var(--f-serif);font-size:13px;font-weight:700;
  color:var(--gold);letter-spacing:.04em;margin-bottom:10px;font-variant-numeric:tabular-nums;}
.role3-lead{font-family:var(--f-serif);font-size:clamp(14.5px,1.5vw,16px);font-weight:700;
  color:var(--navy);margin:0 0 10px;line-height:1.35;}
.role3-d{font-size:13.5px;color:var(--text-mid);line-height:1.72;margin:0 0 16px;}
.role3--num .role3-l li{padding:10px 0;font-size:13px;}
.role3--num .role3-l strong{display:none;}
/* the compact practice list under the four duties */
.practice{margin-top:clamp(26px,3.4vh,38px);padding-top:clamp(22px,2.8vh,28px);
  border-top:1px solid rgba(41,58,96,.16);}
.practice-k{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:0 0 14px;}
.practice-l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.practice-l li{font-size:12.5px;font-weight:600;color:var(--text-dark);
  background:rgba(255,255,255,.7);border:1px solid rgba(41,58,96,.14);
  border-left:2px solid var(--gold);padding:8px 14px;}
.practice-note{margin:18px 0 0;font-size:13px;font-style:italic;color:var(--text-mid);
  line-height:1.7;max-width:70ch;}
.rc-close{font-family:var(--f-serif);font-size:clamp(16px,1.8vw,20px);font-weight:700;
  color:var(--dark-navy);line-height:1.5;margin:0;padding-left:20px;
  border-left:2px solid var(--gold);}

/* ── Method 2 draft: detailed phase list ── */
.ph-list{display:grid;gap:0;border-top:2px solid var(--navy);}
.ph{display:grid;grid-template-columns:minmax(170px,.32fr) 1fr;gap:clamp(20px,3vw,48px);
  padding:clamp(26px,3.2vh,36px) 0;border-bottom:1px solid rgba(41,58,96,.14);}
.ph:last-child{border-bottom:none;}
.ph-head{display:flex;align-items:baseline;gap:14px;}
.ph-n{font-family:var(--f-serif);font-size:clamp(15px,1.7vw,19px);font-weight:700;color:var(--gold);
  font-variant-numeric:tabular-nums;}
.ph-name{font-family:var(--f-serif);font-size:clamp(21px,2.5vw,30px);font-weight:700;
  color:var(--dark-navy);line-height:1.15;margin:0;}
.ph-lead{font-family:var(--f-serif);font-size:clamp(15.5px,1.65vw,18px);font-weight:700;
  color:var(--navy);line-height:1.5;margin:0 0 12px;}
.ph-p{font-size:14px;color:var(--text-mid);line-height:1.78;margin:0 0 20px;max-width:66ch;}
.ph-meta{margin:0;display:grid;gap:0;border-top:1px solid rgba(41,58,96,.13);}
.ph-meta>div{display:grid;grid-template-columns:minmax(140px,.28fr) 1fr;gap:clamp(12px,1.8vw,26px);
  padding:11px 0;border-bottom:1px solid rgba(41,58,96,.1);}
.ph-meta>div:last-child{border-bottom:none;}
.ph-meta dt{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin:0;}
.ph-meta dd{font-size:13.5px;color:var(--text-mid);line-height:1.65;margin:0;}
.ph-meta dd.ph-dv{font-family:var(--f-serif);font-weight:700;color:var(--dark-navy);font-size:14.5px;}
@media(max-width:860px){
  .ph{grid-template-columns:1fr;gap:14px;}
  .ph-meta>div{grid-template-columns:1fr;gap:4px;}
}
.fits{display:grid;gap:0;border-top:1px solid rgba(41,58,96,.16);margin-bottom:22px;}
.fits-i{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:baseline;
  padding:14px 0;border-bottom:1px solid rgba(41,58,96,.12);}
.fits-n{font-family:var(--f-serif);font-size:clamp(24px,3vw,34px);font-weight:700;color:var(--gold);
  line-height:1;font-variant-numeric:tabular-nums;}
.fits-i p{font-size:14.5px;color:var(--text-mid);line-height:1.7;margin:0;}
.fits-i strong{color:var(--dark-navy);}
.fits-close{font-family:var(--f-serif);font-size:clamp(15.5px,1.7vw,18.5px);font-weight:700;
  color:var(--dark-navy);line-height:1.55;margin:0;padding-left:20px;border-left:2px solid var(--gold);}

/* ── Kompass 360 · 2 draft ── */
.areas--dark{border-top-color:rgba(232,231,231,.2);grid-template-columns:repeat(2,1fr);}
.areas--dark .areas-i{border-bottom-color:rgba(232,231,231,.14);}
.areas--dark .areas-i p{color:rgba(238,237,235,.86);}
.tiers-lite2{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--navy);}
.tiers-lite2 a{display:block;text-decoration:none;padding:clamp(20px,2.6vh,26px) clamp(16px,2vw,24px);
  border-right:1px solid rgba(41,58,96,.14);transition:background-color .4s var(--ease);}
.tiers-lite2 a:last-child{border-right:none;}
.tiers-lite2 a:first-child{padding-left:0;}
.tiers-lite2 a:hover{background:rgba(41,58,96,.04);}
.tl2-n{display:block;font-family:var(--f-serif);font-size:clamp(16px,1.8vw,20px);font-weight:700;
  color:var(--dark-navy);margin-bottom:6px;}
.tl2-s{display:block;font-size:12.5px;color:var(--text-light);line-height:1.55;}
.tiers-lite2 a:hover .tl2-s{color:var(--text-mid);}
@media(max-width:760px){
  .areas--dark{grid-template-columns:1fr;}
  .tiers-lite2{grid-template-columns:1fr;}
  .tiers-lite2 a,.tiers-lite2 a:first-child{padding:16px 0;border-right:none;
    border-bottom:1px solid rgba(41,58,96,.14);}
  .tiers-lite2 a:last-child{border-bottom:none;}
}
