/* V6 · editorial, warm, image-led. Brand anchors: NCDPI navy/blue/red. Tokens, header, nav and footer live in base.css. */
@import url("base.css");
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
.hero .display{margin:18px 0 26px}
.quote{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 24px 20px;box-shadow:0 30px 60px -40px rgba(11,42,68,.45);margin-top:30px}
.quote .who{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.play{width:52px;height:52px;border-radius:50%;border:0;background:var(--red);color:#fff;cursor:pointer;display:grid;place-items:center;flex:none;box-shadow:0 8px 18px -8px rgba(184,37,63,.7);transition:transform .2s}.play:hover{transform:scale(1.06)}
.play svg{width:20px;height:20px}
.who b{display:block;font-size:16px;color:var(--navy)}.who small{font-size:13px;color:var(--muted)}
.karaoke{font:500 clamp(20px,1.9vw,27px)/1.4 var(--serif);color:var(--ink);margin:0}
.karaoke span{transition:color .15s,background .15s;border-radius:4px}.karaoke span.done{color:var(--navy)}.karaoke span.now{background:#f7d774;color:var(--navy)}
.karaoke.idle span{color:var(--ink)}.karaoke.live span:not(.done):not(.now){color:#b7b1a5}
.src{font-size:12.5px;color:var(--muted);margin-top:12px}.src a{color:var(--muted)}
.yt{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:0;top:0}
.yt.show{position:static;width:100%;height:auto;aspect-ratio:16/9;opacity:1;pointer-events:auto;border-radius:14px;overflow:hidden;margin-top:14px}
.hero-img{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -40px rgba(11,42,68,.55)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.stamp{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(255,253,248,.93);backdrop-filter:blur(8px);border-radius:18px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center}
.stamp b{font:600 52px/1 var(--serif);color:var(--navy);letter-spacing:-.03em;grid-row:span 2}.stamp span{font-size:15.5px;line-height:1.35;color:var(--ink2)}.stamp small{font-size:12px;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:22px 24px;border-right:1px solid var(--line)}.facts div:last-child{border-right:0}
.facts b{display:block;font:600 40px/1 var(--serif);color:var(--navy);letter-spacing:-.02em}.facts span{font-size:14.5px;color:var(--ink2)}
/* atlas */
.atlas{position:relative;padding:96px 0 0;overflow:hidden}
.atlas-grid{display:grid;grid-template-columns:240px minmax(0,1fr) 410px;gap:28px;align-items:start}
.atlas-copy .h2{margin:14px 0 18px}.atlas-copy p{color:var(--ink2);font-size:16.5px}
.stage{position:relative;perspective:1500px;min-height:640px;display:flex;align-items:center}
.plane{position:relative;width:100%;transform:rotateX(32deg) rotateZ(-4deg) scale(1.1);transform-style:preserve-3d;transform-origin:50% 55%;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.plane img{width:100%;filter:drop-shadow(0 26px 18px rgba(40,30,10,.38)) drop-shadow(0 4px 3px rgba(40,30,10,.3))}
.pin{position:absolute;transform:translate(-50%,-50%);transform-style:preserve-3d;cursor:pointer;border:0;background:none;padding:0}
.pin i{display:block;border-radius:50%;background:#fff;border:3px solid var(--navy);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.pin.sel i{background:var(--red);border-color:#fff;box-shadow:0 0 0 6px rgba(184,37,63,.25)}
.pin .flag{position:absolute;left:50%;bottom:6px;transform:translateX(-50%) rotateZ(4deg) rotateX(-32deg);transform-origin:50% 100%;white-space:nowrap;pointer-events:none}
.pin .flag em{display:block;font:600 14px var(--serif);font-style:normal;background:#fffdf8;color:var(--navy);padding:6px 10px;border-radius:6px;box-shadow:0 6px 16px -6px rgba(0,0,0,.4);margin-bottom:6px}
.pin .flag::after{content:"";display:block;width:2px;height:34px;margin:auto;background:linear-gradient(var(--navy),transparent)}
.pin.sel .flag em{background:var(--red);color:#fff}
.pin:focus-visible i{outline:3px solid var(--blue);outline-offset:3px}
.region{position:absolute;font:italic 500 18px var(--serif);letter-spacing:.3em;color:rgba(20,33,46,.55);transform:translate(-50%,-50%) translateZ(40px) rotateZ(4deg) rotateX(-32deg);pointer-events:none;white-space:nowrap}
.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px -40px rgba(11,42,68,.55);overflow:hidden;position:sticky;top:84px}
.panel-h{padding:20px 22px 0}.panel-h small{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}
.panel-h h3{font-size:34px;line-height:1;margin:6px 0 12px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 18px}.tabs button{white-space:nowrap;font:600 14px var(--sans);border:0;background:none;padding:10px 10px;color:var(--ink2);cursor:pointer;border-bottom:3px solid transparent}
.tabs button[aria-selected=true]{color:var(--red);border-color:var(--red)}
.panel-b{padding:18px 22px 22px;max-height:640px;overflow:auto}
.panel-b p{font:400 17px/1.45 var(--serif);color:var(--ink2);margin:0 0 12px}.panel-b p b{color:var(--navy);font-weight:600}
.carousel{position:relative;margin:6px -6px 34px}
.cnav{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:13px;color:var(--muted)}
.cnav button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px;color:var(--navy)}
/* re-created work */
.work{position:relative;border-radius:6px;background-size:cover;background-position:center;padding:28px 26px 30px;min-height:330px;box-shadow:0 18px 30px -18px rgba(40,30,10,.45),0 1px 0 rgba(0,0,0,.04);transform:rotate(-.6deg)}
.work .wt{font:700 19px/1.2 var(--sans);color:#1a2733;margin:0 0 14px;max-width:80%}
.work .ex{font:500 15.5px/1.45 var(--sans);color:#1a2733;margin:0 0 10px}.work .ex mark{background:linear-gradient(transparent 40%,#f6dd6b 40%,#f6dd6b 92%,transparent 92%);color:inherit;padding:0 2px}
.work .blur{height:8px;border-radius:4px;background:rgba(26,39,51,.16);margin:9px 0;filter:blur(1.4px)}
.work.slides{padding:26px 28px;aspect-ratio:16/10;min-height:0;border-radius:10px}
.lock{position:absolute;left:14px;bottom:10px;font-size:11px;color:rgba(26,39,51,.6);letter-spacing:.04em}
.sticky{position:absolute;right:-8px;bottom:-22px;width:58%;background:url(../v5/media/plate-sticky.webp) center/cover;padding:16px 16px 14px;transform:rotate(2.2deg);box-shadow:0 14px 22px -12px rgba(40,30,10,.55)}
.sticky .lab{font:600 19px var(--hand);color:#6b5413;margin-bottom:2px}
.sticky p{font:500 17.5px/1.25 var(--hand);color:#2b2205;margin:0}
.sticky small{display:block;font:600 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#7a6420;margin-top:8px}
.meta{font-size:13.5px;color:var(--muted);margin:30px 0 0}
.skills-list{list-style:none;margin:0;padding:0}.skills-list li{display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px 0;border-top:1px solid var(--line);font-size:15.5px}.skills-list span{color:var(--muted);font-size:14px}
.band{position:relative;margin-top:48px;height:340px;background-size:cover;background-position:center 60%}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(var(--paper),rgba(246,241,231,0) 40%,rgba(11,42,68,.55))}
.band-in{position:relative;height:100%;display:flex;align-items:flex-end;padding-bottom:34px}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;width:100%;color:#fff}
.doors a{text-decoration:none;border-left:1px solid rgba(255,255,255,.4);padding-left:22px}
.doors b{display:block;font:600 30px/1.05 var(--serif);letter-spacing:-.02em}.doors span{font-size:15px;opacity:.9}
/* folios */
.folios{padding:110px 0 40px}
.fol-stage{position:relative;margin-top:30px}
.fol-stage img{width:100%;border-radius:20px}
.fol-hot{position:absolute;display:block;text-decoration:none}
.fol-hot span{position:absolute;left:0;right:0;top:12%;text-align:center;font:600 clamp(13px,1.35vw,21px)/1.1 var(--serif);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.fol-hot.light span{color:var(--navy);text-shadow:none}
.fol-hot:hover{outline:3px solid rgba(184,37,63,.55);outline-offset:-3px;border-radius:8px}
.fol-hot small{position:absolute;left:0;right:0;bottom:10%;text-align:center;font:600 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.fol-hot.light small{color:var(--ink2)}
.fol-legend{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:18px}
.fol-legend a{text-decoration:none;border-top:3px solid var(--navy);padding-top:10px}.fol-legend b{display:block;font:600 18px var(--serif);color:var(--navy)}.fol-legend span{font-size:13.5px;color:var(--ink2)}.fol-legend em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--red)}
/* teachers */
.teachers{padding:110px 0}
.t-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center}
.t-img{border-radius:26px;overflow:hidden;aspect-ratio:4/3}.t-img img{width:100%;height:100%;object-fit:cover}
.t-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;border-top:1px solid var(--line)}
.t-stats div{padding:20px 20px 0 0}.t-stats b{display:block;font:600 44px/1 var(--serif);color:var(--navy)}.t-stats span{font-size:14.5px;color:var(--ink2)}
@media (max-width:1180px){.atlas-grid{grid-template-columns:1fr}.panel{position:static}.stage{min-height:0}}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:30px;padding-top:36px}.hero-img{aspect-ratio:4/3}.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.doors{grid-template-columns:1fr;gap:12px}.band{height:auto;min-height:420px}.t-grid{grid-template-columns:1fr}.fol-legend{grid-template-columns:1fr 1fr}.wrap{padding:0 18px}.bar-in{padding:0 18px}.brand span{display:none}.plane{transform:rotateX(38deg) rotateZ(-6deg) scale(1.05)}.pin .flag{display:none}.pin.sel .flag{display:block}.region{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.face .who{gap:18px;align-items:center}
.facebtn{position:relative;width:150px;height:150px;border-radius:50%;padding:0;border:4px solid var(--red);overflow:visible;cursor:pointer;flex:none;background:#ddd;box-shadow:0 14px 30px -14px rgba(184,37,63,.7);transition:transform .2s}
.facebtn:hover{transform:scale(1.04)} .facebtn video{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.facebtn .fp{position:absolute;right:-12px;bottom:-4px;width:48px;height:48px;box-shadow:0 8px 18px -8px rgba(184,37,63,.8);border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;border:3px solid #fffdf8}
.facebtn .fp svg{width:18px;height:18px;margin-left:2px} .face.on .fp{opacity:.0;transform:scale(.6);transition:.2s}
.face.on .facebtn{box-shadow:0 0 0 8px rgba(184,37,63,.18),0 14px 30px -14px rgba(184,37,63,.7)}
.who .tap{display:block;font:italic 500 15px var(--serif);color:var(--red);margin-top:4px}

.vnote{position:absolute;width:min(30%,250px);cursor:pointer;perspective:900px;touch-action:none;user-select:none;opacity:0;transform:translateY(-14px) rotate(var(--r)) scale(1.04);animation:stick .55s cubic-bezier(.2,.9,.25,1.25) forwards}
.vnote.n1{--r:-2.5deg;animation-delay:.5s}.vnote.n2{--r:2deg;animation-delay:1.1s}.vnote.n3{--r:-1.2deg;animation-delay:1.7s}
.vnote .leaf{position:relative;background:url(../v5/media/plate-sticky.webp) center/cover;padding:12px 14px 13px;box-shadow:0 16px 24px -12px rgba(30,20,0,.6);transform-origin:50% 0;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}
.vnote:hover .leaf{transform:rotateX(14deg);box-shadow:0 22px 26px -12px rgba(30,20,0,.55)}
.vnote.peeled .leaf{transform:rotateX(78deg) translateY(-6px);box-shadow:0 2px 4px rgba(30,20,0,.2)}
.vnote .under{position:absolute;left:0;right:0;top:0;min-height:100%;background:var(--card);border-radius:4px;padding:22px 14px 12px;box-shadow:inset 0 0 0 1px var(--line),0 12px 20px -12px rgba(11,42,68,.5);display:flex;flex-direction:column;gap:6px}
.vnote .under small{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.vnote .under b{font:500 16px/1.25 var(--serif);color:var(--navy)} .vnote .under a{font:700 13px var(--sans);color:var(--blue);margin-top:auto}
.vnote .vl{display:block;font:600 19px/1 var(--hand);color:#2f6b3f}
.vnote .leaf>b{display:block;font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#5b4710;margin:5px 0 3px}
.vnote p{margin:0;font:500 17px/1.15 var(--hand);color:#2b2205}
.vnote .peel{position:absolute;right:8px;bottom:5px;font:600 14px var(--hand);color:#8a6d12;font-style:normal;opacity:.75}
.vnote:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@keyframes stick{to{opacity:1;transform:translateY(0) rotate(var(--r)) scale(1)}}
@media (max-width:900px){.vnote{width:46%}.vnote p{font-size:15px}}
@media (prefers-reduced-motion:reduce){.vnote{opacity:1;transform:rotate(var(--r))}}

.t-door{display:block;margin-top:22px;text-decoration:none;background:var(--navy);color:#fff;border-radius:18px;padding:18px 22px;transition:transform .2s}.t-door:hover{transform:translateY(-2px)}
.t-door b{display:block;font:600 22px/1.2 var(--serif)}.t-door span{display:block;margin-top:6px;font-size:15px;color:#c9d6e2}

.t-img{position:relative}.t-cap{display:block;margin-top:8px;font-size:12.5px;color:var(--muted)}

.vnote .under .u-t{font:600 17px/1.2 var(--serif);color:var(--navy)}
.vnote .under .u-q{font:italic 500 15px/1.35 var(--serif);color:var(--ink);quotes:"“" "”"}
.vnote .under .u-m{font:700 10.5px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--green)}
.vnote .under .u-n{font-size:12.5px;color:var(--muted);line-height:1.3}
.vnote .under>*{opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.vnote.peeled .under>*{opacity:1;transform:none}
.vnote.peeled .under>*:nth-child(2){transition-delay:.12s}.vnote.peeled .under>*:nth-child(3){transition-delay:.24s}.vnote.peeled .under>*:nth-child(4){transition-delay:.36s}.vnote.peeled .under>*:nth-child(5){transition-delay:.46s}.vnote.peeled .under>*:nth-child(6){transition-delay:.56s}
.vnote.peeled{z-index:5}
.vnote .under{opacity:0;transition:opacity .3s}.vnote:hover .under,.vnote.peeled .under,.vnote:focus-visible .under{opacity:1}

/* curled state: leaf lifted from its bottom edge so only the top strip shows, above faces */
.vnote.tucked .leaf{transform:rotateX(90deg);opacity:0;box-shadow:0 2px 3px rgba(30,20,0,.25)}

.vnote.tucked .under{opacity:0!important;pointer-events:none}
.vnote .leaf{transform-origin:50% 0}
.vnote:not(.tucked):not(.peeled) .under{opacity:0}
.vnote.peeled .under{opacity:1}
.vnote:not(.tucked){z-index:4}
.vnote .tabhint{display:none}

.vnote .vtab{position:absolute;left:0;right:0;top:0;display:flex;align-items:baseline;gap:8px;padding:7px 12px 8px;background:url(../v5/media/plate-sticky.webp) center/cover;box-shadow:0 10px 14px -10px rgba(30,20,0,.6);border-radius:0 0 10px 10px / 0 0 6px 6px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .25s,transform .25s}
.vnote .vtab span{font:600 19px/1 var(--hand);color:#2f6b3f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vnote .vtab b{font:700 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#5b4710;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vnote .vtab::after{content:"";position:absolute;right:0;bottom:0;width:22px;height:14px;background:linear-gradient(135deg,transparent 50%,rgba(120,90,10,.28) 50%);border-radius:0 0 8px 0}
.vnote.tucked .vtab{opacity:1;pointer-events:auto;transform:none}
.vnote.tucked:hover .vtab{transform:translateY(3px)}
.vnote .leaf{transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s,opacity .3s}
@media (max-width:600px){.hero{grid-template-columns:minmax(0,1fr)}.hero>*{min-width:0}.display{font-size:clamp(44px,13vw,64px)}}
@media (max-width:600px){.vnote .vtab span{font-size:15px}.vnote .vtab{padding:6px 8px}}

/* narrow screens: the teachers grid must not push the page wider than the viewport */
.t-grid{grid-template-columns:minmax(0,1fr)}@media (min-width:901px){.t-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.t-grid>*{min-width:0}.t-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){.t-stats b{font-size:32px}.t-stats span{font-size:13.5px}}

/* sections that are also .wrap keep the wrap's side gutter */
.folios{padding-left:32px;padding-right:32px}.teachers{padding-left:32px;padding-right:32px}
@media (max-width:900px){.folios,.teachers{padding-left:18px;padding-right:18px}}
/* teachers: heading left, stats + door right (no portrait) */
@media (min-width:901px){.t-grid.t-solo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}.t-solo .t-stats{margin-top:8px}}
/* hero notes: observation + rubric line */
.vnote .leaf>.rub{display:block;margin-top:5px;font:500 11.5px/1.3 var(--sans);font-style:normal;color:#5b4710}
.vnote .leaf>b{margin:6px 0 2px}
.vnote .leaf .peel{position:static;display:block;margin-top:4px;text-align:right}

/* the evidence map under the hero: stands alone, steps into full screen when clicked */
.evmap{padding:40px 0 10px}.evmap-h{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:'k k' 'h l';gap:10px 40px;align-items:end}.evmap-h .kick{grid-area:k}.evmap-h .h2{grid-area:h;margin:0}.evmap-h .lede{grid-area:l}.evmap-h .h2 em{font-style:italic;font-weight:500;color:var(--red)}.evmap-h .lede{max-width:520px}
.evmap-frame{position:relative;height:min(68vh,660px);margin-top:-20px}
.evmap-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;transition:all .5s cubic-bezier(.2,.8,.2,1)}
.evmap-frame{transition:height .5s cubic-bezier(.2,.8,.2,1)}.evmap-frame.live{height:min(90vh,940px);margin:0 32px}.evmap-frame.live iframe{border-radius:28px;box-shadow:0 50px 90px -50px rgba(7,29,49,.9)}
@media (max-width:900px){.evmap-h{grid-template-columns:1fr;grid-template-areas:'k' 'h' 'l';gap:12px}.evmap-frame{height:62vh;margin-top:0}}

.evstats{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start;padding-top:28px;padding-bottom:60px}
.evstats h3{font:600 clamp(28px,3vw,40px)/1.05 var(--serif);color:var(--navy);margin:8px 0 12px;letter-spacing:-.02em}.evstats p{margin:0;color:var(--ink2);font-size:17px;line-height:1.55}
.evstats .bars{display:grid;gap:9px}.evstats .bars div{display:grid;grid-template-columns:180px 1fr 82px;gap:12px;align-items:center;font-size:15.5px}
.evstats .bars i{display:block;height:12px;border-radius:0 4px 4px 0}.evstats .bars em{font-style:normal;font-size:13.5px;color:var(--ink2);text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:900px){.evstats{grid-template-columns:1fr;gap:20px}.evstats .bars div{grid-template-columns:130px 1fr 70px}.evmap-frame.live{margin:0 10px}}

.facts a{display:block;padding:26px 24px;border-right:1px solid var(--line);text-decoration:none;color:inherit;transition:background .2s}.facts a:last-child{border-right:0}.facts a:hover{background:#efe7d8}
.facts a b{display:block;font:600 clamp(40px,4.4vw,60px)/1 var(--serif);color:var(--navy);letter-spacing:-.03em}.facts a span{display:block;margin-top:6px;font-size:15px;color:var(--ink2)}.facts a:hover span{color:var(--red)}
@media (max-width:760px){.facts{grid-template-columns:1fr 1fr}.facts a:nth-child(2){border-right:0}}
.evmap-frame{height:min(78vh,780px)}

.q-who small.role,small.role{display:block;line-height:1.35;margin:4px 0 6px}

/* hero: photo bottom lines up with the bottom of the quote card (Josh 10/30) */
@media (min-width:901px){.hero{align-items:stretch}.hero-img{aspect-ratio:auto;height:auto;min-height:560px}.hero-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}}
.vtab span{white-space:nowrap}
@media (min-width:901px){#q-hero{margin-bottom:0!important}.hero>:first-child>:last-child{margin-bottom:0!important}}
/* speaker block: fuller, tighter (Josh 10/30) */
#q-hero .who{align-items:center}
#q-hero .who b{font:600 26px/1.1 var(--serif);letter-spacing:-.01em;margin-bottom:6px}
#q-hero .who small.role{font-size:17px;line-height:1.3!important;color:var(--ink2);margin:0!important}
#q-hero .who .role-k{display:block;margin-top:10px;font:700 11.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}

/* 10/30: map heading breathing room; bigger NCDPI mark */
.evmap-h .h2{line-height:1.08!important}

/* 10/30: stats in nav order, each wearing its page's colour; one-line red heading; tighter gutters */
.facts{border:0!important;gap:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.facts a{border:0!important;border-radius:18px;padding:22px 24px 24px;color:#fff!important;box-shadow:0 22px 40px -30px rgba(11,42,68,.7);transition:transform .2s}
.facts a:hover{transform:translateY(-3px);filter:brightness(1.08)}
.facts a small{display:block;font:700 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-bottom:14px}
.facts a b{color:#fff!important}.facts a span{color:rgba(255,255,255,.85)!important}.facts a:hover span{color:#fff!important}
.facts a.f-p{background:linear-gradient(135deg,#0b2a44,#1d4a72)}
.facts a.f-e{background:linear-gradient(135deg,#7a2e1f,#b8253f)}
.facts a.f-s{background:linear-gradient(135deg,#0c3b3a,#1f6f66)}
.facts a.f-r{background:linear-gradient(135deg,#5a4a1c,#a0782a)}
@media (max-width:760px){.facts{grid-template-columns:1fr 1fr}}
.evmap-h .h2 em{white-space:nowrap}
.evmap-h{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)!important}
@media (min-width:1100px){.wrap{padding-left:clamp(24px,2.6vw,40px)!important;padding-right:clamp(24px,2.6vw,40px)!important}}

/* the 70-second film: a small card bottom-left, out of the way; opens in a lightbox */
.film{position:fixed;left:20px;bottom:20px;z-index:60;display:flex;align-items:flex-start;gap:6px}
.film-card{display:flex;align-items:center;gap:12px;border:0;background:#0b2a44;color:#fff;border-radius:16px;padding:8px 16px 8px 8px;cursor:pointer;box-shadow:0 18px 40px -18px rgba(7,29,49,.8);text-align:left;font-family:var(--sans)}
.film-card img{width:104px;height:58px;object-fit:cover;border-radius:10px;display:block}
.film-play{position:absolute;left:52px;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:#b8253f;display:grid;place-items:center;font-size:11px;border:2px solid #fff}
.film-card{position:relative}.film-t b{display:block;font-size:15px}.film-t small{font-size:12px;opacity:.75}
.film-x{border:0;background:rgba(11,42,68,.85);color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1}
.film-ov{position:fixed;inset:0;z-index:300;background:rgba(7,20,34,.82);display:grid;place-items:center;padding:24px}
.film-box{width:min(1200px,100%);position:relative}.film-box video{width:100%;border-radius:16px;display:block;background:#000;box-shadow:0 40px 80px -30px #000}
.film-close{position:absolute;right:0;top:-46px;border:0;background:#fff;color:#0b2a44;font:700 14px var(--sans);padding:9px 16px;border-radius:99px;cursor:pointer}
@media (max-width:600px){.film{left:12px;bottom:12px}.film-card img{width:72px;height:40px}.film-play{left:36px}}
.film-ov[hidden],.film[hidden]{display:none!important}

/* × shrinks the film card to a small button; it never disappears */
.film.min .film-card img,.film.min .film-t small,.film.min .film-x{display:none}
.film.min .film-card{padding:8px 14px 8px 8px;gap:8px}.film.min .film-play{position:static;margin:0;width:28px;height:28px}
.film.min .film-t b{font-size:13px}
/* hover keeps each stat card's colour (an older hover rule painted it cream) */
.facts .f-p,.facts .f-p:hover{background:linear-gradient(135deg,#0b2a44,#1d4a72)!important}
.facts .f-e,.facts .f-e:hover{background:linear-gradient(135deg,#7a2e1f,#b8253f)!important}
.facts .f-s,.facts .f-s:hover{background:linear-gradient(135deg,#0c3b3a,#1f6f66)!important}
.facts .f-r,.facts .f-r:hover{background:linear-gradient(135deg,#5a4a1c,#a0782a)!important}
.facts a:hover{filter:brightness(1.08)}
