:root{--navy:#22406E;--navy-700:#2f5088;--navy-600:#365a95;--ink:#0F172A;--ink-soft:#475569;--ink-faint:#94A3B8;--paper:#F7F8FA;--surface:#ffffff;--surface-2:#F1F3F7;--accent:#2563EB;--accent-ink:#1D4ED8;--accent-soft:#EFF4FE;--accent-line:#C7D6F5;--warm:#C2623A;--warm-ink:#A64F2C;--warm-soft:#F7EBE3;--warm-line:#EAD1C1;--c-gov:#2563EB;--c-ena:#0E9384;--c-cap:#6E56CF;--line:#E3E7EE;--line-soft:#EEF1F6;--r-sm:8px;--r:12px;--r-lg:18px;--r-xl:26px;--sh-sm:0 1px 2px rgba(15,26,56,.05),0 1px 3px rgba(15,26,56,.04);--sh:0 2px 8px rgba(15,26,56,.06),0 8px 24px rgba(15,26,56,.06);--ui:"Hanken Grotesk",system-ui,-apple-system,sans-serif;--serif:"Source Serif 4",Georgia,serif;--mono:"Space Mono",ui-monospace,monospace;--sidebar-w:280px;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--ui);font-size:16px;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
a{color:var(--accent-ink);text-decoration:none;}
a:hover{color:var(--accent);}
::selection{background:var(--accent-soft);}
h1,h2,h3,h4,p{margin:0;}
/* Layout */
.app{display:flex;min-height:100vh;}
.content{flex:1;min-width:0;height:100vh;overflow-y:auto;background:var(--paper);}
.content-inner{max-width:1180px;margin:0 auto;padding:24px 56px 48px;}
.page{animation:rise .4s cubic-bezier(.4,0,.2,1);}
.page-narrow{max-width:920px;margin:0 auto;}
.page-read{max-width:760px;margin:0 auto;}
@keyframes rise{from{transform:translateY(10px);}to{transform:none;}}
.topbar{display:flex;justify-content:flex-end;padding:18px 32px 0;}
/* Sidebar */
.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--navy);color:#e6edf4;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;}
.sidebar a{color:inherit;}
.brand-row{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.08);}
.brand{display:flex;align-items:center;gap:12px;padding:24px 22px 22px;flex:1;min-width:0;}
.sidebar-close{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9px;color:#9fb2c6;margin:18px 14px 0 4px;flex-shrink:0;}
.sidebar-close:hover{background:rgba(255,255,255,.08);color:#fff;}
.mobile-bar{display:none;}
.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:#fff;margin-left:-6px;}
.mobile-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:#fff;}
.mobile-brand:hover{color:#fff;}
.nav-overlay{position:fixed;inset:0;background:rgba(10,22,38,.5);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:40;}
.nav-overlay.is-open{opacity:1;pointer-events:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0;}
.brand-name{font-weight:700;font-size:16px;letter-spacing:-.01em;color:#fff;white-space:nowrap;}
.brand-sub{font-size:11.5px;color:#9fb2c6;letter-spacing:.02em;margin-top:3px;white-space:nowrap;}
.nav{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 14px;overflow-y:auto;}
.nav-group{display:flex;flex-direction:column;gap:2px;}
.nav-glabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#9cb0c4;padding:16px 12px 6px;}
.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#bccbdb !important;font-size:15.5px;font-weight:500;width:100%;transition:background .15s,color .15s;}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff !important;}
.nav-item.is-active{background:rgba(59,94,219,.16);color:#fff !important;}
.nav-item.is-active svg{color:var(--accent);}
.nav-sub-num{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10.5px;color:#9fb1c4;}
.nav-sub-num.active{background:var(--accent);color:#fff;}
.side-foot{flex-shrink:0;padding:16px 18px 20px;border-top:1px solid rgba(255,255,255,.08);}
/* Framework badge */
.fw-badge{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);color:#fff !important;font-size:13px;transition:background .15s,border-color .15s;}
.fw-badge:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28);}
.fw-badge-k{color:#9fb2c6;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;}
.fw-badge-v{font-weight:600;}
.fw-badge svg{margin-left:auto;color:var(--accent-300,#9db4f0);}
.fw-badge-compact{display:inline-flex;border-color:var(--line);background:var(--surface);color:var(--ink) !important;padding:7px 12px;border-radius:999px;}
.fw-badge-compact:hover{border-color:var(--accent-line);background:var(--accent-soft);}
.fw-badge-compact .fw-badge-k{color:var(--ink-soft);font-size:10.5px;}
.fw-badge-compact svg{margin-left:0;color:var(--accent);}
.about-fw{margin-top:28px;max-width:360px;}
.about-fw .fw-badge{background:var(--navy);}
/* Primitives */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-weight:600;font-size:15px;transition:background .15s,box-shadow .15s,border-color .15s;border:1px solid transparent;white-space:nowrap;}
.btn-lg{padding:14px 24px;font-size:16px;border-radius:12px;}
.btn-primary{background:var(--warm);color:#fff !important;}
.btn-primary:hover{background:var(--warm-ink);}
.btn-secondary{background:var(--navy);color:#fff !important;}
.btn-secondary:hover{background:var(--navy-700);}
.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--line);}
.hero .btn-ghost{color:#fff !important;border-color:rgba(255,255,255,.32);}
.hero .btn-ghost:hover{background:rgba(255,255,255,.1);}
/* Hero */
.hero{background:var(--navy);color:#fff;border-radius:var(--r-xl);padding:64px 56px;}
.hero-eyebrow,.ph-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-300,#9db4f0);}
.hero-title{font-family:var(--serif);font-weight:600;font-size:clamp(38px,5vw,60px);line-height:1.05;letter-spacing:-.02em;margin-top:14px;}
.hero-lede{font-size:19px;line-height:1.55;color:#c9d6e6;max-width:620px;margin-top:18px;text-wrap:pretty;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
/* Blocks */
.block{margin-top:48px;}
.block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;}
.block-title{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--navy);}
.sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;}
.sec-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);color:var(--ink) !important;transition:border-color .15s,box-shadow .15s;}
.sec-card:hover{border-color:var(--accent-line);box-shadow:var(--sh);}
.sec-card-n{font-family:var(--mono);font-size:12px;color:var(--accent-ink);}
.sec-card-t{font-size:18px;font-weight:700;color:var(--navy);}
.sec-card-d{font-size:15px;line-height:1.5;color:var(--ink-soft);text-wrap:pretty;}
/* Page head */
.ph{padding:24px 0 28px;}
.ph-eyebrow{color:var(--accent-ink);}
.ph-title{font-family:var(--serif);font-weight:600;font-size:clamp(32px,4vw,44px);line-height:1.1;letter-spacing:-.015em;color:var(--navy);margin-top:10px;}
.ph-lede{font-size:18px;line-height:1.6;color:var(--ink-soft);margin-top:14px;text-wrap:pretty;}
.ph-empty{border:1.5px dashed var(--line);border-radius:var(--r-lg);padding:40px 28px;text-align:center;background:var(--surface);}
.ph-empty-k{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);}
.ph-empty p{margin-top:8px;color:var(--ink-soft);}
.prose{display:grid;gap:16px;font-family:var(--serif);font-size:18px;line-height:1.7;color:var(--ink);}
/* Framework links */
.fw-links{margin-top:32px;display:grid;gap:8px;}
.fw-links-k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin-bottom:4px;}
.fw-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink) !important;font-weight:600;}
.fw-link:hover{border-color:var(--accent-line);}
.fw-link svg{margin-left:auto;color:var(--accent);}
.page-nav{display:flex;justify-content:space-between;gap:16px;margin-top:48px;}
.page-nav-btn{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink) !important;max-width:340px;}
.page-nav-btn:hover{border-color:var(--accent-line);box-shadow:var(--sh-sm);}
.page-nav-next{margin-left:auto;text-align:right;}
.page-nav-btn span{display:flex;flex-direction:column;font-weight:600;font-size:15.5px;}
.page-nav-btn em{font-style:normal;font-size:11.5px;color:var(--ink-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;}
.page-nav-btn svg{color:var(--ink-faint);flex-shrink:0;}
/* Pillars */
.pg{margin-top:28px;}
.pg-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin-bottom:10px;}
.pg-list{display:grid;gap:8px;}
.pg-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);}
.pg-n{width:28px;height:28px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;}
.pg-name{font-weight:600;color:var(--navy);}
.pg-status{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);}
.pg-fw{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;}
/* Visioning session */
.vs-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:0;}
.vs-facts div{background:var(--surface);padding:16px 18px;}
.vs-facts dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);}
.vs-facts dd{margin:6px 0 0;font-weight:600;color:var(--navy);}
.vs-jump{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin-top:20px;}
.vs-jump a{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:15px;}
.vs-jump a:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--ink);}
.vs-jump span{width:24px;height:24px;border-radius:7px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;}
.vs-jump em{font-style:normal;font-weight:500;font-size:13px;color:var(--ink-soft);width:100%;padding-left:34px;margin-top:-6px;}
.vs-phase{margin-top:56px;}
.vs-phase-head{margin-bottom:20px;}
.vs-phase-k{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);}
.vs-phase-head h2{font-family:var(--serif);font-weight:600;font-size:28px;color:var(--navy);margin-top:6px;letter-spacing:-.01em;}
.vs-steps{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.vs-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);}
.vs-step-n{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--accent-line);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;}
.vs-step h3,.vs-row h3{font-size:17px;font-weight:700;color:var(--ink);}
.vs-step p,.vs-row p{margin-top:6px;line-height:1.6;color:var(--ink-soft);text-wrap:pretty;}
.vs-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.vs-meta span{font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--line-soft);color:var(--ink-soft);}
.vs-meta span:first-child:not(:only-child){background:var(--accent-soft);color:var(--accent-ink);}
.vs-agenda{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;}
.vs-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:18px 22px;border-top:1px solid var(--line-soft);}
.vs-row:first-child{border-top:none;}
.vs-time span{display:block;font-family:var(--mono);font-size:15px;font-weight:700;color:var(--navy);}
.vs-time em{font-style:normal;font-size:13px;color:var(--ink-soft);}
.vs-row-break{background:var(--surface-2);padding-top:12px;padding-bottom:12px;}
.vs-row-break h3{font-size:15px;font-weight:600;color:var(--ink-soft);}
.vs-out{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--warm-soft);color:var(--warm-ink);}
.vs-outputs{margin-top:16px;padding:20px 22px;border-radius:var(--r-lg);background:var(--navy);color:#fff;}
.vs-outputs-k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9db4f0;}
.vs-outputs ul{margin:10px 0 0;padding-left:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:6px 24px;line-height:1.5;}
.st{margin-top:8px;}
.st-head{max-width:680px;}
.st-scale{display:flex;justify-content:space-between;gap:12px;margin-top:22px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);}
.st-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px;position:sticky;top:0;z-index:5;background:var(--paper);padding:8px 0;}
.st-tab{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border-radius:var(--r);background:var(--surface);border:1.5px solid var(--line);transition:border-color .15s,background .15s;}
.st-tab:hover{border-color:var(--accent-line);}
.st-tab.is-on{border-color:var(--accent);background:var(--accent-soft);}
.st-tab-n{font-family:var(--mono);font-size:12px;color:var(--accent-ink);}
.st-tab-name{font-weight:700;font-size:15px;line-height:1.3;color:var(--navy);}
.st-tab-stage{font-size:13px;color:var(--ink-soft);}
.st-meter{display:flex;gap:3px;margin-top:auto;padding-top:8px;}
.st-meter i{width:14px;height:4px;border-radius:2px;background:var(--line);}
.st-meter i.on{background:var(--accent);}
.st-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;margin-top:12px;padding:26px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);}
.st-panel h3{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--navy);margin-top:6px;}
.st-when{margin-top:10px;line-height:1.6;color:var(--ink-soft);}
.st-when strong{color:var(--ink);}
.st-facts{margin:16px 0 0;display:grid;gap:10px;}
.st-facts div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;}
.st-facts dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding-top:3px;}
.st-facts dd{margin:0;color:var(--ink);line-height:1.5;}
.st-panel-side{display:grid;gap:18px;align-content:start;}
.st-ol,.st-ul{margin:8px 0 0;padding-left:20px;display:grid;gap:6px;line-height:1.5;color:var(--ink-soft);}
.st-full{margin:8px 0 12px;color:var(--ink-soft);line-height:1.5;}
.st-body{margin-top:16px;padding:32px;border-radius:var(--r-xl);background:var(--surface);border:1.5px solid var(--accent-line);animation:rise .3s cubic-bezier(.4,0,.2,1);}
.st-body .vs-step,.st-body .vs-agenda,.st-body .vs-survey{background:var(--paper);}
.st-body .vs-facts div{background:var(--paper);}
.st-intro{margin-bottom:20px;max-width:680px;}
.st-intro h2{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3vw,32px);color:var(--navy);margin-top:6px;letter-spacing:-.01em;}
.st-body .vs-phase{margin-top:44px;}
.st-pager{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);}
.st-pager .page-nav-btn{font-family:inherit;text-align:left;}
.st-pager .page-nav-next{text-align:right;}
@media(max-width:760px){.st-body{padding:20px 16px;}.st-pager{flex-direction:column;}.st-pager .page-nav-next{margin-left:0;}}
.vs-guide-head{margin-top:56px;padding-top:32px;border-top:1px solid var(--line);}
.vs-guide-head h2{font-family:var(--serif);font-weight:600;font-size:32px;color:var(--navy);margin-top:6px;}
.vs-guide-head p{margin:8px 0 20px;color:var(--ink-soft);line-height:1.6;}
@media(max-width:1180px){.st-tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}.st-panel{grid-template-columns:1fr;}}
@media(max-width:760px){.st-scale{display:none;}.st-tabs{grid-template-columns:1fr 1fr;}.st-panel{padding:20px;}}
.vs-survey{margin-top:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:24px;display:flex;flex-direction:column;gap:14px;}.vs-survey>*{margin:0;}.vs-survey-head{margin-bottom:6px;}
.vs-survey-head h3{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--navy);margin-top:6px;}
.vs-survey-head p{margin-top:6px;color:var(--ink-soft);line-height:1.6;}
.vs-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px;}
.vs-scale div{padding:12px;border-radius:var(--r);background:var(--surface-2);display:grid;align-content:start;gap:4px;font-size:13.5px;line-height:1.45;color:var(--ink-soft);}
.vs-scale strong{color:var(--navy);font-size:14px;}
.vs-sgroup{margin-top:22px;display:grid;gap:8px;}
.vs-sgroup-k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);}
.vs-q{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r);border:1px solid var(--line-soft);}
.vs-q-name{font-weight:600;color:var(--ink);}
.vs-q-p{font-size:14px;color:var(--ink-soft);margin-top:2px;line-height:1.5;}
.vs-q-opts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.vs-q-opts span{font-size:12px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;}
.vs-q-open{grid-template-columns:auto minmax(0,1fr);}
@media(max-width:1180px){.vs-scale{grid-template-columns:repeat(2,minmax(0,1fr));}.vs-q{grid-template-columns:auto minmax(0,1fr);}.vs-q-opts{grid-column:2;justify-content:flex-start;}}
.vs-promo{display:grid;gap:6px;padding:24px 26px;padding-right:60px;position:relative;border-radius:var(--r-lg);background:var(--navy);color:#fff;}
.vs-promo:hover{background:var(--navy-700);color:#fff;}
.vs-promo-k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9db4f0;}
.vs-promo-t{font-size:20px;font-weight:700;}
.vs-promo-d{color:#c9d6e6;line-height:1.5;}
.vs-promo svg{position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#9db4f0;}
@media(max-width:1180px){.vs-facts{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.vs-row{grid-template-columns:1fr;gap:6px;}.vs-time{display:flex;gap:10px;align-items:baseline;}}
@media print{.sidebar,.mobile-bar,.topbar,.site-foot,.page-nav,.vs-jump,.fw-links{display:none !important;}.content{height:auto;overflow:visible;}.app{display:block;}.vs-step,.vs-row{break-inside:avoid;}}
/* Framework value */
.fv{margin-top:40px;padding:32px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);}
.fv-premise{font-family:var(--serif);font-size:clamp(20px,2.4vw,24px);line-height:1.45;color:var(--ink);max-width:760px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line);text-wrap:pretty;}
.fv-head{max-width:680px;}
.fv-title{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3vw,30px);line-height:1.2;color:var(--navy);letter-spacing:-.01em;}
.fv-lede{margin-top:10px;font-size:17px;line-height:1.6;color:var(--ink-soft);text-wrap:pretty;}
.fv-grid{display:grid;margin-top:24px;border-top:1px solid var(--line);}
.fv-item{display:grid;grid-template-columns:44px minmax(180px,240px) minmax(0,1fr);gap:8px 20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line-soft);}
.fv-item:last-child{border-bottom:none;padding-bottom:4px;}
.fv-n{font-family:var(--mono);font-size:12px;color:var(--accent-ink);}
.fv-item h3{font-size:18px;font-weight:700;color:var(--navy);}
.fv-item p{line-height:1.6;color:var(--ink-soft);text-wrap:pretty;}
.page-narrow .fv,.page-read .fv{margin-top:28px;padding:26px;}
@media(max-width:1180px){.fv-item{grid-template-columns:44px minmax(0,1fr);}.fv-item p{grid-column:2;}}
@media(max-width:760px){.fv{padding:24px 20px;}.fv-item{grid-template-columns:32px minmax(0,1fr);}}
/* Visioning explainer */
.vx{margin-top:40px;display:grid;gap:16px;}
.page-read .vx{margin-top:8px;margin-bottom:28px;}
.vx-head{max-width:680px;margin-bottom:2px;}
.vx-what,.vx-hied{padding:28px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);}
.vx-what .df-d{margin-top:10px;max-width:760px;}
.vx-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;}
.vx-link{position:relative;display:grid;gap:4px;align-content:start;padding:16px;border-radius:var(--r);background:var(--surface-2);font-size:14.5px;line-height:1.45;color:var(--ink-soft);}
.vx-link strong{font-size:18px;color:var(--navy);}
.vx-link.is-on{background:var(--navy);}
.vx-link.is-on strong{color:#fff;}
.vx-link.is-on span{color:#c9d6e6;}
.vx-link.is-on .vx-role{color:#9db4f0;}
.vx-role{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-ink);}
.vx-hied{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;}
.vx-hied-main .df-d{margin-top:10px;}
.vx-traits{margin:16px 0 0;padding-left:18px;display:grid;gap:6px;line-height:1.5;color:var(--ink-soft);}
.vx-sample{padding:20px;border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid var(--accent-line);}
.vx-sample blockquote{margin:10px 0 0;font-family:var(--serif);font-size:19px;line-height:1.5;color:var(--navy);text-wrap:pretty;}
.vx-ex-k{margin-top:20px;}
.vx-ex{margin:10px 0 0;display:grid;gap:8px;}
.vx-ex div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding-top:8px;border-top:1px solid var(--accent-line);font-size:14.5px;line-height:1.45;}
.vx-ex dt{font-weight:700;color:var(--navy);}
.vx-ex dd{margin:0;color:var(--ink-soft);}
.vx-note{margin-top:12px;font-size:13px;color:var(--ink-soft);font-style:italic;}
.vx-cta{display:flex;flex-wrap:wrap;gap:10px;}
.page-read .vx-hied{grid-template-columns:1fr;}
@media(max-width:1180px){.vx-hied{grid-template-columns:1fr;}}
@media(max-width:760px){.vx-what,.vx-hied{padding:22px 18px;}.vx-chain{grid-template-columns:1fr;}.vx-ex div{grid-template-columns:1fr;gap:2px;}}
/* VFS diagram */
.vfs{margin:24px 0 0;display:grid;gap:10px;}
.vfs-top{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2.2fr) minmax(170px,1.15fr);gap:10px;align-items:stretch;}
.vfs-node{display:grid;gap:4px;align-content:center;padding:18px;border-radius:var(--r-lg);font-size:14px;line-height:1.45;}
.vfs-node strong{font-size:20px;}
.vfs-today{background:var(--surface-2);color:var(--ink-soft);border:1.5px dashed var(--ink-faint);}
.vfs-today strong{color:var(--navy);}
.vfs-vision{background:var(--navy);color:#c9d6e6;}
.vfs-vision strong{color:#fff;}
.vfs-vision .vx-role{color:#9db4f0;}
.vfs-route{display:grid;gap:10px;align-content:center;padding:16px 18px;border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid var(--accent-line);}
.vfs-route-label{display:flex;align-items:baseline;gap:10px;}
.vfs-route-label strong{font-size:18px;color:var(--navy);}
.vfs-arrow{position:relative;display:flex;justify-content:space-around;align-items:center;height:14px;}
.vfs-arrow::before{content:"";position:absolute;left:0;right:12px;top:50%;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--ink-faint),var(--accent));transform:translateY(-50%);}
.vfs-arrow::after{content:"";position:absolute;right:0;top:50%;border:7px solid transparent;border-left:12px solid var(--accent);border-right:0;transform:translateY(-50%);}
.vfs-arrow i{position:relative;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);}
.vfs-route-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.vfs-route-steps span{text-align:center;font-size:12.5px;font-weight:600;color:var(--accent-ink);padding:5px 4px;border-radius:999px;background:var(--surface);}
.vfs-fw{padding:16px 18px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);display:grid;gap:12px;}
.vfs-fw-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:14px;color:var(--ink-soft);}
.vfs-fw-head strong{font-size:18px;color:var(--navy);}
.vfs-pillars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;}
.vfs-p{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:96px;padding:10px 8px;border-radius:8px 8px 3px 3px;border-top:4px solid;background:var(--surface-2);}
.vfs-pn{font-family:var(--mono);font-size:12px;font-weight:700;}
.vfs-pt{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--ink);}
.vfs-gov{--pc:var(--c-gov);}.vfs-ena{--pc:var(--c-ena);}.vfs-cap{--pc:var(--c-cap);}
.vfs-p{border-top-color:var(--pc);}
.vfs-p .vfs-pn{color:var(--pc);}
.vfs-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--ink-soft);}
.vfs-legend span{display:inline-flex;align-items:center;gap:6px;}
.vfs-legend i{width:10px;height:10px;border-radius:3px;background:var(--pc);}
.vfs-base{padding:12px 18px;border-radius:var(--r);background:var(--navy);color:#e6edf4;font-size:13.5px;font-weight:600;text-align:center;letter-spacing:.01em;}
.vfs-caption{font-size:14px;line-height:1.55;color:var(--ink-soft);margin-top:4px;text-wrap:pretty;}
.page-read .vfs-top{grid-template-columns:1fr;}
.page-read .vfs-pillars{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1180px){.vfs-top{grid-template-columns:1fr;}.vfs-pillars{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:760px){.vfs-pillars{grid-template-columns:repeat(2,minmax(0,1fr));}.vfs-p{min-height:0;flex-direction:row;align-items:center;justify-content:flex-start;}.vfs-route-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
.vfs1{margin:24px 0 0;}
.vfs1-scroll{overflow-x:auto;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);padding:16px;}
.vfs1 svg{display:block;width:100%;max-width:820px;min-width:600px;margin:0 auto;height:auto;font-family:var(--ui);}
.vfs1 .t-role{font-family:var(--mono);font-size:12px;letter-spacing:.06em;fill:var(--ink-soft);}
.vfs1 .t-node{font-family:var(--serif);font-weight:600;font-size:24px;}
.vfs1 .t-sub{font-size:13.5px;fill:var(--ink-soft);}
.vfs1 .t-step{font-size:13px;font-weight:600;fill:var(--accent-ink);}
.vfs1 .t-pn{font-family:var(--mono);font-size:16px;font-weight:700;}
.vfs1 .t-pt{font-size:13px;font-weight:600;fill:var(--ink);}
.vfs1 .t-fw{font-size:13.5px;font-weight:700;fill:var(--navy);}
.vfs1 .t-fw-k{font-family:var(--mono);font-size:12px;font-weight:400;fill:var(--accent-ink);}
.vfs1 .t-base{font-size:13.5px;font-weight:600;fill:#e6edf4;}
.vfs1 .vfs-caption{margin-top:10px;}
.vfs1 svg.vfs1-tall{display:none;min-width:0;max-width:420px;}
@media(max-width:640px){.vfs1-scroll{padding:10px;overflow:visible;}.vfs1 svg.vfs1-wide{display:none;}.vfs1 svg.vfs1-tall{display:block;}}
/* Simple diagram */
.vs0{margin:24px 0 0;display:grid;gap:8px;}
.vs0-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:8px;}
.vs0-node,.vs0-route{display:grid;gap:2px;align-content:center;padding:16px 18px;border-radius:var(--r-lg);}
.vs0-node strong,.vs0-route strong{font-family:var(--serif);font-weight:600;font-size:22px;}
.vs0-today{background:var(--surface-2);border:1.5px dashed var(--ink-faint);}
.vs0-today strong{color:var(--navy);}
.vs0-vision{background:var(--navy);}
.vs0-vision strong{color:#fff;}.vs0-vision .vx-role{color:#9db4f0;}
.vs0-route{position:relative;background:var(--accent-soft);border:1px solid var(--accent-line);text-align:center;}
.vs0-route strong{color:var(--navy);}
.vs0-arrow{position:relative;height:12px;margin:6px 8px 0;}
.vs0-arrow::before{content:"";position:absolute;left:0;right:10px;top:50%;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--ink-faint),var(--accent));transform:translateY(-50%);}
.vs0-arrow::after{content:"";position:absolute;right:0;top:50%;border:6px solid transparent;border-left:11px solid var(--accent);border-right:0;transform:translateY(-50%);}
.vs0-fw{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);}
.vs0-fw-k{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-size:14px;color:var(--ink-soft);}
.vs0-fw-k strong{font-size:18px;color:var(--navy);}
.vs0-pillars{display:flex;gap:6px;}
.vs0-pillars span{width:30px;height:40px;border-radius:6px 6px 2px 2px;border-top:4px solid var(--pc);background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--pc);}
.vs0-base{padding:10px 18px;border-radius:var(--r);background:var(--navy);color:#e6edf4;font-size:13.5px;font-weight:600;text-align:center;}
.vs0-cap{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-top:6px;font-size:15px;color:var(--ink-soft);}
@media(max-width:640px){.vs0-row{grid-template-columns:1fr 1fr;}.vs0-route{grid-column:1 / -1;order:2;}.vs0-vision{order:1;}.vs0-today{order:0;}.vs0-pillars span{width:28px;height:34px;}.vs0-cap .btn{width:100%;justify-content:center;}}
/* Modal */
body.modal-open{overflow:hidden;}
.vfm{position:fixed;inset:0;z-index:100;background:rgba(10,22,38,.55);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:32px 20px;overflow-y:auto;animation:fade .2s ease;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
.vfm-box{width:100%;max-width:980px;background:var(--paper);border-radius:var(--r-xl);padding:28px;box-shadow:0 24px 64px rgba(10,22,38,.3);outline:none;animation:rise .3s cubic-bezier(.4,0,.2,1);}
.vfm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.vfm-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(22px,3vw,30px);line-height:1.2;color:var(--navy);margin-top:6px;}
.vfm-x{flex-shrink:0;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);}
.vfm-x:hover{background:var(--surface-2);color:var(--ink);}
.vfm-box .vfs1{margin-top:18px;}
.vfm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;}
.vfm-grid section{padding:20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);}
.vfm-grid h3{font-size:18px;font-weight:700;color:var(--navy);margin-top:4px;}
.vfm-grid p{margin-top:6px;line-height:1.55;color:var(--ink-soft);font-size:15px;}
.vfm-gap{margin-top:18px;}
.vfm-wide{grid-column:1 / -1;}
.vfm-dl{margin:10px 0 0;display:grid;gap:8px;}
.vfm-dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding-top:8px;border-top:1px solid var(--line-soft);font-size:15px;line-height:1.5;}
.vfm-dl dt{font-weight:700;color:var(--accent-ink);}
.vfm-dl dd{margin:0;color:var(--ink-soft);}
.vfm-pl{list-style:none;margin:12px 0 14px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;}
.vfm-pl li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--line-soft);}
.vfm-pn{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;background:var(--pc);}
.vfm-pl strong{display:block;font-size:15px;color:var(--ink);}
.vfm-pl span{font-size:14px;color:var(--ink-soft);line-height:1.45;}
.vfm-ctx{background:var(--navy) !important;border-color:var(--navy) !important;}
.vfm-ctx h3{color:#fff;}.vfm-ctx p{color:#c9d6e6;}.vfm-ctx .vx-role{color:#9db4f0;}
.vfm-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px;}
@media(max-width:760px){.vfm{padding:0;}.vfm-box{border-radius:0;min-height:100%;padding:20px 16px;}.vfm-grid{grid-template-columns:1fr;}.vfm-pl{grid-template-columns:1fr;}}
/* Visioning methods */
.vm{margin:8px 0 32px;}
.vm-filter{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.vm-chip{font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);transition:border-color .15s,background .15s;}
.vm-chip:hover{border-color:var(--accent-line);}
.vm-chip.is-on{background:var(--navy);border-color:var(--navy);color:#fff;}
.vm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin-top:16px;}
.vm-card{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);}
.vm-card h3{font-size:18px;font-weight:700;color:var(--navy);}
.vm-full{font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--accent-ink);margin-top:-4px;}
.vm-card p{line-height:1.55;color:var(--ink-soft);font-size:15px;text-wrap:pretty;}
.vm-use strong{color:var(--ink);}
.vm-types{display:flex;flex-wrap:wrap;gap:6px;}
.vm-types span{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600;}
.vm-src{margin-top:auto;padding-top:10px;border-top:1px solid var(--line-soft);font-size:12.5px;line-height:1.45;color:var(--ink-soft);}
.vm-src:hover{color:var(--accent-ink);text-decoration:underline;}
/* Define strategy */
.df{margin-top:40px;}
.df-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;}
.df-card{padding:28px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;}
.df-d{font-family:var(--serif);font-size:19px;line-height:1.55;color:var(--ink);text-wrap:pretty;}
.df-parts{display:grid;gap:10px;margin-top:auto;padding-top:6px;}
.df-parts div{display:grid;grid-template-columns:28px 90px minmax(0,1fr);gap:10px;align-items:baseline;padding-top:10px;border-top:1px solid var(--line-soft);font-size:14.5px;color:var(--ink-soft);line-height:1.45;}
.df-parts strong{color:var(--navy);}
.df-src{font-size:13px;color:var(--ink-soft);display:flex;gap:4px;flex-wrap:wrap;align-items:baseline;margin-top:-6px;}
.df-src a{font-family:var(--mono);font-size:12px;}.df-src a:hover{text-decoration:underline;}
.df-card-dark .df-src{color:#b8c7da;}
.df-card-dark .df-src a{color:#9db4f0;}
.df-refs{margin-top:14px;padding:14px 18px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);}
.df-refs summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--navy);}
.df-refs ol{margin:12px 0 0;padding-left:22px;display:grid;gap:10px;font-size:14px;line-height:1.5;}
.df-refs li em{display:block;font-style:normal;color:var(--ink-soft);font-size:13.5px;}
.df-refs li span{color:var(--ink);}
.df-refs-note{margin-top:12px;font-size:13px;color:var(--ink-soft);}
.df-card-dark{background:var(--navy);border-color:var(--navy);}
.df-card-dark .vs-phase-k{color:#9db4f0;}
.df-card-dark .df-d{color:#fff;}
.df-isnt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto;}
.df-isnt>div{padding:14px;border-radius:var(--r);background:rgba(255,255,255,.07);}
.df-isnt .ap-list-k{color:#9db4f0;}
.df-isnt>div:last-child .ap-list-k{color:#f0b89f;}
.df-isnt ul{margin:8px 0 0;padding-left:16px;display:grid;gap:4px;font-size:14px;line-height:1.45;color:#d6e0ec;}
@media(max-width:1180px){.df-grid{grid-template-columns:1fr;}}
@media(max-width:760px){.df-card{padding:22px 20px;}.df-isnt{grid-template-columns:1fr;}.df-parts div{grid-template-columns:28px minmax(0,1fr);}.df-parts div span:last-child{grid-column:2;}}
/* Approach */
.ap{margin-top:40px;padding:32px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);}
.ap-head{max-width:680px;}
.ap-line{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:28px;}
.ap-line::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,var(--ink-faint),var(--accent));transform:translateY(-50%);}
.ap-dot{position:relative;justify-self:start;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:5px 12px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);color:var(--ink-soft);}
.ap-dot-1{background:var(--navy);border-color:var(--navy);color:#fff;}
.ap-dot-2{border-color:var(--warm);color:var(--warm-ink);}
.ap-dot-3{background:var(--accent);border-color:var(--accent);color:#fff;}
.ap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:18px;}
.ap-step{display:flex;flex-direction:column;gap:8px;}
.ap-step h3{font-size:19px;font-weight:700;color:var(--navy);}
.ap-step p{line-height:1.6;color:var(--ink-soft);text-wrap:pretty;}
.ap-lists{display:grid;grid-template-columns:1fr;gap:10px;margin-top:6px;}
.ap-list{padding:12px 14px;border-radius:var(--r);background:var(--surface-2);}
.ap-list-k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--navy);}
.ap-list ul{margin:8px 0 0;padding-left:16px;display:grid;gap:4px;font-size:14px;line-height:1.45;color:var(--ink-soft);}
.ap-list:last-child .ap-list-k{color:var(--warm-ink);}
.ap-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-size:14px;font-weight:600;}
@media(max-width:1180px){.ap-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}.ap-link{margin-top:4px;}.ap-line{display:none;}}
@media(max-width:760px){.ap{padding:24px 20px;}.ap-grid{grid-template-columns:1fr;}}
/* Footer */
.site-foot{margin-top:72px;padding-top:28px;border-top:1px solid var(--line);display:grid;gap:12px;font-size:14px;color:var(--ink-soft);}
.site-foot-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--navy);}
.site-foot-links{display:flex;flex-wrap:wrap;gap:20px;}
.prerender{max-width:760px;margin:0 auto;padding:48px 24px;font-family:var(--serif);line-height:1.6;}
/* Responsive */
@media(max-width:1080px){.content-inner{padding:20px 32px 40px;}.hero{padding:48px 36px;}}
@media(max-width:760px){
.app{flex-direction:column;}
.mobile-bar{display:flex;position:sticky;top:0;z-index:30;align-items:center;gap:14px;height:58px;padding:0 16px;background:var(--navy);color:#fff;}
.sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;width:min(86vw,320px);z-index:50;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);}
.sidebar.is-open{transform:translateX(0);}
.sidebar-close{display:flex;}
.content{height:auto;overflow-y:visible;}
.topbar{padding:14px 18px 0;justify-content:flex-start;}
.content-inner{padding:12px 18px 40px;}
.hero{padding:36px 24px;}
.pg-row{grid-template-columns:auto minmax(0,1fr);}
.pg-status,.pg-fw{grid-column:2;}
.page-nav{flex-direction:column;}
.page-nav-next{margin-left:0;}
}

/* Divisions */
.dv-sec{margin:56px 0;}
.dv-sec .fv-lede{margin-bottom:20px;}
.dv-sec .fv-title{margin-bottom:8px;}
.dv-cascade{margin:32px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh-sm);}
.dv-top{background:var(--navy);color:#fff;border-radius:var(--r);padding:20px 22px;text-align:center;}
.dv-top strong{display:block;font-size:22px;margin-top:4px;}
.dv-role-inv{color:#9db4f0;}
.dv-outs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px;}
.dv-outs span{font-size:13px;font-weight:600;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:5px 12px;border-radius:999px;}
.dv-link{width:2px;height:22px;background:var(--accent-line);margin:0 auto;}
.dv-mid{text-align:center;}
.dv-mid .vx-role{display:block;margin-bottom:10px;}
.dv-divs{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;}
.dv-div{display:flex;align-items:center;justify-content:center;min-height:56px;padding:10px;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--navy);text-align:center;line-height:1.25;}
.dv-div:hover{border-color:var(--accent);color:var(--navy);}
.dv-div-more{background:transparent;border:1.5px dashed var(--ink-faint);color:var(--ink-soft);}
.dv-base{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--surface-2);border-radius:var(--r);padding:16px 20px;}
.dv-base strong{display:block;font-size:17px;color:var(--navy);margin-top:2px;}
.dv-base-d{display:block;font-size:14px;color:var(--ink-soft);margin-top:2px;}
.dv-pl{display:flex;gap:6px;}
.dv-pl span{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;}
.dv-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px;}
.dv-rule{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;}
.dv-rule-n{font-family:var(--mono);font-size:13px;color:var(--accent-ink);}
.dv-rule h3{font-size:18px;color:var(--navy);margin:6px 0 6px;}
.dv-rule p{font-size:15px;line-height:1.55;color:var(--ink-soft);text-wrap:pretty;}
.dv-gridwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);}
.dv-grid{border-collapse:collapse;width:100%;min-width:780px;font-size:14px;line-height:1.45;}
.dv-grid th,.dv-grid td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);}
.dv-grid th:last-child,.dv-grid td:last-child{border-right:0;}
.dv-grid thead th{background:var(--surface-2);font-weight:400;}
.dv-grid thead th strong{display:block;font-size:14px;color:var(--navy);}
.dv-grid thead th span{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:3px;}
.dv-corner{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);vertical-align:bottom!important;}
.dv-grid tbody th{font-weight:700;color:var(--navy);width:150px;}
.dv-grid td.is-lead{background:var(--accent-soft);}
.dv-lead{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);margin-bottom:3px;}
.dv-grid td.is-gap{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--line-soft) 6px 7px);}
.dv-gapt{font-size:13px;color:var(--ink-soft);font-style:italic;}
.dv-more-row th,.dv-more-row td{border-bottom:0;color:var(--ink-soft);font-style:italic;}
.dv-more-row th{color:var(--ink-soft)!important;font-style:normal;}
.dv-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;font-size:13px;color:var(--ink-soft);}
.dv-legend span{display:flex;align-items:center;gap:7px;}
.dv-legend i{width:14px;height:14px;border-radius:3px;border:1px solid var(--line);}
.dv-lg-lead{background:var(--accent-soft);border-color:var(--accent-line)!important;}
.dv-lg-con{background:var(--surface);}
.dv-lg-gap{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--line) 3px 4px);}
.dv-ex-top{background:var(--navy);color:#fff;border-radius:var(--r) var(--r) 0 0;padding:18px 22px;}
.dv-ex-top .vx-role{color:#9db4f0;}
.dv-ex-top p{font-family:var(--serif);font-size:20px;line-height:1.4;margin-top:6px;}
.dv-ex{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);overflow:hidden;}
.dv-ex-card{background:var(--surface);padding:20px;}
.dv-ex-card h3{font-size:16px;color:var(--navy);margin-bottom:12px;}
.dv-ex-card dl{margin:0;display:grid;gap:12px;}
.dv-ex-card dt,.dv-k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);}
.dv-ex-card dd{margin:3px 0 0;font-size:14.5px;line-height:1.5;text-wrap:pretty;}
.dv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.dv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;scroll-margin-top:24px;}
.dv-card h3{font-size:18px;color:var(--navy);}
.dv-scope{font-size:14px;color:var(--ink-soft);line-height:1.5;margin:4px 0 14px;}
.dv-k{margin:14px 0 6px;}
.dv-card ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.5;display:grid;gap:3px;}
.dv-cp{display:grid;gap:6px;}
.dv-cp a{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink);}
.dv-cp a:hover{color:var(--accent-ink);}
.dv-cp span{width:22px;height:22px;flex-shrink:0;border-radius:5px;display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700;color:#fff;}
.dv-card-more{background:transparent;border:1.5px dashed var(--ink-faint);}
.dv-chips{display:flex;flex-wrap:wrap;gap:6px;}
.dv-chips span{font-size:13px;padding:5px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);}
.dv-brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.dv-bf{display:flex;gap:12px;background:var(--surface);padding:16px 18px;}
.dv-bf-n{font-family:var(--mono);font-size:12px;color:var(--accent-ink);padding-top:2px;}
.dv-bf strong{display:block;font-size:15px;color:var(--navy);}
.dv-bf span:not(.dv-bf-n){display:block;font-size:14px;color:var(--ink-soft);line-height:1.5;margin-top:2px;}
@media (max-width:760px){.dv-cascade{padding:18px;}.dv-base{flex-direction:column;align-items:flex-start;}}

.dv-amb{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"y g" ". x" "c c";gap:10px 12px;}
.dv-amb-y{grid-area:y;display:grid;grid-template-rows:1fr 1fr;gap:10px;width:112px;}
.dv-amb-y span,.dv-amb-x span{font-size:12.5px;color:var(--ink-soft);line-height:1.35;}
.dv-amb-y span{display:flex;flex-direction:column;justify-content:center;text-align:right;border-right:2px solid var(--accent-line);padding-right:12px;}
.dv-amb-y strong,.dv-amb-x strong{display:block;font-size:13.5px;color:var(--navy);}
.dv-amb-x{grid-area:x;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dv-amb-x span{text-align:center;border-top:2px solid var(--accent-line);padding-top:8px;}
.dv-amb-grid{grid-area:g;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dv-q{border-radius:var(--r);padding:18px;border:1px solid var(--line);background:var(--surface);}
.dv-q-ig,.dv-q-eg{background:var(--navy);border-color:var(--navy);color:#fff;}
.dv-q-k{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);}
.dv-q-ig .dv-q-k,.dv-q-eg .dv-q-k{color:#9db4f0;}
.dv-q-d{font-size:15px;font-weight:600;margin:4px 0 12px;}
.dv-q ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.dv-q li{font-size:14px;line-height:1.4;}
.dv-q li span{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);}
.dv-q-ig li span,.dv-q-eg li span{color:#c9d6e6;}
.dv-amb-cap{grid-area:c;font-size:13px;color:var(--ink-soft);}
.dv-amb-notes{margin:20px 0 0;padding-left:18px;display:grid;gap:8px;font-size:15px;line-height:1.55;text-wrap:pretty;}
.dv-src{display:grid;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);}
.dv-src .dv-k{margin:0;}
.dv-src a{display:block;font-size:14px;}
.dv-src a strong{font-weight:600;}
.dv-src a span{display:block;font-size:13px;color:var(--ink-soft);}
@media (max-width:620px){.dv-amb{grid-template-columns:minmax(0,1fr);grid-template-areas:"g" "c";}.dv-amb-y,.dv-amb-x{display:none;}.dv-amb-grid{grid-template-columns:minmax(0,1fr);}}

/* Visioning: three-part arc */
.vs-arc{margin:32px 0 48px;}
.vs-arc .fv-title{margin-bottom:8px;}
.vs-arc-list{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
@media (max-width:640px){.vs-arc-list{grid-template-columns:minmax(0,1fr);}}
.vs-arc-step a{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:22px 22px 24px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r);color:var(--ink);transition:border-color .15s,box-shadow .15s;}
.vs-arc-step:nth-child(2) a{border-top-color:var(--navy);background:var(--navy);color:#fff;}
.vs-arc-step:nth-child(3) a{border-top-color:var(--c-ena);}
.vs-arc-step a:hover{box-shadow:var(--sh);color:inherit;}
.vs-arc-n{font-family:var(--mono);font-size:28px;font-weight:700;line-height:1;color:var(--accent-ink);}
.vs-arc-step:nth-child(2) .vs-arc-n{color:#9db4f0;}
.vs-arc-step:nth-child(3) .vs-arc-n{color:var(--c-ena);}
.vs-arc-k{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-top:6px;}
.vs-arc-step:nth-child(2) .vs-arc-k{color:#c9d6e6;}
.vs-arc-step strong{font-size:19px;color:var(--navy);}
.vs-arc-step:nth-child(2) strong{color:#fff;}
.vs-arc-d{font-size:14.5px;line-height:1.55;color:var(--ink-soft);text-wrap:pretty;}
.vs-arc-step:nth-child(2) .vs-arc-d{color:#dbe4f0;}
.vs-arc-note{margin-top:12px;font-size:14px;color:var(--ink-soft);}

/* Pillars + Compass pair */
.cp{margin:40px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;}
.cp-head h2{font-size:21px;color:var(--navy);margin-top:4px;}
.cp-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;}
.cp-col{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:var(--surface-2);}
.cp-col-c{background:var(--navy);border-color:var(--navy);color:#fff;}
.cp-k{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);}
.cp-col-c .cp-k{color:#9db4f0;}
.cp-col h3{font-size:17px;margin:6px 0;color:var(--navy);}
.cp-col-c h3{color:#fff;}
.cp-col p{font-size:14.5px;line-height:1.5;color:var(--ink-soft);text-wrap:pretty;}
.cp-col-c p{color:#dbe4f0;}
.cp-pl{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;}
.cp-pl span{width:24px;height:24px;border-radius:5px;display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700;color:#fff;}
.cp-pl .vfs-gov{background:var(--c-gov);}.cp-pl .vfs-ena{background:var(--c-ena);}.cp-pl .vfs-cap{background:var(--c-cap);}
.cp-ln{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;}
.cp-ln span{font-size:12.5px;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:#fff;}
.cp-note{margin-top:16px;font-size:15px;line-height:1.55;text-wrap:pretty;}
.cp-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;}
.cp-links a{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600;}
.vs-phase .cp{margin:28px 0 0;}
@media (max-width:640px){.cp-cols{grid-template-columns:minmax(0,1fr);}.cp{padding:18px;}}

/* Qualitative survey fields */
.vs-q-qual{grid-column:2/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.vs-field{display:grid;gap:4px;}
.vs-field-k{font-size:12.5px;font-weight:600;color:var(--navy);}
.vs-field-box{display:block;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font-size:13px;color:var(--ink-faint);line-height:1.4;}
.vs-field-lg{min-height:64px;margin-top:8px;}
.vs-q-open{align-items:start;}
.vs-synth{margin-top:22px;padding:16px 18px;border-radius:var(--r);background:var(--accent-soft);border:1px solid var(--accent-line);display:grid;gap:6px;}
.vs-synth p{font-size:14.5px;line-height:1.55;color:var(--ink);text-wrap:pretty;}
@media (max-width:640px){.vs-q-qual{grid-column:1/-1;grid-template-columns:minmax(0,1fr);}}

.vs-part{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);}
.vs-part-head{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:baseline;}
.vs-part-n{grid-row:span 2;font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--navy);padding:4px 9px;border-radius:6px;align-self:start;}
.vs-part-head h4{margin:0;font-size:18px;color:var(--navy);}
.vs-part-head p{font-size:14.5px;color:var(--ink-soft);margin-top:2px;}
.vs-part .vs-scale{margin-top:14px;}
.vs-part > .vs-sgroup:first-of-type{margin-top:14px;}
.vs-n-c{background:var(--navy)!important;color:#fff!important;display:grid;place-items:center;}

/* Assessment */
.as-page{max-width:880px;}
.as-modes{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 22px;border-bottom:1px solid var(--line);}
.as-modes button{font:inherit;font-size:14.5px;font-weight:600;background:none;border:0;border-bottom:2px solid transparent;padding:8px 4px;margin-right:14px;color:var(--ink-soft);cursor:pointer;}
.as-modes button.is-on{color:var(--navy);border-bottom-color:var(--navy);}
.as-progress{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;}
.as-progress button{font:inherit;font-family:var(--mono);font-size:12px;font-weight:700;min-width:36px;height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;}
.as-progress button.is-done{background:var(--surface-2);color:var(--navy);border-color:var(--navy);}
.as-progress button.is-cur{background:var(--navy);color:#fff;border-color:var(--navy);}
.as-count{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin:10px 0 18px;}
.as-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;}
.as-step-head{display:flex;gap:14px;align-items:center;margin-bottom:8px;}
.as-step-head h2,.as-h{font-size:24px;color:var(--navy);margin:2px 0 0;}
.as-pn{width:42px;height:42px;flex:none;border-radius:10px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:17px;color:#fff;}
.as-pn.vfs-gov{background:var(--c-gov);}.as-pn.vfs-ena{background:var(--c-ena);}.as-pn.vfs-cap{background:var(--c-cap);}
.as-pn-c{background:var(--navy);}
.as-fam{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);}
.as-intro{font-size:15.5px;line-height:1.55;color:var(--ink-soft);margin:10px 0 0;text-wrap:pretty;max-width:68ch;}
.as-meta{font-size:13px;color:var(--ink-soft);}
.as-area{margin-top:22px;}
.as-area-t{font-size:17px;color:var(--navy);margin:0 0 4px;padding-top:18px;border-top:1px solid var(--line);}
.as-dim{margin-top:14px;}
.as-dim-k{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-bottom:4px;}
.as-dim-k strong{font-size:13px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--navy);}
.as-dim-k span{font-size:13.5px;color:var(--ink-soft);}
.as-q{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}
.as-q-t{margin:0;font-size:15px;line-height:1.45;text-wrap:pretty;}
.as-choice{display:flex;gap:4px;}
.as-opt{position:relative;cursor:pointer;}
.as-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.as-opt span{display:grid;place-items:center;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink-soft);background:var(--surface);white-space:nowrap;}
.as-opt:hover span{border-color:var(--navy);}
.as-opt input:focus-visible + span{outline:2px solid var(--navy);outline-offset:2px;}
.as-opt.is-on span{background:var(--navy);border-color:var(--navy);color:#fff;}
.as-opt.is-unsure.is-on span{background:var(--surface-2);color:var(--navy);border-style:dashed;}
.as-qual-wrap{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);}
.as-qual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px;}
.as-qual-1{grid-template-columns:minmax(0,1fr);}
.as-field{display:flex;flex-direction:column;gap:6px;}
.as-field-k{font-size:14px;font-weight:600;color:var(--navy);}
.as-field textarea,.as-field input{font:inherit;font-size:15px;line-height:1.45;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:inherit;resize:vertical;}
.as-field textarea:focus,.as-field input:focus{outline:2px solid var(--navy);outline-offset:1px;background:var(--surface);}
.as-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;}
.as-tiers div{border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink-soft);}
.as-tiers strong{color:var(--navy);font-size:15px;}
.as-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px;}
.as-nav .btn{cursor:pointer;}
.as-res-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start;}
.as-res-top h2{font-size:30px;color:var(--navy);margin:4px 0 0;}
.as-actions{display:flex;flex-wrap:wrap;gap:8px;}
.as-actions .btn{cursor:pointer;}
.as-legend{display:flex;flex-wrap:wrap;gap:18px;margin:22px 0 6px;font-size:13px;color:var(--ink-soft);}
.as-legend span{display:flex;align-items:center;gap:6px;}
.as-legend i{display:inline-block;width:14px;height:8px;border-radius:2px;}
.as-res-list{display:flex;flex-direction:column;}
.as-res-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) 130px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);}
.as-res-name{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:600;color:var(--navy);}
.as-res-n{font-family:var(--mono);font-size:12px;width:22px;flex:none;color:var(--ink-soft);}
.as-res-bars{display:flex;flex-direction:column;gap:4px;}
.as-bar{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;align-items:center;}
.as-bar::before{content:"";grid-area:1/1;height:8px;border-radius:4px;background:var(--surface-2);}
.as-bar-f{grid-area:1/1;height:8px;border-radius:4px;}
.as-bar span{font-family:var(--mono);font-size:12px;color:var(--ink-soft);}
.is-r{background:var(--navy);}.is-m{background:var(--c-cap);}.is-c{background:var(--c-ena);}
.as-res-tier{display:flex;flex-direction:column;gap:2px;align-items:flex-start;}
.as-tier{font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--navy);color:var(--navy);}
.as-tier-established{background:var(--navy);color:#fff;}
.as-tier-nascent{border-style:dashed;}
.as-res-sec{margin-top:30px;}
.as-res-sec h3{font-size:18px;color:var(--navy);margin:0 0 8px;}
.as-gaps{padding-left:20px;margin:0 0 8px;display:flex;flex-direction:column;gap:8px;font-size:15px;}
.as-gaps p{margin:4px 0 0;color:var(--ink-soft);font-family:var(--serif, inherit);}
.as-written{display:flex;flex-direction:column;gap:12px;}
.as-w{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--surface-2);}
.as-w-k{font-weight:700;color:var(--navy);font-size:14.5px;margin-bottom:4px;}
.as-w p{margin:6px 0 0;font-size:14.5px;line-height:1.5;}
.as-w p span{font-weight:600;color:var(--ink-soft);}
.as-next{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding-top:18px;border-top:1px solid var(--line);font-size:14.5px;font-weight:600;}
.as-link{font:inherit;background:none;border:0;padding:0;color:var(--ink-soft);text-decoration:underline;cursor:pointer;}
.as-changes{margin:16px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.5;}
.as-guide{display:flex;flex-direction:column;gap:14px;}
.as-g-p{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;break-inside:avoid-page;}
.as-g-p h2{font-size:19px;color:var(--navy);margin:0;display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;}
.as-g-a h3{font-size:15.5px;margin:16px 0 0;color:var(--navy);}
.as-g-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.as-g-k{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);margin-top:10px;}
.as-g-p ol{margin:6px 0 0;padding-left:20px;font-size:14.5px;line-height:1.5;display:flex;flex-direction:column;gap:4px;}
.as-g-w{margin:12px 0 0;font-size:13.5px;color:var(--ink-soft);}
@media (max-width:720px){.as-q{grid-template-columns:minmax(0,1fr);}.as-choice{flex-wrap:wrap;}.as-qual,.as-tiers,.as-g-cols{grid-template-columns:minmax(0,1fr);}.as-res-row{grid-template-columns:minmax(0,1fr);gap:6px;}.as-step{padding:18px;}}
@media print{.sidebar,.mobile-bar,.topbar,.as-modes,.as-progress,.as-count,.as-nav,.as-actions,.as-next{display:none!important;}.content{overflow:visible!important;height:auto!important;}.as-step,.as-g-p{border:0;padding:0;}}

/* Assessment popup + micro-site */
.ax-pop{position:fixed;inset:0;z-index:1000;background:rgba(15,28,51,.55);display:flex;padding:24px;animation:axIn .18s ease-out;}
.ax-pop iframe{flex:1;width:100%;height:100%;border:0;border-radius:14px;background:var(--paper);box-shadow:0 24px 60px rgba(0,0,0,.35);}
@keyframes axIn{from{opacity:0}to{opacity:1}}
@media (max-width:720px){.ax-pop{padding:0;}.ax-pop iframe{border-radius:0;}}
body:has(.ax){overflow:hidden;}
.ax{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--paper);}
.ax-top{flex:none;display:flex;align-items:center;gap:20px;padding:0 20px;height:64px;background:var(--surface);border-bottom:1px solid var(--line);}
.ax-brand{display:flex;align-items:center;gap:10px;min-width:0;}
.ax-brand div{display:flex;flex-direction:column;line-height:1.15;}
.ax-brand-k{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);}
.ax-brand-t{font-size:15.5px;font-weight:700;color:var(--navy);}
.ax-modes{display:flex;gap:4px;margin-left:auto;}
.ax-modes button{font:inherit;font-size:14px;font-weight:600;background:none;border:0;padding:8px 12px;border-radius:8px;color:var(--ink-soft);cursor:pointer;}
.ax-modes button:hover{background:var(--surface-2);}
.ax-modes button.is-on{background:var(--surface-2);color:var(--navy);}
.ax-close{font:inherit;font-size:14px;font-weight:600;display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--navy);cursor:pointer;}
.ax-close:hover{border-color:var(--navy);}
.ax-body{flex:1;min-height:0;display:grid;grid-template-columns:290px minmax(0,1fr);}
.ax-rail{border-right:1px solid var(--line);background:var(--surface);overflow-y:auto;padding:20px 14px;}
.ax-prog{padding:0 8px 16px;border-bottom:1px solid var(--line);margin-bottom:10px;}
.ax-prog-k{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:6px;}
.ax-prog-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin-bottom:6px;}
.ax-prog-bar div{height:100%;background:var(--navy);transition:width .25s;}
.ax-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.ax-fam{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);padding:12px 8px 4px;}
.ax-steps button{font:inherit;width:100%;display:flex;align-items:center;gap:10px;padding:8px;border:0;border-radius:8px;background:none;text-align:left;color:var(--ink);cursor:pointer;font-size:14px;line-height:1.3;}
.ax-steps button:hover{background:var(--surface-2);}
.ax-steps button.is-cur{background:var(--navy);color:#fff;}
.ax-sn{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-family:var(--mono);font-size:11.5px;font-weight:700;background:var(--surface-2);color:var(--navy);}
.ax-sn.vfs-gov{background:var(--c-gov);color:#fff;}.ax-sn.vfs-ena{background:var(--c-ena);color:#fff;}.ax-sn.vfs-cap{background:var(--c-cap);color:#fff;}
.ax-steps button.is-done:not(.is-cur) .ax-sl::after{content:" ✓";color:var(--accent-ink);font-weight:700;}
.ax-steps button.is-cur .ax-sn{box-shadow:0 0 0 2px #fff;}
.ax-main{overflow-y:auto;}
.ax-inner{max-width:900px;margin:0 auto;padding:32px 32px 60px;}
.ax-h1{font-size:34px;line-height:1.15;color:var(--navy);margin:6px 0 4px;text-wrap:balance;}
.ax .as-step{padding:32px;}
@media (max-width:900px){.ax-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);}.ax-rail{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px;overflow-x:auto;overflow-y:hidden;}.ax-prog{display:none;}.ax-steps{flex-direction:row;}.ax-fam{display:none;}.ax-sl{display:none;}.ax-steps button{padding:6px;}.ax-steps li:last-child .ax-sl{display:inline;}.ax-inner{padding:20px 16px 48px;}.ax .as-step{padding:20px;}}
@media (max-width:640px){.ax-brand div{display:none;}.ax-top{gap:8px;padding:0 12px;}.ax-modes button{padding:8px;font-size:13px;}}
@media print{.ax{position:static;}.ax-top,.ax-rail,.as-nav,.as-actions,.as-next{display:none!important;}.ax-body{display:block;}.ax-main{overflow:visible;}body:has(.ax){overflow:visible;}}

.as-levels{grid-template-columns:repeat(4,minmax(0,1fr));}
.as-res-h{font-size:18px;color:var(--navy);margin:26px 0 4px;}
.ax .as-q{grid-template-columns:minmax(0,1fr);gap:8px;}
.ax .as-choice{flex-wrap:wrap;}
@media (max-width:720px){.as-levels{grid-template-columns:repeat(2,minmax(0,1fr));}}

.as-opt span b{font-weight:600;}
.as-opt span small{display:block;font-size:11.5px;font-weight:500;line-height:1.2;opacity:.8;}
.as-opt:has(small) span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;padding:7px 8px;white-space:normal;text-align:center;}
.as-opt span b{white-space:nowrap;}
.ax .as-choice .as-opt{display:flex;}
.ax .as-choice .as-opt span{flex:1;}
.ax .as-choice{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
.ax .as-choice:not(:has(small)){display:flex;}
@media (max-width:720px){.ax .as-choice{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Guides */
.gd{display:flex;flex-direction:column;gap:44px;margin:36px 0;}
.gd-sec .fv-lede{margin-top:6px;}
.gd-steps{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;}
.gd-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--line);}
.gd-n{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:700;}
.gd-steps h3{font-size:16.5px;color:var(--navy);margin-bottom:3px;}
.gd-steps p,.gd-card p{font-size:15px;line-height:1.55;color:var(--ink-soft);text-wrap:pretty;}
.gd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:16px;}
.gd-cards-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.gd-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;}
.gd-card h3{font-size:16px;color:var(--navy);margin:4px 0 6px;}
.gd-call{background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:24px 26px;}
.gd-call .vx-role{color:#9db4f0;}
.gd-call h3{font-size:20px;margin:4px 0 8px;}
.gd-call p{color:#dbe4f0;font-size:15.5px;line-height:1.55;max-width:64ch;text-wrap:pretty;}
.gd-call-a{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:#fff;font-weight:600;font-size:14.5px;border-bottom:1px solid rgba(255,255,255,.4);}
.gd-call-a:hover{color:#fff;border-color:#fff;}
.gd-tw{overflow-x:auto;margin-top:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);}
.gd-t{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.45;}
.gd-t th,.gd-t td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);}
.gd-t thead th{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);background:var(--surface-2);}
.gd-t tbody th{color:var(--navy);font-weight:600;}
.gd-t tr:last-child th,.gd-t tr:last-child td{border-bottom:0;}
.gd-note{font-size:13px;color:var(--ink-soft);margin-top:8px;}
.vs-promo .vs-promo-d{color:#dbe4f0;}
/* Home path + roles */
.sp{margin:8px 0 48px;}
.sp-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.sp-list a{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink);}
.sp-list a:hover{border-color:var(--navy);color:var(--ink);}
.sp-n{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent-ink);}
.sp-list strong{font-size:17px;color:var(--navy);}
.sp-list a span:last-child{font-size:14px;line-height:1.45;color:var(--ink-soft);}
.rg{margin:0 0 56px;}
.rg-list{margin-top:14px;border-top:1px solid var(--line);}
.rg-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 20px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center;}
.rg-row strong{display:block;font-size:15.5px;color:var(--navy);}
.rg-row span{font-size:14px;color:var(--ink-soft);}
.rg-links{display:flex;flex-wrap:wrap;gap:8px 18px;}
.rg-links a{display:inline-flex;align-items:center;gap:5px;font-size:14.5px;font-weight:600;}
@media (max-width:640px){.gd-cards-2,.rg-row{grid-template-columns:minmax(0,1fr);}}
/* Example */
.ex-flow{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:8px 0 30px;}
.ex-flow a{display:flex;align-items:center;gap:7px;padding:7px 13px 7px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--navy);}
.ex-flow a span{width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:11px;}
.ex-stages{display:flex;flex-direction:column;}
.ex-stage{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;}
.ex-rail{display:flex;flex-direction:column;align-items:center;}
.ex-rail::after{content:"";flex:1;width:2px;background:var(--line);margin-top:6px;}
.ex-stage:last-child .ex-rail::after{display:none;}
.ex-n{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-weight:700;}
.ex-body{padding-bottom:36px;min-width:0;}
.ex-body h2{font-size:22px;color:var(--navy);margin:4px 0 8px;}
.ex-body > p{font-size:15.5px;line-height:1.6;color:var(--ink-soft);max-width:68ch;text-wrap:pretty;}
.ex-quote{margin:16px 0 0;padding:16px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--navy);}
.ex-link{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-size:14.5px;font-weight:600;}
/* Templates */
.tpl-list{display:flex;flex-direction:column;gap:18px;margin-top:20px;}
.tpl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;}
.tpl-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start;}
.tpl-head h2{font-size:20px;color:var(--navy);}
.tpl-head p{font-size:15px;color:var(--ink-soft);margin-top:3px;}
.tpl-actions{display:flex;gap:8px;}
.tpl-sheet{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;}
@media (max-width:640px){.tpl-sheet{grid-template-columns:minmax(0,1fr);}}
@media print{body.tpl-printing .sidebar,body.tpl-printing .mobile-bar,body.tpl-printing .topbar,body.tpl-printing .page-head,body.tpl-printing .tpl:not(.is-print),body.tpl-printing .tpl-actions,body.tpl-printing footer,body.tpl-printing .site-footer{display:none!important;}body.tpl-printing .content{height:auto;overflow:visible;}body.tpl-printing .tpl{border:0;padding:0;}body.tpl-printing .tpl-rules i{height:34px;}body.tpl-printing .tpl-table td{height:34px;}body.tpl-printing .tpl-sheet{grid-template-columns:1fr 1fr;}}
/* Glossary + changelog */
.gl{margin:24px 0 0;display:flex;flex-direction:column;}
.gl div{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:6px 24px;padding:14px 0;border-bottom:1px solid var(--line);}
.gl dt{font-weight:700;color:var(--navy);}
.gl dd{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink-soft);}
@media (max-width:640px){.gl div{grid-template-columns:minmax(0,1fr);}}
.cl{margin-top:40px;}
.cl ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;}
.cl li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line);}
.cl li span{font-family:var(--mono);font-size:12px;color:var(--ink-soft);padding-top:3px;}
.cl li p{font-size:15px;line-height:1.55;}
/* Assessment additions */
.as-first{color:var(--ink)!important;font-family:inherit!important;}
.as-first span{font-weight:600;color:var(--navy);}
.as-fwl{display:inline-block;margin-top:4px;font-size:13.5px;font-weight:600;}
.as-print-cover{display:none;}
@media print{.as-print-cover{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:16px;}}
.cb-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:18px;padding:28px;border:2px dashed var(--line);border-radius:var(--r-lg);background:var(--surface-2);text-align:center;color:var(--navy);cursor:pointer;}
.cb-drop:hover{border-color:var(--navy);}
.cb-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.cb-drop span{font-size:13.5px;color:var(--ink-soft);}
.cb-err{color:var(--warm-ink);font-size:14px;margin-top:8px;}
.cb-actions{margin-top:16px;align-items:center;}
.cb-range{position:relative;height:10px;border-radius:5px;background:var(--surface-2);}
.cb-range i{position:absolute;top:0;bottom:0;border-radius:5px;background:var(--accent-line);}
.cb-range b{position:absolute;top:-3px;width:4px;height:16px;margin-left:-2px;border-radius:2px;background:var(--navy);}
.cb-flag{font-size:12px;font-weight:700;color:var(--warm-ink);}
.cb-legend{margin-top:8px;}
.cb-heat td,.cb-heat th{text-align:center;white-space:nowrap;}
.cb-heat tbody th{text-align:left;}
.cb-c{font-family:var(--mono);font-size:13px;}
.cb-nascent{background:var(--warm-soft);}.cb-emerging{background:var(--accent-soft);}.cb-established{background:var(--navy);color:#fff;}
.cb-w summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;}
.cb-w summary::-webkit-details-marker{display:none;}
.cb-w p em{color:var(--ink-soft);font-style:normal;font-size:13px;}
.cb-people{list-style:none;margin:0;padding:0;}
.cb-people li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
@media (max-width:900px){.ax-steps button.is-cur .ax-sl{display:inline;white-space:nowrap;}}
@media (max-width:640px){.ax-modes{overflow-x:auto;}.ax-modes button{white-space:nowrap;}}

.ctxn{margin:0 0 40px;padding:18px 22px;border-radius:var(--r);background:var(--warm-soft);border:1px solid var(--warm-line);}
.ctxn-k{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--warm-ink);margin-bottom:6px;}
.ctxn p{font-size:15px;line-height:1.6;color:var(--ink);text-wrap:pretty;max-width:78ch;}
.ctxn-c{margin:20px 0 32px;padding:14px 18px;}
.ctxn-c p{font-size:14.5px;}

.ax-resume{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0 6px;padding:14px 16px;border-radius:var(--r);background:var(--accent-soft);border:1px solid var(--accent-line);font-size:14.5px;color:var(--navy);}
.ax-resume span{flex:1 1 200px;}

.as-pd{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--navy);margin:12px 0 0;max-width:62ch;text-wrap:pretty;}
.as-g-d{font-size:14.5px;color:var(--ink-soft);margin:4px 0 0;}
.pg-gd{font-size:14.5px;color:var(--ink-soft);margin:-4px 0 10px;}
.pg-name{display:flex;flex-direction:column;gap:2px;}
.pg-d{font-size:14px;font-weight:400;color:var(--ink-soft);line-height:1.45;}

.pdf-link{display:flex;align-items:flex-start;gap:12px;margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--navy);}
.pdf-link:hover{border-color:var(--navy);color:var(--navy);}
.pdf-link svg{flex:none;margin-top:2px;}
.pdf-link span{display:flex;flex-direction:column;gap:2px;}
.pdf-link strong{font-size:15px;}
.pdf-link em{font-style:normal;font-size:13.5px;color:var(--ink-soft);}

.term{font:inherit;color:inherit;padding:0;background:none;border:0;border-bottom:2px dotted var(--accent);cursor:pointer;line-height:inherit;text-align:inherit;}
.term:hover{border-bottom-style:solid;}
.hero .term{border-bottom-color:#9db4f0;}
.hero .term:hover{color:#fff;border-bottom-color:#fff;}
.term:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px;}
.tm{position:fixed;inset:0;z-index:900;background:rgba(15,28,51,.5);display:grid;place-items:center;padding:20px;animation:axIn .15s ease-out;}
.tm-box{width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--surface);border-radius:var(--r-lg);padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.3);outline:none;}
.tm-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.tm-head h2{font-size:24px;color:var(--navy);margin-top:4px;}
.tm-d{font-size:15.5px;line-height:1.55;color:var(--ink);margin-top:12px;text-wrap:pretty;}
.tm-list{margin:14px 0 0;display:flex;flex-direction:column;}
.tm-list div{padding:10px 0;border-top:1px solid var(--line);}
.tm-list dt{font-weight:700;color:var(--navy);font-size:15px;}
.tm-list dd{margin:2px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-soft);}
.tm-fam{margin-top:16px;}
.tm-fam-k{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.tm-fam-k i{width:10px;height:10px;border-radius:3px;display:inline-block;}
.tm-fam-k span{font-family:var(--ui);text-transform:none;letter-spacing:0;font-weight:400;font-size:13.5px;color:var(--ink-soft);}
.tm-fam-k.vfs-gov{color:var(--c-gov);}.tm-fam-k.vfs-gov i{background:var(--c-gov);}
.tm-fam-k.vfs-ena{color:var(--c-ena);}.tm-fam-k.vfs-ena i{background:var(--c-ena);}
.tm-fam-k.vfs-cap{color:var(--c-cap);}.tm-fam-k.vfs-cap i{background:var(--c-cap);}
.tm-pl{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.tm-pl li{display:flex;gap:10px;align-items:flex-start;}
.tm-pl strong{display:block;font-size:14.5px;color:var(--navy);}
.tm-pl li span:not(.tm-pn){font-size:13.5px;line-height:1.45;color:var(--ink-soft);}
.tm-pn{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-family:var(--mono);font-size:11.5px;font-weight:700;color:#fff;}
.tm-pn.vfs-gov{background:var(--c-gov);}.tm-pn.vfs-ena{background:var(--c-ena);}.tm-pn.vfs-cap{background:var(--c-cap);}
.tm-ln span{color:var(--navy);border-color:var(--accent-line);background:var(--accent-soft);}
.tm-foot{margin-top:20px;display:flex;justify-content:flex-end;}

.tm-sub{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);margin-top:18px;}
.tm-ln{margin-top:8px;}
.tm-flow{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;counter-reset:none;}
.tm-flow li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);}
.tm-fn{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--accent-ink);}
.tm-flow strong{font-size:14.5px;color:var(--navy);}
.tm-flow li span:last-child{font-size:13px;line-height:1.4;color:var(--ink-soft);}

.dv-items li strong{display:block;color:var(--navy);font-weight:600;margin-bottom:2px;}.dv-items li{line-height:1.5;margin-bottom:8px;}.dv-first{margin-top:14px;padding:14px 16px;border-radius:var(--r-md,10px);background:var(--accent-soft,var(--surface-2));}.dv-first .dv-k{margin-top:0;}.dv-first p{margin:4px 0 0;line-height:1.5;color:var(--ink);}

.vx-no{display:block;margin-top:4px;color:var(--ink);}.vx-no b{font-weight:700;color:var(--navy);}
.vx-passes{padding:24px 28px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);}
.vx-passes ol{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;}
.vx-passes li{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--r-md,10px);border:1px solid var(--line);background:var(--bg,#fff);}
.vx-passes li.is-mid{background:var(--accent-soft);border-color:var(--accent-line);}
.vx-passes strong{display:block;color:var(--navy);margin:2px 0 4px;}.vx-passes p{margin:0;font-size:14.5px;line-height:1.45;color:var(--ink-soft);}
.vx-pn{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:13px;font-weight:700;}
@media(max-width:760px){.vx-passes{padding:20px 18px;}}
.page-read .prose ul{padding-left:20px;line-height:1.6;}

.vs0-sub{display:block;font-size:13.5px;font-weight:600;line-height:1.35;margin-top:4px;color:#dbe4f0;}
.vx-local{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--accent-line);font-size:14.5px;line-height:1.5;color:var(--ink);}
.vc{margin-top:32px;padding:28px;border-radius:var(--r-lg);border:1.5px solid var(--accent-line);background:var(--surface);display:flex;flex-direction:column;gap:12px;align-items:flex-start;scroll-margin-top:80px;}.vc>*{margin:0;}.vc .vs-steps{width:100%;}
@media(max-width:760px){.vc{padding:22px 18px;}}

.vc-shape{width:100%;padding:18px 20px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent-line);}.vc-shape>p{margin:4px 0 10px;color:var(--ink-soft);font-size:14.5px;}
.vc-shape dl{margin:0 0 12px;display:grid;gap:6px;}.vc-shape dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding-top:6px;border-top:1px solid var(--accent-line);font-size:14.5px;}.vc-shape dt{font-weight:700;color:var(--navy);}.vc-shape dd{margin:0;color:var(--ink);}
@media(max-width:760px){.vc-shape dl div{grid-template-columns:1fr;gap:2px;}}
.df-cross{margin:14px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-soft);text-wrap:pretty;}

.vc-blank{width:100%;padding:20px;border-radius:12px;background:#fff;border:1.5px dashed var(--accent-line);}
.vc-blank-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px;}.vc-blank-head h3{margin:4px 0;color:var(--navy);}.vc-blank-head p{margin:0;color:var(--ink-soft);font-size:14.5px;}
@media print{body.vc-printing *{visibility:hidden!important;}body.vc-printing .vc-blank,body.vc-printing .vc-blank *{visibility:visible!important;}body.vc-printing .vc-blank{position:absolute;left:0;top:0;border:0;}body.vc-printing .tpl-actions{display:none;}}
.vs0-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12.5px;line-height:1.4;color:var(--ink-soft);}.vs0-legend span{display:flex;gap:6px;align-items:baseline;}.vs0-legend i{flex:none;width:9px;height:9px;border-radius:2px;display:inline-block;}
.vs0-legend i.vfs-gov{background:var(--c-gov);}.vs0-legend i.vfs-ena{background:var(--c-ena);}.vs0-legend i.vfs-cap{background:var(--c-cap);}

.hx{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}.hx>div{padding:22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);}.hx p,.hx ul{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--ink);text-wrap:pretty;}.hx ul{padding-left:18px;}.hx li{margin-bottom:4px;}

/* Templates v2 */
.tpl-index{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;}
.tpl-index a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:600;color:var(--navy);}
.tpl-index a:hover{border-color:var(--accent-line);background:var(--accent-soft);}
.tpl-index a span,.tpl-step{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);}
.tpl{scroll-margin-top:80px;}.tpl-step{margin-bottom:4px;}
.tpl-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}.tpl-meta span{font-size:12.5px;padding:3px 10px;border-radius:999px;background:var(--surface-2,#eef1f5);color:var(--ink-soft);}
.tpl-sheet{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);gap:18px 28px;}
.tpl-s.is-wide{grid-column:1/-1;}
.tpl-s h3{font-size:12.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin:0 0 6px;}
.tpl-hint{margin:0 0 8px;font-size:13.5px;line-height:1.45;color:var(--ink-soft);font-style:italic;}
.tpl-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:end;font-size:14px;color:var(--ink-soft);margin-bottom:4px;}
.tpl-line:not(:has(span)){grid-template-columns:minmax(0,1fr);}
.tpl-rules{display:flex;flex-direction:column;}.tpl-rules i{display:block;height:28px;border-bottom:1px solid var(--line);}
.tpl-check{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--ink);}
.tpl-check li{display:flex;align-items:center;gap:8px;}.tpl-check i{flex:none;width:14px;height:14px;border:1.5px solid var(--ink-soft);border-radius:3px;}
.tpl-tw{overflow-x:auto;}
.tpl-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.tpl-table th{text-align:left;padding:7px 9px;background:var(--accent-soft);color:var(--navy);font-weight:700;border:1px solid var(--accent-line);}
.tpl-table td{padding:7px 9px;height:30px;border:1px solid var(--line);color:var(--ink);vertical-align:top;}
@media print{.tpl-tw{overflow:visible;}.tpl-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}

/* Scale */
.sc{margin-top:48px;scroll-margin-top:80px;container:sc/inline-size;}
.sc-grid{margin-top:18px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);}
.sc-row{display:grid;grid-template-columns:minmax(150px,.8fr) repeat(3,minmax(0,1fr));}
.sc-row>*{padding:14px 16px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.45;color:var(--ink);}
.sc-row>*+*{border-left:1px solid var(--line);}
.sc-head>*{border-top:0;background:var(--accent-soft);display:flex;flex-direction:column;gap:2px;}
.sc-head strong{font-size:16px;color:var(--navy);}.sc-head span{font-size:13px;color:var(--ink-soft);}.sc-head em{font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--accent-ink);margin-top:4px;}
.sc-step{display:flex;flex-direction:column;gap:2px;font-weight:700;color:var(--navy);}
.sc-step span{font-family:var(--mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);}
.sc-step:hover{background:var(--accent-soft);}
.sc-const{margin-top:14px;padding:16px 20px;border-radius:var(--r-lg);background:var(--navy);color:#fff;}
.sc-const .ap-list-k{color:var(--accent-300,#9db4f0);}
.sc-const ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;}
.sc-const li{font-size:14.5px;display:flex;gap:8px;align-items:baseline;}.sc-const li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-300,#9db4f0);flex:none;transform:translateY(-2px);}
@container sc (max-width:720px){.sc-head{display:none;}.sc-row{grid-template-columns:minmax(0,1fr);}.sc-row>*+*{border-left:0;}.sc-step{background:var(--accent-soft);}}
.scs{container:scs/inline-size;margin-top:20px;padding:18px 20px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:10px;}
.scs-k{font-weight:700;color:var(--navy);font-size:14.5px;margin-bottom:6px;}
.scs-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}@container scs (max-width:520px){.scs-row{grid-template-columns:minmax(0,1fr);}}
.scs-row>div{padding:12px 14px;border-radius:10px;background:var(--accent-soft);}
.scs-row strong{font-size:13px;color:var(--navy);}.scs-row p{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--ink);}

.back-btn{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:8px;padding:11px 18px 11px 14px;border-radius:999px;border:0;background:var(--navy);color:#fff;font:600 15px/1 var(--ui);box-shadow:0 6px 20px rgba(15,23,42,.22);cursor:pointer;transition:background .15s,transform .15s;}
.back-btn svg{transform:rotate(180deg);}
.back-btn:hover{background:var(--accent);transform:translateY(-1px);}
.back-btn:focus-visible{outline:3px solid var(--accent-line);outline-offset:2px;}
body.nav-open .back-btn,body.modal-open .back-btn,body.tpl-printing .back-btn,body.vc-printing .back-btn{display:none;}
@media print{.back-btn{display:none;}}
@media(max-width:640px){.back-btn{right:16px;bottom:16px;padding:10px 14px 10px 12px;}}
.sc-lv{display:block;font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);margin-bottom:3px;}
.vs-q{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:15.5px;line-height:1.5;color:var(--ink);}.vs-q li::marker{font-weight:700;color:var(--navy);}
.vs-prior{font-size:14.5px;line-height:1.5;color:var(--ink-soft);font-style:italic;}
.vs-fw{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;border-radius:999px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:600;line-height:1.3;}
.vs-fw::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--accent-300,#9db4f0);flex:none;}
.vs-row-body .vs-fw{display:flex;width:fit-content;}
.vs-fw-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:4px 0 14px;font-size:14.5px;color:var(--ink-soft);}.vs-fw-note .vs-fw{margin-top:0;}
.vs-fw .term{border-bottom-color:#9db4f0;}.vs-fw .term:hover{border-bottom-color:#fff;}
.tm-sub-lg{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--navy);}
.ex-note{margin-top:12px;font-size:14.5px;line-height:1.5;color:var(--ink-soft);}.ex-body .gd-tw+.gd-tw{margin-top:14px;}
.hero-steps{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.hero-steps li{display:flex;align-items:center;gap:8px;}
.hero-steps a{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:14.5px;font-weight:600;}
.hero-steps a:hover{background:rgba(255,255,255,.16);color:#fff;}
.hero-steps span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-family:var(--mono);font-size:11.5px;font-weight:700;}
.hero-steps+.hero-actions{margin-top:24px;}
.nav-item-sub{padding-left:46px;font-size:14px;}
.nav-item>span:last-child{flex:1 1 auto;min-width:0;text-wrap:wrap;}
.vs0-sub-today{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;}.vs0-sub-today:hover{color:var(--navy);}
