/* ============================================================
   VALNOR — component styles (wedge, compare, timeline, hero, form)
   ============================================================ */

/* ---------- HOME HERO : two treatments ---------- */
.hero{ position:relative; color:#fff; overflow:hidden; }

/* Treatment A — immersive full-bleed */
.hero--immersive{ min-height:88vh; display:flex; align-items:center; padding-top:78px; }
.hero--immersive .hero-img{ position:absolute; inset:0; }
.hero--immersive .hero-img img{ width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.hero--immersive .hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,18,33,.94) 0%, rgba(8,18,33,.86) 30%, rgba(8,18,33,.5) 62%, rgba(8,18,33,.22) 100%),
    linear-gradient(0deg, rgba(8,18,33,.55) 0%, rgba(8,18,33,0) 50%);
}
.hero--immersive .hero-content{ position:relative; z-index:2; padding-block:clamp(40px,5vh,72px); margin-inline:auto; width:100%; }
@media (min-height:720px){ .hero--immersive .hero-content{ transform:translateY(-40px); } }
.hero--immersive .hero-content > *{ max-width:760px; }
.hero--immersive .hero-content h1{ max-width:none; }

/* Treatment B — editorial split */
.hero--split{ background:var(--navy); display:grid; grid-template-columns:1.05fr 0.95fr; min-height:100vh; }
.hero--split .hero-panel{ display:flex; align-items:center; padding:150px var(--gutter) 80px; position:relative; }
.hero--split .hero-panel-inner{ max-width:600px; margin-left:auto; padding-right:clamp(20px,3vw,56px); }
.hero--split .hero-figure{ position:relative; overflow:hidden; }
.hero--split .hero-figure img{ width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.hero--split .hero-figure::after{ content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(11,31,58,.55), rgba(11,31,58,0) 45%); }
.hero--split .hero-motif{ position:absolute; left:0; bottom:0; width:48%; opacity:.5; pointer-events:none; }
@media (max-width:900px){
  .hero--split{ grid-template-columns:1fr; min-height:auto; }
  .hero--split .hero-figure{ min-height:46vh; order:2; }
  .hero--split .hero-panel{ padding-top:130px; }
  .hero--split .hero-panel-inner{ margin-left:0; }
}

/* shared hero content typography */
.hero-eyebrow{ font-family:var(--sans); font-size:0.8rem; letter-spacing:0.26em; text-transform:uppercase; color:var(--gold-on-navy); font-weight:600; display:flex; align-items:center; gap:14px; margin-bottom:30px; }
.hero-eyebrow::before{ content:""; width:36px; height:1px; background:var(--gold-on-navy); }
.hero h1{ color:#fff; font-size:clamp(2.6rem,5.4vw,4.9rem); line-height:1.05; letter-spacing:-0.015em; }
.hero h1 .soft{ color:#aebbcb; display:block; margin-top:0.06em; }
.hero .hero-sub{ font-size:clamp(1.1rem,1.5vw,1.32rem); line-height:1.55; color:#c4cdd9; max-width:50ch; margin-top:30px; }
.hero .tagline-mark{ position:absolute; z-index:3; right:var(--gutter); bottom:42px; font-family:var(--sans); font-size:0.74rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,.55); }
@media (max-width:900px){ .hero .tagline-mark{ display:none; } }

/* toggle which hero shows */
.hero--split{ display:none; }
body.hero-b .hero--immersive{ display:none; }
body.hero-b .hero--split{ display:grid; }
@media (max-width:900px){ body.hero-b .hero--split{ display:flex; flex-direction:column; } }

/* ---------- WEDGE : two-column contrast ---------- */
.wedge{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid rgba(255,255,255,.14); }
@media (max-width:780px){ .wedge{ grid-template-columns:1fr; } }
.wedge-col{ padding:clamp(34px,3.6vw,54px); }
.wedge-col + .wedge-col{ border-left:1px solid rgba(255,255,255,.14); }
@media (max-width:780px){ .wedge-col + .wedge-col{ border-left:0; border-top:1px solid rgba(255,255,255,.14); } }
.wedge-col.is-them{ background:rgba(255,255,255,.015); }
.wedge-col.is-us{ background:linear-gradient(180deg, rgba(var(--gold-rgb),.10), rgba(var(--gold-rgb),.02)); position:relative; }
.wedge-col.is-us::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gold); }
.wedge-label{ font-family:var(--sans); font-size:0.76rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:600; margin-bottom:8px; }
.wedge-col.is-them .wedge-label{ color:var(--slate-light); }
.wedge-col.is-us .wedge-label{ color:var(--gold-on-navy); }
.wedge-col h3{ color:#fff; font-size:1.5rem; margin-bottom:26px; }
.wedge-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.wedge-list li{ display:flex; gap:14px; font-size:0.98rem; line-height:1.5; color:#c4cdd9; }
.wedge-list li .mk{ flex:none; width:18px; height:18px; margin-top:3px; }
.wedge-col.is-them .mk{ color:#5e6b7d; }
.wedge-col.is-us .mk{ color:var(--gold-on-navy); }
.wedge-col.is-us .wedge-list li{ color:#e4e9ef; }

/* ---------- COMPARE : 3-column table ---------- */
.compare{ width:100%; border-collapse:collapse; font-family:var(--sans); }
.compare th, .compare td{ text-align:left; padding:20px 24px; border-bottom:1px solid var(--line); vertical-align:top; font-size:0.96rem; }
.compare thead th{ font-family:var(--serif); font-size:1.15rem; font-weight:600; border-bottom:2px solid var(--navy); padding-top:0; }
.compare thead th .sub{ display:block; font-family:var(--sans); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--slate); font-weight:600; margin-top:6px; }
.compare .row-label{ font-weight:600; color:var(--navy); width:22%; }
.compare td{ color:var(--slate); }
.compare .col-us{ background:rgba(var(--gold-rgb),.06); color:var(--ink); position:relative; }
.compare thead .col-us{ background:rgba(var(--gold-rgb),.1); }
.compare thead .col-us{ border-bottom-color:var(--gold); }
.compare thead .col-us th, .compare th.col-us{ color:var(--navy); }
.compare .col-us strong{ color:var(--navy); }

/* --- interactive emphasis --- */
.compare tbody tr{ transition:opacity .3s ease, background .3s ease; }
.compare tbody td{ transition:background .3s ease, color .3s ease; }
/* spotlight: dim the rows you're not hovering */
.compare tbody:hover tr:not(:hover){ opacity:.4; }
.compare tbody tr:hover .row-label{ color:var(--gold); }
.compare tbody tr:hover .col-us{ background:rgba(var(--gold-rgb),.16); }
/* persistent winning column accent + check marks on Valnor cells */
.compare tbody .col-us{ box-shadow:inset 3px 0 0 rgba(var(--gold-rgb),.0); transition:box-shadow .3s ease, background .3s ease; }
.compare tbody tr:hover .col-us{ box-shadow:inset 3px 0 0 var(--gold); }
.compare tbody .col-us strong{ display:block; padding-left:26px; position:relative; }
.compare tbody .col-us strong::before{
  content:""; position:absolute; left:0; top:3px; width:16px; height:16px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a07f2b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5 11-12'/%3E%3C/svg%3E");
  transform:scale(.4); opacity:0; transition:transform .4s cubic-bezier(.2,.8,.3,1), opacity .3s ease;
}
.compare tbody tr.lit .col-us strong::before, .compare tbody tr:hover .col-us strong::before{ transform:scale(1); opacity:1; }
/* "Best fit" tag on the Valnor header */
.compare thead th.col-us .tag{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-family:var(--sans); font-size:0.62rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; color:#fff; background:var(--gold); padding:4px 10px; border-radius:30px; }
/* staggered build-in */
.compare tbody tr{ opacity:0; transform:translateY(14px); }
.compare.built tbody tr{ opacity:1; transform:none; transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.3,1); }
.compare.built tbody:hover tr:not(:hover){ opacity:.4; }
body.motion-off .compare tbody tr{ opacity:1 !important; transform:none !important; transition:none !important; }
body.motion-off .compare .col-us strong::before{ opacity:1; transform:scale(1); transition:none; }

@media (max-width:760px){
  .compare, .compare thead, .compare tbody, .compare th, .compare td, .compare tr{ display:block; }
  .compare thead{ display:none; }
  .compare tr{ border:1px solid var(--line); margin-bottom:18px; }
  .compare td{ border-bottom:1px solid var(--line); }
  .compare .row-label{ width:auto; background:var(--navy); color:#fff; }
  .compare tbody tr:hover .row-label{ color:#fff; }
  .compare tbody:hover tr:not(:hover){ opacity:1; }
  .compare td[data-col]::before{ content:attr(data-col); display:block; font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:6px; }
}

/* ---------- TIMELINE : mobilization ---------- */
.timeline{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; counter-reset:phase; }
@media (max-width:840px){ .timeline{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .timeline{ grid-template-columns:1fr; } }
.phase{ padding:34px 30px 38px; border-left:1px solid rgba(255,255,255,.14); position:relative; }
.phase:first-child{ border-left:0; }
@media (max-width:840px){ .phase:nth-child(odd){ border-left:0; } .phase{ border-top:1px solid rgba(255,255,255,.14); } }
.phase .ph-num{ font-family:var(--serif); font-size:0.95rem; color:var(--gold-on-navy); font-weight:600; }
.phase .ph-week{ font-family:var(--sans); font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:#8ea0b4; margin:14px 0 14px; display:block; }
.phase h3{ color:#fff; font-size:1.22rem; margin-bottom:12px; }
.phase p{ color:#9fb4c7; font-size:0.92rem; margin:0; }
.phase .ph-dot{ width:11px; height:11px; border:2px solid var(--gold-on-navy); border-radius:50%; position:absolute; top:34px; left:-6px; background:var(--navy); }
.phase:first-child .ph-dot{ left:0; }

/* roster grid */
.roster{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 60px; }
@media (max-width:680px){ .roster{ grid-template-columns:1fr; } }
.roster-row{ display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:15px 0; border-bottom:1px solid var(--line); }
.roster-row .r-role{ font-size:0.98rem; color:var(--ink); }
.roster-row .r-count{ font-family:var(--serif); font-size:1.3rem; font-weight:600; color:var(--navy); }

/* checklist */
.checklist{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.checklist li{ display:flex; gap:14px; align-items:flex-start; font-size:0.98rem; line-height:1.5; }
.checklist li .ck{ flex:none; width:20px; height:20px; color:var(--gold); margin-top:2px; }
.section--navy .checklist li .ck{ color:var(--gold-on-navy); }
.section--navy .checklist li{ color:#cfd7e1; }

/* ---------- FORM ---------- */
.form-wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(40px,6vw,90px); align-items:start; }
@media (max-width:880px){ .form-wrap{ grid-template-columns:1fr; gap:48px; } }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; }
.form-grid .full{ grid-column:1 / -1; }
@media (max-width:520px){ .form-grid{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:9px; }
.field label{ font-family:var(--sans); font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:600; color:var(--slate); }
.field label .req{ color:var(--gold); }
.field input, .field select, .field textarea{
  font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-radius:2px;
  padding:14px 16px; transition:border-color .2s, box-shadow .2s; width:100%;
}
.field textarea{ resize:vertical; min-height:130px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(11,31,58,.08); }
.form-note{ font-size:0.86rem; color:var(--slate); margin-top:6px; }
.form-success{ display:none; padding:26px; border:1px solid var(--gold); background:rgba(var(--gold-rgb),.06); border-radius:3px; }
.form-success.show{ display:block; }
.form-success h3{ color:var(--navy); margin-bottom:8px; }

/* aside reassurance card */
.scope-card{ border-left:2px solid var(--gold); padding-left:28px; }
.scope-card h2{ font-size:clamp(1.8rem,3vw,2.6rem); }
.contact-meta{ margin-top:34px; display:flex; flex-direction:column; gap:18px; }
.contact-meta .cm{ display:flex; gap:14px; align-items:flex-start; }
.contact-meta .cm svg{ width:20px; height:20px; color:var(--gold); flex:none; margin-top:3px; }
.contact-meta .cm .k{ font-size:0.74rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--slate); font-weight:600; }
.contact-meta .cm .v{ font-size:1rem; color:var(--ink); }

/* pull quote */
.pull{ font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.3; letter-spacing:-0.01em; color:var(--navy); font-weight:500; }
.section--navy .pull{ color:#fff; }
.pull .gold-word{ font-style:italic; }

/* two-up intro grid (heading left, body right) */
.intro-2up{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,80px); align-items:end; }
@media (max-width:840px){ .intro-2up{ grid-template-columns:1fr; gap:24px; align-items:start; } }

/* benefit list (what this means) */
.benefit{ display:grid; grid-template-columns:auto 1fr; gap:22px; padding:26px 0; border-bottom:1px solid var(--line); }
.benefit .b-icon{ width:42px; height:42px; color:var(--navy); }
.benefit .b-icon svg{ width:100%; height:100%; fill:none; stroke:var(--navy); stroke-width:1.4; }
.benefit h3{ font-size:1.2rem; margin-bottom:8px; }
.benefit p{ color:var(--slate); margin:0; }
.section--navy .benefit{ border-color:rgba(255,255,255,.12); }
.section--navy .benefit .b-icon{ color:var(--gold-on-navy); }
.section--navy .benefit .b-icon svg{ stroke:var(--gold-on-navy); }
.section--navy .benefit p{ color:#9fb4c7; }

/* ---------- WHY VALNOR — Five Pillars (expandable contrast) ---------- */
.pillars{ border-top:1px solid var(--line); }
.pillars .p-row{ border-bottom:1px solid var(--line); }
.pillars .p-head{ display:grid; grid-template-columns:64px 1fr auto; gap:22px; align-items:center; padding:24px 4px; cursor:pointer; transition:background .25s; width:100%; text-align:left; background:none; border:0; font:inherit; }
.pillars .p-head:hover{ background:rgba(var(--gold-rgb),.05); }
.pillars .p-idx{ font-family:var(--serif); font-size:1.5rem; font-weight:600; color:var(--gold); }
.pillars .p-ttl{ font-family:var(--serif); font-size:clamp(1.16rem,2vw,1.34rem); color:var(--navy); }
.pillars .p-pm{ width:30px; height:30px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none; transition:.3s; }
.pillars .p-pm svg{ width:15px; height:15px; stroke:var(--navy); fill:none; stroke-width:1.8; transition:transform .35s; }
.pillars .p-row.open .p-pm{ background:var(--navy); border-color:var(--navy); }
.pillars .p-row.open .p-pm svg{ stroke:#fff; transform:rotate(45deg); }
.pillars .p-panel{ max-height:0; overflow:hidden; transition:max-height .45s ease; }
.pillars .p-row.open .p-panel{ max-height:340px; }
.pillars .p-panel-in{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); margin:0 4px 26px 86px; border:1px solid var(--line); }
@media(max-width:680px){ .pillars .p-panel-in{ grid-template-columns:1fr; margin-left:4px; } .pillars .p-row.open .p-panel{ max-height:520px; } }
.pillars .p-cell{ padding:20px 22px; background:var(--offwhite); }
.pillars .p-cell.us{ background:rgba(var(--gold-rgb),.07); }
.pillars .p-cl{ font-family:var(--sans); font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.pillars .p-cell.them .p-cl{ color:var(--slate); }
.pillars .p-cell.us .p-cl{ color:var(--gold); }
.pillars .p-cl svg{ width:14px; height:14px; flex:none; }
.pillars .p-cell p{ margin:0; font-size:0.96rem; line-height:1.5; }
.pillars .p-cell.them p{ color:var(--slate); }
.pillars .p-cell.us p{ color:var(--ink); }
body.motion-off .pillars .p-panel{ transition:none; }

/* ---------- PROGRAM — closing CTA (navy band + next-steps) ---------- */
.prog-cta{ background:var(--navy-deep); color:#fff; text-align:center; position:relative; }
.prog-cta::before, .prog-cta::after{ content:""; position:absolute; left:0; right:0; height:1px; background:rgba(var(--gold-rgb),.5); }
.prog-cta::before{ top:0; } .prog-cta::after{ bottom:0; }
.prog-cta .lead-in{ font-family:var(--sans); font-size:0.74rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-on-navy); margin-bottom:16px; }
.prog-cta h2{ color:#fff; font-size:clamp(2rem,3.6vw,3.1rem); max-width:20ch; margin:0 auto; }
.prog-cta .steps{ display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin:30px 0; }
.prog-cta .steps .st{ display:flex; align-items:center; gap:10px; color:#c4cdd9; font-size:0.94rem; }
.prog-cta .steps .st .n{ width:25px; height:25px; border-radius:50%; border:1px solid var(--gold-on-navy); color:var(--gold-on-navy); font-size:0.76rem; display:flex; align-items:center; justify-content:center; font-weight:600; flex:none; }
.prog-cta .steps .arr{ color:#5e6b7e; }
@media(max-width:620px){ .prog-cta .steps .arr{ display:none; } .prog-cta .steps{ flex-direction:column; align-items:center; gap:12px; } }

/* ---------- PROGRAM EXPLORER (interactive scope of work) ---------- */
.prog-explorer .pe-sample{ display:inline-flex; align-items:center; gap:12px; margin-top:18px; font-family:var(--sans); font-size:0.78rem; letter-spacing:0.06em; color:var(--slate); background:#fff; border:1px solid var(--line); border-radius:40px; padding:9px 18px; }
.prog-explorer .pe-sample b{ color:var(--navy); font-weight:600; }
.prog-explorer .pe-sample .pin{ width:8px; height:8px; border-radius:50%; background:var(--gold); flex:none; }
.pe-summary{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:clamp(26px,3.2vw,40px) 0; }
@media(max-width:760px){ .pe-summary{ grid-template-columns:1fr 1fr; } }
.pe-sum{ background:var(--offwhite); padding:18px 20px; }
.pe-sum .k{ font-family:var(--serif); font-size:1.05rem; color:var(--navy); line-height:1.2; }
.pe-sum .l{ font-family:var(--sans); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--slate); margin-top:6px; }

.pe-grid{ display:grid; grid-template-columns:300px 1fr; gap:clamp(18px,2.4vw,30px); align-items:stretch; }
@media(max-width:820px){ .pe-grid{ grid-template-columns:1fr; } }
.pe-rail{ display:flex; flex-direction:column; gap:10px; justify-content:space-between; }
@media(max-width:820px){ .pe-rail{ flex-direction:row; overflow-x:auto; gap:8px; padding-bottom:8px; justify-content:flex-start; } }
.pe-tab{ display:flex; align-items:center; gap:13px; text-align:left; font:inherit; cursor:pointer; background:#fff; border:1px solid var(--line); border-radius:4px; padding:13px 15px; color:var(--navy); transition:background .2s,border-color .2s,color .2s; }
@media(max-width:820px){ .pe-tab{ white-space:nowrap; flex:0 0 auto; } }
.pe-tab:hover{ border-color:rgba(var(--gold-rgb),.55); }
.pe-tab .ti{ width:22px; height:22px; flex:none; color:var(--gold); }
.pe-tab .ti svg{ width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.5; }
.pe-tab .tl{ font-family:var(--sans); font-size:0.9rem; font-weight:500; line-height:1.2; }
.pe-tab.active{ background:var(--navy); border-color:var(--navy); color:#fff; }
.pe-tab.active .ti{ color:var(--gold-on-navy); }

.pe-panel{ background:var(--navy); border-radius:6px; padding:clamp(28px,3.4vw,46px); min-height:380px; position:relative; }
.pe-view{ display:none; }
.pe-view.show{ display:block; }
.pe-view.show.anim{ animation:peIn .45s ease; }
@keyframes peIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
body.motion-off .pe-view.show.anim{ animation:none; }
.pe-view .vhead{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:10px; }
.pe-view .vnum{ font-family:var(--sans); font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-on-navy); font-weight:600; }
.pe-view .vchip{ font-family:var(--sans); font-size:0.64rem; letter-spacing:0.1em; text-transform:uppercase; color:#c4cdd9; border:1px solid rgba(var(--gold-rgb),.42); border-radius:30px; padding:5px 12px; white-space:nowrap; }
.pe-view h3{ color:#fff; font-size:clamp(1.4rem,2.3vw,1.85rem); margin-bottom:13px; }
.pe-view .vlead{ color:#c4cdd9; font-size:1rem; line-height:1.6; max-width:62ch; margin-bottom:24px; }
.pe-items{ display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; margin:0; padding:0; }
@media(max-width:560px){ .pe-items{ grid-template-columns:1fr; } }
.pe-items li{ list-style:none; display:grid; grid-template-columns:18px 1fr; gap:11px; color:#d6deea; font-size:0.94rem; line-height:1.46; }
.pe-items svg{ width:17px; height:17px; stroke:var(--gold-on-navy); fill:none; stroke-width:1.9; margin-top:2px; }
.pe-note{ margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); color:#9fb4c7; font-size:0.88rem; }
.pe-fte{ display:flex; align-items:baseline; gap:13px; margin-bottom:18px; }
.pe-fte .big{ font-family:var(--serif); font-size:2.4rem; color:#fff; font-weight:600; line-height:1; }
.pe-fte .lab{ font-family:var(--sans); font-size:0.74rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-on-navy); font-weight:600; }
.pe-roster{ display:grid; grid-template-columns:1fr 1fr; gap:0 34px; }
@media(max-width:560px){ .pe-roster{ grid-template-columns:1fr; } }
.pe-roster .rr{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.pe-roster .rr .role{ color:#d6deea; font-size:0.92rem; }
.pe-roster .rr .ct{ font-family:var(--serif); color:var(--gold-on-navy); font-weight:600; font-size:1.08rem; }

/* ---------- V-monogram section separator ---------- */
.v-sep{ display:flex; align-items:center; justify-content:center; gap:clamp(16px,3vw,32px); padding:clamp(10px,1.6vw,18px) var(--gutter); background:linear-gradient(180deg, var(--offwhite) 50%, #ECE4D3 50%); }
.v-sep .vd-line{ height:1px; flex:1; max-width:min(42vw,520px); }
.v-sep .vd-line.l{ background:linear-gradient(90deg, transparent, rgba(var(--gold-rgb),.55) 85%); }
.v-sep .vd-line.r{ background:linear-gradient(90deg, rgba(var(--gold-rgb),.55) 15%, transparent); }
.v-sep .vd-mark{ width:48px; height:48px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px -10px rgba(11,42,82,.5); position:relative; flex:none; }
.v-sep .vd-mark::after{ content:""; position:absolute; inset:-4px; border-radius:50%; border:1px solid rgba(var(--gold-rgb),.34); }
.v-sep .vd-mark svg{ width:25px; height:25px; }

/* ---------- PROGRAM — Mobilization Track (interactive phase slider) ---------- */
.mob-track{ background:var(--offwhite); border-top:1px solid var(--line); }
.mt-stepper{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:8px 0 36px; position:relative; }
.mt-progress{ position:absolute; top:7px; left:6%; right:6%; height:2px; background:var(--line); z-index:0; }
.mt-progress-fill{ position:absolute; inset:0 auto 0 0; width:0; background:var(--gold); transition:width .55s cubic-bezier(.5,.05,.2,1); }
.mt-step{ position:relative; z-index:1; background:none; border:0; cursor:pointer; padding:0 10px; text-align:center; font:inherit; display:flex; flex-direction:column; align-items:center; gap:12px; }
.mt-step .mt-dot{ width:16px; height:16px; border-radius:50%; background:var(--offwhite); border:2px solid var(--line); transition:.35s; }
.mt-step .mt-wk{ font-family:var(--sans); font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; color:var(--slate-light); transition:color .3s; }
.mt-step.done .mt-dot{ border-color:var(--gold); background:var(--gold); }
.mt-step.active .mt-dot{ border-color:var(--gold); background:var(--navy); box-shadow:0 0 0 5px rgba(var(--gold-rgb),.18); }
.mt-step.active .mt-wk{ color:var(--navy); }
@media(max-width:560px){ .mt-step .mt-wk{ font-size:0.62rem; } }

.mt-viewport{ overflow:hidden; }
.mt-rail{ display:flex; will-change:transform; transition:transform .55s cubic-bezier(.4,0,.15,1); }
.mt-card{ flex:0 0 100%; display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(28px,4vw,64px); align-items:center; padding:clamp(30px,3.5vw,48px); background:var(--navy); color:#fff; border-radius:5px; }
@media(max-width:720px){ .mt-card{ grid-template-columns:1fr; gap:22px; padding:30px 26px; } }
.mt-card .big{ font-family:var(--serif); font-size:clamp(4rem,11vw,8rem); font-weight:600; line-height:.82; color:rgba(255,255,255,.14); }
.mt-card .big .wk{ display:block; font-family:var(--sans); font-size:0.8rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-on-navy); font-weight:600; margin-top:14px; -webkit-text-fill-color:initial; }
.mt-card h3{ color:#fff; font-size:clamp(1.5rem,2.6vw,2.1rem); margin-bottom:14px; }
.mt-card p{ color:#c4cdd9; margin:0 0 20px; font-size:1.02rem; line-height:1.6; max-width:48ch; }
.mt-chips{ display:flex; flex-wrap:wrap; gap:9px; }
.mt-chips span{ font-family:var(--sans); font-size:0.78rem; color:#d6deea; border:1px solid rgba(var(--gold-rgb),.4); border-radius:30px; padding:6px 14px; }
.mt-controls{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; }
.mt-arrows{ display:flex; gap:10px; }
.mt-arrows button{ width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.25s; }
.mt-arrows button:hover{ background:var(--navy); border-color:var(--navy); }
.mt-arrows button:hover svg{ stroke:#fff; }
.mt-arrows button:disabled{ opacity:.35; cursor:default; }
.mt-arrows button:disabled:hover{ background:#fff; border-color:var(--line); }
.mt-arrows button:disabled:hover svg{ stroke:var(--navy); }
.mt-arrows svg{ width:20px; height:20px; stroke:var(--navy); fill:none; stroke-width:1.6; transition:stroke .25s; }
.mt-count{ font-family:var(--serif); font-size:1.1rem; color:var(--slate); display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.mt-count b{ color:var(--navy); font-size:1.5rem; }
.mt-target{ font-family:var(--sans); font-size:0.82rem; line-height:1.4; color:var(--slate); white-space:nowrap; }
@media(max-width:760px){ .mt-target{ font-size:0.76rem; flex-basis:100%; white-space:normal; max-width:42ch; } }
body.motion-off .mt-rail{ transition:none; }
body.motion-off .mt-progress-fill{ transition:none; }

/* ---------- BACKING — closing CTA (frosted card + proof row) ---------- */
.backing-cta{ position:relative; overflow:hidden; color:#fff; }
.backing-cta .bg{ position:absolute; inset:0; }
.backing-cta .bg img{ width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.backing-cta .scrim{ position:absolute; inset:0; background:rgba(8,18,33,.66); }
.backing-cta .inner{ position:relative; z-index:2; padding-block:clamp(54px,7vw,92px); display:flex; justify-content:center; }
.backing-card{ background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(2.5px); border-radius:4px; padding:clamp(34px,4vw,52px); text-align:center; max-width:760px; position:relative; }
.backing-card::before{ content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:60px; height:3px; background:var(--gold); }
.backing-card h2{ color:#fff; font-size:clamp(1.9rem,3vw,2.7rem); margin:0; }
.backing-card .proof-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.16); margin:30px 0; }
@media(max-width:560px){ .backing-card .proof-row{ grid-template-columns:1fr 1fr; } }
.backing-card .proof-row .c{ background:rgba(8,18,33,.5); padding:18px 8px; }
.backing-card .proof-row .n{ font-family:var(--serif); font-size:1.5rem; color:#fff; }
.backing-card .proof-row .n .u{ color:var(--gold-on-navy); font-size:0.9rem; }
.backing-card .proof-row .l{ font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:#aebbcb; margin-top:4px; }
.backing-card .cta-row{ justify-content:center; }

/* ---------- WHY VALNOR — verdict band (the equation) ---------- */
.verdict-band{ background:var(--navy); color:#fff; border-top:1px solid rgba(var(--gold-rgb),.55); border-bottom:1px solid rgba(var(--gold-rgb),.55); }
.verdict-eq{ display:grid; grid-template-columns:1fr auto 1fr auto 1.4fr; align-items:center; gap:22px; max-width:980px; margin:0 auto; }
@media(max-width:820px){ .verdict-eq{ grid-template-columns:1fr; gap:14px; text-align:center; } }
.verdict-eq .term{ text-align:center; }
.verdict-eq .term .k{ font-family:var(--sans); font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:#8392a6; margin-bottom:8px; }
.verdict-eq .term .v{ font-family:var(--serif); font-size:1.15rem; color:#c4cdd9; }
.verdict-eq .op{ font-family:var(--serif); font-size:2rem; color:#5e6b7e; }
@media(max-width:820px){ .verdict-eq .op{ font-size:1.3rem; } }
.verdict-eq .term.win{ background:rgba(var(--gold-rgb),.1); border:1px solid rgba(var(--gold-rgb),.4); border-radius:4px; padding:20px 22px; }
.verdict-eq .term.win .v{ color:#fff; }
.verdict-eq .term.win .k{ color:var(--gold-on-navy); }
.verdict-eq .term.win .v .gold{ color:var(--gold-on-navy); }

/* ---------- WHY VALNOR — closing statement band ---------- */
.motif-divider{ background:var(--navy-deep); display:flex; align-items:center; justify-content:center; gap:clamp(18px,3vw,34px); padding-block:clamp(40px,6vw,72px); }
.motif-divider .ln{ height:1px; flex:1 1 auto; max-width:380px; }
.motif-divider .ln.l{ background:linear-gradient(90deg, transparent, rgba(var(--gold-rgb),.55)); }
.motif-divider .ln.r{ background:linear-gradient(90deg, rgba(var(--gold-rgb),.55), transparent); }
.motif-divider .mk{ width:42px; height:42px; flex:none; }
.motif-divider .mk svg{ width:100%; height:100%; display:block; }
.stmtband{ background:var(--navy-deep); color:#fff; text-align:center; position:relative; overflow:hidden; }
.stmtband::before{ content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(var(--gold-rgb),.55), transparent); }
.stmtband h2{ color:#fff; font-size:clamp(2.2rem,4.2vw,3.6rem); max-width:18ch; margin:0 auto; }
.stmtband h2 .em{ color:var(--gold-on-navy); font-style:italic; }
.stmtband .lead{ color:#c4cdd9; margin:18px auto 0; max-width:54ch; }
.stmtband .cta-row{ justify-content:center; margin-top:30px; }

/* ---------- WHAT WE DO — intro service index ---------- */
.ia-head{ max-width:780px; margin:0 auto clamp(34px,4vw,52px); text-align:center; }
.ia-head .lead{ margin-inline:auto; max-width:62ch; }
.ia-head .em{ color:var(--gold); font-style:italic; }
.ia-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media(max-width:760px){ .ia-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .ia-grid{ grid-template-columns:1fr; } }
.ia-item{ background:var(--offwhite); padding:20px 22px; display:flex; gap:14px; align-items:baseline; transition:background .25s, color .25s; }
.ia-item:hover{ background:var(--navy); }
.ia-item .n{ font-family:var(--serif); font-size:1.1rem; font-weight:600; color:var(--gold); flex:none; }
.ia-item .nm{ font-family:var(--sans); font-size:0.96rem; color:var(--navy); font-weight:500; line-height:1.3; transition:color .25s; }
.ia-item:hover .nm{ color:#fff; }
.ia-item:hover .n{ color:var(--gold-on-navy); }

/* ---------- SERVICE SECTIONS — full-height image panels ---------- */
.svc-panel{ display:grid; grid-template-columns:0.92fr 1.08fr; align-items:stretch; border-top:1px solid var(--line); position:relative; scroll-margin-top:90px; }
.svc-panel::after{ content:""; position:absolute; top:-2px; left:0; width:96px; height:4px; background:var(--gold); z-index:3; }
.svc-panel.panel-warm{ background:#ECE4D3; }
.svc-panel + .svc-panel{ box-shadow:0 -18px 36px -28px rgba(8,18,33,.4); }
.svc-panel .media{ position:relative; min-height:480px; }
.svc-panel .media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.svc-panel .body{ display:flex; align-items:center; justify-content:flex-start; padding:clamp(48px,5vw,88px) clamp(30px,5vw,72px); }
.svc-panel .body-in{ max-width:600px; width:100%; }
.svc-panel.media-right{ grid-template-columns:1.08fr 0.92fr; }
.svc-panel.media-right .media{ grid-column:2; grid-row:1; }
.svc-panel.media-right .body{ grid-column:1; grid-row:1; justify-content:flex-end; }
@media(max-width:860px){
  .svc-panel, .svc-panel.media-right{ grid-template-columns:1fr; }
  .svc-panel .media, .svc-panel.media-right .media{ grid-column:1; grid-row:1; min-height:300px; }
  .svc-panel .body, .svc-panel.media-right .body{ grid-column:1; grid-row:2; justify-content:flex-start; }
}

/* ---------- THE VALNOR DIFFERENCE — interactive contrast ---------- */
.vd{ margin-top:28px; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#fff; max-width:560px; }
.vd .vd-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; cursor:pointer; background:none; border:0; width:100%; text-align:left; font-family:inherit; }
.vd .vd-head .l{ display:flex; align-items:center; gap:12px; }
.vd .vd-head .seal{ width:32px; height:32px; flex:none; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; }
.vd .vd-head .seal svg{ width:17px; height:17px; stroke:#1a1407; fill:none; stroke-width:2.4; }
.vd .vd-head .t{ font-family:var(--sans); font-size:0.74rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; color:var(--navy); }
.vd .vd-head .toggle{ font-family:var(--sans); font-size:0.78rem; color:var(--gold); font-weight:600; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.vd .vd-head .toggle svg{ width:14px; height:14px; stroke:var(--gold); fill:none; stroke-width:2; transition:transform .35s ease; }
.vd.open .vd-head .toggle svg{ transform:rotate(180deg); }
.vd .vd-body{ padding:0 20px; }
.vd .vd-ours{ padding:0 0 18px; margin:0; font-size:1.04rem; color:var(--navy); font-weight:500; line-height:1.5; }
.vd .vd-reveal{ max-height:0; overflow:hidden; transition:max-height .42s ease; border-top:1px dashed var(--line); }
.vd.open .vd-reveal{ max-height:200px; }
.vd .vd-reveal .row{ display:flex; gap:12px; align-items:flex-start; padding:15px 0 18px; }
.vd .vd-reveal .x{ width:20px; height:20px; flex:none; stroke:#b4452f; fill:none; stroke-width:1.8; margin-top:1px; }
.vd .vd-reveal .lbl{ font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--slate); font-weight:600; margin-bottom:4px; }
.vd .vd-reveal p{ margin:0; color:var(--slate); font-size:0.96rem; line-height:1.5; }
body.motion-off .vd .vd-reveal{ transition:none; }

/* ---------- CLOSING CTA — glass card over photo ---------- */
.closing-cta{ position:relative; overflow:hidden; color:#fff; }
.closing-cta .bg{ position:absolute; inset:0; }
.closing-cta .bg img{ width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.closing-cta .scrim{ position:absolute; inset:0; background:rgba(8,18,33,.64); }
.closing-cta .inner{ position:relative; z-index:2; padding-block:clamp(48px,6vw,82px); display:flex; justify-content:center; }
.closing-card{ background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(2.5px); border-radius:4px; padding:clamp(34px,4vw,54px); text-align:center; max-width:640px; position:relative; }
.closing-card::before{ content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:60px; height:3px; background:var(--gold); }
.closing-card h2{ color:#fff; font-size:clamp(1.9rem,3vw,2.7rem); margin:0; }
.closing-card .lead{ color:#c4cdd9; margin-top:14px; }
.closing-card .cta-row{ justify-content:center; margin-top:26px; }

/* ---------- WHO'S BEHIND US — full-height image panel ---------- */
.behind-panel{ display:grid; grid-template-columns:1.05fr 0.95fr; align-items:stretch; }
@media(max-width:860px){ .behind-panel{ grid-template-columns:1fr; } }
.behind-panel .body{ padding:clamp(48px,5vw,88px) clamp(28px,5vw,76px); align-self:center; max-width:680px; margin-left:auto; }
.behind-panel .media{ position:relative; min-height:480px; }
@media(max-width:860px){ .behind-panel .media{ min-height:320px; } }
.behind-panel .media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.behind-panel .statgrid{ display:grid; grid-template-columns:1fr 1fr; gap:30px 40px; margin-top:clamp(28px,3vw,42px); }
@media(max-width:420px){ .behind-panel .statgrid{ grid-template-columns:1fr; gap:24px; } }

/* ---------- OPERATIONAL BACKBONE — four-across icon band ---------- */
.bb-band{ display:grid; grid-template-columns:repeat(4,1fr); }
@media(max-width:760px){ .bb-band{ grid-template-columns:1fr 1fr; gap:36px 0; } }
.bb-band .cell{ padding:0 clamp(18px,2vw,32px); border-left:1px solid rgba(255,255,255,.16); }
.bb-band .cell:first-child{ border-left:0; padding-left:0; }
@media(max-width:760px){ .bb-band .cell:nth-child(3){ border-left:0; padding-left:0; } }
.bb-band .ic{ width:44px; height:44px; border:1px solid rgba(var(--gold-rgb),.5); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.bb-band .ic svg{ width:22px; height:22px; stroke:var(--gold-on-navy); fill:none; stroke-width:1.5; }
.bb-band .n{ font-family:var(--sans); font-size:0.72rem; letter-spacing:0.16em; color:var(--gold-on-navy); font-weight:600; }
.bb-band h3{ color:#fff; font-size:1.14rem; margin:10px 0 10px; }
.bb-band p{ color:#9fb4c7; font-size:0.9rem; margin:0; line-height:1.5; }

/* ---------- THE GAP — parallax backdrop + glass comparison cards ---------- */
.gapA{ position:relative; overflow:hidden; background:var(--navy-deep); color:#fff; }
.gapA .px-bg{ position:absolute; inset:-18% 0; z-index:0; will-change:transform; }
.gapA .px-bg img{ width:100%; height:100%; object-fit:cover; opacity:.34; }
.gapA .px-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(8,18,33,.86),rgba(8,18,33,.7) 50%,rgba(8,18,33,.92)); }
.gapA .inner{ position:relative; z-index:2; padding-block:clamp(48px,5.5vw,80px); }
.gapA h2{ color:#fff; }
.gapA .glass-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:clamp(40px,5vw,60px); }
@media(max-width:760px){ .gapA .glass-wrap{ grid-template-columns:1fr; } }
.gapA .glass{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(6px); padding:clamp(28px,3vw,44px); border-radius:3px; }
.gapA .glass.us{ background:linear-gradient(180deg,rgba(var(--gold-rgb),.18),rgba(var(--gold-rgb),.04)); border-color:rgba(var(--gold-rgb),.42); position:relative; }
.gapA .glass.us::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gold); }
.gapA .glass .wedge-label{ margin-bottom:6px; }
.gapA .glass.them .wedge-label{ color:var(--slate-light); }
.gapA .glass.us .wedge-label{ color:var(--gold-on-navy); }
.gapA .glass h3{ color:#fff; font-size:1.4rem; margin-bottom:22px; }
.gapA .glass .wedge-list li{ color:#c4cdd9; }
.gapA .glass.us .wedge-list li{ color:#e4e9ef; }

/* ---------- THE CHALLENGE (full-height image panel) ---------- */
.challenge-panel{ display:grid; grid-template-columns:0.9fr 1.1fr; align-items:stretch; }
@media(max-width:860px){ .challenge-panel{ grid-template-columns:1fr; } }
.challenge-panel .media{ position:relative; min-height:460px; }
@media(max-width:860px){ .challenge-panel .media{ min-height:340px; } }
.challenge-panel .media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.challenge-panel .body{ padding:clamp(52px,5.5vw,96px) clamp(28px,5vw,76px); align-self:center; max-width:680px; }

/* ---------- TRUST STAT BAND (home, under hero) ---------- */
.statband{ text-align:center; }
.statband-eyebrow{ font-family:var(--sans); font-size:0.76rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--slate); font-weight:600; }
.statband-grid{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:30px; }
@media(max-width:620px){ .statband-grid{ grid-template-columns:1fr 1fr; gap:30px 0; } }
.statband-grid > div{ border-left:1px solid var(--line); padding:0 18px; }
.statband-grid > div:first-child{ border-left:0; }
@media(max-width:620px){ .statband-grid > div:nth-child(3){ border-left:0; } }
.statband-grid .n{ font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.5rem); font-weight:600; color:var(--navy); line-height:1; letter-spacing:-0.02em; }
.statband-grid .n .u{ font-size:0.42em; color:var(--gold); }
.statband-grid .l{ font-family:var(--sans); font-size:0.8rem; color:var(--slate); margin-top:12px; line-height:1.4; }

/* ---------- BACKING — growth story ---------- */
.growth{ display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(36px,5vw,72px); align-items:center; margin-top:clamp(28px,4vw,48px); }
@media(max-width:760px){ .growth{ grid-template-columns:1fr; gap:32px; } }
.arc{ display:flex; align-items:center; gap:0; }
.from, .to{ display:flex; flex-direction:column; align-items:center; gap:4px; min-width:80px; }
.from .yr, .to .yr{ font-family:var(--sans); font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; color:var(--slate); }
.from .big, .to .big{ font-family:var(--serif); font-size:clamp(2.4rem,5vw,4rem); font-weight:600; color:var(--navy); line-height:1; }
.from .cap, .to .cap{ font-family:var(--sans); font-size:0.76rem; color:var(--slate); text-align:center; }
.to .big{ color:var(--gold); }
.swoop{ flex:1; color:var(--gold); padding:0 12px; }
.swoop svg{ width:100%; height:auto; display:block; }
.gx p{ color:var(--slate); line-height:1.65; }

/* ---------- BACKING — network + map ---------- */
.net-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,80px); align-items:center; }
@media(max-width:840px){ .net-split{ grid-template-columns:1fr; gap:36px; } }
.net-metrics{ display:flex; gap:clamp(18px,3vw,36px); margin:clamp(20px,2.5vw,30px) 0; flex-wrap:wrap; }
.net-metrics .m .n{ font-family:var(--serif); font-size:clamp(2rem,4vw,3rem); font-weight:600; color:var(--navy); line-height:1; }
.net-metrics .m .l{ font-family:var(--sans); font-size:0.74rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--slate); margin-top:4px; }
.net-regions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(18px,2.5vw,26px); }
.net-regions span{ font-family:var(--sans); font-size:0.78rem; font-weight:500; color:var(--slate); background:var(--offwhite); border:1px solid var(--line); border-radius:30px; padding:6px 14px; }
.section--offwhite .net-regions span{ background:#fff; }
.map-figure{ border-radius:4px; overflow:hidden; box-shadow:0 12px 40px -14px rgba(11,31,58,.2); }
.map-figure img{ display:block; width:100%; height:auto; }

/* ---------- BACKING — hospital cards ---------- */
.hosp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); margin-top:clamp(28px,4vw,44px); }
@media(max-width:800px){ .hosp-grid{ grid-template-columns:1fr; } }
.hosp{ background:rgba(255,255,255,.04); padding:clamp(26px,3vw,40px); border-top:3px solid rgba(var(--gold-rgb),.35); }
.hosp:first-child{ border-top-color:var(--gold-on-navy); }
.hosp .tag{ font-family:var(--sans); font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; color:var(--gold-on-navy); margin-bottom:16px; }
.hosp .big{ font-family:var(--serif); font-size:clamp(2.8rem,5vw,4rem); font-weight:600; color:#fff; line-height:1; margin-bottom:6px; }
.hosp .big .u{ font-size:0.5em; color:var(--gold-on-navy); }
.hosp h3{ color:#e4e9ef; font-size:1.1rem; margin-bottom:18px; }
.hosp ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.hosp ul li{ display:grid; grid-template-columns:18px 1fr; gap:10px; font-size:0.9rem; color:#9fb4c7; line-height:1.45; }
.hosp ul li svg{ width:17px; height:17px; fill:none; stroke:var(--gold-on-navy); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; margin-top:2px; }

/* ---------- BACKING — occupational medicine ---------- */
.occ-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(36px,5vw,72px); align-items:start; margin-top:clamp(26px,3.5vw,40px); }
@media(max-width:820px){ .occ-grid{ grid-template-columns:1fr; gap:36px; } }
.occ-metrics{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.occ-metrics .m{ background:var(--white); padding:22px 20px; }
.section--offwhite .occ-metrics .m{ background:var(--offwhite); }
.occ-metrics .m .n{ font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600; color:var(--navy); line-height:1; }
.occ-metrics .m .l{ font-family:var(--sans); font-size:0.72rem; letter-spacing:0.08em; color:var(--slate); margin-top:6px; line-height:1.4; }
.occ-payers .lbl{ font-family:var(--sans); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; color:var(--slate); margin-bottom:10px; }
.occ-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.occ-chips span{ font-family:var(--sans); font-size:0.8rem; font-weight:500; color:var(--slate); background:var(--offwhite); border:1px solid var(--line); border-radius:30px; padding:7px 14px; }
.occ-chips span.more{ color:var(--gold); border-color:rgba(var(--gold-rgb),.45); background:rgba(var(--gold-rgb),.05); }

/* ---------- TWEAKS PANEL ---------- */
.tweaks-panel{
  position:fixed; right:20px; bottom:20px; z-index:1000; width:288px;
  background:#0d2038; color:#e6ebf1; border:1px solid rgba(255,255,255,.14);
  border-radius:8px; box-shadow:0 24px 60px rgba(0,0,0,.45);
  font-family:var(--sans); display:none; overflow:hidden;
}
.tweaks-panel.open{ display:block; }
.tk-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.1); font-size:0.82rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; color:#fff; }
.tk-close{ background:none; border:none; color:#9fb0c2; font-size:1.4rem; line-height:1; cursor:pointer; padding:0 4px; }
.tk-close:hover{ color:#fff; }
.tk-body{ padding:8px 16px 16px; }
.tk-row{ padding:13px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.tk-row:last-of-type{ border-bottom:0; }
.tk-label{ font-size:0.74rem; letter-spacing:0.08em; text-transform:uppercase; color:#92a3b6; margin-bottom:9px; font-weight:600; }
.tk-seg-wrap{ display:flex; gap:6px; flex-wrap:wrap; }
.tk-seg{
  flex:1 1 auto; min-width:54px; font-family:var(--sans); font-size:0.78rem; font-weight:500;
  background:rgba(255,255,255,.05); color:#c3cedb; border:1px solid rgba(255,255,255,.12);
  border-radius:4px; padding:8px 6px; cursor:pointer; transition:all .18s; white-space:nowrap;
}
.tk-seg:hover{ background:rgba(255,255,255,.1); }
.tk-seg.on{ background:var(--gold); color:#1a1407; border-color:var(--gold); font-weight:600; }
.tk-foot{ font-size:0.72rem; color:#7c8da0; padding-top:14px; line-height:1.4; }
@media (max-width:520px){ .tweaks-panel{ right:12px; left:12px; width:auto; bottom:12px; } }
