/* ===== CredHub design tokens v407 — the visual law (docs/visual-system.md) ===== */
:root{
  --paper:#f7fafb;
  --elev-1:0 1px 2px rgba(10,35,52,.06);
  --elev-2:0 8px 24px rgba(10,35,52,.12);
  --r-control:8px;
  --r-card:10px;
  --r-pill:999px;
}
.photo-plate{position:relative;isolation:isolate;color:#fff}
.photo-plate img{display:block;width:100%;height:100%;object-fit:cover}
.photo-plate::after{content:"";position:absolute;inset:0;background:rgba(16,48,74,.8)}
.photo-plate>:not(img){position:relative;z-index:1}

/* =========================================================
   CredHub Design System — Commission for Health, Safety &
   Professional Standards, Inc.
   v2.0 — production stylesheet
   ========================================================= */

:root{
  --navy:#10304a;
  --navy-2:#0a2334;
  --navy-3:#123c5c;
  --teal:#0aa7a5;
  --teal-dark:#0b6e7d;
  --teal-ink:#08525e;
  --orange:#f2a33a;
  --orange-hover:#ffb44a;
  --sky:#eaf6f7;
  --mist:#f4f8fa;
  --line:#dce6ec;
  --line-dark:#33556d;
  --text:#22394b;
  --muted:#5f7787;
  --success:#2e7d4f;
  --success-bg:#e9f6ee;
  --warn:#8a5a12;
  --warn-bg:#fdf3df;
  --danger:#a33030;
  --danger-bg:#fbecec;
  --white:#fff;
  --shadow:0 8px 24px rgba(10,35,52,.12);
  --shadow-sm:0 1px 2px rgba(10,35,52,.06);
  --radius:6px;
  --font-body:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:var(--font-body);
  --serif:var(--font-display);
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{margin:0;color:var(--text);font-family:var(--font-body);font-weight:400;font-size:1.045rem;line-height:1.68;background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
img[width][height]{height:auto}
button,input,select,textarea{font-family:inherit}
a{color:var(--teal-dark);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--teal-dark);outline-offset:2px;border-radius:2px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:12px 20px;z-index:400;font-weight:700}
.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{left:12px;top:12px}
.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}
.center{text-align:center}
.center .lead{margin-inline:auto}
.max-800{max-width:800px}
.max-900{max-width:900px}
.mt-0{margin-top:0}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.mt-56{margin-top:56px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}

/* ---------- Typography ---------- */
h1,h2,h3,h4{color:var(--navy);line-height:1.12;margin:0 0 .55em;font-family:var(--font-display);font-weight:600;text-wrap:balance;font-optical-sizing:auto}
/* v991 — 3.9rem is 62px, which is a marketing-homepage gesture. It was applied
   to every h1 in the product, so a certifying body's name sat on its own page
   at poster size above a paragraph of 16px text. The top of the clamp comes
   down; the hero keeps its own larger size where a hero belongs. */
h1{font-size:clamp(2.1rem,3.4vw,3rem);letter-spacing:-.02em;line-height:1.07}
.hero h1,.course-hero h1{font-size:clamp(2.35rem,4.2vw,3.6rem)}
h2{font-size:clamp(1.5rem,2.2vw,2.05rem);letter-spacing:-.014em;line-height:1.12}
h3{font-size:1.28rem;font-family:var(--font-body);font-weight:800;line-height:1.32;letter-spacing:-.008em;font-optical-sizing:auto}
h4{font-size:1rem;font-family:var(--font-body);font-weight:800;letter-spacing:.002em;font-optical-sizing:auto}
.setup-subhead{margin:22px 0 4px;padding-top:16px;border-top:1px solid #e3ebef}
.setup-logo-preview{margin:0 0 8px}.setup-logo-preview img{max-height:48px;width:auto}
p{margin:0 0 1.05em;max-width:72ch}
.lead{font-size:1.2rem;line-height:1.58;color:#3f5a6c;max-width:760px;font-weight:400}
.small{font-size:.88rem}
.muted{color:var(--muted)}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.09em;font-weight:800;font-size:.75rem;color:var(--teal-ink)}
.eyebrow-light{color:#7fe2df}
.kicker-row{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--teal);flex:none}
.prose{max-width:820px}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.5em}
.prose ul,.prose ol{padding-left:22px;margin:0 0 1.1em}
.prose li{margin-bottom:.45em}
hr{border:0;border-top:1px solid var(--line);margin:40px 0}

/* ---------- Sections ---------- */
.section{padding:78px 0}
.section-sm{padding:50px 0}
.section-dark{background:var(--navy);color:#e7f0f5}
.section-dark h2,.section-dark h3,.section-dark h4{color:#fff}
.section-dark p{color:#cfdde6}
.section-mist{background:var(--mist)}
.section-sky{background:var(--sky)}
.section-head{max-width:820px;margin:0 auto 44px;text-align:center}
.section-head-left{max-width:820px;margin-bottom:40px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;border-radius:8px;font-weight:700;font-family:var(--font-body);border:2px solid transparent;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;cursor:pointer;font-size:.95rem;line-height:1.2;text-align:center}
.btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn:active{transform:translateY(0)}
.btn.btn-primary{background:var(--orange);color:var(--navy-2)}
.btn.btn-primary:hover{background:var(--orange-hover);color:var(--navy-2)}
.btn.btn-teal{background:var(--teal-dark);color:#fff}
.btn.btn-teal:hover{color:#fff}
.btn.btn-outline{border-color:var(--teal-dark);color:var(--teal-dark);background:transparent}.btn-secondary{border-color:var(--navy);color:var(--navy);background:transparent}.btn-secondary:hover{background:var(--navy);color:#fff;text-decoration:none}
.btn.btn-outline:hover{color:var(--teal-dark)}
.btn.btn-outline-light{border-color:#9fd9dd;color:#fff;background:transparent}
.btn.btn-outline-light:hover{color:#fff}
.btn.btn-light{background:#fff;color:var(--navy)}
.btn.btn-navy{background:var(--navy);color:#fff}
.btn.btn-navy:hover{color:#fff}
.btn-lg{padding:17px 30px;font-size:1.02rem}
.btn-sm{padding:9px 15px;font-size:.85rem}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.card-link{font-weight:800;display:inline-block;margin-top:14px}
.card-link:after{content:" →"}

/* ---------- Announcement + Utility bar ---------- */
.alert-bar{background:#fff6e3;border-bottom:1px solid #f0d9a4;color:#5d4813;font-size:.89rem}
.alert-bar .container{display:flex;align-items:center;gap:14px;padding:10px 0}
.alert-bar a{font-weight:800;color:#7c5a0d}
.alert-close{margin-left:auto;background:none;border:0;font-size:1.15rem;cursor:pointer;color:#7c5a0d;padding:4px 8px}
.utility{background:var(--navy-2);color:#cfdde6;font-size:.82rem}
.utility .container{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:36px}
.utility a{color:#e8f2f7;font-weight:600;display:inline-block;padding:6px 0}
.utility a:hover{color:#8fe6e3;text-decoration:none}
.utility .u-strong{color:#ffd27f}
.utility .utility-signout{background:none;border:0;cursor:pointer;font:inherit;font-size:.82rem;color:#e8f2f7;font-weight:600;padding:0}
.utility .utility-signout:hover{color:#8fe6e3}
.utility .utility-signout[disabled]{opacity:.6;cursor:default}

/* ---------- Header / Navigation ---------- */
.header-main{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:120;box-shadow:0 1px 0 rgba(16,48,74,.03)}
.header-row{height:80px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;flex:none}
.brand .logo-lockup{height:64px;width:auto;display:block}
.desktop-nav{margin-left:auto;display:flex;align-items:stretch;height:100%;gap:0}
.nav-item{position:static;display:flex;align-items:center}
.nav-link{color:var(--navy);font-weight:700;font-size:.9rem;padding:32px 11px;display:block;border-bottom:4px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap}
.nav-link:hover{text-decoration:none;color:var(--teal-dark)}
.nav-item.mega-active .nav-link{color:var(--teal-dark);border-bottom-color:var(--teal);text-decoration:none}
.nav-link[aria-current="true"]{border-bottom-color:var(--teal)}
.nav-caret{font-size:.6rem;margin-left:4px;opacity:.55;transition:transform .2s}
.nav-item.mega-active .nav-caret{transform:rotate(180deg)}
/* One shared anchor position: every panel spans the full header width, so the
   dropdown never jumps as you move across the nav (Stripe-style). */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 30px 50px rgba(6,25,39,.16);border-top:1px solid var(--line);border-bottom:4px solid var(--teal);padding:38px 0 42px;z-index:130;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;pointer-events:none}
.mega{content-visibility:hidden}
.mega.open{content-visibility:visible;visibility:visible;opacity:1;transform:none;transition:opacity .22s ease,transform .22s ease;pointer-events:auto}
.mega-grid{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:44px;width:min(980px,calc(100% - 44px));margin:auto}
.mega.slide-r .mega-grid{animation:megaSlideR .3s cubic-bezier(.25,.8,.35,1)}
.mega.slide-l .mega-grid{animation:megaSlideL .3s cubic-bezier(.25,.8,.35,1)}
@keyframes megaSlideR{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:none}}
@keyframes megaSlideL{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}
.mega h4,.mega .mega-col-title{font-size:.8rem;margin-bottom:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.mega a{display:block;color:#2e4a5e;padding:7px 0;font-size:.95rem;font-weight:600}
.mega a:hover{color:var(--teal-dark);text-decoration:none;translate:2px 0}
.mega .featured{background:var(--sky);padding:26px;border-radius:8px}
.mega .featured h4,.mega .featured .mega-col-title{color:var(--navy);text-transform:none;letter-spacing:0;font-size:1.05rem}
.mega .featured .btn{margin-top:12px}
.mega a.btn{display:inline-flex;padding:11px 18px;font-size:.88rem}
.mega a.btn.btn-primary{color:var(--navy-2)}
.mega a.btn.btn-navy{color:#fff}
.mega-backdrop{position:fixed;inset:0;top:0;background:rgba(8,28,42,.28);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s;z-index:115}
body.mega-open .mega-backdrop{opacity:1;visibility:visible;transition:opacity .25s}
.header-cta{white-space:nowrap;padding:12px 18px;font-size:.9rem}
.mobile-toggle{display:none;background:none;border:0;cursor:pointer;color:var(--navy);padding:8px;margin-left:auto;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.mobile-toggle .bars{display:block;width:26px;height:2.6px;background:var(--navy);position:relative;border-radius:2px}
.mobile-toggle .bars:before,.mobile-toggle .bars:after{content:"";position:absolute;left:0;width:26px;height:2.6px;background:var(--navy);border-radius:2px}
.mobile-toggle .bars:before{top:-8px}
.mobile-toggle .bars:after{top:8px}

/* ---------- Search overlay ---------- */
.search-overlay{display:none;position:fixed;inset:0;background:rgba(6,24,37,.96);z-index:300;padding:100px 22px 40px;overflow:auto}
.search-overlay.open{display:block}
.search-box{max-width:840px;margin:auto}
.search-box label{color:#8fe6e3;display:block;margin-bottom:14px}
.search-box input{width:100%;font-size:1.5rem;padding:20px 22px;border:0;border-radius:8px;font-family:var(--font-body)}
.search-close{position:absolute;right:26px;top:22px;background:none;color:#fff;border:0;font-size:2rem;cursor:pointer;line-height:1;padding:6px 10px}
.search-results{margin-top:26px}
.search-results a{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:16px 20px;margin-bottom:10px;border-radius:8px;color:#fff}
.search-results a:hover{background:rgba(255,255,255,.12);text-decoration:none}
.search-results .sr-title{font-weight:800}
.search-results .sr-snip{font-size:.86rem;color:#b9cdd8;margin-top:3px}
.search-hint{color:#9db4c0;font-size:.86rem;margin-top:14px}

/* ---------- Hero (home) ---------- */
.hero{background:linear-gradient(112deg,#f2fafb 0%,#fff 50%,#e8f4f8 100%);overflow:hidden;position:relative}
.hero .container{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:56px;padding-top:64px;padding-bottom:70px}
.hero p{font-size:1.2rem;max-width:660px;color:#3c5768}
.hero-art{position:relative}
.hero-art:after{content:"";position:absolute;width:200px;height:200px;background:var(--teal);right:-84px;bottom:-84px;border-radius:50%;opacity:.16}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.trust-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);align-items:center}
.trust-cell{padding:26px;border-right:1px solid var(--line)}
.trust-cell:last-child{border-right:0}
.trust-cell strong{display:block;font-size:1.22rem;color:var(--navy);font-family:var(--font-display)}
.trust-cell span{color:var(--muted);font-size:.92rem}

/* ---------- Page hero (inner) ---------- */
.page-hero{background:linear-gradient(104deg,var(--navy) 0 55%,var(--navy-3) 55%);color:#fff;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;border:54px solid rgba(10,167,165,.14)}
.page-hero .container{padding:66px 0;position:relative;z-index:1}
.page-hero h1{color:#fff;max-width:900px}
.page-hero .lead{color:#c9dbe5}
.breadcrumbs{font-size:.82rem;margin-bottom:20px;color:#a9c1cf}
.breadcrumbs a{color:#cfeeee}
.breadcrumbs span[aria-current]{color:#e8f2f7}

/* ---------- Sub navigation ---------- */
.subnav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:88px;z-index:90}
.subnav .container{display:flex;gap:26px;overflow-x:auto}
.subnav a{padding:17px 2px;color:var(--navy);font-weight:700;font-size:.92rem;white-space:nowrap;border-bottom:3px solid transparent}
.subnav a:hover,.subnav a.active{border-color:var(--teal);text-decoration:none;color:var(--teal-dark)}

/* ---------- Grids & Cards ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;position:relative;transition:box-shadow .2s ease,transform .2s ease}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card .icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sky);color:var(--teal-ink);margin-bottom:22px}
.card .icon svg{width:28px;height:28px}
.card-tag{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;background:#e5f4f4;color:var(--teal-ink);padding:6px 9px;border-radius:3px;margin-bottom:14px}
.accent-top{border-top:5px solid var(--teal)}
.accent-orange{border-top-color:var(--teal-dark)}
.card h3 a{color:var(--navy)}
.card-flat{background:transparent;border:0;padding:0}
.card-flat:hover{box-shadow:none;transform:none}

/* ---------- Split / media ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.split.reverse .media{order:2}
.media{background:var(--mist);border-radius:var(--radius);overflow:hidden;min-height:340px;display:flex;align-items:center;justify-content:center}
.media img{width:100%;height:100%;object-fit:cover}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--radius);overflow:hidden}
.stat{background:var(--navy-3);padding:34px 24px}
.stat strong{display:block;font-size:2.3rem;color:#7fe2df;line-height:1;font-family:var(--font-display)}
.stat span{display:block;margin-top:10px;color:#c3d5e0;font-size:.93rem}
.stats-light{background:var(--line);border-color:var(--line)}
.stats-light .stat{background:#fff}
.stats-light .stat strong{color:var(--teal-dark)}
.stats-light .stat span{color:#4e6675}

/* ---------- News ---------- */
.news-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:34px}
.news-feature{background:var(--navy);color:#fff;padding:44px;border-radius:var(--radius)}
.news-feature h2,.news-feature h3,.news-feature p{color:#fff}
.news-list article{padding:18px 0;border-bottom:1px solid var(--line)}
.news-list article:first-of-type{padding-top:6px}
.news-list h3{font-size:1.05rem;margin:6px 0 0}
.date{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}
.article-meta{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:.88rem;margin-bottom:26px}

/* ---------- Process stepper ---------- */
.process{counter-reset:step}
.process-step{counter-increment:step;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;background:#fff;overflow:hidden}
.process-toggle{width:100%;background:#fff;border:0;text-align:left;padding:24px 22px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:18px;cursor:pointer;font:inherit}
.process-toggle .p-txt{justify-self:start}
.process-toggle:before{content:counter(step);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal);color:#04333a;font-weight:800;font-size:1.05rem}
.process-toggle h3{margin:0;font-size:1.12rem}
.process-toggle .p-sub{display:block;font-weight:500;color:var(--muted);font-size:.86rem;margin-top:3px}
.process-toggle .plus{font-size:1.7rem;color:var(--teal-dark);transition:transform .2s;line-height:1}
.process-body{display:none;padding:0 22px 26px 96px}
.process-step.open .process-body{display:block}
.process-step.open .plus{transform:rotate(45deg)}
.timeline-note{background:var(--sky);border-radius:var(--radius);padding:22px 26px;display:flex;gap:14px;align-items:flex-start}

/* ---------- Accordion (generic) ---------- */
.accordion-item{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;background:#fff}
.accordion-toggle{width:100%;background:none;border:0;text-align:left;padding:20px 22px;display:flex;justify-content:space-between;gap:18px;align-items:center;cursor:pointer;font:inherit;font-weight:800;color:var(--navy);font-size:1.02rem}
.accordion-toggle .plus{font-size:1.5rem;color:var(--teal-dark);transition:transform .2s;line-height:1;flex:none}
.accordion-body{display:none;padding:0 22px 22px}
.accordion-item.open .accordion-body{display:block}
.accordion-item.open .plus{transform:rotate(45deg)}

/* ---------- Standards ---------- */
.standard-num{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;margin-right:14px;flex:none}
.standard-head{display:flex;align-items:center}

/* ---------- Sidebar layout ---------- */
.sidebar-layout{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}
.sidebar{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:sticky;top:110px}
.sidebar a{display:block;padding:13px 16px;border-bottom:1px solid #e9eef2;color:#34505f;font-weight:700;font-size:.92rem}
.sidebar a:last-child{border-bottom:0}
.sidebar a:hover{background:var(--mist);text-decoration:none}
.sidebar a.active{background:var(--sky);color:var(--teal-ink);box-shadow:inset 4px 0 0 var(--teal)}

/* ---------- Callouts / notices ---------- */
.callout{background:var(--sky);border-left:6px solid var(--teal);border-radius:0 var(--radius) var(--radius) 0;padding:26px 30px;margin:26px 0}
.callout.orange{background:#fff7e9;border-left-color:var(--orange)}
.callout.green{background:var(--success-bg);border-left-color:var(--success)}
.callout p:last-child{margin-bottom:0}
.quote{font-size:1.3rem;font-weight:600;font-family:var(--font-display);color:var(--navy);border-left:5px solid var(--teal);padding-left:26px;margin:30px 0}
.cta-band{background:linear-gradient(110deg,var(--teal-dark),var(--navy));color:#fff;padding:56px 0}
.cta-band h2,.cta-band p{color:#fff}
.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap}
.cta-band .lead{color:#d5ecef}

/* ---------- Forms ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow-sm)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field label{display:block;font-weight:800;color:var(--navy);font-size:.88rem;margin-bottom:7px}
.field .req{color:var(--danger)}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #b8c8d2;border-radius:8px;font:inherit;background:#fff;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--teal-dark);outline-offset:1px;border-color:var(--teal-dark)}
.field textarea{min-height:130px;resize:vertical}
.field.full{grid-column:1/-1}
.field .hint{font-size:.8rem;color:var(--muted);margin-top:5px}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger);background:#fff8f8}
.field .error-msg{display:none;color:var(--danger);font-size:.8rem;font-weight:700;margin-top:5px}
.field.invalid .error-msg{display:block}
.fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:0 0 18px}
.fieldset legend{font-weight:800;color:var(--navy);padding:0 8px}
.radio-row,.check-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0}
.radio-row input,.check-row input{width:auto;margin-top:4px}
.radio-row label,.check-row label{font-weight:600;margin:0;font-size:.95rem}
.notice{padding:18px 20px;background:var(--success-bg);border-left:5px solid var(--success);border-radius:0 4px 4px 0;display:none;margin-top:18px}
.notice.show{display:block}
.notice h3{margin-bottom:6px}

/* Multi-step form */
.steps-bar{display:flex;gap:0;margin-bottom:30px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.steps-bar .step-pill{flex:1;text-align:center;padding:13px 8px;font-size:.8rem;font-weight:800;color:var(--muted);background:#fff;border-right:1px solid var(--line);position:relative}
.steps-bar .step-pill:last-child{border-right:0}
.steps-bar .step-pill.current{background:var(--navy);color:#fff}
.steps-bar .step-pill.done{background:var(--sky);color:var(--teal-ink)}
.form-step{display:none}
.form-step.active{display:block}
.form-nav{display:flex;justify-content:space-between;gap:14px;margin-top:26px}
.review-summary{background:var(--mist);border:1px solid var(--line);border-radius:var(--radius);padding:22px;font-size:.93rem}
.review-summary dt{font-weight:800;color:var(--navy);margin-top:12px}
.review-summary dd{margin:2px 0 0}

/* ---------- Directory ---------- */
.directory-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;margin:24px 0 28px}
.directory-toolbar input,.directory-toolbar select{padding:13px 14px;border:1px solid #b8c8d2;border-radius:8px;font:inherit}
.directory-item{display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:24px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;background:#fff}
.status{display:inline-block;border-radius:30px;padding:6px 12px;font-size:.74rem;font-weight:800;letter-spacing:.03em}
.status.accredited{background:var(--success-bg);color:var(--success)}
.status.applicant{background:var(--warn-bg);color:var(--warn)}
.status.suspended{background:var(--danger-bg);color:var(--danger)}
.status.withdrawn{background:#eef1f3;color:#5c6f7c}
.empty-state{border:2px dashed #bfd3dc;border-radius:var(--radius);padding:56px 30px;text-align:center;background:#f7fafb}
.empty-state h3{margin-bottom:8px}
.legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:.85rem;color:var(--muted)}
.seal{width:120px;height:120px}

/* ---------- Education / courses ---------- */
.course-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:grid;grid-template-rows:150px auto;overflow:hidden;transition:box-shadow .2s,transform .2s}
.course-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.course-thumb{background:linear-gradient(135deg,var(--navy),var(--teal-dark));padding:24px;color:#fff;display:flex;align-items:flex-end;position:relative}
.course-thumb.free{background:linear-gradient(135deg,var(--teal-dark),var(--teal))}
.course-thumb.paid{background:linear-gradient(135deg,var(--navy-2),var(--navy-3))}
.course-thumb h3{color:#fff;margin:0;font-size:1.12rem}
.course-body{padding:24px}
.price{font-size:1.22rem;font-weight:800;color:var(--navy)}
.price .free-tag{color:var(--success)}
.pill{display:inline-block;padding:5px 10px;background:#eef3f6;border-radius:20px;font-size:.72rem;font-weight:800;margin:0 5px 5px 0;color:#496273}
.pill.live{background:#e5f4f4;color:var(--teal-ink)}
.pill.ondemand{background:#f2ecfa;color:#5b3d8c}
.webinar-row{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;background:#fff}
.webinar-date{text-align:center;background:var(--sky);border-radius:8px;padding:12px 8px}
.webinar-date strong{display:block;font-size:1.6rem;color:var(--navy);font-family:var(--font-display);line-height:1.1}
.webinar-date span{font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--teal-ink)}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;margin:22px 0}
.comparison{width:100%;border-collapse:collapse;min-width:720px;background:#fff}
.comparison th,.comparison td{text-align:left;padding:15px 17px;border-bottom:1px solid var(--line);vertical-align:top}
.comparison th{background:var(--navy);color:#fff;font-size:.9rem}
.comparison tr:nth-child(even) td{background:#f7fafb}
.comparison .col-note{font-size:.82rem;color:var(--muted)}
.fee-note{font-size:.85rem;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq-group{margin-bottom:44px}

/* ---------- Footer ---------- */
.footer{background:var(--navy-2);color:#c7d7e1;padding-top:56px;font-size:.92rem}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:38px}
.footer h4{color:#fff;margin-bottom:14px}
.footer a{color:#c7d7e1;display:block;padding:5px 0}
.footer a:hover{color:#8fe6e3}
.footer .logo-foot{margin-bottom:18px}
.logo-dark{height:64px;width:auto;display:block;margin-left:-4px}
.footer-news{margin-top:18px}
.footer-news input{padding:12px 14px;border:0;border-radius:8px;min-width:0;flex:1;font:inherit}
.footer-news .row{display:flex;gap:10px}
.footer-contact{margin-top:14px;font-size:.88rem;line-height:1.8}
.footer-bottom{border-top:1px solid #29465b;margin-top:38px;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:.82rem;flex-wrap:wrap}
.footer-bottom a{display:inline-block;color:#c7d7e1;padding:4px 0}
.footer-disclaimer{font-size:.78rem;color:#8aa2b2;padding-bottom:26px;max-width:980px}

/* ---------- Misc ---------- */
.check-list{list-style:none;padding:0;margin:0 0 1.1em}
.check-list li{padding:9px 0 9px 32px;position:relative}
.check-list li:before{content:"";position:absolute;left:0;top:13px;width:18px;height:18px;background:var(--teal);border-radius:50%;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>') center/contain no-repeat}
.x-list li:before{background:#c2cfd8;-webkit-mask:none;mask:none;width:8px;height:8px;top:18px;left:5px}
.video-ratio{aspect-ratio:16/9;background:linear-gradient(135deg,#dcecf2,#c8e2ea);display:flex;align-items:center;justify-content:center;color:var(--navy);border-radius:var(--radius)}
.play-badge{width:76px;height:76px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center}
.play-badge:after{content:"";border-style:solid;border-width:13px 0 13px 22px;border-color:transparent transparent transparent #fff;margin-left:5px}
.logo-cloud{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap}
.logo-cloud span{padding:16px 26px;border:1px solid var(--line);color:#6b8190;font-weight:800;background:#fff;border-radius:8px}
.tag-row{display:flex;gap:8px;flex-wrap:wrap}
.back-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;border:0;cursor:pointer;font-size:1.2rem;display:none;align-items:center;justify-content:center;z-index:110;box-shadow:var(--shadow-sm)}
.back-top.show{display:flex}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
[data-reveal].revealed{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .desktop-nav,.header-cta{display:none}
  .mobile-toggle{display:flex}
  .header-row{height:78px}
  .brand .logo-lockup{height:52px}
  .mega{position:static;transform:none;visibility:visible;opacity:1;width:auto;box-shadow:none;border:0;padding:4px 0 10px 16px;transition:none;pointer-events:auto;display:none}
  .mega-grid{width:auto;display:block}
  .mega .featured{margin-top:10px}
  .mega-backdrop{display:none}
  .mobile-open .desktop-nav{display:block;position:fixed;top:74px;left:0;right:0;bottom:0;overflow:auto;height:auto;background:#fff;padding:14px 22px 44px;border-bottom:1px solid var(--line)}
  .mobile-open .nav-item{display:block}
  .mobile-open .nav-link{padding:14px 6px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
  .mobile-open .mega{display:none}
  .mobile-open .nav-item.submenu-open .mega{display:block;content-visibility:visible}
  .subnav{top:78px}
  .sidebar{position:static}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .hero .container,.split,.news-grid,.sidebar-layout{grid-template-columns:1fr}
  .split.reverse .media{order:0}
  .hero-art{max-width:680px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-cell:nth-child(2){border-right:0}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .page-hero{background:var(--navy)}
}
@media(max-width:700px){
  .container{width:calc(100% - 32px)}
  .section{padding:56px 0}
  .utility{display:none}
  .hero .container{padding-top:44px;padding-bottom:48px}
  .grid-2,.grid-3,.grid-4,.stats,.form-grid,.steps-bar{grid-template-columns:1fr}
  .steps-bar{display:grid}
  .steps-bar .step-pill{border-right:0;border-bottom:1px solid var(--line);text-align:left}
  .trust-grid{grid-template-columns:1fr}
  .trust-cell{border-right:0;border-bottom:1px solid var(--line)}
  .cta-band .container{display:block}
  .cta-band .btn{margin-top:18px}
  .footer-bottom{display:block}
  .directory-toolbar{grid-template-columns:1fr}
  .directory-item{grid-template-columns:1fr}
  .webinar-row{grid-template-columns:1fr}
  .webinar-date{max-width:110px}
  .footer-grid{grid-template-columns:1fr}
  .process-body{padding:0 20px 24px}
  .brand .logo-lockup{height:44px}
  .page-hero .container{padding:46px 0}
  .header-row{height:70px}
  .mobile-open .desktop-nav{top:70px}
  .subnav{top:70px}
  .mega{left:0}
  h1{font-size:clamp(2rem,7.5vw,2.6rem)}
  .form-card{padding:24px}
}

/* ---------- Catalog filters ---------- */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 34px;align-items:center}
.filter-pill{border:1.5px solid var(--line);background:#fff;border-radius:30px;padding:9px 18px;font:inherit;font-size:.87rem;font-weight:800;color:#41596b;cursor:pointer;transition:.15s}
.filter-pill:hover{border-color:var(--teal-dark);color:var(--teal-dark)}
.filter-pill.active{background:var(--navy);border-color:var(--navy);color:#fff}
.filter-empty{display:none;padding:30px;text-align:center;color:var(--muted)}

/* ---------- Course product page ---------- */
.course-hero{background:linear-gradient(120deg,var(--navy-2),var(--navy-3));color:#fff;position:relative;overflow:hidden}
.course-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 2px,transparent 2px 26px)}
.course-hero .container{position:relative;padding:54px 0;display:grid;grid-template-columns:1.5fr .9fr;gap:44px;align-items:center}
.course-hero h1{color:#fff;font-size:clamp(1.9rem,3.4vw,2.9rem)}
.course-hero .breadcrumbs a{color:#cfeeee}
.course-kind{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#dff3f5;border-radius:30px;padding:6px 14px;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}
.buy-card{background:#fff;border-radius:8px;padding:28px;color:var(--text);box-shadow:0 24px 50px rgba(4,20,32,.35)}
.buy-card .price{font-size:2rem;font-family:var(--font-display);color:var(--navy)}
.buy-card .price .term{font-size:.85rem;color:var(--muted);font-family:var(--font-body);font-weight:600}
.buy-card .btn{width:100%;margin-top:14px}
.buy-meta{margin:14px 0 0;padding:0;list-style:none;font-size:.86rem;color:#4a6273}
.buy-meta li{padding:7px 0;border-top:1px solid #edf2f5;display:flex;justify-content:space-between;gap:12px}
.buy-meta li strong{color:var(--navy)}
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--line);margin:0 0 30px;overflow-x:auto}
.tab-btn{border:0;background:none;font:inherit;font-weight:800;font-size:.95rem;color:#53707f;padding:14px 18px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tab-btn:hover{color:var(--teal-dark)}
.tab-btn.active{color:var(--navy);border-bottom-color:var(--teal)}
.tab-panel{display:none}
.tab-panel.active{display:block}
.module-row{display:grid;grid-template-columns:52px 1fr auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:10px;background:#fff}
.module-num{width:40px;height:40px;border-radius:50%;background:var(--sky);color:var(--teal-ink);font-weight:800;display:flex;align-items:center;justify-content:center}
.module-row .m-len{font-size:.82rem;color:var(--muted);white-space:nowrap}

/* ---------- Applicant dashboard (portal preview) ---------- */
.dash-banner{background:var(--warn-bg);border-bottom:1px solid #eedbb0;color:#6b5312;font-size:.88rem}
.dash-banner .container{padding:10px 0;display:flex;gap:10px;align-items:center}
.dash-shell{display:grid;grid-template-columns:250px 1fr;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);margin:46px 0 70px}
.dash-nav{background:var(--navy-2);padding:22px 0;display:flex;flex-direction:column}
.dash-nav a{color:#b9cdd8;padding:13px 24px;font-weight:700;font-size:.92rem;border-left:4px solid transparent;cursor:pointer}
.dash-nav a:hover{color:#fff;text-decoration:none}
.dash-nav a.active{color:#fff;background:rgba(255,255,255,.06);border-left-color:var(--teal)}
.dash-nav .dn-label{padding:18px 24px 8px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#6d8798;font-weight:800}
.dash-main{padding:34px 38px;min-height:640px}
.dash-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:26px;flex-wrap:wrap}
.dash-head h2{margin:0;font-size:1.5rem}
.dash-panel{display:none}
.dash-panel.active{display:block}
.dash-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.dash-card{border:1px solid var(--line);border-radius:8px;padding:20px}
.dash-card strong{display:block;font-size:1.5rem;color:var(--navy);font-family:var(--font-display)}
.dash-card span{font-size:.84rem;color:var(--muted)}
.stage-track{list-style:none;margin:0;padding:0}
.stage-track li{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #eef2f5}
.stage-dot{width:26px;height:26px;border-radius:50%;border:2.5px solid #c6d4dd;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#9db0bc}
li.done .stage-dot{background:var(--teal);border-color:var(--teal);color:#fff}
li.current .stage-dot{border-color:var(--teal);color:var(--warn)}
li.current{background:#fffaf0}
.stage-track .st-status{font-size:.78rem;font-weight:800;color:var(--muted)}
li.done .st-status{color:var(--success)}
li.current .st-status{color:var(--warn)}
.progress-wrap{background:#e8eef2;border-radius:20px;height:12px;overflow:hidden;margin:8px 0 4px}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-dark));border-radius:20px}
.evi-row{display:grid;grid-template-columns:44px 1fr auto auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-bottom:8px}
.evi-row .standard-num{width:34px;height:34px;min-width:34px;font-size:.85rem;margin:0}
.evi-row .e-name{font-weight:700;color:var(--navy);font-size:.95rem}
.evi-row .e-files{font-size:.8rem;color:var(--muted)}
.dropzone{border:2px dashed #b5c9d4;border-radius:8px;padding:34px;text-align:center;color:var(--muted);background:#f7fafb;cursor:pointer;transition:.15s}
.dropzone:hover,.dropzone.drag{border-color:var(--teal-dark);background:var(--sky);color:var(--teal-ink)}
.file-list{list-style:none;padding:0;margin:14px 0 0}
.file-list li{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;margin-bottom:6px;font-size:.88rem;background:#fff}
.file-list .f-status{font-size:.75rem;font-weight:800;color:var(--warn)}
.msg-thread{list-style:none;padding:0;margin:0}
.msg-thread li{border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:12px;max-width:640px}
.msg-thread li.from-chsps{background:var(--sky);border-color:#cfe8ea}
.msg-thread .m-meta{font-size:.76rem;color:var(--muted);font-weight:700;margin-bottom:6px;display:block}
.invoice-status{font-size:.75rem;font-weight:800;border-radius:20px;padding:5px 10px}
.invoice-status.paid{background:var(--success-bg);color:var(--success)}
.invoice-status.due{background:var(--warn-bg);color:var(--warn)}
@media(max-width:1199px){.dash-shell{grid-template-columns:1fr}.dash-nav{flex-direction:row;flex-wrap:wrap;gap:2px 4px;padding:8px}.dash-nav .dn-label{display:none}.dash-nav a{border-left:0;border-bottom:3px solid transparent;padding:10px 14px}.dash-nav a.active{border-bottom-color:var(--teal)}.dash-cards{grid-template-columns:1fr}.course-hero .container{grid-template-columns:1fr}.dash-main{padding:26px 22px;min-height:0}.evi-row{grid-template-columns:34px 1fr auto auto;gap:10px 12px}}
@media(max-width:760px){.evi-row{grid-template-columns:34px 1fr}.evi-row .status,.evi-row a{grid-column:2;justify-self:start}.evi-row .status{margin-top:2px}}

/* ---------- Leadership bio cards ---------- */
.bio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bio-grid-4{grid-template-columns:repeat(4,1fr);gap:20px}
.bio-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.bio-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.bio-portrait{aspect-ratio:4/5;background:var(--sky);position:relative}
.bio-portrait svg{width:100%;height:100%;display:block;object-fit:cover}
.bio-body{padding:20px 22px 24px}
.bio-chip{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;background:var(--warn-bg);color:var(--warn);border-radius:20px;padding:5px 10px;margin-bottom:10px}
.bio-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--navy);margin:0 0 2px}
.bio-title{font-weight:800;color:var(--teal-ink);font-size:.92rem;margin:0 0 8px;line-height:1.35}
.bio-desc{margin-bottom:0;color:#4a6273}
.bio-mini .bio-body{padding:14px 16px 18px}
.bio-mini .bio-title{font-size:.86rem;margin-bottom:0}
@media(max-width:1199px){.bio-grid{grid-template-columns:repeat(2,1fr)}.bio-grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.bio-grid,.bio-grid-4{grid-template-columns:repeat(2,1fr)}.bio-portrait{aspect-ratio:1/1}}

/* ---------- Membership tier comparison ---------- */
.tier-table{width:100%;min-width:960px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tier-table th,.tier-table td{padding:13px 14px;border-bottom:1px solid #edf2f5;font-size:.9rem;vertical-align:middle}
.tier-table thead-none{display:none}
.tier-table .tt-feature{text-align:left;font-weight:600;color:#335062;width:30%;background:#fff}
.tier-table th.tt-feature{font-weight:600}
.tier-table .tt-head{text-align:center;vertical-align:bottom;background:#fff;border-bottom:2px solid var(--line);padding-top:22px;position:relative}
.tt-head .tt-name{display:block;font-weight:800;color:var(--navy);font-size:.98rem;margin-bottom:4px}
.tt-head .tt-price{display:block;font-family:var(--font-display);font-weight:700;font-size:1.7rem;color:var(--navy);line-height:1.1}
.tt-head .tt-per{font-size:.8rem;color:var(--muted);font-family:var(--font-body);font-weight:600}
.tt-head .tt-blurb{display:block;font-size:.74rem;color:var(--muted);margin:6px 0 12px;line-height:1.4}
.tt-head .btn{margin-bottom:4px}
.tt-flag{position:absolute;top:0;left:0;right:0;background:var(--teal);color:#04333a;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 0}
.tt-head.tt-pop{background:var(--sky);padding-top:30px}
td.tt-pop{background:#f2fafa}
.tier-table td{text-align:center}
.tt-yes span[aria-hidden]{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--sky);color:var(--teal-ink);font-weight:800;align-items:center;justify-content:center;font-size:.8rem}
.tt-no{color:#b6c4cd}
.tt-val{font-weight:700;color:var(--navy)}
.tt-cat td{background:var(--navy);color:#8fe6e3;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:9px 14px}
.tier-table tr:last-child td{border-bottom:0}
.tier-table tbody tr:hover td:not(.tt-cat){background:#f7fafb}
.tier-table tbody tr:hover td.tt-pop{background:#eef8f8}

/* ---------- Dashboard self-assessment ---------- */
.sa-row{border-top:1px solid #eef2f5;padding:14px 0 12px;display:grid;grid-template-columns:86px 1fr;gap:6px 14px}
.sa-row:first-child{border-top:0}
.sa-id{font-weight:800;color:var(--teal-ink);font-size:.8rem;background:var(--sky);border-radius:8px;padding:5px 8px;height:fit-content;text-align:center}
.sa-req{grid-column:2;font-size:.92rem;margin:0 0 4px;max-width:none}
.sa-controls{grid-column:2;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sa-status{padding:8px 10px;border:1px solid #b8c8d2;border-radius:8px;font:inherit;font-size:.85rem;min-width:170px}
.sa-status.s-ready{border-color:var(--success);background:var(--success-bg)}
.sa-status.s-dev{border-color:#d9a53f;background:var(--warn-bg)}
.sa-status.s-not{border-color:var(--danger);background:var(--danger-bg)}
.sa-note{flex:1;min-width:200px;padding:8px 10px;border:1px solid #b8c8d2;border-radius:8px;font:inherit;font-size:.85rem}
.sa-files{grid-column:2;display:flex;gap:6px;flex-wrap:wrap}
.sa-files .f-chip{font-size:.74rem;font-weight:700;background:#eef3f6;color:#41596b;border-radius:20px;padding:4px 10px}
@media(max-width:700px){.sa-row{grid-template-columns:1fr}.sa-req,.sa-controls,.sa-files{grid-column:1}}

/* ---------- Print ---------- */
@media print{
  .utility,.alert-bar,.header-cta,.mobile-toggle,.search-overlay,.cta-band,.footer-news,.back-top,.desktop-nav{display:none!important}
  .header-main,.subnav{position:static;box-shadow:none}
  .page-hero{background:#fff;color:#000}
  .page-hero h1{color:#000}
  .page-hero .lead,.breadcrumbs{color:#333}
  body{font-size:11pt}
  a{color:#000;text-decoration:underline}
  .card,.process-step,.accordion-item{box-shadow:none;break-inside:avoid}
  .accordion-body,.process-body{display:block!important}
}

/* ================= Course catalog (facet search) ================= */
.cat-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;align-items:start}
.cat-side{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 12px;position:sticky;top:110px}
.cat-side-head{display:flex;justify-content:space-between;align-items:baseline}
.cat-side-title{font-size:1.05rem;margin:0}
.facet{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.facet h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:var(--teal-ink);margin:0 0 8px}
.facet label{display:flex;gap:9px;align-items:flex-start;font-size:.88rem;padding:5px 0;cursor:pointer}
.facet input{accent-color:var(--teal-dark);width:16px;height:16px;margin-top:1px;flex:none}
.facet-note{padding:14px 0 4px}
.cat-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--navy);padding-bottom:12px;margin-bottom:4px}
.cat-count{font-weight:800;color:var(--teal-ink);font-size:.9rem;white-space:nowrap}
/* v895 — LRN-28. One catalog, rendered from the sessions API. The seven
   hand-written .cat-row entries these replace carried their own dates and
   their own SKUs and disagreed with the record; these are cards over the
   same rows the server serves, so there is nothing left to disagree with.
   Sizes respect the 12px floor set in v892. */
.edu-cat-grid{display:grid;gap:14px;margin-top:16px}
.edu-cat-card{border:1px solid #d8e5e9;border-radius:12px;padding:18px 20px;background:#fff}
.edu-cat-card:hover{border-color:#8fbec7}
.edu-cat-eyebrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5b727e}
.edu-cat-eyebrow span:not(:last-child)::after{content:"·";margin-left:8px;color:#a9c0c8}
.edu-cat-title{margin:0 0 4px;font:700 20px/1.3 Georgia,"Times New Roman",serif}
.edu-cat-title a{color:var(--navy);text-decoration:none}
.edu-cat-title a:hover{text-decoration:underline}
.edu-cat-when{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--teal-ink)}
.edu-cat-desc{margin:0 0 8px;font-size:14px;line-height:1.55;color:#33505c}
.edu-cat-audience{margin:0 0 10px;font-size:13px;color:#5b727e}
.edu-cat-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:13px}
.edu-cat-price{font-weight:800;color:var(--navy)}
.edu-cat-avail{font-weight:700}
.edu-cat-avail.ok{color:#1d7a4f}
.edu-cat-avail.wait{color:#8a6d1c}
.edu-cat-avail.closed{color:#a3272c}
.edu-cat-open{margin-left:auto;font-weight:800;color:var(--teal-ink)}
.edu-cat-empty{margin:16px 0;padding:18px;border:1px dashed #cfdde3;border-radius:12px;color:#5b727e;font-size:14px}
/* v895 — the workshops and the team bundle are delivered by people on dates
   arranged with the buyer. They have no session record, so the catalog
   cannot render them and inventing one would be worse than keeping them here.
   They sit below the catalog, under their own heading, so the page has one
   catalog and one clearly different thing rather than two catalogs. */
.edu-workshops{margin-top:34px;padding-top:22px;border-top:2px solid var(--navy)}
.edu-workshops-head{margin:0 0 4px;font:700 21px/1.3 Georgia,"Times New Roman",serif;color:var(--navy)}
@media(max-width:620px){.edu-cat-open{margin-left:0}}
.cat-row{display:grid;grid-template-columns:minmax(0,1fr) 200px 170px;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.cat-eyebrow{display:flex;gap:10px;align-items:center;margin:0 0 8px;flex-wrap:wrap}
.cat-flag{background:#fff;border:1.5px solid var(--teal-dark);color:var(--teal-ink);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:20px}
.cat-date{color:var(--teal-ink);font-weight:800;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase}
.cat-title{margin:0 0 6px;font-size:1.3rem}
.cat-when{margin:0 0 8px;font-weight:600}
.cat-desc{margin:0}
.cat-meta{font-size:.85rem;padding-top:6px}
.cat-fmt{display:flex;gap:8px;align-items:center;font-weight:700;color:var(--navy);margin:0 0 14px}
.cat-fmt svg{color:var(--teal-dark);flex:none}
.cat-topics-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#5f7787;margin:0 0 6px}
.cat-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.cat-chip{background:var(--sky);color:var(--teal-ink);font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:3px}
.cat-buy{text-align:right;padding-top:6px}
.cat-buy .btn{white-space:normal}
.cat-price{font-size:1.3rem;font-weight:800;color:var(--navy);margin:0 0 12px;font-family:var(--serif)}
.cat-price-free{color:var(--teal-dark)}
.cat-member{display:block;font-size:.75rem;font-weight:600;color:#5f7787;font-family:var(--sans)}
@media (max-width:1000px){
 .cat-layout{grid-template-columns:1fr;gap:24px}
 .cat-side{position:static}
 .cat-row{grid-template-columns:1fr;gap:14px}
 .cat-buy{text-align:left}
 .cat-buy .cat-price{margin-bottom:8px}
}

/* ================= Blog & Newsroom ================= */
.blog-featured{display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch;margin:34px 0 44px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.blog-thumb{display:flex;align-items:flex-end;min-height:200px;position:relative;padding:18px;text-decoration:none;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 60%,var(--teal-dark) 140%)}
.blog-thumb::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border:2px solid rgba(255,255,255,.14);border-radius:50%}
.blog-thumb::after{content:"";position:absolute;right:20px;bottom:-40px;width:120px;height:120px;border:2px solid rgba(143,230,227,.25);border-radius:50%}
.bt-accreditation{background:linear-gradient(135deg,var(--navy-2) 0%,var(--navy) 55%,var(--teal-ink) 140%)}
.bt-governance{background:linear-gradient(150deg,var(--navy) 0%,var(--navy-3) 70%,#1d5a76 140%)}
.bt-transparency{background:linear-gradient(135deg,var(--teal-ink) 0%,var(--navy-3) 65%,var(--navy) 140%)}
.blog-cat{background:#fff;color:var(--navy);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:5px 10px;border-radius:3px;position:relative;z-index:1}
.blog-flag{position:absolute;top:14px;left:14px;background:var(--teal-dark);color:#fff;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:20px}
.blog-featured-body{padding:32px 36px}
.blog-featured-body h2{margin:10px 0 12px;font-size:clamp(1.4rem,2.4vw,1.9rem)}
.blog-featured-body h2 a{color:var(--navy)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,388px));gap:28px;justify-content:center}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease}
.blog-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.blog-card .blog-thumb{min-height:140px}
.blog-card-body{padding:22px 22px 26px}
.blog-card-body h3{font-size:1.1rem;margin:8px 0 8px;line-height:1.35}
.blog-card-body h3 a{color:var(--navy)}
.post-head{background:var(--mist);border-bottom:1px solid var(--line);padding:30px 0 44px;text-align:center}
/* News/article headers use a light background, so do not inherit the light-on-dark hero breadcrumb palette. */
.post-head .breadcrumbs{justify-content:center;color:#5f7787}
.post-head .breadcrumbs a{color:var(--teal-dark);font-weight:700}
.post-head .breadcrumbs a:hover{color:var(--navy);text-decoration:underline}
.post-head .breadcrumbs span[aria-current]{color:#526b7b}
.post-chip-row{margin:10px 0 16px}
.post-chip{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--teal-ink);font-weight:800;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;padding:6px 13px;border-radius:20px}
.post-head h1{max-width:840px;margin:0 auto 14px;font-size:clamp(1.9rem,4vw,2.6rem)}
.post-byline{color:#5f7787;font-size:.95rem;margin:0}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.post-body{max-width:760px}
.post-side{position:sticky;top:110px}
.side-card .btn{width:100%;text-align:center}
/* Compact sidebar newsletter: keep the field and CTA visually distinct and aligned. */
.side-card form[data-api-form="newsletter"]{display:grid;gap:10px}
.side-card form[data-api-form="newsletter"] .field{margin:0}
.side-card form[data-api-form="newsletter"] .btn{min-height:44px;border-radius:8px;margin:0}
.side-card form[data-api-form="newsletter"] .notice{margin-top:2px}
@media (max-width:1000px){
 .post-layout{grid-template-columns:1fr}
 .post-side{position:static}
 .blog-featured{grid-template-columns:1fr}
 .blog-featured .blog-thumb{min-height:180px}
 .blog-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr}}

/* ================= Section side navigation (policy/legal family) ================= */
.side-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:52px;align-items:start}
.side-main{min-width:0}
.side-nav{position:sticky;top:100px}
.side-nav-head{background:var(--navy);color:#fff;font-weight:800;padding:14px 18px;margin:0;border-radius:var(--radius) var(--radius) 0 0;font-size:.95rem}
.side-nav ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);overflow:hidden;background:#fff}
.side-nav li+li{border-top:1px solid var(--line)}
.side-nav a{display:block;padding:11px 18px;font-size:.86rem;font-weight:600;color:var(--navy);line-height:1.4}
.side-nav a:hover{background:var(--mist)}
.side-nav a.active{background:var(--teal-ink);color:#fff}
.side-stay{background:var(--navy-3);color:#fff;border-radius:var(--radius);padding:22px;margin-top:24px}
.side-stay-t{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin:0 0 8px;color:#8fe6e3}
.side-stay .small{color:#c9dde6}
.side-stay .btn{width:100%;text-align:center;margin-top:8px}
@media (max-width:1000px){.side-layout{grid-template-columns:1fr;gap:28px}.side-nav{position:static}}

/* ---------- CPDS / performance measurement ---------- */
.cpds-stats .stat strong{font-size:2.05rem}
.cpds-table caption{text-align:left;padding:0 0 10px;font-weight:700}
.cpds-table th:first-child,.cpds-table td:first-child{white-space:nowrap}
.cpds-table td:nth-child(3){white-space:nowrap}
.profile-banner{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.profile-banner .lead{margin-bottom:0}
.profile-banner .status{flex:none;margin-top:8px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.metric-tile{border:1px solid var(--line);border-radius:10px;background:#fff;padding:23px 22px;min-height:178px;box-shadow:0 3px 12px rgba(16,48,74,.04)}
.metric-id{display:block;color:var(--teal-ink);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:12px}
.metric-value{display:block;color:var(--navy);font-family:var(--font-display);font-size:2.35rem;line-height:1;margin-bottom:8px}
.metric-label{display:block;font-weight:800;color:#365064;line-height:1.35;font-size:.91rem}
.metric-meta{display:block;color:var(--muted);font-size:.77rem;line-height:1.45;margin-top:8px}
.metric-bar{height:7px;background:#e7eef2;border-radius:20px;margin-top:15px;overflow:hidden}
.metric-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-dark));border-radius:inherit}
.spec-list{border-top:1px solid var(--line);margin-top:15px}
.spec-row{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.spec-row strong{color:var(--navy)}
.spec-row span{text-align:right;color:#4f6878}
.cpds-definition{margin:0;display:grid;grid-template-columns:160px 1fr;gap:0}
.cpds-definition dt,.cpds-definition dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.cpds-definition dt{font-weight:800;color:var(--navy);padding-right:18px}
.cpds-definition dd{color:#435d6e}
.equation{background:var(--mist);border:1px solid var(--line);border-radius:8px;padding:28px;text-align:center;margin:18px 0 24px}
.equation span{display:block;font-weight:800;color:#3c5668}
.equation-line{height:2px;background:var(--navy);width:min(320px,90%);margin:10px auto}
.equation strong{display:block;color:var(--teal-ink);font-family:var(--font-display);font-size:2.3rem;margin-top:14px}
.data-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch}
.flow-step{border:1px solid var(--line);background:#fff;border-radius:8px;padding:19px 16px;min-width:0}
.flow-step>span{display:flex;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;margin-bottom:12px}
.flow-step strong{display:block;color:var(--navy);font-size:.89rem;line-height:1.25;margin-bottom:6px}
.flow-step small{display:block;color:var(--muted);font-size:.72rem;line-height:1.4}
.flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--teal-dark);font-size:1.3rem;font-weight:800}
.cpds-cycle{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);border-radius:8px;overflow:hidden}
.cpds-cycle>div{padding:26px 22px;background:rgba(255,255,255,.055)}
.cpds-cycle strong{display:block;color:#fff;font-size:.95rem;margin:8px 0}
.cpds-cycle p{font-size:.8rem;color:#c9d8e2;margin:0;line-height:1.55}
.cycle-num{display:inline-flex;width:34px;height:34px;border:1px solid rgba(127,226,223,.7);border-radius:50%;align-items:center;justify-content:center;color:#7fe2df;font-weight:800;font-size:.72rem}
.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.download-card{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:20px 18px;color:var(--text);transition:box-shadow .2s,transform .2s,border-color .2s}
.download-card:hover{text-decoration:none;box-shadow:var(--shadow-sm);transform:translateY(-2px);border-color:#bcd4dc}
.download-card strong{display:block;color:var(--navy);line-height:1.3}
.download-card small{display:block;color:var(--muted);line-height:1.45;margin-top:4px}
.download-kind{display:flex;width:44px;height:44px;border-radius:8px;background:var(--sky);color:var(--teal-ink);align-items:center;justify-content:center;font-weight:800;font-size:.7rem;letter-spacing:.06em}
.download-card>span:last-child{font-size:1.35rem;color:var(--teal-dark);font-weight:800}

@media(max-width:1100px){
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .data-flow{grid-template-columns:repeat(3,1fr);gap:14px}
  .flow-arrow{display:none}
  .cpds-cycle{grid-template-columns:repeat(2,1fr)}
  .download-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .profile-banner{display:block}
  .profile-banner .status{margin-top:14px}
  .metric-grid{grid-template-columns:1fr}
  .data-flow{grid-template-columns:1fr}
  .cpds-cycle{grid-template-columns:1fr}
  .cpds-definition{grid-template-columns:1fr}
  .cpds-definition dt{padding-bottom:3px;border-bottom:0}
  .cpds-definition dd{padding-top:0}
  .spec-row{display:block}
  .spec-row span{display:block;text-align:left;margin-top:4px}
}

/* ================= Readable status callouts ================= */
/* Callouts must define their own text color so they never inherit white hero text
   onto a light background. */
.callout{color:var(--text)}
.callout strong{color:var(--navy)}
.callout a{color:var(--teal-ink);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.callout.teal{background:#e8f7f7;border-left-color:var(--teal)}
.callout.amber{background:#fff4dc;border-left-color:#d89a24}
.callout.amber strong{color:#6b4908}
.page-hero .callout{
  max-width:920px;
  color:#f4fbfd;
  background:rgba(255,255,255,.105);
  border:1px solid rgba(255,255,255,.18);
  border-left:5px solid #63d8d4;
  box-shadow:0 12px 30px rgba(4,20,32,.14);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.page-hero .callout strong{color:#fff}
.page-hero .callout a{color:#fff}
.page-hero .callout.amber{background:rgba(255,255,255,.105);border-left-color:#f0bb55}
.page-hero .callout.amber strong{color:#fff}

/* CPDS readability and dense-table polish */
.cpds-table tbody tr:nth-child(even){background:#f7fafb}
.cpds-table tbody tr:hover{background:#f0f8f9}
.cpds-table th{vertical-align:bottom}
.cpds-table td{vertical-align:top}
.metric-tile{position:relative;overflow:hidden}
.metric-tile::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}
.metric-tile .metric-meta{max-width:28ch}
.profile-banner{background:linear-gradient(135deg,#f6fbfc,#fff);padding:26px 28px;border:1px solid var(--line);border-radius:10px}
.profile-banner .status{white-space:nowrap}
.cpds-note{font-size:.84rem;color:#486272;line-height:1.55}
@media(max-width:760px){
  .page-hero .callout{padding:20px 22px}
  .cpds-table{min-width:920px}
  .profile-banner{padding:22px}
}
.profile-meta{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;margin-top:18px}
.profile-meta>div{padding:15px 18px;min-width:0}
.profile-meta>div+div{border-left:1px solid var(--line)}
.profile-meta span{display:block;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.profile-meta strong{display:block;color:var(--navy);font-size:.86rem;line-height:1.35}
@media(max-width:900px){.profile-meta{grid-template-columns:1fr 1fr}.profile-meta>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.profile-meta>div:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:560px){.profile-meta{grid-template-columns:1fr}.profile-meta>div+div{border-left:0;border-top:1px solid var(--line)}}
@media print{
  .page-hero .callout{background:#f3f7f8!important;color:#111!important;border:1px solid #9bb3bf!important;border-left:5px solid var(--teal)!important;box-shadow:none!important;backdrop-filter:none!important}
  .page-hero .callout strong,.page-hero .callout a{color:#111!important}
}

/* ================= Institutional photography layer ================= */
.hero-art.photo-art{border-radius:10px;overflow:hidden;box-shadow:0 24px 60px rgba(4,25,40,.18);aspect-ratio:16/10;background:#dce9ee}
.hero-art.photo-art:after{width:170px;height:170px;right:-70px;bottom:-70px;opacity:.13;z-index:2;pointer-events:none}
.hero-art.photo-art img{width:100%;height:100%;object-fit:cover;display:block}
.photo-feature{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}
.photo-feature.reverse{grid-template-columns:.92fr 1.08fr}
.photo-feature.reverse .photo-feature-media{order:2}
.photo-feature-media{min-height:320px;background:#dbe8ed;position:relative;overflow:hidden}
.photo-feature-media img{width:100%;height:100%;object-fit:cover;display:block}
.photo-feature-copy{padding:38px 38px 36px;display:flex;flex-direction:column;justify-content:center}
.photo-feature-copy h2,.photo-feature-copy h3{margin-bottom:12px}
.editorial-photo{margin:0 0 34px;border-radius:10px;overflow:hidden;background:#dbe8ed;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:16/8.5;object-fit:cover}
.editorial-photo figcaption,.photo-caption{padding:10px 14px 12px;color:var(--muted);font-size:.78rem;background:#fff;border-top:1px solid var(--line)}
.media.photo-media{background:#dbe8ed;box-shadow:var(--shadow-sm);border:1px solid rgba(19,55,75,.08)}
.media.photo-media img{object-fit:cover}
.profile-visual{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;margin-top:28px;background:linear-gradient(135deg,#f4fafb,#fff);border:1px solid var(--line);border-radius:10px;padding:22px}
.profile-visual figure{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff}
.profile-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.profile-visual-copy h3{margin-bottom:8px}
.photo-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--teal-ink);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;margin-bottom:10px}
.photo-kicker:before{content:"";width:22px;height:2px;background:var(--teal)}
@media(max-width:1000px){
  .photo-feature,.photo-feature.reverse,.profile-visual{grid-template-columns:1fr}
  .photo-feature.reverse .photo-feature-media{order:0}
  .photo-feature-media{min-height:300px}
  .profile-visual figure{max-width:760px}
}
@media(max-width:700px){
  .hero-art.photo-art{aspect-ratio:4/3}
  .photo-feature-copy{padding:28px 24px}
  .photo-feature-media{min-height:240px}
  .editorial-photo img{aspect-ratio:4/3}
  .profile-visual{padding:16px}
}
.photo-badge{position:absolute;left:14px;bottom:14px;z-index:3;background:rgba(5,32,49,.86);color:#fff;padding:6px 9px;border-radius:8px;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(3px)}
.media.photo-media{position:relative}

/* =========================================================
   v34 — Premium split-hero system
   Brings production pages in line with the approved visual preview.
   ========================================================= */
.page-hero.page-hero-media{
  background:linear-gradient(118deg,#0a2940 0%,#103b5b 100%);
  overflow:hidden;
}
.page-hero.page-hero-media:after{display:none}
.page-hero.page-hero-media .hero-media-grid{
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
  align-items:stretch;
  min-height:520px;
}
.hero-media-copy{
  position:relative;
  z-index:2;
  padding:56px 70px 58px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-media-copy .breadcrumbs{margin-bottom:22px}
.hero-media-copy h1{
  max-width:690px;
  font-size:clamp(2.45rem,4.25vw,3.75rem);
  margin-bottom:20px;
}
.hero-media-copy .lead{max-width:640px;color:#d0e0e9;font-size:1.12rem;line-height:1.62}
.hero-media-copy .callout{max-width:620px;margin-top:18px;padding:17px 20px}
.hero-media-copy .actions{margin-top:24px}
.hero-media-visual{
  position:relative;
  min-height:520px;
  margin-left:-72px;
  overflow:hidden;
  clip-path:polygon(11% 0,100% 0,100% 100%,0 100%);
  background:#d8e7ec;
}
.hero-media-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,37,57,.25) 0%,rgba(8,37,57,.04) 20%,transparent 42%);
  pointer-events:none;
}
.hero-media-visual img{width:100%;height:100%;object-fit:cover;display:block}
.hero-photo-label{
  position:absolute;
  right:18px;
  bottom:16px;
  z-index:3;
  background:rgba(5,28,43,.78);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  padding:6px 9px;
  font-size:.64rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.page-hero-media .btn-outline-light{border-color:#8bd6da}
.page-hero-media .btn-outline-light:hover{background:rgba(255,255,255,.08)}

/* Premium four-audience row on Certification Program Accreditation */
.cert-audience{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.72fr);
  gap:60px;
  align-items:start;
}
.cert-audience-intro h2{max-width:480px;margin-top:6px}
.cert-audience-intro p{color:#5b7281;max-width:520px}
.cert-audience-icons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  align-items:start;
  padding-top:10px;
}
.cert-audience-item{text-align:center;padding:0 6px}
.cert-audience-icon{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 17px;
  color:#078fa2;
}
.cert-audience-icon svg{
  width:66px;
  height:66px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cert-audience-item h3{
  color:var(--navy);
  font-size:.98rem;
  line-height:1.35;
  min-height:2.7em;
  margin-bottom:10px;
}
.cert-audience-item p{
  margin:0 auto;
  color:#536d7e;
  font-size:.82rem;
  line-height:1.55;
  max-width:21ch;
}

/* Homepage refinement: more of the visual authority from the approved preview */
.hero.hero-premium{
  background:linear-gradient(112deg,#eef8f9 0%,#fff 48%,#e7f2f6 100%);
}
.hero.hero-premium .container{
  grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);
  gap:42px;
  padding-top:58px;
  padding-bottom:62px;
}
.hero.hero-premium h1{max-width:700px}
.hero.hero-premium .hero-art.photo-art{
  aspect-ratio:16/10.3;
  border-radius:10px;
  box-shadow:0 26px 64px rgba(8,37,57,.19);
}

@media(max-width:1100px){
  .page-hero.page-hero-media .hero-media-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);min-height:500px}
  .hero-media-copy{padding-right:48px}
  .hero-media-visual{min-height:500px;margin-left:-45px;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}
  .cert-audience{grid-template-columns:1fr;gap:38px}
  .cert-audience-intro{text-align:center;max-width:760px;margin:0 auto}
  .cert-audience-intro h2,.cert-audience-intro p{margin-left:auto;margin-right:auto}
  .hero.hero-premium .container{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .page-hero.page-hero-media .hero-media-grid{display:block;min-height:0;width:100%}
  .hero-media-copy{width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:48px 0 44px}
  .hero-media-visual{margin:0;clip-path:none;min-height:0;height:390px;width:100%}
  .hero-media-visual:after{background:linear-gradient(180deg,rgba(8,37,57,.08),transparent 35%)}
  .hero-photo-label{right:14px;bottom:12px}
  .cert-audience-icons{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}
  .hero.hero-premium .container{grid-template-columns:1fr;gap:30px}
  .hero.hero-premium .hero-art.photo-art{max-width:760px;width:100%;margin:0 auto}
}
@media(max-width:560px){
  .hero-media-copy{width:min(var(--max),calc(100% - 32px));padding:40px 0 38px}
  .hero-media-copy h1{font-size:clamp(2.15rem,10vw,3rem)}
  .hero-media-visual{height:290px}
  .cert-audience-icons{grid-template-columns:1fr 1fr;gap:30px 14px}
  .cert-audience-icon{width:62px;height:62px}
  .cert-audience-icon svg{width:58px;height:58px}
  .cert-audience-item h3{font-size:.91rem;min-height:auto}
  .cert-audience-item p{font-size:.78rem}
}


/* =========================================================
   v35 — Process visuals for process/document pages
   ========================================================= */
.hero-media-visual.process-visual{
  background:radial-gradient(circle at top right, rgba(111,221,220,.42), transparent 34%), linear-gradient(145deg,#dfeef2 0%,#eef6f8 38%,#d8e8ee 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 28px 28px 12px;
}
.hero-media-visual.process-visual:after{display:none}
.process-board{
  width:min(92%,620px);
  background:rgba(255,255,255,.985);
  border-radius:10px;
  padding:22px 22px 18px;
  box-shadow:0 26px 58px rgba(8,37,57,.18);
  border:1px solid rgba(11,66,95,.08);
}
.process-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.process-eyebrow{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#2d6572}
.process-chip{display:inline-flex;align-items:center;justify-content:center;background:#0e3a56;color:#fff;border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.process-title{font-size:1.32rem;line-height:1.2;margin:0 0 14px;color:#082537;font-family:var(--font-body);font-weight:800}
.process-steps{display:grid;gap:12px;margin:0}
.process-step{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:flex-start;padding:12px 12px;border:1px solid #d7e6ec;border-radius:10px;background:#f7fafb}
.process-step strong{display:block;color:var(--navy);font-size:.95rem;line-height:1.28;margin-bottom:3px}
.process-step span{display:block;color:#5a7180;font-size:.82rem;line-height:1.45}
.process-num{width:42px;height:42px;border-radius:10px;background:linear-gradient(180deg,#0ca9a8 0%,#127399 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.process-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.process-mini-card{padding:12px 13px;border-radius:10px;background:#f2f8fa;border:1px solid #d6e8ed}
.process-mini-card span{display:block;font-size:.7rem;line-height:1.35;text-transform:uppercase;letter-spacing:.09em;color:#5d7886;font-weight:800}
.process-mini-card strong{display:block;margin-top:6px;color:var(--navy);font-size:.92rem;line-height:1.38}
.process-note{margin:12px 2px 0;color:#5a7180;font-size:.78rem;line-height:1.45}
@media(max-width:1100px){
  .hero-media-visual.process-visual{padding:24px 22px 24px 8px}
  .process-board{width:min(94%,600px)}
}
@media(max-width:900px){
  .hero-media-visual.process-visual{padding:28px 0}
  .process-board{width:min(calc(100% - 34px),720px)}
}
@media(max-width:560px){
  .process-board{width:min(calc(100% - 24px),720px);padding:18px 16px 16px}
  .process-header{flex-direction:column;align-items:flex-start}
  .process-title{font-size:1.12rem}
  .process-step{grid-template-columns:38px 1fr;padding:10px}
  .process-num{width:38px;height:38px;border-radius:10px;font-size:.95rem}
  .process-mini-grid{grid-template-columns:1fr}
}


/* =========================================================
   v36 — process-page fixes, mobile hero clipping, footer logo
   ========================================================= */
.page-hero.page-hero-media.page-hero-process{overflow:visible}
/* Scope visual-board step styling so it does not break interactive process accordions */
.process-board .process-steps{display:grid;gap:12px;margin:0}
.process-board .process-step{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:flex-start;padding:12px;border:1px solid #d7e6ec;border-radius:10px;background:#f7fafb;overflow:visible;margin-bottom:0;counter-increment:none;box-shadow:none}
.process-board .process-step strong{display:block;color:var(--navy);font-size:.95rem;line-height:1.28;margin-bottom:3px}
.process-board .process-step span{display:block;color:#5a7180;font-size:.82rem;line-height:1.45}
.process-board .process-num{width:42px;height:42px;border-radius:10px;background:linear-gradient(180deg,#0ca9a8 0%,#127399 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.process-board .process-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.process-board .process-mini-card{padding:12px 13px;border-radius:10px;background:#f2f8fa;border:1px solid #d6e8ed}
.process-board .process-mini-card span{display:block;font-size:.7rem;line-height:1.35;text-transform:uppercase;letter-spacing:.09em;color:#5d7886;font-weight:800}
.process-board .process-mini-card strong{display:block;margin-top:6px;color:var(--navy);font-size:.92rem;line-height:1.38}
.process-board .process-note{margin:12px 2px 0;color:#5a7180;font-size:.78rem;line-height:1.45}
/* Restore the actual interactive process component */
.process{counter-reset:step}
.process>.process-step{counter-increment:step;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;background:#fff;overflow:hidden;display:block;padding:0}
.process>.process-step .process-toggle{width:100%;background:#fff;border:0;text-align:left;padding:24px 22px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:18px;cursor:pointer;font:inherit}
.process>.process-step .process-toggle:before{content:counter(step);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal);color:#04333a;font-weight:800;font-size:1.05rem}
.process>.process-step .p-txt{justify-self:start}
.process>.process-step .p-txt h2,
.process>.process-step .p-txt h3{margin:0;font-size:1.12rem;line-height:1.16;color:var(--navy)}
.process>.process-step .p-sub{display:block;font-weight:500;color:var(--muted);font-size:.86rem;margin-top:3px}
.process>.process-step .plus{font-size:1.7rem;color:var(--teal-dark);transition:transform .2s;line-height:1;flex:none}
.process>.process-step .process-body{display:none;padding:0 22px 26px 96px}
.process>.process-step.open .process-body{display:block}
.process>.process-step.open .plus{transform:rotate(45deg)}
.logo-foot img[src$="chsps-footer-logo-white.png"]{width:min(100%,270px);height:auto;display:block;object-fit:contain;object-position:left center}
@media(max-width:900px){
  .page-hero.page-hero-media.page-hero-process .hero-media-grid{display:block;min-height:0;width:100%}
  .page-hero.page-hero-media.page-hero-process .hero-media-visual{height:auto;min-height:0;clip-path:none;margin:0;width:100%}
  .page-hero.page-hero-media.page-hero-process .hero-media-visual.process-visual{padding:8px 0 30px}
  .page-hero.page-hero-media.page-hero-process .process-board{width:min(calc(100% - 34px),720px)}
}
@media(max-width:560px){
  .process>.process-step .process-toggle{grid-template-columns:42px 1fr auto;padding:18px 16px;gap:14px}
  .process>.process-step .process-toggle:before{width:42px;height:42px;font-size:1rem}
  .process>.process-step .p-txt h2,
  .process>.process-step .p-txt h3{font-size:1.02rem}
  .process>.process-step .process-body{padding:0 16px 20px 72px}
  .page-hero.page-hero-media.page-hero-process .hero-media-copy{padding-bottom:26px}
  .page-hero.page-hero-media.page-hero-process .hero-media-visual.process-visual{padding:0 0 24px}
  .page-hero.page-hero-media.page-hero-process .process-board{width:min(calc(100% - 24px),720px);padding:18px 16px 16px}
  .process-board .process-step{grid-template-columns:38px 1fr;padding:10px}
  .process-board .process-num{width:38px;height:38px;border-radius:10px;font-size:.95rem}
  .process-board .process-mini-grid{grid-template-columns:1fr}
}


/* v37 — corrected footer asset */
.footer .logo-foot{max-width:290px}
.footer .logo-foot img[src$="chsps-footer-logo-white.png"]{width:min(100%,270px);height:auto;display:block;object-fit:contain;object-position:left center}
@media(max-width:560px){.footer .logo-foot img[src$="chsps-footer-logo-white.png"]{width:min(100%,235px)}}


/* =========================================================
   v39 — institutional content polish
   ========================================================= */
.scope-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:28px 0}
.scope-strip>div{background:#fff;padding:22px 24px}
.scope-strip span{display:block;color:var(--teal-ink);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;margin-bottom:6px}
.scope-strip strong{display:block;color:var(--navy);font-size:1rem;line-height:1.4}
.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}
.domain-item{border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px 18px 16px;min-height:112px}
.domain-item b{display:block;color:var(--navy);line-height:1.35;margin-bottom:5px}
.domain-item small{display:block;color:var(--muted);line-height:1.5}
.measure-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.measure-list>div{border-left:4px solid var(--teal);background:var(--mist);padding:15px 17px;border-radius:0 6px 6px 0}
.measure-list b{display:block;color:var(--navy);font-size:.94rem;margin-bottom:3px}
.measure-list span{font-size:.82rem;color:var(--muted);line-height:1.5}
.policy-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.policy-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:22px;box-shadow:0 5px 18px rgba(16,48,74,.05)}
.policy-card .doc-id{font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-ink);font-weight:800;margin-bottom:8px;display:block}
.policy-card h2,.policy-card h3{font-size:1.04rem;margin-bottom:8px}
.policy-card p{font-size:.84rem;color:var(--muted);margin-bottom:10px}
.policy-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef5f7;color:#45606f;font-size:.68rem;font-weight:800}
@media(max-width:900px){.scope-strip,.domain-grid,.policy-index-grid{grid-template-columns:1fr 1fr}.measure-list{grid-template-columns:1fr}}
@media(max-width:600px){.scope-strip,.domain-grid,.policy-index-grid{grid-template-columns:1fr}}


/* =========================================================
   v40 — final presentation polish
   ========================================================= */
@media(min-width:1200px){
  .header-row{height:94px}
  .brand .logo-lockup{height:68px}
}
.footer{padding-top:48px}
.footer-grid{grid-template-columns:1.18fr 1fr 1fr 1fr;gap:34px}
.footer .logo-foot{max-width:220px;margin-bottom:14px}
.footer .logo-foot img[src$="chsps-footer-logo-white.png"]{width:205px;max-width:100%;height:auto;display:block;object-fit:contain;object-position:left center}
.footer-grid>div:first-child>p{max-width:355px;line-height:1.65}
.footer-heading{color:#fff;margin:0 0 14px;font-size:.95rem;line-height:1.3;font-weight:800}
.footer-news{margin-top:15px}
.footer-contact{margin-top:12px}
.footer-disclaimer{font-size:.74rem;line-height:1.55;padding-bottom:22px;max-width:1050px}
.footer-bottom{margin-top:30px;padding:18px 0;font-size:.78rem}
@media(max-width:1199px){
  .footer .logo-foot{max-width:205px}
  .footer .logo-foot img[src$="chsps-footer-logo-white.png"]{width:195px}
}
@media(max-width:700px){
  .footer{padding-top:42px}
  .footer-grid{gap:28px}
  .footer .logo-foot{max-width:190px}
  .footer .logo-foot img[src$="chsps-footer-logo-white.png"]{width:180px}
  .footer-grid>div:first-child>p{max-width:420px}
  .footer-disclaimer{font-size:.72rem}
}


/* =========================================================
   v41 — homepage carousel and premium homepage polish
   ========================================================= */
.home-hero-carousel{background:linear-gradient(135deg,#eef6f8 0%,#f7fbfc 52%,#e8f3f7 100%);padding:34px 0 28px;border-top:1px solid #dbe8ee;border-bottom:1px solid #dbe8ee;overflow:hidden}
.hero-carousel{position:relative}
.hero-slide{display:none}
.hero-slide.is-active{display:block;animation:fadeUp .55s ease}
@keyframes fadeUp{from{opacity:.24;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-slide-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:46px;align-items:center;min-height:560px}
.hero-slide-copy h1,.hero-slide-copy h2{max-width:780px;font-size:clamp(2.35rem,4.8vw,4.55rem);line-height:.98;margin:12px 0 20px;color:var(--navy)}
.hero-slide-copy p{font-size:1.14rem;line-height:1.72;color:#445f71;max-width:700px}
.hero-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px}
.hero-chip{display:inline-flex;align-items:center;border:1px solid #c7dde5;background:#fff;border-radius:999px;padding:9px 14px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#255467;box-shadow:0 8px 22px rgba(16,54,79,.06)}
.hero-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;max-width:760px}
.hero-stat{background:#fff;border:1px solid #d5e6ed;border-radius:10px;padding:16px 18px;box-shadow:0 18px 38px rgba(12,47,69,.06)}
.hero-stat strong{display:block;color:var(--navy);font-size:1.5rem;line-height:1;font-family:var(--font-display);margin-bottom:8px}
.hero-stat span{display:block;color:#597284;font-size:.88rem;line-height:1.4}
.hero-slide-media{position:relative;min-height:520px;border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(6,31,49,.18);background:#ddeaf0}
.hero-slide-media img{width:100%;height:100%;object-fit:cover;display:block}
.hero-slide-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,37,57,.02),rgba(8,37,57,.16))}
.hero-slide-media .photo-badge{position:absolute;left:20px;bottom:18px;z-index:2}
.hero-float-card{position:absolute;z-index:2;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border:1px solid rgba(11,66,95,.11);border-radius:10px;padding:14px 16px;max-width:285px;box-shadow:0 20px 45px rgba(7,32,50,.14)}
.hero-float-card span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#5c7687;margin-bottom:7px}
.hero-float-card strong{display:block;color:var(--navy);font-size:1rem;line-height:1.28}
.hero-float-card small{display:block;color:#60798a;font-size:.8rem;line-height:1.45;margin-top:7px}
.hero-float-top{top:20px;left:20px}
.hero-float-bottom{right:20px;bottom:58px}
.hero-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:26px}
.hero-arrow{width:48px;height:48px;border-radius:50%;border:1px solid #bfd4dd;background:#fff;color:var(--navy);font-size:1.7rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(9,38,57,.08)}
.hero-arrow:hover{background:#f5fafb}
.hero-indicators{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;flex:1}
.hero-indicator{border:1px solid #c5dbe4;background:#fff;border-radius:999px;padding:10px 16px;font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#4c6778;transition:all .2s ease}
.hero-indicator.active,.hero-indicator[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(7,32,50,.18)}
.home-value-band{margin-top:-1px;background:#fff}
.home-value-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:1px;background:#dce8ee;border:1px solid #dce8ee;border-radius:22px;overflow:hidden;box-shadow:0 20px 48px rgba(7,32,50,.05);transform:translateY(-18px)}
.home-value-card{background:#fff;padding:26px 28px;min-height:150px}
.home-value-card.emphasis{background:linear-gradient(135deg,#0f7180 0%,#123c59 100%);color:#fff}
.home-value-card.emphasis .eyebrow,.home-value-card.emphasis h2,.home-value-card.emphasis p{color:#fff}
.home-value-card h2{font-size:1.8rem;line-height:1.05;margin:10px 0 12px}
.home-value-card strong{display:block;color:var(--navy);font-size:1.08rem;line-height:1.35;margin-bottom:10px}
.home-value-card span,.home-value-card p{display:block;color:#60798a;line-height:1.6}
.home-status-section .section-head-left{max-width:880px}
.home-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.status-card{background:#fff;border:1px solid #d7e6ec;border-radius:20px;padding:22px;box-shadow:0 18px 40px rgba(7,32,50,.05)}
.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 11px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.status-pill.live{background:#daf5f0;color:#0f5d65}
.status-pill.pending{background:#f9ecd3;color:#845b12}
.status-card h3{font-size:1.2rem;line-height:1.22;margin:0 0 10px}
.status-card p{color:#5b7485}
.home-program-grid .pathway-card{height:100%;display:flex;flex-direction:column}
.pathway-points{margin:14px 0 14px 18px;color:#557081;font-size:.92rem;line-height:1.6}
.pathway-points li+li{margin-top:7px}
.featured-pathway{box-shadow:0 24px 50px rgba(7,32,50,.08)}
.home-process-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:34px;align-items:start}
.home-process-copy p{max-width:720px}
.home-process-steps{display:grid;gap:12px;margin:22px 0 26px}
.home-process-step{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid #d7e6ec;border-radius:10px;padding:13px 16px;box-shadow:0 12px 26px rgba(9,38,57,.05)}
.home-process-step strong{width:52px;height:52px;border-radius:10px;background:linear-gradient(180deg,#0ca9a8 0%,#127399 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800}
.home-process-step span{color:#4f697b;font-weight:700;line-height:1.35}
.home-process-panel{display:grid;gap:16px}
.process-panel-card{background:#fff;border:1px solid #d4e4ec;border-radius:22px;padding:24px;box-shadow:0 18px 40px rgba(8,37,57,.06)}
.process-panel-card.soft{background:linear-gradient(180deg,#f6fbfc 0%,#eff7f9 100%)}
.process-panel-card h3{font-size:1.5rem;margin:10px 0 12px}
.process-panel-card h4{font-size:1.25rem;line-height:1.35;margin:10px 0 10px}
.home-dark-lead{color:#c9dbe5!important;max-width:860px;margin-left:auto;margin-right:auto}
.dark-card{background:rgba(255,255,255,.05);border-color:#2c4b61;box-shadow:none}
.dark-card h3 a,.dark-card p,.dark-card .card-tag{color:#fff}
.dark-card p{color:#c3d5e0}
.dark-card .card-link{color:#8fe6e3}
.home-insights-grid{display:grid;grid-template-columns:1.05fr 1.12fr;gap:28px;align-items:start}
.newsletter-panel{background:linear-gradient(135deg,#153d5d 0%,#0d2d45 100%);color:#fff;border-radius:24px;padding:32px;box-shadow:0 24px 56px rgba(7,32,50,.16)}
.newsletter-panel .eyebrow,.newsletter-panel h2,.newsletter-panel p{color:#fff}
.newsletter-panel h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.08;margin:12px 0 14px}
.newsletter-form input{padding:15px 16px;min-width:240px;border:0;border-radius:10px;flex:1}
.newsletter-form .actions{align-items:stretch}
.newsletter-form .notice{margin-top:14px;color:#d6e7ef}
.home-updates-grid{display:grid;gap:18px}
.update-card{min-height:0}
.home-membership-section .pricing-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}
.pricing-chip{display:inline-flex;align-items:center;background:#fff;border:1px solid #cfdee5;border-radius:999px;padding:10px 14px;font-size:.86rem;font-weight:800;color:#255467}
.home-stats-section .stats{box-shadow:0 20px 48px rgba(7,32,50,.12)}
@media(max-width:1199px){
  .hero-slide-grid{grid-template-columns:1fr;min-height:0;gap:28px}
  .hero-slide-copy h1,.hero-slide-copy h2{max-width:860px}
  .hero-slide-media{max-width:820px;width:100%;margin:0 auto;min-height:430px}
  .home-value-grid,.home-status-grid,.home-insights-grid,.home-process-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .home-hero-carousel{padding:24px 0 22px}
  .hero-slide-copy h1,.hero-slide-copy h2{font-size:clamp(2.1rem,9vw,3.6rem)}
  .hero-stat-row{grid-template-columns:1fr}
  .hero-slide-media{min-height:340px;border-radius:22px}
  .hero-float-card{max-width:255px;padding:12px 14px}
  .hero-float-top{top:14px;left:14px}
  .hero-float-bottom{right:14px;bottom:48px}
  .hero-controls{gap:12px}
  .home-value-grid{transform:none;margin-top:12px}
}
@media(max-width:560px){
  .hero-chip-row{gap:8px}
  .hero-chip{font-size:.68rem;padding:8px 11px}
  .hero-slide-copy p{font-size:1.02rem}
  .hero-slide-media{min-height:290px}
  .hero-float-card{display:none}
  .hero-controls{flex-wrap:wrap;justify-content:center}
  .hero-arrow{width:42px;height:42px;font-size:1.4rem}
  .hero-indicator{padding:9px 12px;font-size:.72rem}
  .home-value-card,.status-card,.process-panel-card,.newsletter-panel{padding:20px}
  .home-process-step{grid-template-columns:44px 1fr;padding:12px}
  .home-process-step strong{width:44px;height:44px}
  .newsletter-form .actions{flex-direction:column;align-items:stretch}
}


/* =========================================================
   v42 — homepage hero refinement: fewer boxes, fixed pills
   ========================================================= */
.home-hero-carousel{padding:26px 0 22px}
.hero-slide-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);gap:38px;align-items:center;min-height:470px}
.hero-slide-copy h1,.hero-slide-copy h2{max-width:720px;font-size:clamp(2.2rem,4.45vw,4.1rem);line-height:1.02;margin:10px 0 18px}
.hero-slide-copy p{font-size:1.1rem;line-height:1.66;max-width:660px;margin-bottom:0}
.hero-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px;min-height:0}
.hero-chip{font-size:.74rem;padding:9px 14px;background:#f7fafb;border-color:#c9dfe7;color:#255467;box-shadow:none;white-space:nowrap}
.hero-slide-copy .actions{margin-top:0}
.hero-proof-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;max-width:760px}
.hero-proof{background:rgba(255,255,255,.72);border:1px solid #d5e4eb;border-radius:10px;padding:13px 14px}
.hero-proof strong{display:block;font-size:.96rem;line-height:1.2;color:var(--navy);margin-bottom:5px}
.hero-proof span{display:block;font-size:.83rem;line-height:1.42;color:#5d7687}
.hero-slide-media{min-height:390px;max-height:440px;border-radius:24px}
.hero-slide-media img{height:100%}
.hero-float-card{max-width:270px;border-radius:10px;padding:13px 15px}
.hero-float-card strong{font-size:.98rem;line-height:1.28}
.hero-float-card small{font-size:.79rem;line-height:1.4}
.hero-float-top{top:16px;left:16px}
.hero-controls{margin-top:18px}
.hero-arrow{width:44px;height:44px}
.hero-indicator{padding:9px 14px;font-size:.78rem}
@media(max-width:1199px){
  .hero-slide-grid{grid-template-columns:1fr;min-height:0;gap:24px}
  .hero-slide-media{max-width:760px;min-height:340px;max-height:none}
}
@media(max-width:800px){
  .hero-proof-row{grid-template-columns:1fr;max-width:100%}
  .hero-slide-copy h1,.hero-slide-copy h2{font-size:clamp(2rem,9vw,3.2rem)}
}
@media(max-width:560px){
  .hero-chip-row{gap:8px}
  .hero-chip{font-size:.68rem;padding:8px 12px}
  .hero-slide-media{min-height:280px}
}


/* =========================================================
   v43 — cleaner homepage hero, Stripe-like background effect
   ========================================================= */
.home-hero-carousel{position:relative;overflow:hidden;padding:34px 0 26px;background:linear-gradient(180deg,#f5fafc 0%,#eef6f9 100%);border-top:1px solid #d7e6ed;border-bottom:1px solid #d7e6ed}
.home-hero-carousel .container{position:relative;z-index:2}
.hero-backdrop{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.hero-backdrop-orb,.hero-backdrop-beam{position:absolute;display:block}
.hero-backdrop-orb{border-radius:50%;filter:blur(2px);opacity:.72}
.hero-backdrop-orb.orb-one{width:620px;height:620px;left:-220px;top:-210px;background:radial-gradient(circle at 55% 55%,rgba(15,169,176,.22) 0%,rgba(15,169,176,.09) 30%,rgba(15,169,176,0) 68%)}
.hero-backdrop-orb.orb-two{width:540px;height:540px;right:-160px;bottom:-220px;background:radial-gradient(circle at 50% 50%,rgba(23,61,93,.16) 0%,rgba(23,61,93,.07) 30%,rgba(23,61,93,0) 70%)}
.hero-backdrop-beam{transform:skewX(-28deg);border-radius:60px}
.hero-backdrop-beam.beam-one{width:460px;height:760px;right:14%;top:-180px;background:linear-gradient(180deg,rgba(17,74,112,.05) 0%,rgba(17,74,112,.13) 55%,rgba(17,74,112,.05) 100%)}
.hero-backdrop-beam.beam-two{width:320px;height:680px;right:-60px;top:-120px;background:linear-gradient(180deg,rgba(34,188,196,.08) 0%,rgba(34,188,196,.16) 55%,rgba(34,188,196,.06) 100%)}
.hero-slide-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:42px;align-items:center;min-height:470px}
.hero-slide-copy h1,.hero-slide-copy h2{max-width:760px;font-size:clamp(2.3rem,4.55vw,4.2rem);line-height:1.01;margin:10px 0 18px;color:var(--navy);text-wrap:balance}
.hero-slide-copy p{max-width:670px;font-size:1.08rem;line-height:1.7;color:#496476}
.hero-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}
.hero-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border-radius:999px;border:1px solid #cadde5;background:rgba(255,255,255,.82);color:#2c596b;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.15;white-space:nowrap;box-shadow:none}
.hero-slide-copy .actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}
.hero-subnote{margin:0;font-size:.92rem;color:#637d8d}
.hero-slide-media{position:relative;min-height:390px;max-height:450px;border-radius:28px;overflow:hidden;background:#dce9ef;box-shadow:0 28px 68px rgba(6,31,49,.14);border:1px solid rgba(255,255,255,.8)}
.hero-slide-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06)}
.hero-slide-media:after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,rgba(7,32,50,0) 0%,rgba(7,32,50,.12) 100%)}
.media-accreditation img{object-position:58% 54%}
.media-specialty img{object-position:58% 48%}
.media-education img{object-position:54% 44%}
.hero-float-card,.hero-proof-row,.hero-stat-row,.photo-badge{display:none!important}
.hero-controls{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.hero-arrow{width:44px;height:44px;border-radius:50%;border:1px solid #bfd4dd;background:rgba(255,255,255,.94);color:var(--navy);font-size:1.65rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(9,38,57,.08)}
.hero-indicators{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;flex:1}
.hero-indicator{border:1px solid #c8dbe3;background:rgba(255,255,255,.85);border-radius:999px;padding:10px 15px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#577182;transition:all .2s ease}
.hero-indicator.active,.hero-indicator[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(7,32,50,.18)}
/* below-hero polish */
.home-value-grid{box-shadow:0 22px 50px rgba(7,32,50,.06)}
.home-value-card{min-height:136px}
.home-value-card strong{font-size:1.1rem}
.home-status-grid{gap:20px}
.status-card,.process-panel-card,.newsletter-panel,.update-card,.pathway-card,.home-audience-section .card,.home-membership-section .card{box-shadow:0 16px 34px rgba(7,32,50,.05)}
.home-programs .section-head,.home-specialty-section .section-head,.home-audience-section .section-head{max-width:880px;margin-left:auto;margin-right:auto}
.home-spotlight-grid .dark-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
@media(max-width:1199px){
  .hero-backdrop-beam.beam-one{right:6%}
  .hero-slide-grid{grid-template-columns:1fr;min-height:0;gap:28px}
  .hero-slide-media{max-width:760px;min-height:340px;max-height:none;margin:0 auto}
}
@media(max-width:800px){
  .home-hero-carousel{padding:26px 0 20px}
  .hero-slide-copy h1,.hero-slide-copy h2{font-size:clamp(2rem,8.4vw,3.3rem)}
  .hero-slide-media{min-height:300px;border-radius:22px}
  .hero-slide-media img{transform:scale(1.08)}
}
@media(max-width:560px){
  .hero-chip-row{gap:8px}
  .hero-chip{white-space:normal;padding:8px 12px;min-height:34px;font-size:.68rem;line-height:1.2}
  .hero-subnote{font-size:.86rem}
  .hero-slide-media{min-height:260px}
  .hero-controls{gap:12px;flex-wrap:wrap;justify-content:center}
  .hero-arrow{width:42px;height:42px;font-size:1.4rem}
  .hero-indicator{padding:9px 12px;font-size:.72rem}
}


/* =========================================================
   v44 — hero refinement, autoplay, side arrows, mobile polish
   ========================================================= */
.btn.btn-teal{background:var(--teal);color:#fff}
.btn.btn-teal:hover,.btn.btn-teal:focus{color:#fff;background:#0f8e9c}
.home-hero-carousel{padding:34px 0 30px}
.hero-carousel{position:relative;padding:0 76px 14px}
.hero-slide-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr);gap:44px;align-items:center;min-height:500px}
.hero-slide-copy{padding-right:8px}
.hero-slide-copy h1,.hero-slide-copy h2{max-width:720px;font-size:clamp(2.4rem,4.7vw,4.35rem);line-height:1.02;margin:10px 0 16px;text-wrap:balance}
.hero-slide-copy p{max-width:630px;font-size:1.06rem;line-height:1.68;margin-bottom:0}
.hero-chip-row{gap:10px;margin:16px 0 24px;max-width:640px}
.hero-chip{min-height:36px;padding:8px 13px;font-size:.73rem;line-height:1.12;color:#255467;background:rgba(255,255,255,.76)}
.hero-slide-copy .actions{gap:14px;margin-bottom:0}
.hero-slide-media{min-height:360px;height:360px;max-height:360px;border-radius:26px;box-shadow:0 28px 68px rgba(6,31,49,.12)}
.hero-slide-media img{transform:scale(1.02)}
.hero-slide-media:after{display:none}
.media-accreditation img{object-position:50% 53%}
.media-specialty img{object-position:50% 48%}
.media-education img{object-position:50% 48%}
.hero-controls{margin-top:16px;justify-content:center;gap:12px}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;border:1px solid #c2d7df;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);box-shadow:0 16px 32px rgba(9,38,57,.1)}
.hero-arrow.prev{left:0}
.hero-arrow.next{right:0}
.hero-arrow:hover{background:#fff}
.hero-indicators{flex:0 1 auto;gap:9px}
.hero-indicator{padding:10px 14px;font-size:.76rem}
.home-value-grid{margin-top:-10px}
@media(max-width:1199px){
  .hero-carousel{padding:0 62px 12px}
  .hero-slide-grid{grid-template-columns:1fr;gap:24px;min-height:0}
  .hero-slide-copy{padding-right:0}
  .hero-slide-copy h1,.hero-slide-copy h2,.hero-slide-copy p{max-width:100%}
  .hero-slide-media{max-width:780px;width:100%;height:340px;min-height:340px;max-height:340px;margin:0 auto}
}
@media(max-width:900px){
  .home-hero-carousel{padding:24px 0 22px}
  .hero-carousel{padding:0 52px 10px}
  .hero-slide-copy h1,.hero-slide-copy h2{font-size:clamp(2rem,7vw,3.25rem)}
  .hero-chip-row{max-width:100%}
  .hero-slide-media{height:320px;min-height:320px;max-height:320px}
}
@media(max-width:767px){
  .hero-carousel{padding:0 0 62px}
  .hero-slide-grid{gap:18px}
  .hero-slide-copy h1,.hero-slide-copy h2{font-size:clamp(2rem,10vw,3rem);line-height:1.04}
  .hero-slide-copy p{font-size:1rem;line-height:1.62}
  .hero-chip-row{gap:8px;margin:14px 0 20px}
  .hero-chip{font-size:.66rem;padding:8px 10px;white-space:normal;text-align:center}
  .hero-slide-copy .actions{flex-direction:column;align-items:stretch}
  .hero-slide-copy .actions .btn{width:100%;justify-content:center}
  .hero-slide-media{height:280px;min-height:280px;max-height:280px;border-radius:22px}
  .hero-arrow{top:auto;bottom:6px;transform:none;width:44px;height:44px;font-size:1.4rem}
  .hero-arrow.prev{left:8px}
  .hero-arrow.next{right:8px}
  .hero-controls{justify-content:center;padding:0 56px;min-height:44px}
  .hero-indicators{justify-content:center;gap:7px}
  .hero-indicator{padding:8px 11px;font-size:.68rem}
}
@media(min-width:768px) and (max-width:1024px){
  .hero-slide-copy h1,.hero-slide-copy h2{font-size:clamp(2.3rem,5.6vw,3.6rem)}
  .hero-slide-media{height:330px;min-height:330px;max-height:330px}
}


/* =========================================================
   v45 — ANAB-inspired institutional homepage + wider hero
   ========================================================= */
.home-hero-wide .home-hero-container{width:min(1480px,calc(100% - 56px));margin-inline:auto;position:relative;z-index:2}
.home-hero-wide .hero-carousel{padding:0 66px 64px}
.home-hero-wide .hero-slide-grid{grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);gap:54px;min-height:480px}
.home-hero-wide .hero-slide-copy h1,.home-hero-wide .hero-slide-copy h2{max-width:900px;font-size:clamp(2.45rem,3.85vw,3.85rem);line-height:1.015}
.home-hero-wide .hero-slide-copy p{max-width:760px;font-size:1.08rem}
.home-hero-wide .hero-slide-media{height:365px;min-height:365px;max-height:365px}
.home-hero-wide .hero-indicators{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:5;width:max-content}
.home-hero-wide .hero-arrow.prev{left:4px}.home-hero-wide .hero-arrow.next{right:4px}
.home-trust-band{transform:translateY(-12px)}
.home-status-ribbon{background:#fff;padding-top:26px;padding-bottom:40px}
.home-status-ribbon .container{display:grid;grid-template-columns:1.4fr auto;gap:34px;align-items:center;border:1px solid #dce6ec;border-left:5px solid var(--teal);border-radius:10px;padding:24px 28px;background:#f7fafb}
.status-ribbon-copy h2{font-size:1.65rem;margin:6px 0 8px}.status-ribbon-copy p{margin:0;color:#60798a}.status-ribbon-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.ecosystem-group-label{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:26px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.ecosystem-group-label span{font-weight:800;color:var(--navy);font-size:1.05rem}.ecosystem-group-label a{font-weight:800;font-size:.9rem}.specialty-label{margin-top:34px}
.ecosystem-grid{display:grid;gap:18px}.ecosystem-core{grid-template-columns:repeat(3,1fr)}.ecosystem-specialty{grid-template-columns:repeat(3,1fr)}
.ecosystem-card{display:block;border:1px solid var(--line);border-radius:10px;padding:24px;background:#fff;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ecosystem-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 18px 38px rgba(16,48,74,.09);border-color:#b8d7df}.ecosystem-card.core{border-top:4px solid var(--navy)}.ecosystem-card.specialty{background:linear-gradient(180deg,#f7fafb,#fff);border-top:4px solid var(--teal)}
.eco-code{display:inline-flex;background:#e9f5f7;color:var(--teal-ink);border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:800;letter-spacing:.08em;margin-bottom:14px}.ecosystem-card h3{margin-bottom:8px}.ecosystem-card p{color:#5f7787;font-size:.9rem;line-height:1.55}.eco-link{display:block;margin-top:14px;font-weight:800;color:var(--teal-dark);font-size:.88rem}
.assurance-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start}.assurance-copy p{color:#c9dbe5}.assurance-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.assurance-pillar{padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.045)}.assurance-pillar span{display:block;color:#8fe6e3;font-size:.72rem;letter-spacing:.14em;font-weight:800;margin-bottom:8px}.assurance-pillar h3{color:#fff;margin-bottom:6px}.assurance-pillar p{color:#c8d9e3;font-size:.9rem;line-height:1.55;margin:0}
.measures-showcase-grid{display:grid;grid-template-columns:1fr .9fr;gap:44px;align-items:center}.measures-media{min-height:380px;border-radius:20px;overflow:hidden;box-shadow:0 22px 50px rgba(7,32,50,.1)}.measures-media img{height:100%;object-fit:cover}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.expertise-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}.expertise-card>span{display:inline-block;color:var(--teal-ink);text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:800;margin-bottom:10px}.expertise-card h3{font-size:1.08rem;margin-bottom:6px}.expertise-card p{font-size:.9rem;color:#60798a;margin:0}
.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.training-card{border:1px solid var(--line);border-radius:10px;padding:24px;background:#fff;display:flex;flex-direction:column;box-shadow:0 16px 36px rgba(7,32,50,.05)}.training-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#687f8e;font-size:.75rem;font-weight:700}.training-badge{display:inline-flex;border-radius:999px;padding:6px 9px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;font-size:.65rem}.training-badge.free{background:#dff6f2;color:#0b665f}.training-badge.interest{background:#f9ecd3;color:#805711}.training-card h3{margin:16px 0 8px}.training-card p{color:#60798a;font-size:.9rem}.training-footer{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.training-footer strong{color:var(--navy);font-size:1.08rem}.training-footer strong small{display:block;color:#6e8390;font-size:.68rem;font-weight:700}
.reliance-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.reliance-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.reliance-card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;color:inherit}.reliance-card:hover{text-decoration:none;box-shadow:0 16px 34px rgba(7,32,50,.06)}.reliance-card span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:800;color:var(--teal-ink);margin-bottom:8px}.reliance-card strong{display:block;color:var(--navy);font-size:1.05rem}.reliance-card p{font-size:.88rem;color:#60798a;margin:8px 0 0}
.news-home-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:46px}.news-home-list{border-top:1px solid var(--line)}.news-home-list article{padding:18px 0;border-bottom:1px solid var(--line)}.news-home-list span{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#6b818f}.news-home-list h3{margin:7px 0 0}
@media(max-width:1199px){.home-hero-wide .home-hero-container{width:min(1100px,calc(100% - 44px))}.home-hero-wide .hero-carousel{padding:0 56px 62px}.home-hero-wide .hero-slide-grid{grid-template-columns:1fr;gap:24px}.home-hero-wide .hero-slide-copy h1,.home-hero-wide .hero-slide-copy h2{max-width:100%}.home-hero-wide .hero-slide-media{max-width:820px}.ecosystem-core,.ecosystem-specialty,.expertise-grid,.training-grid{grid-template-columns:repeat(2,1fr)}.assurance-grid,.measures-showcase-grid,.reliance-grid,.news-home-grid{grid-template-columns:1fr}.home-status-ribbon .container{grid-template-columns:1fr}.status-ribbon-actions{justify-content:flex-start}}
@media(max-width:767px){.home-hero-wide .home-hero-container{width:min(100% - 28px,720px)}.home-hero-wide .hero-carousel{padding:0 0 62px}.home-hero-wide .hero-slide-copy h1,.home-hero-wide .hero-slide-copy h2{font-size:clamp(2.05rem,9.2vw,3.05rem)}.home-hero-wide .hero-slide-media{height:265px;min-height:265px;max-height:265px}.home-hero-wide .hero-arrow.prev{left:4px}.home-hero-wide .hero-arrow.next{right:4px}.ecosystem-core,.ecosystem-specialty,.expertise-grid,.training-grid,.assurance-pillars,.reliance-cards{grid-template-columns:1fr}.ecosystem-group-label{align-items:flex-start;flex-direction:column;gap:4px}.home-status-ribbon .container{padding:20px}.training-footer{align-items:flex-start;flex-direction:column}.home-value-grid{transform:none}.measures-media{min-height:270px}}


/* =========================================================
   v46 — Current Standards & Program Status authority page
   ========================================================= */
.status-hero .hero-media-grid{grid-template-columns:minmax(0,1.1fr) minmax(360px,.62fr);min-height:470px}
.status-hero .hero-media-copy{padding-right:46px}
.status-hero-panel{align-self:center;background:rgba(255,255,255,.97);border-radius:20px;padding:20px 22px;box-shadow:0 28px 60px rgba(5,29,47,.22);border:1px solid rgba(255,255,255,.5);margin-right:22px;color:var(--navy)}
.status-hero-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid #dbe7ec}
.status-hero-head span{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#617b8b}
.status-hero-head strong{font-size:.95rem}
.status-hero-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:11px 0;border-bottom:1px solid #edf3f5;font-size:.9rem}
.status-hero-row span{color:#587181}
.status-hero-row strong{text-align:right;color:var(--navy)}
.status-hero-panel>p{font-size:.75rem;color:#718995;margin:13px 0 0}
.status-text.open{color:#087b76!important}.status-text.published{color:#17658b!important}.status-text.pending{color:#9a6610!important}.status-text.development{color:#6b5a96!important}
.status-page{padding-top:54px}
.status-posture{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;background:linear-gradient(135deg,#edf9f8,#f5fafc);border:1px solid #cce5e6;border-left:5px solid var(--teal);border-radius:10px;padding:25px 28px;margin-bottom:20px}
.status-posture h2{font-size:1.65rem;margin:8px 0 8px}.status-posture p{margin:0;color:#527080;max-width:900px}.status-posture-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.status-legend{display:flex;flex-wrap:wrap;gap:18px 28px;padding:13px 2px 38px;color:#536d7d;font-size:.82rem}.status-legend span{display:flex;align-items:center;gap:8px}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot-published{background:#2684a8}.dot-open{background:#13a89e}.dot-pending{background:#d69a32}.dot-development{background:#8b74ba}
.status-section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,.7fr);gap:42px;align-items:end;margin:42px 0 20px}.status-section-head h2{margin:7px 0 0;font-size:2rem}.status-section-head>p{margin:0;color:#607988;line-height:1.62}
.status-table-wrap{border:1px solid #d9e6eb;border-radius:10px;overflow:auto;box-shadow:0 14px 36px rgba(7,32,50,.05)}.status-table{min-width:1080px;margin:0}.status-table th{background:#eef6f8;color:#274e62;font-size:.77rem;text-transform:uppercase;letter-spacing:.045em;padding:14px}.status-table td{vertical-align:top;padding:15px 14px;line-height:1.5}.status-table td:first-child{min-width:180px}.status-table td:nth-child(2){min-width:190px}.status-table td:last-child{min-width:310px}.status-table tbody tr:nth-child(even){background:#f7fafb}.status-table a{font-weight:700}
.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;line-height:1.2;white-space:nowrap}.status-badge.published{background:#dff0f7;color:#1a607e}.status-badge.open{background:#dbf4ef;color:#0f706b}.status-badge.pending{background:#faecd1;color:#8b5d0f}.status-badge.development{background:#ebe5f6;color:#685591}
.readiness-gates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gate-card{display:grid;grid-template-columns:46px 1fr;gap:15px;background:#fff;border:1px solid #d9e6eb;border-radius:10px;padding:19px;box-shadow:0 12px 30px rgba(7,32,50,.045)}.gate-card.complete{border-top:4px solid #21a99f}.gate-card.pending{border-top:4px solid #d6a347}.gate-num{font-family:var(--font-display);font-size:1.55rem;color:#7b94a2;line-height:1}.gate-card h3{font-size:1.05rem;margin:9px 0 7px}.gate-card p{font-size:.88rem;color:#607988;margin:0;line-height:1.56}
.specialty-status-grid,.measure-status-grid,.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.specialty-status-grid article,.measure-status-grid article,.reference-grid article{background:#fff;border:1px solid #d9e6eb;border-radius:10px;padding:20px;box-shadow:0 12px 30px rgba(7,32,50,.045)}.specialty-status-grid h3{margin:12px 0 3px;font-size:1.4rem}.specialty-status-grid strong{display:block;color:var(--navy);margin-bottom:8px}.specialty-status-grid p,.measure-status-grid p,.reference-grid p{color:#607988;font-size:.9rem;line-height:1.55}.measure-status-grid{grid-template-columns:repeat(4,1fr)}.measure-status-grid h3,.reference-grid h3{margin:12px 0 8px;font-size:1.16rem}.measure-status-grid>article>strong{display:block;margin-top:14px;color:#405f70;font-size:.83rem}.status-reference-section{margin-top:50px;padding:34px;border-radius:24px;background:linear-gradient(180deg,#f4f9fb,#edf5f7);border:1px solid #d6e5ea}.status-reference-section .status-section-head{margin-top:0}.status-reference-note{margin:20px 0 0;padding-top:18px;border-top:1px solid #d3e1e6;color:#587181;font-size:.86rem;line-height:1.58}
.not-mean-panel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:38px;align-items:center;margin-top:44px;background:var(--navy);color:#fff;border-radius:22px;padding:30px 32px}.not-mean-panel .eyebrow,.not-mean-panel h2,.not-mean-panel p{color:#fff}.not-mean-panel h2{font-size:1.75rem;margin:8px 0 0}.not-mean-panel p{margin:0;line-height:1.65;color:#d1e0e8}.status-bottom-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.status-updated{font-size:.78rem;color:#718995;margin-top:26px;padding-top:18px;border-top:1px solid #e0eaee}
@media(max-width:1100px){.status-hero .hero-media-grid{grid-template-columns:1fr}.status-hero-panel{margin:0 44px 36px;max-width:760px}.readiness-gates{grid-template-columns:repeat(2,1fr)}.measure-status-grid{grid-template-columns:repeat(2,1fr)}.status-section-head{grid-template-columns:1fr;gap:10px;align-items:start}}
@media(max-width:760px){.status-hero-panel{margin:0 20px 28px}.status-posture{grid-template-columns:1fr}.status-posture-actions{justify-content:flex-start}.readiness-gates,.specialty-status-grid,.measure-status-grid,.reference-grid{grid-template-columns:1fr}.not-mean-panel{grid-template-columns:1fr;gap:12px}.status-reference-section{padding:22px}.status-section-head h2{font-size:1.65rem}.status-page{padding-top:36px}}
@media(max-width:520px){.status-hero-panel{padding:16px}.status-hero-row{font-size:.82rem}.status-posture{padding:21px 20px}.gate-card{grid-template-columns:38px 1fr}.gate-num{font-size:1.35rem}.status-bottom-actions .btn{width:100%;justify-content:center}}


/* =========================================================
   v47 — standards ecosystem + Assurance Workspace
   ========================================================= */
.action-tile{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--line);background:#fff;border-radius:10px;color:var(--navy);box-shadow:0 14px 30px rgba(7,32,50,.05);transition:.2s ease}.action-tile:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(7,32,50,.09)}.action-tile strong{font-size:1.05rem}.action-tile span{color:#60798a;line-height:1.5;font-size:.9rem}
.standards-action-head,.registry-tools,.standards-action-home-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:30px}.action-feed{display:grid;border-top:1px solid var(--line)}.action-feed article{display:grid;grid-template-columns:130px 1fr;gap:26px;padding:26px 0;border-bottom:1px solid var(--line)}.action-feed time{font-weight:800;color:#587283;font-size:.9rem}.action-type{display:inline-flex;border-radius:999px;padding:6px 9px;background:#eef7f8;color:#21616c;font-weight:800;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:9px}
.registry-table th,.registry-table td{font-size:.84rem;vertical-align:top}.registry-state{font-weight:800;color:#245c68}
.panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.panel-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:0 14px 32px rgba(7,32,50,.05)}.panel-code{font-weight:800;color:var(--teal-dark)}.panel-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.panel-tags span{border-radius:999px;background:#eef6f8;padding:7px 9px;font-size:.72rem;font-weight:800;color:#426879}
.empty-state-pro{padding:28px;border:1px dashed #afc8d2;border-radius:10px;background:#f7fbfc;color:#557181;text-align:center}
.report-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.report-feature>div{border:1px solid var(--line);border-radius:20px;padding:26px;background:#fff}.report-dimensions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.report-dimensions span{padding:8px 10px;background:#eef7f8;border-radius:999px;font-size:.74rem;font-weight:800}.report-note{background:linear-gradient(135deg,#f3fafb,#eaf4f7)!important}
.strategy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.strategy-objective{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff}.strategy-objective>span{width:48px;height:48px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.strategy-objective h3{margin:0 0 7px}.strategy-objective p{margin:0;color:#5c7687}.priority{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:800;text-transform:uppercase}.priority.high{background:#f7ded9;color:#8d3b31}.priority.medium{background:#f7ecd0;color:#7b5a12}
.participate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.participate-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:190px;box-shadow:0 14px 30px rgba(7,32,50,.05)}.participate-card strong{font-size:1.1rem;color:var(--navy)}.participate-card span{color:#60798a;line-height:1.55;margin:10px 0 auto}.participate-card em{font-style:normal;font-weight:800;color:var(--teal-dark);margin-top:18px}
.library-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.library-filter button{border:1px solid #c8dce4;border-radius:999px;background:#fff;padding:9px 13px;font-weight:800;color:#527080}.library-filter button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.library-card{display:block;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.library-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#587889}.library-card strong{display:block;color:var(--teal-dark);margin:8px 0 5px}.library-card h3{font-size:1rem;margin:0;color:var(--navy)}
.academy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.academy-track{border:1px solid var(--line);border-radius:10px;padding:22px;background:#fff}.academy-track ul{padding-left:18px;color:#587080;line-height:1.6}
.workspace-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#eef8fa 0%,#f7fafb 52%,#e8f2f7 100%);padding:58px 0}.workspace-hero:after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-200px;top:-230px;background:radial-gradient(circle,rgba(14,169,168,.18),transparent 66%)}.workspace-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .95fr;gap:46px;align-items:center}.workspace-hero h1{font-size:clamp(2.4rem,4.8vw,4.4rem);line-height:1.02;color:var(--navy)}
.workspace-mini,.workspace-home-dash{background:#0d2f47;border-radius:22px;padding:14px;box-shadow:0 28px 60px rgba(7,32,50,.16)}.mini-browser{background:#f7fbfc;border-radius:10px;overflow:hidden}.mini-browser-bar{display:flex;gap:6px;align-items:center;padding:11px 13px;background:#e8f1f4;border-bottom:1px solid #d4e3e8;font-size:.74rem;color:#587080}.mini-browser-bar i{width:8px;height:8px;border-radius:50%;background:#c5d4db}.mini-browser-bar span{margin-left:8px}.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px}.mini-kpis div{background:#fff;border:1px solid #dbe7eb;border-radius:10px;padding:13px}.mini-kpis span{display:block;font-size:.67rem;color:#617a89;text-transform:uppercase;font-weight:800}.mini-kpis strong{font-size:1.6rem;color:var(--navy)}.mini-progress{padding:0 16px 14px}.mini-progress>span{font-size:.78rem;font-weight:800;color:#4e6a7a}.mini-progress>div{height:8px;background:#dbe8ed;border-radius:999px;overflow:hidden;margin:7px 0}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#0ba9a7,#18759a)}.mini-progress strong{font-size:.8rem;color:var(--navy)}.mini-list{padding:0 16px 16px}.mini-list p{display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid #dbe7eb;border-radius:10px;padding:10px;margin:7px 0;font-size:.72rem}.mini-list em{font-style:normal;color:#1e6e77;font-weight:800}.step-orb{width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:12px}
.assurance-dashboard{border:1px solid #cbdde5;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 28px 70px rgba(7,32,50,.12)}.assurance-banner{display:flex;gap:18px;align-items:center;padding:12px 16px;background:#0c2e46;color:#fff}.assurance-banner strong{font-size:.72rem;letter-spacing:.08em}.assurance-banner span{font-size:.82rem;color:#cfe0e8;flex:1}.assurance-banner button{border:1px solid #436278;background:#153f5c;color:#fff;border-radius:8px;padding:7px 10px}.assurance-shell{display:grid;grid-template-columns:230px 1fr;min-height:610px}.assurance-shell aside{background:#f3f8fa;border-right:1px solid #dce6ec;padding:18px}.assurance-org{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;padding-bottom:16px;border-bottom:1px solid #d5e4e9}.assurance-org>span{grid-row:1/3;width:38px;height:38px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800}.assurance-org strong{font-size:.8rem;color:var(--navy)}.assurance-org small{font-size:.68rem;color:#6a8391}.assurance-shell aside nav{display:grid;gap:5px;margin-top:18px}.assurance-shell aside nav a{padding:9px 10px;border-radius:8px;color:#557080;font-size:.82rem;font-weight:700}.assurance-shell aside nav a.active{background:#dceff1;color:#0e5f69}.assurance-shell aside nav b{float:right;background:#0d7180;color:#fff;border-radius:999px;padding:1px 6px;font-size:.68rem}.assurance-main{padding:22px;background:#f7fafb}.assurance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.assurance-kpis article,.dash-card{background:#fff;border:1px solid #dae7ec;border-radius:10px;padding:16px}.assurance-kpis span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#67818e}.assurance-kpis strong{display:block;font-size:1.8rem;color:var(--navy);margin:6px 0}.assurance-kpis small{color:#748c98}.assurance-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.dash-card.wide{grid-column:1/2}.dash-card-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:14px}.dash-card-head span{font-size:.65rem;text-transform:uppercase;font-weight:800;letter-spacing:.07em;color:#698390}.dash-card-head h3{font-size:1rem;margin:4px 0 0}.dash-card-head a{font-size:.72rem;font-weight:800;color:#14717c}.coverage-row{margin:12px 0}.coverage-row label{display:flex;justify-content:space-between;font-size:.74rem;color:#4d6878}.coverage-row>div{height:7px;border-radius:999px;background:#e4eef1;margin-top:6px;overflow:hidden}.coverage-row i{display:block;height:100%;background:linear-gradient(90deg,#0ca9a8,#17759a)}.action-queue{list-style:none;padding:0;margin:0}.action-queue li{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-top:1px solid #edf2f4}.q-priority{font-size:.62rem;text-transform:uppercase;font-weight:800;border-radius:999px;padding:5px 6px;text-align:center}.q-priority.high{background:#f6ddd8;color:#8c3e35}.q-priority.med{background:#f8edcf;color:#765811}.q-priority.low{background:#e6f1f5;color:#477081}.action-queue strong,.action-queue small{display:block}.action-queue strong{font-size:.75rem;color:#193f58}.action-queue small{font-size:.68rem;color:#728894}.action-queue time{font-size:.68rem;color:#5f7785}.change-item{border-top:1px solid #edf2f4;padding:10px 0}.change-item strong,.change-item span,.change-item em{display:block}.change-item strong{font-size:.78rem;color:#173f58}.change-item span{font-size:.68rem;color:#718895;margin:3px 0}.change-item em{font-style:normal;font-size:.66rem;color:#0d7180;font-weight:800}.task-state{display:inline-flex;border-radius:999px;padding:5px 7px;font-size:.64rem;font-weight:800}.task-state.done{background:#dff3e8;color:#2d6b4b}.task-state.progress{background:#e3eef9;color:#3d6589}.task-state.due{background:#fae2dc;color:#8a4338}.task-state.plan{background:#edf1f3;color:#61727a}.comparison.compact th,.comparison.compact td{font-size:.7rem;padding:8px}
.workspace-home-grid{display:grid;grid-template-columns:1fr .9fr;gap:36px;align-items:center}.workspace-benefits{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.workspace-benefits span{background:#eef6f8;border-radius:999px;padding:8px 11px;font-size:.74rem;font-weight:800;color:#3f6879}.workspace-home-dash{padding:18px;background:#0d2f47}.wh-top{display:flex;justify-content:space-between;color:#fff;margin-bottom:12px}.wh-top span{font-size:.68rem;color:#a9c5d1}.wh-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wh-kpis div{background:#fff;border-radius:10px;padding:12px}.wh-kpis b{display:block;font-size:1.35rem;color:var(--navy)}.wh-kpis small{font-size:.65rem;color:#6e8491}.wh-row{display:flex;justify-content:space-between;gap:12px;background:#f7fafb;border-radius:8px;padding:9px 10px;margin-top:8px;font-size:.7rem}.wh-row i{font-style:normal;color:#0d7180;font-weight:800}
@media(max-width:1100px){.panel-grid,.participate-grid,.library-grid{grid-template-columns:repeat(2,1fr)}.academy-grid{grid-template-columns:repeat(2,1fr)}.workspace-hero-grid,.workspace-home-grid{grid-template-columns:1fr}.assurance-shell{grid-template-columns:1fr}.assurance-shell aside{display:none}.assurance-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.standards-action-head,.registry-tools,.standards-action-home-head{display:block}.action-feed article{grid-template-columns:1fr;gap:6px}.panel-grid,.participate-grid,.library-grid,.academy-grid,.strategy-grid,.report-feature{grid-template-columns:1fr}.assurance-kpis,.assurance-grid,.mini-kpis,.wh-kpis{grid-template-columns:1fr}.dash-card.wide{grid-column:auto}.assurance-banner{flex-wrap:wrap}.workspace-hero{padding:40px 0}.workspace-hero h1{font-size:clamp(2.1rem,10vw,3.1rem)}}


/* =========================================================
   v48 — Published Technical Note Series
   ========================================================= */
.tn-hero .lead{max-width:860px}
.tn-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:38px;align-items:start}
.tn-article{min-width:0}
.tn-control{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:28px;background:#fff}
.tn-control>div{padding:14px 16px;border-right:1px solid var(--line)}
.tn-control>div:last-child{border-right:0}
.tn-control span{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#6b8190;margin-bottom:5px}
.tn-control strong{display:block;color:var(--navy);font-size:.92rem}
.tn-summary{padding:24px 26px;background:linear-gradient(135deg,#eef8f8,#f7fbfc);border-left:4px solid var(--teal);border-radius:10px;margin-bottom:30px}
.tn-summary p{font-size:1.08rem;line-height:1.7;margin:8px 0 0;color:#365568}
.tn-article>h2{font-size:1.85rem;margin-top:38px;margin-bottom:14px}
.tn-article>p{font-size:1rem;line-height:1.72;color:#455f70}
.tn-six-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 26px}
.tn-six-grid>div{border:1px solid #d7e6ec;border-radius:10px;padding:16px;background:#fff}
.tn-six-grid strong{display:block;color:var(--navy);margin-bottom:5px}
.tn-six-grid span{display:block;color:#60798a;font-size:.9rem;line-height:1.5}
.tn-table-wrap{overflow-x:auto;margin:18px 0 28px;border:1px solid #d7e6ec;border-radius:10px}
.tn-table{width:100%;border-collapse:collapse;background:#fff;min-width:720px}
.tn-table th,.tn-table td{padding:13px 14px;border-bottom:1px solid #e2ebef;text-align:left;vertical-align:top;line-height:1.45}
.tn-table th{background:#f1f7f9;color:var(--navy);font-size:.82rem;text-transform:none}
.tn-table td{color:#506a7b;font-size:.9rem}
.tn-table tr:last-child td,.tn-table tr:last-child th{border-bottom:0}
.tn-callout{margin:24px 0;padding:20px 22px;border-radius:10px;background:#f1f8fa;border:1px solid #d2e5eb;color:#365568}
.tn-callout>strong{display:block;color:var(--navy);margin-bottom:8px;font-size:1.02rem}
.tn-callout p{margin:6px 0;line-height:1.65}
.tn-aside{position:sticky;top:110px;display:grid;gap:16px}
.tn-aside-card{border:1px solid #d7e6ec;border-radius:10px;padding:20px;background:#fff;box-shadow:0 16px 34px rgba(7,32,50,.05)}
.tn-aside-card h2{font-size:1.25rem;margin:8px 0 10px;line-height:1.3}
.tn-aside-card p{font-size:.9rem;line-height:1.6;color:#597284}
.tn-references{margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}
.reference-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.reference-list li{border:1px solid #d7e6ec;border-radius:10px;padding:14px 16px;background:#fff}
.reference-list a{display:block;font-weight:800;color:var(--teal-ink);margin-bottom:4px}
.reference-list span{display:block;color:#60798a;font-size:.86rem;line-height:1.5}
.tn-three-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 28px}
.tn-three-flow.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.tn-three-flow>div{padding:18px;border-radius:10px;background:linear-gradient(180deg,#103a58,#0c2d45);color:#fff}
.tn-three-flow>div>span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:var(--teal);color:#fff;font-weight:800;font-size:.75rem;margin-bottom:12px}
.tn-three-flow strong{display:block;color:#fff;margin-bottom:7px}
.tn-three-flow p{color:#d2e2ea;font-size:.86rem;line-height:1.48;margin:0}
.tn-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.tn-metric-grid>div{background:#fff;border:1px solid #d5e5eb;border-radius:10px;padding:14px}
.tn-metric-grid strong{font-size:1.15rem;color:var(--navy)}
.tn-metric-grid span{display:block;color:#60798a;font-size:.82rem;margin-top:4px}
.tn-series-intro{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,#edf8f8,#f7fafb);border:1px solid #d7e6ec;margin-bottom:28px}
.tn-series-intro h2{margin:7px 0 10px}
.tn-series-stats{display:flex;gap:12px}
.tn-series-stats>div{min-width:115px;padding:14px;border-radius:10px;background:#fff;border:1px solid #d7e6ec;text-align:center}
.tn-series-stats strong{display:block;color:var(--navy);font-size:1.15rem}
.tn-series-stats span{display:block;color:#687f8e;font-size:.75rem;margin-top:4px}
.tn-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tn-card{display:block;border:1px solid #d6e5eb;border-radius:20px;padding:24px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 16px 34px rgba(7,32,50,.05);transition:transform .2s ease,box-shadow .2s ease}
.tn-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(7,32,50,.09);text-decoration:none}
.tn-card:hover .tn-card-link{text-decoration:underline}
.tn-card h2{font-size:1.55rem;line-height:1.2;margin:12px 0 10px}
.tn-card p{color:#597284;line-height:1.6}
.tn-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.tn-card-tags span{padding:6px 9px;border-radius:999px;background:#edf6f7;color:#2c5e6e;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tn-card-link{color:var(--teal-ink)}
.mt-48{margin-top:48px}
.tn-boundary{padding:28px;border-radius:20px;background:#0d3049;color:#fff}
.tn-boundary .eyebrow,.tn-boundary h2,.tn-boundary p{color:#fff}
.tn-boundary p{max-width:880px;color:#d2e2ea;line-height:1.65}
@media(max-width:1050px){.tn-layout{grid-template-columns:1fr}.tn-aside{position:static;grid-template-columns:repeat(2,1fr)}.tn-aside>.btn{align-self:start}.tn-three-flow.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.tn-control{grid-template-columns:repeat(2,1fr)}.tn-control>div{border-bottom:1px solid var(--line)}.tn-six-grid,.tn-card-grid,.tn-three-flow,.tn-three-flow.five,.tn-metric-grid{grid-template-columns:1fr}.tn-series-intro{grid-template-columns:1fr}.tn-series-stats{flex-wrap:wrap}.tn-aside{grid-template-columns:1fr}.tn-table{min-width:640px}}


/* =========================================================
   v49 — completion pass / illustrative founding benchmarks
   ========================================================= */
.reference-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #e5d3a4;background:linear-gradient(135deg,#fffaf0,#fffdf7);border-radius:10px;margin:24px 0;color:#5f4b1e}
.reference-banner strong{color:#5b4210}.reference-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:8px 11px;background:#f1c96f;color:#3f2c05;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.benchmark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}
.benchmark-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff;box-shadow:0 14px 30px rgba(7,32,50,.045)}
.benchmark-card .metric-code{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-ink)}
.benchmark-card h3{font-size:1.08rem;line-height:1.25;margin:7px 0 14px}.benchmark-card .band{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:8px 0;border-top:1px solid #e7eef2;font-size:.84rem}.benchmark-card .band:first-of-type{border-top:0}.band-label{font-weight:800}.band-good .band-label{color:#0e6b62}.band-watch .band-label{color:#9a6a0a}.band-review .band-label{color:#9a3c3c}
.framework-status{display:inline-flex;align-items:center;border-radius:999px;background:#dff5f1;color:#0d655f;padding:7px 11px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.framework-status.pilot{background:#e8efff;color:#31549a}.framework-status.reference{background:#fff1cf;color:#80580a}
.metric-table td:nth-child(n+3),.metric-table th:nth-child(n+3){white-space:nowrap}
.data-note{font-size:.78rem;color:#6c8190;margin-top:10px}
.completion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.completion-card{border:1px solid var(--line);border-radius:10px;padding:18px;background:#fff}.completion-card strong{display:block;font-family:var(--font-display);font-size:1.7rem;color:var(--navy);line-height:1}.completion-card span{display:block;margin-top:8px;color:#607788;font-size:.86rem;line-height:1.45}
@media(max-width:1000px){.benchmark-grid,.completion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.benchmark-grid,.completion-grid{grid-template-columns:1fr}.reference-banner{flex-direction:column}.reference-badge{white-space:normal}.metric-table td:nth-child(n+3),.metric-table th:nth-child(n+3){white-space:normal}}


/* =========================================================
   v50 — sitewide founding reference bands and data polish
   ========================================================= */
.sitewide-reference-bands{border-top:1px solid #d8e6ec;border-bottom:1px solid #d8e6ec}
.sitewide-reference-bands .section-head-left{max-width:900px}
.sitewide-reference-bands .benchmark-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.sitewide-reference-bands .benchmark-card{min-height:0}
.sitewide-reference-bands .benchmark-card h3{min-height:2.6em}
.sitewide-reference-bands .reference-banner{margin-top:18px}
@media(max-width:1000px){.sitewide-reference-bands .benchmark-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sitewide-reference-bands .benchmark-grid{grid-template-columns:1fr}.sitewide-reference-bands .benchmark-card h3{min-height:0}}

/* v52 expert-ready consistency components */
.staging-banner{background:#fff2cf;border:1px solid #e8cb7b;border-left:5px solid var(--orange);border-radius:8px;padding:14px 18px;color:#594514;margin:0 0 24px}.staging-banner strong{color:#42320c}.leadership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.leader-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:var(--shadow-sm)}.leader-avatar{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--teal-dark));color:#fff;font-size:1.15rem;font-weight:800;letter-spacing:.04em;margin-bottom:16px}.leader-card h3{margin-bottom:4px}.leader-role{color:var(--teal-ink);font-weight:800;font-size:.9rem}.leader-meta{font-size:.82rem;color:var(--muted);margin-top:8px}.placeholder-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff4d7;color:#775612;border:1px solid #ead18d;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-top:10px}.status-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-pair div{padding:10px 12px;background:var(--mist);border-radius:8px}.status-pair span{display:block;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.status-pair strong{display:block;margin-top:4px;color:var(--navy)}.legal-index{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.legal-index section{border-bottom:1px solid var(--line);padding-bottom:18px}.claim-alert{background:#102f49;color:#fff;padding:24px;border-radius:10px}.claim-alert h2,.claim-alert h3{color:#fff}.claim-alert a{color:#8fe6e3}.source-basis{font-size:.8rem;color:var(--muted);border-top:1px dashed var(--line);margin-top:14px;padding-top:10px}.archival-note{background:#f5f8fa;border-left:4px solid var(--teal);padding:12px 16px;border-radius:8px;margin:16px 0}.metric-taxonomy{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-taxonomy .card{height:100%}@media(max-width:900px){.leadership-grid,.legal-index,.metric-taxonomy{grid-template-columns:1fr}.status-pair{grid-template-columns:1fr}}


/* =========================================================
   v54 — wide heroes, navigation clarity, vector icons, cart
   ========================================================= */
:root{--header-max:1480px;--hero-max:1480px}
.ui-icon{width:1.15em;height:1.15em;display:inline-block;flex:none}
.utility-icon-link{display:inline-flex!important;align-items:center;gap:7px}
.header-main .header-row,.utility .container{width:min(var(--header-max),calc(100% - 56px))}
.header-actions{display:flex;align-items:center;gap:12px;flex:none}
.header-cart{position:relative;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--navy);background:#fff;transition:background .18s,border-color .18s,color .18s}
.header-cart:hover{background:var(--sky);border-color:#bcd9df;color:var(--teal-dark);text-decoration:none}
.header-cart .ui-icon{width:21px;height:21px}
.cart-count{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--teal);color:#fff;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.nav-caret{width:13px;height:13px;margin-left:5px;opacity:.55;transition:transform .2s;display:inline-block;vertical-align:-2px}
.nav-item.mega-active .nav-caret{transform:rotate(180deg)}
.mega{padding:28px 0 34px}
.mega-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(250px,.9fr);gap:30px;width:min(var(--header-max),calc(100% - 56px));align-items:start}
.mega-col{min-width:0}
.mega h4,.mega .mega-col-title{margin-bottom:10px;color:#506b7c}
.mega a{padding:5px 0;font-size:.89rem;line-height:1.35}
.mega-col a+a{margin-top:1px}
.mega .featured{padding:0 20px 22px;border-radius:10px;overflow:hidden;border:1px solid #d6e9e9;box-shadow:0 12px 26px rgba(10,43,62,.05)}
.mega-feature-media{height:112px;margin:0 -20px 18px;overflow:hidden;background:#dbecef}
.mega-feature-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(.96)}
.mega .featured .eyebrow{margin-bottom:6px}
.mega .featured h4,.mega .featured .mega-col-title{font-size:1.05rem;margin-bottom:7px}
.mega .featured p{line-height:1.45;margin-bottom:8px}
.mobile-nav-actions{display:none}
/* Wide inner heroes: wider than the homepage on large screens. */
.page-hero.page-hero-media .hero-media-grid{width:min(var(--hero-max),calc(100% - 48px));max-width:none;margin-inline:auto;grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);min-height:500px}
.hero-media-copy{padding:54px 58px 56px 0}
.hero-media-copy h1{max-width:930px;font-size:clamp(2.3rem,3.65vw,3.6rem);line-height:1.035;text-wrap:balance}
.hero-media-copy .lead{max-width:790px}
.hero-media-copy .callout{max-width:760px}
.hero-media-visual{min-height:500px;margin-left:-46px;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
.page-hero:not(.page-hero-media)>.container,.course-hero>.container{width:min(var(--hero-max),calc(100% - 48px));max-width:none}
.page-hero:not(.page-hero-media) h1{max-width:1120px}
.course-hero>.container{grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);gap:54px}
.course-hero h1{max-width:980px;font-size:clamp(2.25rem,3.55vw,3.55rem)}
/* Keep membership category rows dark on hover; previous selector targeted the TD incorrectly. */
.tier-table tbody tr:not(.tt-cat):hover td{background:#f7fafb}
.tier-table tbody tr:not(.tt-cat):hover td.tt-pop{background:#eef8f8}
.tier-table tbody tr.tt-cat:hover td,.tier-table tr.tt-cat td{background:var(--navy)!important;color:#fff!important}
.tt-yes .ui-checkmark{display:inline-flex!important;width:23px!important;height:23px!important;border-radius:50%!important;background:var(--teal)!important;position:relative;align-items:center;justify-content:center}
.tt-yes .ui-checkmark:before{content:"";width:13px;height:13px;background:#fff;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>') center/contain no-repeat}
.btn.btn-teal,.btn.btn-teal:visited{color:#fff}
.process-toggle:before,.process>.process-step .process-toggle:before{color:#fff}
/* Photo overlays were removed from markup; keep these hidden if legacy content is reintroduced. */
.hero-photo-label,.photo-badge{display:none!important}
.governance-preview-note{padding:16px 0;background:#f7fafb;border-bottom:1px solid var(--line)}
.governance-preview-note p{margin:0;color:#60798a}
/* Cart */
.cart-shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start}
.cart-items{display:grid;gap:14px}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}
.cart-item h3{margin-bottom:6px}.cart-item p{margin-bottom:0}
.cart-item-price{font-size:1.2rem;font-weight:800;color:var(--navy);white-space:nowrap}
.cart-remove{margin-top:10px;background:none;border:0;padding:0;color:var(--teal-dark);font-weight:800;cursor:pointer}
.cart-summary{position:sticky;top:120px;padding:26px;border-radius:10px;background:var(--mist);border:1px solid var(--line)}
.cart-total{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:18px 0}.cart-total strong{font-size:1.55rem;color:var(--navy)}
.cart-summary .btn{width:100%;margin-top:10px}
.cart-empty{padding:34px;border:1px dashed #bfd0d8;border-radius:10px;background:#f7fafb;text-align:center}
@media(max-width:1300px){
 .mega-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(230px,.85fr);gap:24px}
 .mega a{font-size:.86rem}
 .mega-feature-media{height:96px}
}
@media(max-width:1100px){
 .page-hero.page-hero-media .hero-media-grid{grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);width:min(var(--hero-max),calc(100% - 40px))}
 .hero-media-copy{padding-right:40px}
 .hero-media-copy h1{font-size:clamp(2.2rem,4.5vw,3.25rem)}
 .hero-media-visual{margin-left:-34px}
 .course-hero>.container{grid-template-columns:1fr;gap:28px}
}
@media(max-width:1024px){
 .header-main .header-row{width:min(100% - 36px,1100px)}
 .header-actions{margin-left:auto}
 .header-cta{display:none}
 .header-cart{display:inline-flex}
 .mobile-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 6px 8px}
 .mobile-nav-actions .btn{width:100%}
 .mega-grid{display:grid;width:auto;grid-template-columns:1fr 1fr;gap:12px 22px;padding-right:12px}
 .mega .featured{grid-column:1/-1;margin-top:6px}
 .mega-feature-media{height:110px}
}
@media(max-width:900px){
 .page-hero.page-hero-media .hero-media-grid{display:block;width:100%;min-height:0}
 .hero-media-copy{width:min(100% - 44px,900px);margin:0 auto;padding:46px 0 40px}
 .hero-media-copy h1{font-size:clamp(2.2rem,7vw,3.15rem);max-width:100%}
 .hero-media-copy .lead,.hero-media-copy .callout{max-width:100%}
 .hero-media-visual{height:350px;min-height:350px;width:100%;margin:0;clip-path:none}
 .cart-shell{grid-template-columns:1fr}.cart-summary{position:static}
}
@media(max-width:700px){
 .header-main .header-row{width:calc(100% - 28px)}
 .header-cart{width:40px;height:40px}
 .header-cart .ui-icon{width:20px;height:20px}
 .mobile-open .desktop-nav{padding-bottom:70px}
 .mega-grid{grid-template-columns:1fr;gap:10px}
 .mega-col{border-bottom:1px solid #e4edf1;padding:7px 0 12px}
 .mega .featured{grid-column:auto}
 .mega-feature-media{height:124px}
 .mobile-nav-actions{grid-template-columns:1fr;padding:18px 6px 12px}
 .hero-media-copy{width:calc(100% - 32px);padding:38px 0 34px}
 .hero-media-copy h1{font-size:clamp(2.05rem,9.5vw,2.85rem)}
 .hero-media-visual{height:280px;min-height:280px}
 .page-hero:not(.page-hero-media)>.container,.course-hero>.container{width:calc(100% - 32px)}
 .cart-item{grid-template-columns:1fr}.cart-item-price{white-space:normal}
}


/* v54.1 — vector checks and final component fixes */
.table-check{display:inline-flex;width:23px;height:23px;border-radius:50%;background:var(--teal);position:relative;vertical-align:middle}
.table-check:before,.stage-check:before{content:"";position:absolute;width:13px;height:13px;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"/></svg>') center/contain no-repeat}
.stage-check{position:relative;color:transparent!important;background:var(--teal)!important}

/* =========================================================
   v55 — hero frame alignment + unclipped structured visuals
   ========================================================= */
:root{--hero-max:var(--header-max)}

/* Desktop/tablet heroes use exactly the same horizontal frame as the header. */
@media(min-width:901px){
  .page-hero.page-hero-media .hero-media-grid,
  .page-hero:not(.page-hero-media)>.container,
  .course-hero>.container{
    width:min(var(--header-max),calc(100% - 56px));
  }
}

/* At compact desktop/tablet widths, keep hero and header gutters synchronized. */
@media(min-width:901px) and (max-width:1199px){
  .page-hero.page-hero-media .hero-media-grid,
  .page-hero:not(.page-hero-media)>.container,
  .course-hero>.container{
    width:min(1100px,calc(100% - 36px));
  }
}

/*
   Structured hero visuals (process boards, tables, dashboards, diagrams)
   must remain fully rectangular and readable. The angle is now a decorative
   background transition behind the visual rather than a clip on the content.
*/
.page-hero.page-hero-media.page-hero-process .hero-media-visual{
  position:relative;
  clip-path:none;
  margin-left:0;
  overflow:visible;
  isolation:isolate;
}
.page-hero.page-hero-media.page-hero-process .hero-media-visual::before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:-64px;
  width:112px;
  background:inherit;
  clip-path:polygon(58% 0,100% 0,100% 100%,0 100%);
  pointer-events:none;
}
.page-hero.page-hero-media.page-hero-process .process-board{
  position:relative;
  z-index:1;
  width:min(94%,650px);
}

/* Slightly rebalance structured heroes now that the visual is no longer clipped. */
@media(min-width:1200px){
  .page-hero.page-hero-media.page-hero-process .hero-media-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);
  }
  .page-hero.page-hero-media.page-hero-process .hero-media-copy{
    padding-right:52px;
  }
  .page-hero.page-hero-media.page-hero-process .hero-media-visual.process-visual{
    padding:28px 24px 28px 30px;
  }
}

@media(min-width:901px) and (max-width:1199px){
  .page-hero.page-hero-media.page-hero-process .hero-media-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  }
  .page-hero.page-hero-media.page-hero-process .hero-media-copy{
    padding-right:34px;
  }
  .page-hero.page-hero-media.page-hero-process .hero-media-visual::before{
    left:-48px;
    width:88px;
  }
}

@media(max-width:900px){
  .page-hero.page-hero-media.page-hero-process .hero-media-visual::before{display:none}
}

/* v56 — presentation-ready operating truth and utility cart */
.utility-cart{position:relative;width:28px;height:28px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;color:#e8f2f7!important;background:rgba(255,255,255,.04);padding:0!important}
.utility-cart:hover{background:rgba(255,255,255,.12);border-color:rgba(143,230,227,.7);color:#8fe6e3!important}
.utility-cart .ui-icon{width:15px;height:15px}
.utility-cart .cart-count{right:-7px;top:-8px;border-color:var(--navy-2);min-width:17px;height:17px;font-size:.61rem;padding:0 4px}
.mobile-cart-action{display:none!important}
@media(max-width:700px){.mobile-cart-action{display:flex!important}.utility-cart{display:none!important}}

/* =========================================================
   v57 — unified page grid: footer/header alignment + left-anchored reading blocks
   ========================================================= */
/* Full-bleed footer background, but the footer's content follows the same frame as
   the desktop header and hero system. */
@media(min-width:1200px){
  .footer > .container{
    width:min(var(--header-max),calc(100% - 56px));
    max-width:none;
  }
}
@media(min-width:701px) and (max-width:1199px){
  .footer > .container{
    width:min(1100px,calc(100% - 36px));
    max-width:none;
  }
}
@media(max-width:700px){
  .footer > .container{
    width:calc(100% - 28px);
    max-width:none;
  }
}

/*
   Narrow reading wrappers used to shrink the entire .container and center it,
   which made some editorial sections jump inward relative to neighboring content.
   Keep the section on the normal content grid; constrain only the readable content.
*/
main .section > .container.prose,
main .section-sm > .container.prose,
main .section > .container.max-900,
main .section-sm > .container.max-900,
main .section > .container.max-800,
main .section-sm > .container.max-800{
  width:min(var(--max),calc(100% - 44px));
  max-width:none;
  margin-inline:auto!important;
}
main .section > .container.prose > *,
main .section-sm > .container.prose > *{
  max-width:820px;
}
main .section > .container.max-900 > *,
main .section-sm > .container.max-900 > *{
  max-width:900px;
}
main .section > .container.max-800 > *,
main .section-sm > .container.max-800 > *{
  max-width:800px;
}

/* Keep intentional reading-width constraints, but anchor them to the left of their
   parent grid instead of introducing a second centered page axis. */
main .container > .prose:only-child,
main .container > .max-900:only-child,
main .container > .max-800:only-child{
  margin-left:0;
  margin-right:auto;
}

@media(max-width:700px){
  main .section > .container.prose,
  main .section-sm > .container.prose,
  main .section > .container.max-900,
  main .section-sm > .container.max-900,
  main .section > .container.max-800,
  main .section-sm > .container.max-800{
    width:calc(100% - 32px);
  }
}

/* =========================================================
   v58 — unified institutional frame + full-site section polish
   ========================================================= */
:root{
  --frame-max:1480px;
  --max:var(--frame-max);
  --content-max:1280px;
  --reading-max:860px;
  --section-space:76px;
  --section-space-sm:50px;
  --card-radius:14px;
}

/* One outer grid from utility bar to footer. Individual content may be narrower,
   but its left edge remains anchored to this institutional frame. */
.container,
.header-main .header-row,
.utility .container,
.alert-bar .container,
.subnav .container,
.footer > .container{
  width:min(var(--frame-max),calc(100% - 56px));
  max-width:none;
  margin-inline:auto;
}
.home-hero-wide .home-hero-container,
.page-hero.page-hero-media .hero-media-grid,
.page-hero:not(.page-hero-media)>.container,
.course-hero>.container{
  width:min(var(--frame-max),calc(100% - 56px));
  max-width:none;
  margin-inline:auto;
}

/* Reading width remains comfortable without creating a second centered page axis. */
.prose{max-width:var(--reading-max)}
.section-head-left{max-width:940px;margin-left:0;margin-right:auto}
.section-head{max-width:940px}
main .section > .container.prose,
main .section-sm > .container.prose,
main .section > .container.max-900,
main .section-sm > .container.max-900,
main .section > .container.max-800,
main .section-sm > .container.max-800{
  width:min(var(--frame-max),calc(100% - 56px));
}
main .section > .container.prose > *,
main .section-sm > .container.prose > *{max-width:var(--reading-max)}

/* Section rhythm — consistent vertical pacing across older and newer templates. */
.section{padding:var(--section-space) 0}
.section-sm{padding:var(--section-space-sm) 0}
.section + .section,
.section + .section-sm,
.section-sm + .section,
.section-sm + .section-sm{border-top-color:transparent}
.section-head,.section-head-left{margin-bottom:38px}
.section-head .eyebrow,.section-head-left .eyebrow{margin-bottom:8px}
.section-head p,.section-head-left p{max-width:74ch}div.section-head p{margin-left:auto;margin-right:auto}

/* Base components brought onto the same visual language. */
.card,.form-card,.fieldset,.sidebar,.notice,.callout{
  border-radius:var(--card-radius);
}
.card{padding:30px}
.card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(16,48,74,.11)}
.grid-2{gap:28px}.grid-3{gap:24px}.grid-4{gap:20px}
.split{gap:54px}
.form-card{padding:34px}
.field input,.field select,.field textarea{border-radius:8px;min-height:48px}
.field textarea{min-height:132px}

/* Tables remain full-width data objects. On narrow screens, make horizontal
   overflow obvious rather than silently clipping columns. */
.table-wrap,.tn-table-wrap{position:relative;scrollbar-width:thin;scrollbar-color:#94aebc #eef4f6}
.table-wrap::-webkit-scrollbar,.tn-table-wrap::-webkit-scrollbar{height:9px}
.table-wrap::-webkit-scrollbar-track,.tn-table-wrap::-webkit-scrollbar-track{background:#eef4f6;border-radius:999px}
.table-wrap::-webkit-scrollbar-thumb,.tn-table-wrap::-webkit-scrollbar-thumb{background:#94aebc;border-radius:999px}

/* Secondary navigation: no invisible horizontal scroller. Dense systems expose a
   deliberate More menu on desktop and a clear current-section selector on tablet/mobile. */
.subnav{top:92px;overflow:visible;box-shadow:0 8px 20px rgba(11,43,62,.035)}
.subnav .container{display:block;overflow:visible}
.subnav-inner{position:relative}
.subnav-desktop{display:flex;align-items:stretch;gap:24px;min-height:58px}
.subnav-desktop>a{display:flex;align-items:center;padding:16px 1px 14px;color:var(--navy);font-weight:700;font-size:.88rem;white-space:nowrap;border-bottom:3px solid transparent}
.subnav-desktop>a:hover,.subnav-desktop>a.active{border-color:var(--teal);text-decoration:none;color:var(--teal-dark)}
.subnav-more{position:relative;margin-left:auto;display:flex;align-items:stretch}
.subnav-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:16px 2px 14px;color:var(--navy);font-weight:800;font-size:.88rem;border-bottom:3px solid transparent;user-select:none}
.subnav-more summary::-webkit-details-marker,.subnav-compact summary::-webkit-details-marker{display:none}
.subnav-more[open] summary{color:var(--teal-dark);border-bottom-color:var(--teal)}
.subnav-chevron{width:12px;height:12px;display:inline-block;background:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m7.4 8.6 4.6 4.6 4.6-4.6L18 10l-6 6-6-6z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m7.4 8.6 4.6 4.6 4.6-4.6L18 10l-6 6-6-6z"/></svg>') center/contain no-repeat;transition:transform .18s}
.subnav-more[open] .subnav-chevron,.subnav-compact[open] .subnav-chevron{transform:rotate(180deg)}
.subnav-more-menu{position:absolute;right:0;top:calc(100% - 2px);z-index:120;min-width:270px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 45px rgba(6,31,49,.16)}
.subnav-more-menu a{display:block;padding:10px 12px;border-radius:8px;color:#2d4b5f;font-size:.86rem;font-weight:700;line-height:1.35}
.subnav-more-menu a:hover,.subnav-more-menu a.active{background:var(--sky);color:var(--teal-dark);text-decoration:none}
.subnav-compact{display:none}

/* Structured hero visuals retain a clean content rectangle; photography may keep
   its diagonal crop. Process/diagram wedges are decorative only. */
.page-hero.page-hero-media.page-hero-process .hero-media-visual{overflow:visible}
.page-hero.page-hero-media.page-hero-process .process-board{width:min(96%,680px)}

/* Footer content and legal baseline share the same outer frame and column rhythm. */
.footer-grid{grid-template-columns:1.18fr 1fr 1fr 1fr;gap:42px}
.footer-disclaimer{max-width:1180px}
.footer-bottom{align-items:center}

/* Convert remaining common UI glyph controls into consistent vector masks. */
.alert-close,.search-close,
.alert-close::before,.search-close::before{content:"";display:block;width:18px;height:18px;background:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M18.3 5.71 12 12l6.3 6.29-1.41 1.42L10.59 13.4l-6.3 6.31-1.41-1.42L9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.3-6.29z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M18.3 5.71 12 12l6.3 6.29-1.41 1.42L10.59 13.4l-6.3 6.31-1.41-1.42L9.17 12 2.88 5.71 4.29 4.3l6.3 6.29 6.3-6.29z"/></svg>') center/contain no-repeat}
.back-top svg{display:block}
.card-link:after{content:"";display:inline-block;width:14px;height:14px;margin-left:6px;vertical-align:-2px;background:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m13 5-1.4 1.4 4.6 4.6H5v2h11.2l-4.6 4.6L13 19l7-7z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m13 5-1.4 1.4 4.6 4.6H5v2h11.2l-4.6 4.6L13 19l7-7z"/></svg>') center/contain no-repeat}

/* Tablet: same shared frame, secondary nav becomes an explicit selector. */
@media(max-width:1199px){
  .container,
  .header-main .header-row,
  .utility .container,
  .alert-bar .container,
  .subnav .container,
  .footer > .container,
  .home-hero-wide .home-hero-container,
  .page-hero.page-hero-media .hero-media-grid,
  .page-hero:not(.page-hero-media)>.container,
  .course-hero>.container{
    width:min(1100px,calc(100% - 36px));
  }
  .hero-media-copy{width:min(1100px,calc(100% - 36px));margin-inline:auto}
  .subnav{top:78px;padding:9px 0}
  .subnav-desktop{display:none}
  .subnav-compact{display:block;position:relative}
  .subnav-compact summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;background:#f7fafb;border:1px solid #dce6ec;border-radius:10px;color:var(--navy);user-select:none}
  .subnav-current{display:grid;gap:1px;min-width:0}
  .subnav-current-kicker{font-size:.63rem;line-height:1.2;text-transform:uppercase;letter-spacing:.11em;color:#6a8291;font-weight:800}
  .subnav-current strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .subnav-compact-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:120;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 45px rgba(6,31,49,.16);max-height:min(62vh,520px);overflow:auto}
  .subnav-compact-menu a{padding:10px 12px;border-radius:8px;color:#2d4b5f;font-size:.86rem;font-weight:700;line-height:1.35}
  .subnav-compact-menu a:hover,.subnav-compact-menu a.active{background:var(--sky);color:var(--teal-dark);text-decoration:none}
  .section{padding:64px 0}.section-sm{padding:44px 0}
  .footer-grid{gap:30px}
}

@media(max-width:700px){
  .container,
  .header-main .header-row,
  .utility .container,
  .alert-bar .container,
  .subnav .container,
  .footer > .container,
  .home-hero-wide .home-hero-container,
  .page-hero:not(.page-hero-media)>.container,
  .course-hero>.container,
  main .section > .container.prose,
  main .section-sm > .container.prose,
  main .section > .container.max-900,
  main .section-sm > .container.max-900,
  main .section > .container.max-800,
  main .section-sm > .container.max-800{
    width:calc(100% - 28px);
  }
  .hero-media-copy{width:calc(100% - 28px);padding:36px 0 32px}
  .subnav{top:70px;padding:8px 0}
  .subnav-compact-menu{grid-template-columns:1fr;max-height:64vh}
  .section{padding:50px 0}.section-sm{padding:36px 0}
  .section-head,.section-head-left{margin-bottom:28px}
  .grid-2,.grid-3,.grid-4{gap:18px}
  .card,.form-card{padding:24px}
  .footer-grid{gap:24px}
}


/* v58.1 — reading-layout and responsive-data refinements */
.subnav-more-menu a,.subnav-compact-menu a{white-space:normal;border-bottom:0!important}
.post-layout{grid-template-columns:minmax(0,820px) 320px;max-width:1240px}
.post-layout,.tn-layout{justify-content:center}
.post-body{max-width:820px}
.tn-layout{grid-template-columns:minmax(0,900px) 310px;max-width:1260px}
.side-main{max-width:1120px}
@media(max-width:1000px){.post-layout,.tn-layout{max-width:none}.side-main{max-width:none}}
@media(max-width:700px){
  .table-wrap::before,.tn-table-wrap::before{
    content:"Swipe to view all columns";
    display:block;
    position:sticky;
    left:0;
    width:max-content;
    max-width:100%;
    padding:8px 10px 6px;
    color:#67808f;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.03em;
    background:#f7fafb;
  }
}

/* v59 — typography-safe process icon; replaces the legacy emoji timer. */
.timeline-icon{display:inline-block;flex:none;width:22px;height:22px;background:var(--teal-dark);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 4a8 8 0 1 0 8 8 8.01 8.01 0 0 0-8-8Zm0 14a6 6 0 1 1 6-6 6.007 6.007 0 0 1-6 6Zm1-6.41V7h-2v5.41l3.29 3.3 1.42-1.42Z"/><path fill="black" d="M7.1 2.3 5.7.9 2.6 4l1.4 1.4Zm9.8 0L20 .9 21.4 4 20 5.4Z"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 4a8 8 0 1 0 8 8 8.01 8.01 0 0 0-8-8Zm0 14a6 6 0 1 1 6-6 6.007 6.007 0 0 1-6 6Zm1-6.41V7h-2v5.41l3.29 3.3 1.42-1.42Z"/><path fill="black" d="M7.1 2.3 5.7.9 2.6 4l1.4 1.4Zm9.8 0L20 .9 21.4 4 20 5.4Z"/></svg>') center/contain no-repeat}

/* =========================================================
   v67 — layout rhythm, secondary navigation, and grid repair
   ========================================================= */
:root{
  --subnav-height:58px;
  --balanced-content-max:1120px;
}

/* Sticky headers should not cover hash targets. */
html{scroll-padding-top:172px}
[id]{scroll-margin-top:172px}

/* Secondary navigation is now placed directly under the primary header in the
   document on every page that uses it. Keep it visually attached to the header,
   and keep the More control beside the visible links rather than at the far edge. */
.subnav{top:94px;z-index:105}
.subnav-desktop{gap:18px;justify-content:flex-start}
.subnav-desktop>a{font-size:.87rem}
.subnav-more{margin-left:2px}
.subnav-more summary{padding-left:4px;padding-right:4px}

/* The old frame unification made .max-900 containers full-frame and then
   constrained each child separately. That created a large artificial empty
   column on the right. Restore a balanced content column as a unit. */
main .section > .container.max-900,
main .section-sm > .container.max-900{
  width:min(var(--balanced-content-max),calc(100% - 56px));
  max-width:none;
  margin-inline:auto!important;
}
main .section > .container.max-900 > *,
main .section-sm > .container.max-900 > *{
  max-width:none;
}

/* Consecutive sections on the same visual surface should read as one continuous
   composition. Do not stack a second full section top-padding on top of the
   previous section's bottom-padding. */
main > :where(.section,.section-sm):not(.section-sky):not(.section-mist):not(.section-dark)
  + :where(.section,.section-sm):not(.section-sky):not(.section-mist):not(.section-dark),
main > :where(.section,.section-sm).section-sky + :where(.section,.section-sm).section-sky,
main > :where(.section,.section-sm).section-mist + :where(.section,.section-sm).section-mist,
main > :where(.section,.section-sm).section-dark + :where(.section,.section-sm).section-dark{
  padding-top:0;
}

/* Public comment: status spans the page, then instructions and submission form
   are true peer columns. This replaces the previous three-item two-column grid
   that pushed the form below a tall empty grid row. */
.public-comment-window{margin:0 0 30px}
.public-comment-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.96fr);
  gap:40px;
  align-items:start;
}
.public-comment-guide{min-width:0}
.public-comment-guide>h2:first-child{margin-top:0}
.public-comment-form{min-width:0}
.public-comment-form.form-card{margin:0}

/* Balance known resource-card sets instead of leaving a visually orphaned last
   card after the site-wide grid-width changes. */
.resource-download-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.balanced-five-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:24px;
}
.balanced-five-grid>*{grid-column:span 2}
.balanced-five-grid>*:nth-last-child(2):nth-child(4),
.balanced-five-grid>*:last-child:nth-child(5){grid-column:span 3}

@media(max-width:1199px){
  html{scroll-padding-top:158px}
  [id]{scroll-margin-top:158px}
  .subnav{top:78px}
  main .section > .container.max-900,
  main .section-sm > .container.max-900{width:min(1080px,calc(100% - 36px))}
  .resource-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .balanced-five-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .balanced-five-grid>*{grid-column:auto!important}
  .balanced-five-grid>*:last-child{grid-column:1/-1!important}
}

@media(max-width:900px){
  .public-comment-layout{grid-template-columns:1fr;gap:30px}
}

@media(max-width:700px){
  html{scroll-padding-top:142px}
  [id]{scroll-margin-top:142px}
  .subnav{top:70px}
  main .section > .container.max-900,
  main .section-sm > .container.max-900{width:calc(100% - 28px)}
  .resource-download-grid,.balanced-five-grid{grid-template-columns:1fr}
  .balanced-five-grid>*{grid-column:auto!important}
  .public-comment-window{margin-bottom:24px}
}

/* v67.1 — center the only remaining orphan rows in fixed-count card grids. */
.balanced-seven-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.balanced-seven-grid>*{grid-column:span 2}
.balanced-seven-grid>*:last-child{grid-column:3 / span 2}
.balanced-fifteen-grid{
  grid-template-columns:repeat(8,minmax(0,1fr));
}
.balanced-fifteen-grid>*{grid-column:span 2}
.balanced-fifteen-grid>*:nth-last-child(3){grid-column:2 / span 2}
@media(max-width:1000px){
  .balanced-seven-grid,.balanced-fifteen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .balanced-seven-grid>*,.balanced-fifteen-grid>*{grid-column:auto!important}
  .balanced-seven-grid>*:last-child,.balanced-fifteen-grid>*:last-child{grid-column:1/-1!important}
}
@media(max-width:640px){
  .balanced-seven-grid,.balanced-fifteen-grid{grid-template-columns:1fr}
  .balanced-seven-grid>*,.balanced-fifteen-grid>*{grid-column:auto!important}
}


/* ================= v69 news article visibility fix =================
   Explicit selectors + cache-busted stylesheet. These rules intentionally
   override the generic dark-hero breadcrumb palette and generic form layout. */
.post-head .breadcrumbs.article-breadcrumbs{
  display:block;
  max-width:840px;
  margin:0 auto 18px;
  color:#425f70 !important;
  font-weight:600;
  line-height:1.55;
  text-align:left;
  opacity:1 !important;
}
.post-head .breadcrumbs.article-breadcrumbs a,
.post-head .breadcrumbs.article-breadcrumbs a:visited{
  color:#096d78 !important;
  font-weight:800;
  opacity:1 !important;
}
.post-head .breadcrumbs.article-breadcrumbs a:hover,
.post-head .breadcrumbs.article-breadcrumbs a:focus{
  color:#0b3450 !important;
  text-decoration:underline;
}
.post-head .breadcrumbs.article-breadcrumbs span[aria-current="page"]{
  color:#425f70 !important;
  opacity:1 !important;
}
.side-card form.sidebar-newsletter-form{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:12px !important;
  row-gap:12px !important;
}
.side-card form.sidebar-newsletter-form .field{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.side-card form.sidebar-newsletter-form .field input{
  display:block !important;
  width:100% !important;
  min-height:46px;
  margin:0 !important;
  border:1px solid #a9bbc6;
  border-radius:8px;
  box-sizing:border-box;
}
.side-card form.sidebar-newsletter-form .btn{
  display:flex !important;
  width:100% !important;
  min-height:44px;
  margin:0 !important;
  border-radius:8px;
}
.side-card form.sidebar-newsletter-form .notice{
  margin:0 !important;
}
@media(max-width:640px){
  .post-head .breadcrumbs.article-breadcrumbs{text-align:left;font-size:.78rem}
}

/* v74 public purchase UX */
.cat-buy{display:flex;flex-direction:column;align-items:stretch;gap:6px}.cat-buy .btn{white-space:nowrap}.checkout-hero{padding-block:38px}.checkout-steps.compact-five{grid-template-columns:repeat(5,1fr)}
@media(max-width:760px){.checkout-steps.compact-five{display:grid;grid-template-columns:repeat(5,minmax(75px,1fr));overflow-x:auto}.cat-buy{align-items:stretch}}


/* v78 — public program-specific maintenance guidance */
.program-maintenance{background:#f7fafb}.program-maintenance-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:24px}.program-maintenance-head h2{margin:4px 0 7px}.program-maintenance-head p{max-width:850px;margin:0}.program-maintenance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.program-maintenance-card{background:#fff;border:1px solid #dbe7eb;border-radius:10px;padding:20px}.program-maintenance-card h3{font-size:1rem;margin:7px 0}.program-maintenance-card p{font-size:.87rem;color:#5f7481}.program-maintenance-card ul{padding-left:19px;margin:10px 0 0}.program-maintenance-card li{font-size:.83rem;color:#526d7b;margin:6px 0}.program-maintenance-step{display:inline-block;border-radius:999px;background:#e8f5f5;color:#087b80;padding:5px 9px;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.program-maintenance-meta{display:grid;grid-template-columns:.8fr 1fr 1fr 2fr;gap:1px;background:#dce6ec;border:1px solid #dce6ec;border-radius:10px;overflow:hidden;margin-top:14px}.program-maintenance-meta>div{background:#fff;padding:12px}.program-maintenance-meta span,.program-maintenance-meta strong{display:block}.program-maintenance-meta span{font-size:.68rem;color:#718691;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.program-maintenance-meta strong{font-size:.82rem;color:#31566a;margin-top:3px}.program-maintenance-note{display:flex;gap:12px;align-items:flex-start;border:1px solid #d8e7e9;background:#f2f9f9;border-radius:8px;padding:12px 14px;margin-top:13px}.program-maintenance-note strong{white-space:nowrap;color:#2f596b;font-size:.8rem}.program-maintenance-note span{color:#627986;font-size:.78rem}.maintenance-program-table-wrap{overflow-x:auto;border:1px solid #dce6ea;border-radius:10px;background:#fff}.maintenance-program-table{width:100%;border-collapse:collapse;min-width:900px}.maintenance-program-table th,.maintenance-program-table td{padding:12px 13px;text-align:left;vertical-align:top;border-bottom:1px solid #e8eef0}.maintenance-program-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#5d7886;background:#f7fafb}.maintenance-program-table td{font-size:.8rem;color:#546f7c}.maintenance-program-table td:first-child strong,.maintenance-program-table td:first-child a,.maintenance-program-table td:last-child small{display:block}.maintenance-program-table td:first-child strong{font-size:.67rem;color:#0b7d82}.maintenance-program-table td:first-child a{font-weight:800;color:#31566a;margin-top:3px}.maintenance-program-table td:last-child small{font-size:.7rem;color:#7b8d96;margin-top:3px}
@media(max-width:980px){.program-maintenance-grid{grid-template-columns:1fr}.program-maintenance-meta{grid-template-columns:repeat(2,1fr)}.program-maintenance-head{display:block}.program-maintenance-head .btn{margin-top:14px}}
@media(max-width:560px){.program-maintenance-meta{grid-template-columns:1fr}.program-maintenance-note{display:block}.program-maintenance-note strong{white-space:normal;display:block;margin-bottom:4px}}

/* v81 public special-situation cards */
.special-public-grid .card{height:100%}

/* v81 renewal/expiration continuity */
.expiry-state-grid .card{height:100%}.expiry-journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.expiry-journey>div{border:1px solid var(--line,#d9e3ea);border-radius:10px;padding:16px;background:#fff}.expiry-journey span,.expiry-journey strong,.expiry-journey small{display:block}.expiry-journey span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--teal,#0f8f91)}.expiry-journey strong{margin:6px 0}.expiry-journey small{color:var(--muted,#637789)}@media(max-width:900px){.expiry-journey{grid-template-columns:1fr 1fr}}@media(max-width:560px){.expiry-journey{grid-template-columns:1fr}}
/* v81 mobile frame hardening: later desktop footer rules must not override responsive collapse. */
@media(max-width:900px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .footer-grid>div{min-width:0}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  .footer-news .row{flex-wrap:wrap}
  .footer-news input,.footer-news .btn{width:100%}
}


/* v342 leadership arrow + director process fixes */

/*
 * A card-link normally receives its arrow from .card-link::after.
 * If the HTML intentionally contains a visible arrow already,
 * suppress the generated second arrow.
 */
.card-link[data-manual-arrow="1"]::after{
  content:none!important;
}

/* Board / Commission / Committee Service */
body[data-page-path="/for-directors.html"] .process-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

body[data-page-path="/for-directors.html"] .process-step{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
  min-width:0;
  padding:20px;
}

body[data-page-path="/for-directors.html"] .process-step > .process-num{
  grid-column:1;
  grid-row:1;
  margin:0;
}

body[data-page-path="/for-directors.html"] .process-step-copy{
  grid-column:2;
  grid-row:1;
  min-width:0;
  width:100%;
}

body[data-page-path="/for-directors.html"] .process-step-copy h3{
  margin:0 0 7px;
}

body[data-page-path="/for-directors.html"] .process-step-copy p{
  display:block;
  width:auto;
  max-width:65ch;
  margin:0;
  line-height:1.6;
  overflow-wrap:normal;
  word-break:normal;
}

@media(max-width:780px){
  body[data-page-path="/for-directors.html"] .process-grid{
    grid-template-columns:1fr;
  }
}


/* v343 for-directors circular process numbers */
body[data-page-path="/for-directors.html"] .process-step{
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
}

body[data-page-path="/for-directors.html"] .process-step > .process-num{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  margin-top:2px;
  border-radius:999px;
  background:linear-gradient(180deg,#11b8b3 0%,#0b7c92 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.92rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 6px 16px rgba(8,82,94,.18), inset 0 1px 0 rgba(255,255,255,.18);
}

body[data-page-path="/for-directors.html"] .process-step-copy{
  padding-top:1px;
}

body[data-page-path="/for-directors.html"] .process-step-copy h3{
  margin:0 0 7px;
}

body[data-page-path="/for-directors.html"] .process-step-copy p{
  margin:0;
  max-width:65ch;
  line-height:1.6;
}

@media(max-width:780px){
  body[data-page-path="/for-directors.html"] .process-step{
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
  }

  body[data-page-path="/for-directors.html"] .process-step > .process-num{
    width:30px;
    height:30px;
    min-width:30px;
    min-height:30px;
    font-size:.86rem;
  }
}

/* Centered section heads: center the lead block itself, not only its text. */
.section-head .lead{margin-left:auto;margin-right:auto}

/* v404: desktop nav stays visible to 1025px; slimmed so five items + CTA fit */
@media(min-width:1025px) and (max-width:1199px){
.nav-link{padding:32px 7px;font-size:.8rem}
.header-cta{padding:10px 12px;font-size:.8rem}
.brand .logo-lockup{height:46px}
.header-main .header-row{gap:10px}
}

/* v404: fee summary cards and collapsed full tables */
.fee-summary-card h3{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.fee-code{font-size:.66rem;font-weight:800;letter-spacing:.05em;color:#086066;background:#e7f4f4;border-radius:999px;padding:3px 9px;white-space:nowrap}
.fee-line{display:flex;align-items:baseline;gap:10px;margin:10px 0;padding-bottom:10px;border-bottom:1px dashed #dbe6ea}
.fee-line strong{font-size:1.15rem;color:var(--navy);min-width:74px}
.fee-line span{font-size:.82rem;color:#5b6f7c;line-height:1.4}
details.fee-full{margin:8px 0 4px}
details.fee-full>summary{cursor:pointer;display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border:1px solid #c9dde5;border-radius:10px;background:#f7fafb;color:var(--navy);font-weight:800;font-size:.88rem;user-select:none;list-style:none}
details.fee-full>summary::-webkit-details-marker{display:none}
details.fee-full>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
details.fee-full[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
details.fee-full>.table-wrap{margin-top:10px}
@media(max-width:760px){.fee-line strong{min-width:64px;font-size:1.05rem}}
.notice .next-steps-list{margin:12px 0 0;padding-left:20px}
.notice .next-steps-list li{margin:8px 0;line-height:1.5}

/* v405: mobile inquiry bar on money pages */
.mobile-inquiry-bar{position:fixed;inset:auto 0 0 0;z-index:140;display:none;gap:10px;align-items:center;padding:10px max(14px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right));background:rgb(255 255 255 / 96%);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgb(10 40 60 / 12%);backdrop-filter:blur(8px)}
.mobile-inquiry-bar .btn{flex:1;text-align:center}
.mobile-inquiry-bar button{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:1.1rem}
@media(max-width:1024px){.mobile-inquiry-bar{display:flex}.back-top{bottom:76px}}
@media print{.mobile-inquiry-bar{display:none}}

/* ---- v460 conversion-redesign header (Spec §2–§4, §10) ---- */
.utility .u-note{color:#cfdde6;font-weight:600;letter-spacing:.01em}
.utility .u-links{display:flex;align-items:center;gap:22px}
.header-actions .utility-icon-link{-webkit-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;padding:10px;border-radius:8px}
.header-actions .utility-icon-link:hover{color:var(--teal-ink);background:var(--paper)}
.header-actions .utility-icon-link .ui-icon{width:20px;height:20px}
.nav-item.nav-item-compact{position:relative}
.mega.mega-compact{left:0;right:auto;width:auto;min-width:320px;padding:18px 0 0;border-bottom-width:3px}
.mega.mega-compact .mega-grid{display:block;width:auto;margin:0;padding:0 26px}
.mega.mega-compact .mega-col a{display:block;padding:9px 0;font-weight:600;color:var(--navy);border-bottom:0}
.mega.mega-compact .mega-col a:hover{color:var(--teal-ink);text-decoration:none}
.mega-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));width:min(1120px,calc(100% - 44px));gap:38px}
.mega-foot{border-top:1px solid var(--line);margin:18px 0 0;padding:12px 26px 14px;font-size:.9rem;color:var(--muted);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mega-foot a{font-weight:700;color:var(--teal-ink)}
.mega-foot a:hover{color:var(--navy);text-decoration:none}
.mega-foot .mega-foot-minor{font-weight:600;color:var(--muted)}
.mega-foot-wide{width:min(1120px,calc(100% - 44px));margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;justify-content:flex-start}
.mega-foot-wide strong{color:var(--navy)}
.mega-foot-row{gap:10px}
.cta-note{font-size:.85rem;color:var(--muted);margin-top:10px}
.cta-band .cta-note,.page-hero .cta-note,.hero .cta-note{color:rgba(255,255,255,.85)}
@media (max-width:1024px){
  .nav-item.nav-item-compact{position:static}
  .mega.mega-compact{min-width:0;padding:4px 0 10px 16px}
  .mega.mega-compact .mega-grid{padding:0}
  .mega-foot{border-top:0;padding:6px 0 0;margin:0}
}

/* ---- v460 seven-stage journey + conversion-mode apply (Spec §15, §31-§33, §38) ---- */
.stages-7{list-style:none;margin:0;padding:0;max-width:800px;margin-inline:auto}
.stages-7 li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.stages-7 li:last-child{border-bottom:0}
.stages-7 .stage-num{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em}
.stages-7 .stage-body h3{margin:8px 0 6px;font-size:1.15rem}
.stages-7 .stage-body p{margin:0;color:var(--muted)}
.stages-7 .stage-cta{margin:14px 0 0}
.stages-7 .stage-cta+.cta-note{margin-top:8px}
.stages-7-compact li{padding:14px 0}
.stages-7-compact .stage-num{width:36px;height:36px;font-size:.85rem}
.stages-7-compact .stage-body h3{margin-top:4px;font-size:1.02rem}
.cta-band-action{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.cta-band-action .cta-note{margin-top:8px}
.linklike{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--teal-ink);font-weight:700;text-decoration:underline}
.apply-header .header-row{justify-content:space-between}
.apply-header-title{margin:0;font-weight:700;color:var(--navy);font-size:1.02rem;letter-spacing:.01em}
.apply-header-links{display:flex;gap:20px}
.apply-header-links a{font-weight:600;color:var(--navy)}
.apply-header-links a:hover{color:var(--teal-ink);text-decoration:none}
.apply-hero .lead{max-width:720px}
.apply-checks{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px}
.apply-checks li{position:relative;padding-left:26px;font-weight:600;color:#eaf4f8}
.apply-checks li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--teal) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M4 8.4 7 11l5-6" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/12px no-repeat}
.apply-edition{margin-top:20px;max-width:760px}
.apply-edition summary{cursor:pointer;font-weight:700;color:#eaf4f8}
.apply-edition[open] summary{margin-bottom:8px}
.apply-edition div p{color:#dcebf2;font-size:.92rem}
@media (max-width:760px){.apply-header-title{display:none}.stages-7 li{gap:14px}}

/* ---- v461 homepage hierarchy (Spec §11-§19) ---- */
.hero-finder-card{display:flex;align-items:center;justify-content:flex-end}
.hero-finder{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:var(--elev-2);width:100%;max-width:430px}
.hero-finder-q{font-weight:700;color:var(--navy);font-size:1.08rem;margin:0 0 14px}
.hero-finder-opts{display:grid;gap:10px;margin-bottom:16px}
.hero-finder-opts label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px 14px;cursor:pointer;font-weight:600;color:var(--navy);background:#fff}
.hero-finder-opts label:hover{border-color:var(--teal-ink)}
.hero-finder-opts input{accent-color:var(--teal-dark);flex:0 0 auto}
.hero-finder-opts label:has(input:checked){border-color:var(--teal-dark);background:var(--paper)}
.hero-finder .btn{width:100%}
.home-trust-band .home-value-card em.card-link{font-style:normal;display:block;margin-top:8px}
.accredit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.program-card{display:flex;flex-direction:column}
.prog-code{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-bottom:10px}
.program-card h3{margin:0 0 8px}
.program-card>p{color:var(--muted);margin:0 0 14px}
.prog-meta{margin:0 0 14px;padding:10px 0 0;border-top:1px solid var(--line)}
.prog-meta div{display:flex;justify-content:space-between;gap:14px;padding:5px 0}
.prog-meta dt{color:var(--muted);font-weight:600;font-size:.88rem}
.prog-meta dd{margin:0;font-weight:700;color:var(--navy);font-size:.92rem;text-align:right}
.program-card .card-link{margin-top:auto}
.program-card-wide{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;gap:24px}
.program-card-wide h3{margin-top:4px}
.program-card-wide p{margin-bottom:0;max-width:64ch}
.program-card-wide .card-link{margin-top:0;white-space:nowrap}
.cost-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:860px;margin:0 auto;text-align:center}
.cost-facts div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 18px}
.cost-facts strong{display:block;font-size:1.9rem;color:var(--navy);letter-spacing:-.01em}
.cost-facts span{display:block;margin-top:6px;color:var(--muted);font-weight:600;font-size:.92rem}
@media (max-width:1000px){.accredit-grid{grid-template-columns:1fr}.program-card-wide{flex-direction:column;align-items:flex-start}.hero-finder{max-width:100%}}
@media (max-width:760px){.cost-facts{grid-template-columns:1fr}}
/* ---- v461 application form spec (Spec §36-§38) ---- */
.apply-layout{display:grid;grid-template-columns:minmax(0,720px) 300px;gap:34px;justify-content:center;align-items:start}
.apply-form-col{min-width:0}
.apply-form-section .form-card{max-width:720px}
.apply-form-section .field label{font-size:15px;font-weight:600}
.apply-form-section .field input,.apply-form-section .field select{height:48px;padding:0 14px;border-radius:8px}
.apply-form-section .field textarea{border-radius:8px}
.apply-form-section .field input:focus,.apply-form-section .field select:focus,.apply-form-section .field textarea:focus{outline:2px solid var(--teal-dark);outline-offset:1px}
.apply-form-section .hint,.apply-form-section .field .small{font-size:14px;color:var(--muted)}
.apply-aside{position:sticky;top:96px}
.apply-aside-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}
.apply-aside-title{font-size:1.02rem;margin:0 0 12px;color:var(--navy)}
.apply-aside-steps{list-style:none;margin:0 0 12px;padding:0;counter-reset:aside}
.apply-aside-steps li{counter-increment:aside;position:relative;padding:7px 0 7px 34px}
.apply-aside-steps li::before{content:counter(aside);position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:.78rem;font-weight:700;display:grid;place-items:center}
.apply-aside-steps strong{font-weight:600;color:var(--text)}
.apply-aside-assure{list-style:none;margin:0 0 12px;padding:12px 0 0;border-top:1px solid var(--line)}
.apply-aside-assure li{position:relative;padding:4px 0 4px 24px;font-weight:600;font-size:.9rem;color:var(--navy)}
.apply-aside-assure li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;background:var(--teal) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M4 8.4 7 11l5-6" fill="none" stroke="white" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/10px no-repeat}
.notice .next-steps-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.notice .next-steps-list li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;position:relative;padding-left:52px}
.notice .next-steps-list{counter-reset:done}
.notice .next-steps-list li{counter-increment:done}
.notice .next-steps-list li::before{content:counter(done);position:absolute;left:16px;top:16px;width:24px;height:24px;border-radius:50%;background:var(--teal-dark);color:#fff;font-size:.78rem;font-weight:700;display:grid;place-items:center}
@media (max-width:1000px){.apply-layout{grid-template-columns:1fr}.apply-aside{position:static}}

/* ---- v462 post-deploy corrections ---- */
.home-hero-wide .hero-slide-grid{min-height:0}
.home-hero-carousel{padding:56px 0 60px}
.hero-finder{border-top:4px solid var(--teal);margin-block:6px}
@media (max-width:1000px){.home-hero-carousel{padding:36px 0 40px}}
.utility-cart .cart-count{top:-3px;right:-3px;border-width:1.5px}
.page-hero .lead a,.page-hero p.small a,.page-hero .hero-media-copy a:not(.btn){color:#9fdbe2;text-decoration-color:rgba(159,219,226,.55)}
.page-hero .lead a:hover,.page-hero p.small a:hover,.page-hero .hero-media-copy a:not(.btn):hover{color:#fff}

/* ---- v463 hero composite + band/trust/link corrections ---- */
.hero-media-composite{display:flex;align-items:center;justify-content:flex-end;padding:26px;min-height:480px}
body[data-homepage-review] .hero-slide-media.hero-media-composite{height:auto;align-self:stretch}
.hero-media-composite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media-composite .hero-finder{position:relative;z-index:2;max-width:400px;box-shadow:0 18px 44px rgba(6,31,49,.28);margin-block:0}
.hero-slide-copy .actions{margin-top:26px}
.hero-slide-copy .cta-note{margin-top:14px}
.home-trust-band{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-value-grid{gap:14px;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
.home-value-grid .home-value-card{border-radius:12px;box-shadow:0 10px 28px rgba(7,32,50,.06)}
.home-value-grid a.home-value-card{border-color:var(--line)}
.actions.center{justify-content:center}
.cta-band .container>div:first-child{flex:1 1 440px;min-width:0}
.cta-band-action{flex:0 1 auto}
.cta-band-action .cta-note{max-width:38ch}
.stages-7 .stage-cta{margin-top:18px}
.home-journey p.center,.home-public-record p.center{margin-top:30px}
.home-journey p.center a,.home-public-record p.center a{font-weight:700;color:var(--teal-ink)}
.home-journey p.center a:hover,.home-public-record p.center a:hover{color:var(--navy)}
@media (max-width:1000px){.hero-media-composite{padding:16px;min-height:0}.home-trust-band{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.home-trust-band{grid-template-columns:1fr}}

/* ---- v464 trust panel + section rhythm ---- */
.home-value-band{background:#eef5f8;padding:56px 0;border-top:1px solid #dbe8ee;border-bottom:1px solid #dbe8ee}
.home-value-grid.home-trust-band{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:1px;background:#d8e5ec;border:1px solid #d8e5ec;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(7,32,50,.08);transform:none}
.home-trust-band>*{background:#fff;padding:26px 24px;min-height:190px;border-radius:0!important;border:0;box-shadow:none}
.home-trust-band .home-value-intro{background:linear-gradient(135deg,#0d6a76 0%,#0e2f47 100%);color:#fff;display:flex;flex-direction:column;justify-content:center}
.home-trust-band .home-value-intro .eyebrow{color:#9fdbe2;letter-spacing:.09em}
.home-trust-band .home-value-intro h2{color:#fff;font-size:1.5rem;margin:8px 0 10px}
.home-trust-band .home-value-intro p{color:#d8ecef;margin:0;font-size:.95rem}
.home-value-grid.home-trust-band a.home-value-card{border:0;border-radius:0}
.home-value-grid.home-trust-band a.home-value-card:hover,.home-value-grid.home-trust-band a.home-value-card:focus-visible{transform:none;box-shadow:none;border:0;background:#f4fafb}
.home-trust-band .home-value-card strong{display:block;margin-bottom:8px;color:var(--navy)}
.home-trust-band .home-value-card span{color:var(--muted);font-size:.93rem;line-height:1.55}
.home-trust-band .home-value-card em.card-link{font-style:normal;display:block;margin-top:12px}
@media (max-width:1200px){.home-value-grid.home-trust-band{grid-template-columns:repeat(2,1fr)}.home-trust-band .home-value-intro{grid-column:1/-1}}
@media (max-width:640px){.home-value-grid.home-trust-band{grid-template-columns:1fr}}
.section-navy{background:linear-gradient(160deg,#123c5c 0%,#0d2b42 100%)}
.section-navy .eyebrow{color:#8fd8de}
.section-navy h2,.section-navy .lead,.section-navy p{color:#fff}
.section-navy .lead{color:#cfe4ec}
.section-navy .small a{color:#9fdbe2}
.section-navy .small a:hover{color:#fff}
.section-navy .btn-outline{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.section-navy .btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.section-navy .btn-navy{background:#fff;color:var(--navy)}
.section-navy .btn-navy:hover{background:#e8f2f7}
.home-public-record p.center a{color:#9fdbe2}
.home-public-record p.center a:hover{color:#fff}

/* ---- v465 batch 3: program template, programs page, fees (Spec 20-30, 41-43) ---- */
.program-quickfacts{background:var(--paper);border-bottom:1px solid var(--line);padding:22px 0}
.qf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:0}
.qf-grid div{border-left:3px solid var(--teal);padding-left:14px}
.qf-grid dt{font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.qf-grid dd{margin:4px 0 0;font-weight:700;color:var(--navy);font-size:.98rem}
.qf-fee-link{margin:14px 0 0}
.hero-trust-line{margin-top:14px;font-size:.85rem;font-weight:700;letter-spacing:.03em;color:rgba(255,255,255,.85)}
.pg237-hero .hero-trust-line,.pg237-hero .hero-fee-link a{color:rgba(255,255,255,.85)}
.hero-fee-link a{color:#9fdbe2;font-weight:700}
.hero-fee-link a:hover{color:#fff}
.split-scope{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.split-scope>div{background:#fff;padding:24px 26px}
.split-scope h3{margin:0 0 10px;font-size:1.02rem;display:flex;gap:10px;align-items:center}
.split-scope .scope-yes h3 span{color:var(--teal-dark)}
.split-scope .scope-no{background:var(--paper)}
.split-scope .scope-no h3 span{color:var(--muted)}
.split-scope p{margin:0;color:var(--muted);font-size:.95rem}
.tech-criteria,.compare-details{border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:8px}
.tech-criteria>summary,.compare-details>summary{cursor:pointer;padding:20px 24px;list-style:none;display:block}
.tech-criteria>summary::-webkit-details-marker,.compare-details>summary::-webkit-details-marker{display:none}
.tech-criteria-title{display:block;font-weight:700;color:var(--navy);font-size:1.08rem}
.tech-criteria-title::after{content:" +";color:var(--teal-ink)}
details[open]>summary .tech-criteria-title::after{content:" \2212"}
.tech-criteria-sub{display:block;margin-top:4px;color:var(--muted);font-size:.9rem}
.tech-criteria>*:not(summary),.compare-details>*:not(summary){padding:0 24px 24px}
.edu-optional{background:#f4f9f7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pg-tabs{position:sticky;top:80px;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.pg-tabs-row{display:flex;gap:8px;justify-content:center;padding:10px 0}
.pg-tabs a{padding:9px 18px;border-radius:999px;font-weight:700;color:var(--navy);border:1px solid transparent}
.pg-tabs a:hover{background:var(--paper);border-color:var(--line);text-decoration:none}
.pathway-grid .pathway-card{height:auto}
.prog-meta-stacked div{display:block;padding:8px 0;border-bottom:1px solid var(--paper)}
.prog-meta-stacked dt{margin-bottom:2px}
.prog-meta-stacked dd{text-align:left;font-weight:600}
.pathway-card-actions{margin-top:auto;padding-top:14px}
.fees-selector{display:flex;gap:12px;align-items:center;justify-content:center;margin:6px 0 10px}
.fees-selector label{font-weight:700;color:var(--navy)}
.fees-selector select{padding:10px 14px;border:1px solid #b8c8d2;border-radius:8px;font:inherit;background:#fff;color:var(--text)}
.fee-credit-visual{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:14px 0 10px}
.fcv-cell{display:flex;flex-direction:column}
.fcv-label{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fcv-cell strong{font-size:1.15rem;color:var(--navy)}
.fcv-total strong{font-size:1.3rem}
.fcv-arrow,.fcv-eq{color:var(--teal-ink);font-weight:700;font-size:.85rem}
@media (max-width:1000px){.qf-grid{grid-template-columns:repeat(2,1fr)}.split-scope{grid-template-columns:1fr}.pg-tabs{position:static}}
@media (max-width:760px){.qf-grid{grid-template-columns:1fr}.fee-credit-visual{flex-direction:column;align-items:flex-start}}

/* ---- v466 batch 4: verify tabs, standards filters, trust dashboard, governance diagram, domains ---- */
.page-hero h1{max-width:850px}
.section-head h2{max-width:760px;margin-left:auto;margin-right:auto}
.verify-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.verify-tab{appearance:none;border:0;background:none;cursor:pointer;font:inherit;font-weight:700;color:var(--muted);padding:12px 18px;border-bottom:3px solid transparent;margin-bottom:-1px}
.verify-tab.is-active{color:var(--navy);border-bottom-color:var(--teal)}
.verify-search-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.verify-search-row{width:100%;text-align:left;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;cursor:pointer;font:inherit}
.verify-search-row:hover{border-color:var(--teal-ink);background:var(--paper)}
.verify-search-row strong{color:var(--navy)}
.verify-search-row span{color:var(--muted);font-size:.9rem}
.verify-search-row em{font-style:normal;margin-left:auto;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.verify-search-row .vs-current{background:#e7f4ee;color:#1d6b4f}
.verify-search-row .vs-other{background:#f1f1f3;color:#5d6b76}
.directory-result-buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.std-filter-bar{background:var(--paper);border-bottom:1px solid var(--line);padding:18px 0}
.std-filter-bar .container{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.std-tabs{display:flex;gap:6px;flex-wrap:wrap}
.std-tab{appearance:none;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-weight:700;font-size:.88rem;color:var(--navy);padding:8px 14px;border-radius:999px}
.std-tab.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.std-search-field{margin:0;min-width:260px;flex:0 1 320px}
.std-search-field input{height:42px}
.std-meta{color:var(--muted);margin:6px 0 0;font-weight:600}
.trust-dash-list{list-style:none;margin:14px 0 0;padding:0}
.trust-dash-list li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--paper)}
.trust-dash-list li:last-child{border-bottom:0}
.trust-dash-list a{font-weight:700;color:var(--navy)}
.trust-dash-list a:hover{color:var(--teal-ink)}
.record-chip{margin-left:auto;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#1d6b4f;background:#e7f4ee;border-radius:999px;padding:3px 9px;white-space:nowrap}
.gov-diagram{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;text-align:center}
.gov-node{display:inline-flex;flex-direction:column;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 18px}
.gov-node strong{color:var(--navy)}
.gov-node span{color:var(--muted);font-size:.85rem}
.gov-node-board{background:linear-gradient(135deg,#0d6a76,#0e2f47);border:0}
.gov-node-board strong,.gov-node-board span{color:#fff}
.gov-node-board span{color:#cfe6ea}
.gov-arrow{margin:12px 0;color:var(--teal-ink);font-weight:700;font-size:.85rem}
.gov-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gov-caveat{margin:16px 0 0;color:var(--muted)}
.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.domain-cell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}
.domain-icon{display:inline-flex;width:38px;height:38px;border-radius:9px;background:var(--paper);color:var(--teal-dark);align-items:center;justify-content:center;margin-bottom:12px}
.domain-icon svg{width:20px;height:20px}
.domain-cell h3{margin:0 0 6px;font-size:1.02rem}
.domain-cell p{margin:0;color:var(--muted);font-size:.92rem}
.elig-thresholds{max-width:760px}
.elig-path-panel{scroll-margin-top:110px}
@media (max-width:1000px){.gov-row{grid-template-columns:1fr 1fr}.domain-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.gov-row,.domain-grid{grid-template-columns:1fr}.std-filter-bar .container{flex-direction:column;align-items:stretch}}
.exec-callout{background:#fdf6e8;border-color:#ecd9ac}.exec-callout p{margin:0}.exec-callout a{font-weight:700}

/* ---- v467 batch 5: fit-finder cards, stage layout, literal frame/type (Spec 5/6/22) ---- */
:root{--max:1200px}
@media (max-width:760px){.container{width:calc(100% - 40px)}}
.fit-form{padding:26px}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fit-option{position:relative;display:flex;align-items:flex-start;gap:14px;border:1px solid var(--line);border-radius:10px;padding:18px;cursor:pointer;background:#fff;transition:border-color .12s,box-shadow .12s}
.fit-option:hover{border-color:var(--teal-ink)}
.fit-option input{position:absolute;opacity:0;width:1px;height:1px}
.fit-option-body{display:block;min-width:0}
.fit-chip{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--teal-ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin-bottom:8px}
.fit-option-body strong{display:block;color:var(--navy);font-size:1.02rem;margin-bottom:4px}
.fit-sub{display:block;color:var(--muted);font-size:.9rem;line-height:1.5}
.fit-checkmark{flex:0 0 auto;width:24px;height:24px;border:2px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;margin-top:2px}
.fit-checkmark svg{width:14px;height:14px;opacity:0}
.fit-option:has(input:checked){border-color:var(--teal-dark);box-shadow:0 0 0 1px var(--teal-dark),0 10px 24px rgba(7,50,66,.1);background:#f4fbfb}
.fit-option:has(input:checked) .fit-checkmark{background:var(--teal-dark);border-color:var(--teal-dark)}
.fit-option:has(input:checked) .fit-checkmark svg{opacity:1}
.fit-option:has(input:focus-visible){outline:2px solid var(--teal-dark);outline-offset:2px}
.fit-option-wide{grid-column:1/-1}
#chooser-result .callout{border-left:4px solid var(--teal-dark);box-shadow:var(--elev-2);margin-top:18px}
.stages-7 li{align-items:center}
.stages-7 .stage-side{margin-left:auto;padding-left:24px;flex:0 0 auto}
body[data-homepage-review] .home-training{padding-top:92px}
.page-hero h1,.hero-slide-copy h1{font-size:clamp(2.35rem,4.2vw,3.25rem);line-height:1.1}
.section-head h2,.section-head-left h2{font-size:clamp(1.85rem,2.9vw,2.25rem);line-height:1.2}
.hero-slide-copy>p,.page-hero .lead{font-size:clamp(1.12rem,1.6vw,1.22rem);line-height:1.55}
.btn{font-size:.96rem}
@media (max-width:760px){.fit-grid{grid-template-columns:1fr}.stages-7 li{flex-wrap:wrap}.stages-7 .stage-side{margin-left:60px;padding-left:0;flex-basis:calc(100% - 60px);margin-top:10px}}

/* ---- v468: mobile comparison accordions + stage meta ---- */
.compare-mobile{display:none}
.compare-acc{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fff}
.compare-acc summary{cursor:pointer;padding:14px 16px;font-weight:700;color:var(--navy);list-style:none;display:flex;align-items:center;gap:10px}
.compare-acc summary::-webkit-details-marker{display:none}
.compare-acc[open] summary{border-bottom:1px solid var(--paper)}
.compare-acc .prog-meta{margin:0;padding:6px 16px 14px}
@media (max-width:760px){.compare-details .table-wrap{display:none}.compare-mobile{display:block}}
.stage-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:12px 0 0;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.stage-meta div{min-width:0}
.stage-meta dt{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.stage-meta dd{margin:2px 0 0;font-size:.88rem;color:var(--text)}
@media (max-width:640px){.stage-meta{grid-template-columns:1fr}}

/* ---- v469 hover + card polish ---- */
.btn:hover,a.btn:hover,.callout a.btn{text-decoration:none}
.card-link:hover{text-decoration:none;color:var(--navy)}
.card-link:after{transition:transform .15s}
.card-link:hover:after{transform:translateX(3px)}
.section-navy .btn-navy:hover{background:#e8f2f7;color:var(--navy)}
.section-navy .btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.home-accredit .program-card,.pathway-grid .pathway-card{box-shadow:var(--elev-1);transition:transform .15s,box-shadow .15s,border-color .15s}
.home-accredit .program-card:hover,.pathway-grid .pathway-card:hover{transform:translateY(-3px);box-shadow:var(--elev-2);border-color:var(--teal-ink)}
.fit-result{background:#fff;border:1px solid var(--line);border-left:5px solid var(--teal-dark);border-radius:12px;padding:26px 28px;margin-top:20px;box-shadow:var(--elev-2)}
.fit-result .eyebrow{color:var(--teal-ink)}
.fit-result-head{display:flex;align-items:center;gap:12px;margin:8px 0 10px;flex-wrap:wrap}
.fit-result-head h3{margin:0;font-size:1.3rem;color:var(--navy)}
.fit-result>p{margin:0 0 6px;color:var(--text)}
.fit-result-meta{color:var(--muted);font-weight:600;font-size:.92rem}
.fit-result .actions{margin-top:18px}
.fit-result .btn{text-decoration:none}

/* ---- v470 accredit tint + card richness ---- */
.home-accredit{background:#f2f7fa;border-top:1px solid #e0ebf1;border-bottom:1px solid #e0ebf1}
.home-accredit .program-card,.pathway-grid .pathway-card{border-color:#d9e6ec;border-top:3px solid var(--teal);background:#fff}
.home-accredit .program-card .prog-code,.pathway-grid .pathway-card .prog-code{background:#eef6f8;border-color:#d9e6ec}
.home-accredit .program-card:hover,.pathway-grid .pathway-card:hover{border-top-color:var(--teal-dark)}
.home-accredit .card-link:hover,.pathway-grid .card-link:hover{transform:none;box-shadow:none}
.prog-meta div{border-bottom:1px solid #f0f5f8}
.prog-meta div:last-child{border-bottom:0}

/* ---- v471 mega feature cards ---- */
.mega-inner{display:flex;gap:36px;align-items:stretch;width:min(1200px,calc(100% - 64px));margin:auto}
.mega-inner .mega-grid,.mega-inner .mega-grid-4{flex:1;width:auto;margin:0}
.mega.mega-compact{min-width:680px}
.mega.mega-compact .mega-inner{padding:0 26px;gap:30px;width:auto}
.mega.mega-compact .mega-inner .mega-grid{padding:0;min-width:230px}
.mega-feature{flex:0 0 300px;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.mega-feature-media{display:block;aspect-ratio:16/9;overflow:hidden}
.mega-feature-media img{width:100%;height:100%;object-fit:cover;display:block}
.mega-feature-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.mega-feature-body .eyebrow{font-size:.68rem}
.mega-feature-body strong{color:var(--navy);font-size:1.02rem;line-height:1.3}
.mega-feature-text{color:var(--muted);font-size:.87rem;line-height:1.5}
.mega-feature-cta{margin-top:8px;font-weight:700;color:var(--teal-ink);font-size:.9rem}
.mega-feature-cta:hover{color:var(--navy);text-decoration:none}
@media (max-width:1024px){.mega-feature{display:none}.mega-inner{display:block;width:auto}.mega.mega-compact{min-width:0}}

/* ---- v472 full-width megas + utility search ---- */
.utility .utility-icon-link{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:#e8f2f7}
.utility .utility-icon-link .ui-icon{width:15px;height:15px}
.utility .utility-icon-link:hover{color:#8fe6e3}
.nav-item.nav-item-compact{position:static}
.mega.mega-compact{left:0;right:0;width:auto;min-width:0;padding:38px 0 0;border-bottom-width:4px}
.mega.mega-compact .mega-inner{width:min(1200px,calc(100% - 64px));padding:0;gap:44px}
.mega.mega-compact .mega-inner .mega-grid{display:block;min-width:0}
.mega.mega-compact .mega-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 56px;align-content:start}
.mega.mega-compact .mega-col a{padding:10px 0;border-bottom:1px solid var(--paper)}
.mega-inner{gap:44px}
.mega-grid-4{gap:40px;grid-template-columns:1.05fr 1.25fr 1.25fr .85fr;width:auto}
.mega .mega-foot{width:min(1200px,calc(100% - 64px));margin:20px auto 0;padding:14px 0 16px;border-top:1px solid var(--line)}
.mega-foot-wide{padding-left:0;padding-right:0}
@media (max-width:1024px){.mega.mega-compact{padding:4px 0 10px 16px;border-bottom-width:0}.mega.mega-compact .mega-col{display:block}.mega .mega-foot{width:auto;margin:0;border-top:0;padding:6px 0 0}}

/* ---- v473 mega layout: columns fill the panel ---- */
.mega .mega-inner{display:flex;align-items:stretch;gap:44px;width:min(1200px,calc(100% - 64px));margin:auto}
.mega .mega-inner>.mega-grid{flex:1 1 0%;min-width:0;width:100%;max-width:none;margin:0}
.mega .mega-inner>.mega-grid.mega-grid-4{grid-template-columns:1fr 1.2fr 1.2fr .9fr;gap:6px 40px}
.mega .mega-inner>.mega-grid.mega-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 56px;align-content:start;padding:0}
.mega .mega-inner .mega-col{min-width:0}
.mega .mega-col-title{white-space:nowrap}
.mega.mega-compact .mega-col{display:block}
.mega.mega-compact .mega-inner .mega-grid{display:grid}
.mega-feature{flex:0 0 300px}
@media (max-width:1024px){.mega .mega-inner{display:block;width:auto}.mega .mega-inner>.mega-grid.mega-grid-2{display:block}}

/* ---- v474 mega layout, deterministic ---- */
.mega .mega-col-title{white-space:normal;line-height:1.4;margin-bottom:10px}
.mega .mega-inner{display:flex;justify-content:center;align-items:stretch;gap:48px;width:min(1200px,calc(100% - 64px));margin:auto}
.mega .mega-inner>.mega-grid{display:grid;margin:0;max-width:none;min-width:0}
.mega .mega-inner>.mega-grid.mega-grid-4{flex:0 0 calc(100% - 348px);width:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 44px;align-content:start}
.mega .mega-inner>.mega-grid.mega-grid-2{flex:0 0 auto;width:auto;grid-template-columns:repeat(2,minmax(260px,300px));gap:8px 56px;align-content:start}
.mega .mega-inner>.mega-feature{flex:0 0 300px}
.mega .mega-col a{display:block;padding:10px 0;border-bottom:1px solid var(--paper);font-weight:600;color:var(--navy)}
.mega .mega-col a:hover{color:var(--teal-ink);text-decoration:none}
.mega.mega-compact .mega-foot{justify-content:center}
@media (max-width:1024px){
  .mega .mega-inner{display:block;width:auto}
  .mega .mega-inner>.mega-grid.mega-grid-4,.mega .mega-inner>.mega-grid.mega-grid-2{display:block;width:auto}
  .mega .mega-col a{border-bottom:0;padding:7px 0}
}

/* ---- v475 narrow-desktop mega band (1025-1320px) ---- */
.mega .mega-col{overflow-wrap:break-word}
@media (min-width:1025px) and (max-width:1320px){
  .mega .mega-inner{gap:32px;width:calc(100% - 48px)}
  .mega .mega-inner>.mega-feature{display:none}
  .mega .mega-inner>.mega-grid.mega-grid-4{flex:1 1 auto;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 30px}
  .mega .mega-inner>.mega-grid.mega-grid-2{flex:1 1 auto;width:100%;grid-template-columns:repeat(2,minmax(0,340px));justify-content:center;gap:8px 48px}
  .mega.mega-compact{min-width:0}
  .mega .mega-foot{width:calc(100% - 48px)}
}

/* ---- v476 three-column megas, left-aligned, consistent foot ---- */
.mega .mega-inner{justify-content:flex-start}
.mega .mega-inner>.mega-grid.mega-grid-3{flex:0 0 calc(100% - 348px);width:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 40px;align-content:start}
.mega.mega-compact .mega-foot{justify-content:flex-start}
@media (min-width:1025px) and (max-width:1320px){
  .mega .mega-inner>.mega-grid.mega-grid-3{flex:1 1 auto;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px}
}
@media (max-width:1024px){
  .mega .mega-inner>.mega-grid.mega-grid-3{display:block;width:auto}
}

/* ---- v478 hero media: frame hugs the image, vertically centered ---- */
body[data-homepage-review] .hero-slide-media.media-accreditation{height:auto;min-height:0;align-self:center}
.home-hero-carousel .hero-slide-media.media-accreditation{min-height:0;background:none}
.home-hero-carousel .hero-slide-media.media-accreditation img{width:100%;height:auto;display:block}
.home-hero-carousel .hero-slide-grid{align-items:center}
/* the trust band now sits directly on the hero edge */
.home-value-band{padding:0 0 56px;background:transparent;border:0;margin-top:-46px;position:relative;z-index:3}
@media (max-width:1000px){.home-value-band{margin-top:0;padding:34px 0}}

/* ---- v479 dark fit-check band: white cards on navy gradient ---- */
.fit-dark{background:linear-gradient(160deg,#10395a 0%,#0c2b44 55%,#0d3550 100%)}
.fit-dark .fit-form{background:transparent;border:0;box-shadow:none;padding:0}
.fit-dark .fit-option{border-color:rgba(255,255,255,.14);box-shadow:0 10px 26px rgba(4,20,33,.28)}
.fit-dark .fit-option:hover{border-color:var(--teal)}
.fit-dark .fit-option:has(input:checked){box-shadow:0 0 0 1px var(--teal),0 16px 36px rgba(4,20,33,.4);background:#f4fbfb}
.fit-dark .fit-result{box-shadow:0 22px 52px rgba(4,20,33,.45)}

/* ---- v480 dark-section exception: buttons on white cards keep their light-surface colors ---- */
.section-navy .fit-result .btn-outline,.section-navy .form-card .btn-outline,.section-navy .card .btn-outline{border-color:var(--teal-dark);color:var(--teal-dark);background:transparent}
.section-navy .fit-result .btn-outline:hover,.section-navy .form-card .btn-outline:hover,.section-navy .card .btn-outline:hover{color:var(--teal-dark);background:var(--paper);border-color:var(--teal-dark)}

/* ---- v481 diligence row: exec guide + verify-us as one balanced pair ---- */
.diligence-grid{align-items:stretch;gap:20px}
.diligence-grid .callout{margin:0;height:100%;border-radius:10px;padding:22px 26px}
.diligence-grid .callout p{margin:0}
@media (max-width:1000px){.diligence-grid{grid-template-columns:1fr}}


/* v658 sticky subnav alignment
   Desktop header is 80px high. Keep the section-navigation bar
   directly attached to it instead of leaving the legacy 14px gap. */
@media(min-width:1025px){
  .subnav{
    top:80px!important;
  }

  html{
    scroll-padding-top:150px!important;
  }

  [id]{
    scroll-margin-top:150px!important;
  }
}

/* v703 mobile containment.
   35 of 279 public pages scrolled sideways at 375px. Measuring them produced
   a single cause, not thirty-five: every horizontal scroller on this site
   already declares overflow-x:auto, and every one of them still pushed the
   page wider than the screen.

   overflow does not shrink a box. A grid or flex item's automatic minimum
   size is its content's min-content width, so a wrapper holding a 720px table
   resolves to 720px wide and the PAGE scrolls instead of the wrapper. The
   annual reports were the clearest case: a single 1fr column measured 1671px
   because the table-of-contents chip strip inside it would not shrink.

   min-width:0 is the missing half of the overflow-x:auto pattern. These rules
   only permit shrinking; they set no widths and change nothing at desktop
   sizes, where none of these boxes reach their minimum. */
/* Naming a container "-wrap" is this codebase's signal that it is meant to
   scroll its contents. Most of them declare overflow-x:auto in a component
   stylesheet, but those stylesheets are per-page: /comment-dispositions loads
   none of the three that define .records-table-wrap, so its wrap was inert.
   Declaring it once here means the intent holds wherever the class is used. */
[class*="table-wrap"]{
  min-width:0;
  max-width:100%;
  overflow-x:auto;
}

/* The general case, scoped to content and to the widths where it matters.
   :where() carries zero specificity, so any component that deliberately sets
   a minimum — .report-table's 640px, .ev-table-v534's 760px — still wins and
   still scrolls inside its wrapper.
   This is narrower than it looks: min-width:auto only means "at least
   min-content" for grid and flex items. On an ordinary block box auto already
   computes to 0, so this changes exactly the boxes that cause the bug and is
   inert everywhere else. */
@media(max-width:900px){
  main :where(section,article,aside,div,nav,ul,ol,dl,figure,pre,table,form,fieldset),
  .report-layout>*,
  .of619-shell>*{
    min-width:0;
  }
}

/* The other way a single element outgrows a phone: one long unbroken token —
   a reference number, a URL, an example filename — with no break opportunity
   in it. No amount of min-width:0 helps, because the token itself is the
   minimum.

   Two different values, deliberately. break-word only breaks a word that would
   otherwise overflow, which is what prose wants and leaves min-content sizing
   alone. anywhere additionally lets the box report a smaller minimum, which is
   what a grid track needs in order to shrink — required for the filename
   examples, too aggressive for sentences. Inside a <pre> both are inert,
   since white-space:pre suppresses wrapping and those blocks scroll instead. */
@media(max-width:900px){
  main :where(p,li,dd,dt,a,figcaption,summary,blockquote){
    overflow-wrap:break-word;
  }

  /* Cells take the stronger value. A table is the one place where breaking a
     long value beats a sideways-scrolling page, and it is the only remedy for
     a table with no wrapper around it — /standards/library was exactly that.
     Cells inside a deliberate scroller are unaffected: those tables declare
     their own min-width, which dominates. */
  main :where(td,th,code,kbd,samp){
    overflow-wrap:anywhere;
  }
}


/* v912 hub shell */
.brand-wordmark{font-family:var(--font-display,Georgia,"Times New Roman",serif);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;line-height:1;white-space:nowrap}
.footer-wordmark{font-family:var(--font-display,Georgia,"Times New Roman",serif);font-size:1.15rem;font-weight:600;margin:0 0 .5rem}
.footer-note{max-width:48ch;font-size:.875rem;line-height:1.6}
.footer-legal{margin-top:2rem;font-size:.8125rem;opacity:.72}

/* v913 credential verification — the result block carries meaning, so state is
   expressed in color AND in the wording of the heading, never color alone. */
.cv-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;max-width:640px}
.cv-label{display:block;width:100%;font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.cv-input{flex:1 1 260px;min-width:0;padding:12px 14px;border:1px solid rgba(0,0,0,.28);border-radius:2px;font:inherit;font-variant-numeric:tabular-nums}
.cv-input:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.cv-result{margin-top:28px;padding:20px 22px;border:1px solid rgba(0,0,0,.16);border-left-width:4px;border-radius:2px;max-width:760px}
.cv-result[data-state="valid"]{border-left-color:#1c7c4a;background:rgba(28,124,74,.05)}
.cv-result[data-state="expired"],.cv-result[data-state="inactive"]{border-left-color:#9a6300;background:rgba(154,99,0,.05)}
.cv-result[data-state="unverifiable"]{border-left-color:#5b6472;background:rgba(91,100,114,.05)}
.cv-result[data-state="throttled"],.cv-result[data-state="unavailable"]{border-left-color:#b01e38;background:rgba(176,30,56,.05)}
.cv-state{margin:0;font-weight:600;font-size:1.0625rem}
.cv-body{margin:.6em 0 0;max-width:62ch;line-height:1.6}
.cv-rows{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:6px 20px;margin:1.1em 0 0;font-size:.9375rem}
.cv-rows dt{font-weight:600}
.cv-rows dd{margin:0;font-variant-numeric:tabular-nums}
@media(max-width:560px){.cv-rows{grid-template-columns:1fr;gap:2px 0}.cv-rows dd{margin:0 0 .6em}}

/* v1083 — checking a digital badge on the same page as a credential number. */
.bv-form{display:grid;gap:14px;max-width:760px}
.bv-label{display:block;font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.bv-hint{margin:.35em 0 0;font-size:.875rem;max-width:62ch;line-height:1.55}
.bv-paste{width:100%;min-height:118px;padding:12px 14px;border:1px solid rgba(0,0,0,.28);border-radius:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5;word-break:break-all}
.bv-input{width:100%;max-width:420px;padding:12px 14px;border:1px solid rgba(0,0,0,.28);border-radius:2px;font:inherit}
.bv-paste:focus-visible,.bv-input:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.bv-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bv-file{font-size:.875rem}
.bv-result{margin-top:28px;padding:20px 22px;border:1px solid rgba(0,0,0,.16);border-left-width:4px;border-radius:2px;max-width:760px}
.bv-result[data-tone="good"]{border-left-color:#1c7c4a;background:rgba(28,124,74,.05)}
.bv-result[data-tone="warn"]{border-left-color:#9a6300;background:rgba(154,99,0,.05)}
.bv-result[data-tone="bad"]{border-left-color:#b01e38;background:rgba(176,30,56,.05)}
.bv-result[data-tone="plain"]{border-left-color:#5b6472;background:rgba(91,100,114,.05)}
.bv-state{margin:0;font-weight:600;font-size:1.0625rem}
.bv-body{margin:.6em 0 0;max-width:62ch;line-height:1.6}
.bv-rows{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:6px 20px;margin:1.1em 0 0;font-size:.9375rem}
.bv-rows dt{font-weight:600}
.bv-rows dd{margin:0;overflow-wrap:anywhere}
.bv-holder{margin:1.1em 0 0;padding:12px 14px;border:1px solid rgba(0,0,0,.14);border-radius:2px;font-size:.9375rem;line-height:1.55;max-width:62ch}
.bv-note{margin:1.1em 0 0;font-size:.875rem;max-width:62ch;line-height:1.55}
@media(max-width:560px){.bv-rows{grid-template-columns:1fr;gap:2px 0}.bv-rows dd{margin:0 0 .6em}}
