/*
Theme Name: NMS — Nick Stylianou
Theme URI: https://nmsonline.co.uk/
Author: Nick Stylianou
Description: Bespoke single-page-plus-archives theme for nmsonline.co.uk. Dark, cinematic, broadcast-graphics design. Replaces the previous premium theme and the Vimeography plugin (films pull from Vimeo Showcases server-side).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: All rights reserved
Text Domain: nms
*/


:root{
  --ink:#0A142B;
  --panel:#101D3C;
  --line:rgba(255,255,255,.14);
  --paper:#E9B469;   /* gold — primary text, no whites */
  --dim:#8FA9D9;     /* clear blue — secondary text */
  --bracken:#F25C05;            /* hotter Bracken */
  --bracken-deep:#C2410C;
  --bracken-soft:rgba(242,92,5,.16);
  --scarlet:#E2202C;
  --live:#E2202C;   /* true scarlet for LIVE on-beat */
  --max:1100px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--bracken);color:var(--ink)}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--bracken);outline-offset:3px}

/* ---------- top bar ---------- */
.bar{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;
  background:linear-gradient(to bottom,rgba(10,20,43,.94),rgba(10,20,43,.7) 70%,transparent);backdrop-filter:blur(6px)}
.bar .mark{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:118%;letter-spacing:.05em;font-size:1rem}
.bar .mark span{color:var(--bracken)}
.bar nav{display:flex;gap:1.3rem}
.bar nav a{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);transition:color .2s}
.bar nav a:hover{color:var(--paper)}
@media(max-width:600px){.bar nav a:not(.keep){display:none}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-start;padding:3.4rem 1.25rem 0;overflow:hidden}
.facets{position:absolute;inset:0;pointer-events:none;will-change:transform}
/* fine geometric grid wash */
.grid-wash{position:absolute;inset:-10% -10%;z-index:0;pointer-events:none;opacity:.28;
  background-image:linear-gradient(rgba(143,169,217,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,169,217,.06) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse at 60% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse at 60% 30%,#000,transparent 75%)}
.facet{position:absolute;opacity:0;animation:facetIn 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.f1{width:74vw;height:74vw;max-width:760px;max-height:760px;right:-20vw;top:-14vw;
  background:linear-gradient(160deg,rgba(242,92,5,.46),rgba(242,92,5,.05) 70%);
  clip-path:polygon(28% 0,100% 18%,82% 92%,0 70%);animation-delay:.05s}
.f2{width:52vw;height:52vw;max-width:560px;max-height:560px;left:-16vw;top:18vh;
  background:linear-gradient(20deg,rgba(226,32,44,.34),transparent 72%);
  clip-path:polygon(0 30%,72% 0,100% 64%,22% 100%);animation-delay:.18s}
.f3{width:36vw;height:36vw;max-width:440px;max-height:440px;right:6vw;bottom:4vw;
  border:1px solid rgba(242,92,5,.6);clip-path:polygon(50% 0,100% 38%,78% 100%,8% 82%);animation-delay:.32s}
.f4{width:24vw;height:24vw;max-width:280px;max-height:280px;left:8vw;bottom:-6vw;
  background:linear-gradient(200deg,rgba(46,86,128,.4),transparent 70%);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation-delay:.42s}
.f5{width:16vw;height:16vw;max-width:190px;max-height:190px;right:30vw;top:14vh;
  border:1px solid rgba(143,169,217,.4);clip-path:polygon(20% 0,100% 25%,80% 100%,0 75%);animation-delay:.5s}
.f6{width:12vw;height:12vw;max-width:140px;max-height:140px;left:34vw;top:30vh;
  background:rgba(242,92,5,.5);clip-path:polygon(50% 0,100% 100%,0 100%);animation-delay:.58s}
@keyframes facetIn{from{opacity:0;transform:translateY(34px) rotate(-2deg)}to{opacity:1;transform:none}}
.hero-inner{position:relative;max-width:var(--max);margin:0 auto;width:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-start;padding:0}
.tc{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);display:flex;gap:.9em;flex-wrap:wrap}
.tc b{color:var(--bracken);font-weight:500}
h1{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:122%;font-size:clamp(2.8rem,11.6vw,7.05rem);line-height:.88;letter-spacing:-.015em;text-transform:uppercase;margin:.4rem 0 1rem}
h1 .row{display:block;opacity:0;transform:translateY(.35em);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
h1 .nick{color:var(--scarlet)}
h1 .row:nth-child(2){animation-delay:.12s;color:var(--scarlet)}
h1 .row{text-shadow:0 1px 0 rgba(0,0,0,.45)}

@keyframes rise{to{opacity:1;transform:none}}
.strap-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:stretch;margin-bottom:2rem}
.strap{display:inline-block;background:var(--bracken);color:var(--ink);padding:.5rem 1rem;
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.badge{display:inline-block;border:2px solid var(--scarlet);color:var(--paper);padding:.4rem 1rem;
  font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  clip-path:polygon(14px 0,100% 0,100% 100%,0 100%)}
.badge b{color:var(--scarlet);font-weight:500}

.showcase{display:grid;gap:1.6rem;grid-template-columns:1fr;align-items:start;margin-bottom:1.5rem}
@media(min-width:880px){.showcase{grid-template-columns:1.45fr 1fr;gap:2.4rem;align-items:start}}
.show-video{min-width:0}
.intro{position:relative;background:rgba(16,29,60,.4);border:1px solid var(--line);border-left:3px solid var(--scarlet);padding:.95rem 1.15rem}
.intro-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.55rem}
.intro-label{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--scarlet);margin:0;line-height:1}
.intro-k{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--scarlet);margin-bottom:.5rem}
.intro-lead{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:112%;font-size:clamp(1.15rem,3vw,1.5rem);line-height:1.15;text-transform:uppercase;color:var(--paper);margin-bottom:.9rem}
.intro-sub{font-size:.95rem;line-height:1.55;color:var(--paper);margin-bottom:0}
.intro-top .intro-cta{margin:0;flex-shrink:0}
.frame{position:relative;aspect-ratio:1/1;width:100%;background:#000}
.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.frame::before,.frame::after,.frame .c::before,.frame .c::after{content:"";position:absolute;width:24px;height:24px;border:3px solid var(--bracken);z-index:2}
.frame::before{top:-3px;left:-3px;border-right:0;border-bottom:0}
.frame::after{top:-3px;right:-3px;border-left:0;border-bottom:0}
.frame .c::before{bottom:-3px;left:-3px;border-right:0;border-top:0}
.frame .c::after{bottom:-3px;right:-3px;border-left:0;border-top:0}
.frame-cap{display:flex;justify-content:space-between;gap:1rem;margin-top:.7rem;
  font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.frame-cap a{color:var(--bracken)}
.frame-cap a:hover{text-decoration:underline}

/* ---------- dateline marquee ---------- */
.ticker:hover .track{animation-play-state:paused}
.ticker{margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:.7rem 0;position:relative}
.ticker .track{display:flex;gap:0;width:max-content;animation:scroll 21s linear infinite;align-items:center;
  font-family:'Archivo',sans-serif;font-weight:700;font-stretch:112%;font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.ticker .country{display:inline-block;background:var(--bracken);color:var(--ink);font-weight:800;padding:.14rem .7rem .14rem .55rem;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%)}
.ticker .sep{display:inline-block;color:var(--dim);padding:0 1.1rem;font-size:.6rem;opacity:.6}
.ticker .lead{display:inline-block;background:var(--paper);color:var(--ink);font-weight:800;font-size:1.02rem;padding:.16rem .85rem .16rem .7rem;letter-spacing:.12em;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.ticker .lead-x{background:var(--scarlet);color:var(--paper)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{padding:5rem 1.25rem;position:relative}
.wrap{max-width:var(--max);margin:0 auto}
.lt{display:flex;align-items:stretch;margin-bottom:2.4rem}

.lt .box{position:relative;background:var(--panel);color:var(--paper);padding:.6rem 1.2rem .6rem 1.5rem;clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%)}
.lt .key{position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--bracken);z-index:5}
#films .lt .key{background:var(--bracken)}
#print .lt .key{background:var(--bracken)}
#career .lt .key{background:var(--bracken)}
#skills .lt .key{background:var(--bracken)}
#find .lt .key{background:var(--ink)}

.lt .kicker{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.lt h2{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:115%;font-size:clamp(1.35rem,4.6vw,2rem);text-transform:uppercase;line-height:1.08}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- films ---------- */
.feature{position:relative;aspect-ratio:16/9;background:#000;margin-bottom:1rem}
.feature iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.posters{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.posters{grid-template-columns:repeat(4,1fr)}.poster.big{grid-column:span 2;grid-row:span 2}}
.poster{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--panel)}
.poster img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:filter .35s ease,transform .5s ease;display:block}
.poster::before{content:"";position:absolute;inset:0;background:var(--bracken);mix-blend-mode:multiply;opacity:.85;transition:opacity .35s ease;z-index:1}
.poster::after{content:"";position:absolute;inset:auto 0 0 0;height:70%;background:linear-gradient(to top,rgba(8,16,35,.92),transparent);z-index:2}
.poster:hover img{filter:none;transform:scale(1.04)}
.poster:hover::before{opacity:0}
.poster .t{position:absolute;left:.8rem;right:.8rem;bottom:.7rem;z-index:3;font-family:'Archivo',sans-serif;font-weight:700;font-stretch:108%;font-size:.82rem;line-height:1.25;text-transform:uppercase}
.poster.big .t{font-size:clamp(.95rem,2.4vw,1.25rem)}
.poster .d{position:absolute;left:.8rem;top:.7rem;z-index:3;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.16em;color:var(--paper);opacity:.85}

.tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:1.1rem;border:1px solid var(--line);background:var(--panel);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%);transition:transform .25s,background .25s}
.tile .d{position:absolute;left:.8rem;top:.7rem;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.16em;color:var(--dim)}
.tile .t{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:112%;font-size:clamp(.92rem,2.2vw,1.12rem);line-height:1.2;text-transform:uppercase;margin-top:1.6rem;position:relative;z-index:6}
.tile:hover{transform:translateY(-4px);background:var(--bracken)}
.tile:hover .t,.tile:hover .d{color:var(--ink)}
.tile.scar{background:var(--scarlet);border:0}
.tile.scar .t{color:var(--paper)}.tile.scar .d{color:var(--paper);opacity:.8}
.tile.scar:hover{background:var(--ink)}.tile.scar:hover .t{color:var(--scarlet)}.tile.scar:hover .d{color:var(--dim)}
.tile.brk{background:var(--bracken);border:0}
.tile.brk .t,.tile.brk .d{color:var(--ink)}
.tile.brk:hover{background:var(--ink)}.tile.brk:hover .t{color:var(--bracken)}.tile.brk:hover .d{color:var(--dim)}
.tile.ghost{background:transparent;border:1px solid var(--bracken)}.tile.ghost .t{color:var(--bracken)}.tile.ghost:hover{background:var(--bracken)}.tile.ghost:hover .t{color:var(--ink)}
.tile.big{grid-column:span 2}
@media(min-width:700px){.tile.big{grid-row:span 2;min-height:100%}.tile.big .t{font-size:clamp(1.25rem,3vw,1.9rem)}}

.more{display:inline-block;margin-top:1.8rem;font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--bracken);padding:.65rem 1.1rem;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:background .2s,color .2s}
.more:hover{background:var(--ink);color:var(--paper)}

/* ---------- in print (scarlet identity) ---------- */


#print .lt .kicker{opacity:.85}

.printlist{border-top:1px solid var(--line)}
.printlist a{display:flex;gap:1rem;align-items:baseline;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line);transition:padding-left .25s,color .25s}
.printlist a:hover{padding-left:.6rem;color:var(--scarlet)}
.printlist h3{font-family:'Archivo',sans-serif;font-weight:600;font-stretch:106%;font-size:clamp(.95rem,2.6vw,1.15rem);line-height:1.35}
.printlist .meta{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.16em;color:var(--dim);text-transform:uppercase;white-space:nowrap}

/* ---------- career ---------- */
.tl{position:relative;padding-left:2rem}
.tl::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--bracken),var(--line))}
.tl li{list-style:none;position:relative;padding:0 80px 1.8rem 0}
.tl li::before{content:"";position:absolute;left:calc(-2rem + 1px);top:.35em;width:12px;height:12px;background:var(--ink);border:3px solid var(--bracken);transform:rotate(45deg)}
.tl .logo{position:absolute;right:0;top:.1rem;width:64px;height:64px;display:flex;align-items:center;justify-content:center;padding:9px;overflow:hidden;
  background:#fff;border:1px solid var(--line)}
.tl .logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.tl .logorow{display:flex;gap:.5rem;margin-top:.6rem}
.tl .logorow .logo{position:static}
.tl .hl{display:inline-block;margin-top:.45rem;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--scarlet);padding:.25rem .6rem;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%)}
.tl .when{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.16em;color:var(--bracken);text-transform:uppercase}
.tl h3{font-family:'Archivo',sans-serif;font-weight:700;font-stretch:110%;font-size:1.1rem;margin:.15rem 0 .1rem}
.tl p{color:var(--dim);font-size:.92rem;max-width:56ch}
@media(max-width:480px){.tl li{padding-right:0}.tl .logo{position:static;margin-bottom:.5rem}}

/* ---------- skills ---------- */
.skills{display:grid;gap:2.4rem;grid-template-columns:1fr}
@media(min-width:720px){.skills{grid-template-columns:1fr 1fr}}
.sk h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bracken);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}
.sk h3::after{content:"";flex:1;height:1px;background:var(--line)}
.meter{margin-bottom:1.05rem}
.meter .lab{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;margin-bottom:.35rem}
.meter .tier{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.18em;color:var(--dim);text-transform:uppercase}

.segs{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;height:15px}
.segs i{background:rgba(255,255,255,.1);clip-path:polygon(18% 0,100% 0,82% 100%,0 100%);transition:background .25s}
.in .segs i.on{background:var(--bracken)}

/* ---------- find me: bold colour block ---------- */
#find{background:#C75D2C;color:var(--ink);clip-path:polygon(0 34px,100% 0,100% 100%,0 100%);padding-top:7rem}


.hub{display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:720px){.hub{grid-template-columns:repeat(4,1fr)}}
.hub a{display:flex;flex-direction:column;gap:.25rem;border:2px solid rgba(10,20,43,.45);padding:1rem 1.1rem;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);transition:background .2s,border-color .2s,color .2s}
.hub a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.hub .net{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:112%;font-size:1.02rem;text-transform:uppercase}
.hub .handle{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.08em;opacity:.75;word-break:break-all;color:var(--dim)}

footer{background:#C75D2C;color:var(--ink);border-top:1px solid rgba(10,20,43,.3);transition:opacity .4s ease;padding:1.5rem 1.25rem 2.6rem;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}h1 .row{opacity:1;transform:none}.facet{opacity:1;transform:none}
  .ticker .track{animation:none}
}

/* film-scrubber progress rail */
.scrub{position:fixed;left:0;right:0;bottom:0;z-index:60;height:34px;background:linear-gradient(to top,rgba(8,16,35,.96),rgba(8,16,35,.55));backdrop-filter:blur(6px);border-top:1px solid var(--line);display:flex;align-items:center;padding:0 .9rem;gap:.7rem}
.scrub .tc{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.12em;color:var(--bracken);white-space:nowrap}
.scrub .rail{position:relative;flex:1;height:4px;background:rgba(255,255,255,.12);cursor:pointer}
.scrub .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--bracken)}
.scrub .head{position:absolute;top:50%;width:3px;height:13px;background:var(--paper);transform:translate(-50%,-50%);left:0}
.scrub .notch{position:absolute;top:50%;width:11px;height:11px;transform:translate(-50%,-50%) rotate(45deg);background:var(--ink);border:1.5px solid var(--dim);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.scrub .notch.done{border-color:var(--scarlet);background:var(--scarlet)}
.scrub .notch:hover{border-color:var(--paper);box-shadow:0 0 0 4px rgba(226,32,44,.25)}
.scrub .notch span{position:absolute;bottom:18px;left:50%;transform:translateX(-50%) rotate(-45deg);transform-origin:center;font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none}
.scrub .notch:hover span{opacity:1}
body{padding-bottom:34px}
@media(prefers-reduced-motion:reduce){.scrub .fill{transition:none}}


/* LIVE section markers + active dimming */
.lt{position:relative}
.rec{position:absolute;top:-20px;left:0;display:flex;align-items:center;gap:.4rem;font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--scarlet);opacity:0;transition:opacity .4s}
.rec .dot{width:8px;height:8px;border-radius:50%;background:var(--scarlet)}
/* sections fade back when not the one in focus */
section{transition:opacity .5s ease}
section.dim,footer.dim{opacity:.32}
/* dim must reach backdrop-filtered children (they otherwise composite independently) */
#find .hub a, #find .lt .box, .tile, .lt .box{transition:opacity .4s ease, backdrop-filter .4s ease, -webkit-backdrop-filter .4s ease, background .4s ease}
section.dim .lt .box, section.dim .tile, #find.dim .hub a, #find.dim .lt .box{
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:.5}
section.dim .glint{opacity:0!important}

section.active .rec{opacity:1}
section.active .rec .dot{animation:recpulse 2.4s ease-in-out infinite}
section.active .rec{animation:rectext 2.4s ease-in-out infinite}
@keyframes recpulse{0%,100%{background:var(--scarlet);box-shadow:0 0 0 0 rgba(226,32,44,.45)}50%{background:var(--ink);box-shadow:0 0 0 4px rgba(226,32,44,0)}}
@keyframes rectext{0%,100%{color:var(--scarlet)}50%{color:var(--ink)}}
@media(prefers-reduced-motion:reduce){section.active .rec .dot{animation:none}section.dim{opacity:.6}}

/* NEW flag (auto-set to latest upload in the live build) */
.flag{position:absolute;top:.7rem;left:.7rem;z-index:5;background:var(--scarlet);color:var(--paper);font-family:'IBM Plex Mono',monospace;font-size:.55rem;font-weight:600;letter-spacing:.18em;padding:.25rem .6rem}
.tile,.poster{overflow:visible}

/* duotone -> colour bloom */
.tile:not(.scar):not(.brk):not(.ghost){filter:saturate(.5) brightness(.9);transition:filter .6s ease,transform .25s,background .25s}
.tile.in{filter:none}
.tile.scar,.tile.brk,.tile.ghost{transition:transform .25s,background .25s}
.poster img{transition:filter .6s ease,transform .5s ease}
.poster{filter:saturate(.2) brightness(.8)}
.poster.in{filter:none}

/* ===== Faceted glass (angular, not rounded) ===== */
@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .glassbar{background:rgba(12,20,40,.55)!important;-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7)}
  /* top bar */
  .bar{background:linear-gradient(to bottom,rgba(12,20,40,.66),rgba(12,20,40,.3))!important;-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border-bottom:1px solid rgba(255,255,255,.08)}
  /* scrub bar */
  .scrub{background:linear-gradient(to top,rgba(10,18,36,.7),rgba(10,18,36,.32))!important;-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6)}
  /* lower-third section headers become glass slabs */
  .lt .box{background:rgba(16,29,60,.42)!important;-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden}
  .lt .box::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 46%);pointer-events:none;z-index:1}
  .lt .kicker{color:var(--paper)!important;opacity:.8;position:relative;z-index:4}
.lt h2,.lt .subhead{position:relative;z-index:4}
  .lt h2{color:var(--paper)!important}
  
  /* Find Me glass chips */
}
/* Fallback when no backdrop-filter: keep solid tints (already defined inline), just add specular edges */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .lt .box{border-top:1px solid rgba(255,255,255,.4)}
}
/* Mobile: cap glass cost — lighter blur, fewer layers */
@media(max-width:600px){
  .bar,.scrub{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .lt .box{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
}

/* ===== Glass film tiles ===== */
@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .tile{position:relative;overflow:hidden;-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}
  .tile:not(.scar):not(.brk):not(.ghost){background:rgba(16,29,60,.42)!important;border:1px solid rgba(255,255,255,.14)}
  .tile.scar{background:rgba(226,32,44,.5)!important}
  .tile.brk{background:rgba(242,92,5,.5)!important}
  .tile.ghost{background:rgba(242,92,5,.14)!important;border:1px solid rgba(242,92,5,.55)}
  /* specular leading edge follows the angled top */
  /* diagonal sheen catching the cut corner */
  .tile::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 42%);pointer-events:none;z-index:2}
  .tile .d,.tile .t{position:relative;z-index:4}
  .tile:hover{-webkit-backdrop-filter:blur(8px) saturate(1.6);backdrop-filter:blur(8px) saturate(1.6)}
}
@media(max-width:600px){.tile{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}}

@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .tile:not(.scar):not(.brk):not(.ghost):hover{background:rgba(242,92,5,.62)!important}
  .tile.scar:hover{background:rgba(10,20,43,.55)!important}
  .tile.brk:hover{background:rgba(10,20,43,.55)!important}
  .tile.ghost:hover{background:rgba(242,92,5,.62)!important}
}




.lt .subhead{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:clamp(.84rem,2vw,.96rem);line-height:1.4;color:var(--paper);text-transform:none;letter-spacing:0;margin-top:.5rem;max-width:none;opacity:.92}

.bar .mark{flex-shrink:0}
.fold{display:flex;gap:.55rem;align-items:center;overflow:hidden;flex:1;min-width:0;margin:0 .8rem;opacity:0;transform:translateX(-8px);transition:opacity .4s ease,transform .4s ease;pointer-events:none}
.fold .nm{pointer-events:auto}
.fold.show{opacity:1;transform:none}
.fold .nm{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:115%;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--scarlet);white-space:nowrap;cursor:pointer;pointer-events:auto}
.fold .rl{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fold .d{color:var(--scarlet);font-size:.5rem}
.fold .rl-award{color:var(--bracken)}

.herolive{display:inline-flex;align-items:center;gap:.5rem;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--scarlet);opacity:1;transition:opacity .4s;margin:0 0 .4rem}
.herolive.on{opacity:1}
.herolive{animation:rectext 2.4s ease-in-out infinite}
.herolive .dot{width:8px;height:8px;border-radius:50%;background:var(--scarlet)}
.herolive .dot{animation:recpulse 2.4s ease-in-out infinite}

.feature-wrap{margin-bottom:1.6rem}
.feature.frame{aspect-ratio:16/9;margin-bottom:0}
.feature-cap{display:flex;align-items:center;gap:1rem .9rem;flex-wrap:wrap;margin-top:.8rem;min-height:0;padding:.7rem .9rem;background:rgba(16,29,60,.4);border:1px solid var(--line);border-left:3px solid var(--scarlet)}
.fc-meta{display:flex;flex-direction:column;gap:.2rem;align-self:center}
.fc-tag{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--scarlet);animation:rectext 2.4s ease-in-out infinite}
.fc-date{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.fc-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--scarlet);animation:recpulse 2.4s ease-in-out infinite}
.fc-title{font-family:'Archivo',sans-serif;font-weight:700;font-stretch:108%;font-size:clamp(.95rem,2.4vw,1.2rem);text-transform:uppercase;flex:1;min-width:200px}
.fc-link{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--bracken);padding:.5rem .9rem;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:background .2s,color .2s}
.fc-link:hover{background:var(--ink);color:var(--paper)}

@media(max-width:760px){
  .bar.folded nav{display:none}
  .bar.folded .fold .rl-award{display:none}
}
@media(max-width:560px){
  .bar .mark{font-size:.86rem}
  .fold .nm{font-size:.74rem}
  .fold .rl,.fold .d{display:none}
}

/* movement-reactive sheen (parallax tilt, not cursor-follow) */
@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .sheen{position:relative}
  .sheen>.glint{position:absolute;inset:-40%;z-index:3;pointer-events:none;opacity:0;transition:opacity .35s ease,transform .15s linear;
    background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.4) 50%,transparent 80%);
    transform:translate(var(--sx,0),var(--sy,0))}
  /* section-head + intro sheen: soft diagonal glint, scroll-driven, only when active */
  .lt .box.sheen>.glint{opacity:0}
  section.active .lt .box.sheen>.glint{opacity:.5}
  .tile.sheen>.glint{opacity:.55;z-index:5;mix-blend-mode:screen}
  .lt .box.sheen:hover>.glint{opacity:.5}
  .sheen:hover>.glint{opacity:.5}
}
@media(hover:none){.sheen>.glint{display:none}}

.fc-desc{flex-basis:100%;margin:.3rem 0 0;font-size:.9rem;line-height:1.5;color:var(--dim)}
.fc-auto{display:block;margin-top:.3rem;font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--scarlet);opacity:.7}

@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  #find .hub a{background:rgba(16,29,60,.5)!important;border:1px solid rgba(255,255,255,.16);position:relative;overflow:hidden;color:var(--paper)}
  #find .hub a>.glint{position:absolute;inset:-40%;z-index:2;pointer-events:none;opacity:.18;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.3) 50%,transparent 80%);transform:translate(var(--sx,0),var(--sy,0));transition:transform .15s linear}
  #find .hub a:hover{background:var(--ink)!important;color:var(--paper);border-color:rgba(255,255,255,.3)}
}

@media(max-width:600px){
  .posters{gap:10px;grid-template-columns:1fr 1fr}
  .tile{min-height:120px;padding:.8rem;gap:.6rem}
  .tile.big{grid-column:span 2;grid-row:auto}
  .tile .d{font-size:.56rem}
  .tile .t{font-size:.82rem;line-height:1.26;overflow:visible}
  .tile .flag{font-size:.5rem;padding:.16rem .42rem}
  .feature.frame{aspect-ratio:16/9}
}

.frame .sound{position:absolute;bottom:.7rem;left:.7rem;z-index:4;display:inline-flex;align-items:center;gap:.45rem;
  background:rgba(10,20,43,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.3);color:var(--paper);cursor:pointer;
  font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.4rem .6rem;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);transition:background .2s}
.frame .sound:hover{background:var(--scarlet);color:var(--paper);border-color:var(--scarlet)}
.frame .sound .ico{font-size:.85rem;line-height:1}
.frame .sound.on{background:var(--scarlet)}

.bar .mark{transition:opacity .35s ease,max-width .35s ease;white-space:nowrap}
.bar.folded .mark{opacity:0;max-width:0;overflow:hidden;margin:0}
.bar.folded .fold{margin-left:0}

.tile .tiletop{display:flex;align-items:center;justify-content:space-between;gap:.5rem;position:relative;z-index:6}
.tile .tiletop .d{position:static!important}
.tile .flag{position:static!important;display:inline-block}
.tile .t{margin-top:0!important;position:relative;z-index:4}

/* ===== Career — base-level stitched rows ===== */
.roles{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.role{display:grid;grid-template-columns:56px 1fr auto;gap:1.1rem;align-items:center;
  padding:.95rem 0;border-bottom:1px solid var(--line);transition:padding-left .2s ease,border-color .2s ease}
.role:hover{padding-left:.5rem;border-bottom-color:rgba(242,92,5,.5)}
.role .logo{position:static;width:50px;height:50px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:7px;overflow:hidden}
.role .logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.role .rmeta{min-width:0}
.role .when{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.16em;color:var(--bracken);text-transform:uppercase;margin-bottom:.12rem}
.role h3{font-family:'Archivo',sans-serif;font-weight:700;font-stretch:108%;font-size:1rem;line-height:1.25}
.role .hl{display:inline-block;margin-top:.3rem;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--scarlet)}
.role .yr{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:115%;font-size:1.1rem;color:var(--line);text-align:right;white-space:nowrap}
@media(max-width:560px){
  .role{grid-template-columns:42px 1fr;gap:.85rem;padding:.85rem 0}
  .role .logo{width:40px;height:40px}
  .role .yr{display:none}
  .role h3{font-size:.94rem}
}

/* ===== Career — linked vertical timeline (base level) ===== */
.cv{position:relative;border-top:1px solid var(--line)}
.cvgroup{position:relative;display:grid;grid-template-columns:52px 1fr;gap:1.1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.cvgroup .badge-col{position:relative;display:flex;flex-direction:column;align-items:center}
.cvgroup .logo{width:50px;height:50px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:7px;overflow:hidden;position:relative;z-index:2}
.cvgroup .logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
/* spine runs down the badge column to connect stacked roles in one group */
.cvgroup .spine{position:absolute;top:50px;bottom:-1.1rem;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(var(--bracken),rgba(242,92,5,.25));z-index:1}
.cvgroup:last-child .spine{display:none}
.cvroles{display:flex;flex-direction:column;gap:1rem;min-width:0}
.cvrole{position:relative;padding-left:1.1rem}
.cvrole::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;background:var(--ink);border:2px solid var(--bracken);transform:rotate(45deg)}
.cvrole .when{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.16em;color:var(--bracken);text-transform:uppercase;margin-bottom:.1rem}
.cvrole h3{font-family:'Archivo',sans-serif;font-weight:700;font-stretch:108%;font-size:1rem;line-height:1.25}
.cvgroup .emp{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-top:.5rem;text-align:center}
@media(max-width:560px){
  .cvgroup{grid-template-columns:40px 1fr;gap:.85rem}
  .cvgroup .logo{width:40px;height:40px}
  .cvgroup .spine{top:40px}
  .cvrole h3{font-size:.94rem}
}

/* career: timecode bins (logo headers) */
.bin{margin-top:.4rem;border-top:1px solid var(--line)}
.binhead{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;cursor:pointer;background:none;border:0;border-bottom:1px solid var(--line);padding:.7rem 0;color:inherit}
.binhead .chev{color:var(--bracken);transition:transform .25s ease;flex-shrink:0}
.binhead.closed .chev{transform:rotate(-90deg)}
.logochip{position:relative;width:54px;height:54px;padding:2px;background:rgba(16,29,60,.42);border:1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.logochip>.glint{position:absolute;inset:-40%;z-index:5;pointer-events:none;opacity:.5;mix-blend-mode:screen;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translate(var(--sx,0),var(--sy,0));transition:transform .15s linear}
.logochip img{width:100%;height:100%;object-fit:contain;display:block;transform:scale(1.35);position:relative;z-index:1}
.binhead .logos{display:inline-flex;gap:.4rem;align-items:center}
.binhead .span{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.12em;color:var(--dim);text-transform:uppercase;white-space:nowrap}
.binhead .count{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.1em;color:var(--bracken);padding:.1rem .4rem;border:1px solid var(--line)}
.clips{overflow:hidden;transition:max-height .3s ease;position:relative}
.clips::before{content:"";position:absolute;left:.35rem;top:.2rem;bottom:1.1em;width:1px;background:var(--line)}
.clip{display:grid;grid-template-columns:96px 1fr;gap:1.1rem;align-items:baseline;padding:.6rem 0 .6rem 2.2rem;border-bottom:1px solid var(--line);position:relative}
.clip::before{content:"";position:absolute;left:.35rem;top:1.05em;width:.6rem;height:1px;background:var(--line)}


.clip .tc{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.06em;color:var(--bracken);white-space:nowrap}
.clip h3{font-family:'Archivo',sans-serif;font-weight:600;font-stretch:106%;font-size:.95rem;line-height:1.25}
.clip.cur::after{content:"";position:absolute;left:0;top:0;bottom:-1px;width:3px;background:var(--scarlet);z-index:3}
.clip.cur .tc{color:var(--scarlet)}
.clip.cur h3{font-weight:800}
.clip.cur .tc{color:var(--scarlet)}
.clip.cur h3{font-weight:800;font-size:1.08rem}
.clip .now{font-family:'IBM Plex Mono',monospace;font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:var(--scarlet);border:1px solid var(--scarlet);padding:.05rem .35rem;margin-left:.5rem;vertical-align:middle}
@media(max-width:560px){.clip{grid-template-columns:1fr;gap:.1rem;padding-left:2rem}.clip::before,  .clips::before{left:.35rem}.logochip{width:46px;height:46px}}

/* ============================================================================
   CONTENT TEMPLATES (articles / videos) — same design language as the home page
   ========================================================================== */
.page-wrap{max-width:var(--max);margin:0 auto;padding:7rem 1.25rem 5rem;position:relative;z-index:2}
.page-head{margin-bottom:2.5rem}
.page-head .kicker{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bracken);margin-bottom:.6rem}
.page-head h1{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:115%;font-size:clamp(2rem,6vw,3.4rem);line-height:1;text-transform:uppercase;color:var(--paper)}
.page-head h1 .accent{color:var(--scarlet)}

/* category filter row */
.cat-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0}
.cat-filter a{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:.35rem .7rem;border:1px solid var(--line);transition:color .2s,border-color .2s,background .2s}
.cat-filter a:hover,.cat-filter a.active{color:var(--ink);background:var(--bracken);border-color:var(--bracken)}

/* article list */
.art-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.art-row{display:block;padding:1.4rem 0;border-bottom:1px solid var(--line);transition:padding-left .25s ease}
.art-row:hover{padding-left:.6rem}
.art-row .meta{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bracken);margin-bottom:.4rem;display:flex;gap:.8rem;flex-wrap:wrap}
.art-row .meta .cat{color:var(--dim)}
.art-row h2{font-family:'Archivo',sans-serif;font-weight:600;font-stretch:106%;font-size:clamp(1.05rem,2.6vw,1.35rem);line-height:1.3;color:var(--paper)}
.art-row:hover h2{color:var(--scarlet)}
.art-row p{margin-top:.5rem;color:var(--dim);font-size:.92rem;line-height:1.55;max-width:70ch}

/* single article */
.article-body{max-width:70ch;margin:0 auto}
.article-body .lead-quote{border-left:3px solid var(--scarlet);background:rgba(16,29,60,.4);padding:1.1rem 1.3rem;margin:1.5rem 0}
.article-body .lead-quote a{color:var(--paper);font-family:'Archivo',sans-serif;font-weight:700;font-size:1.05rem;line-height:1.3;display:block;margin-bottom:.5rem}
.article-body .lead-quote p{color:var(--dim);font-size:.95rem;line-height:1.55;margin:0}
.article-body .byline{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bracken);margin:1.5rem 0}
.article-body p{color:var(--paper);font-size:1.02rem;line-height:1.7;margin:0 0 1.2rem}
.article-body h2,.article-body h3{font-family:'Archivo',sans-serif;color:var(--paper);margin:2rem 0 .8rem}
.article-body a{color:var(--bracken);text-underline-offset:2px}
.article-meta{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap}
.article-meta .cat{color:var(--scarlet)}
.back-link{display:inline-block;margin-top:2.5rem;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--bracken);padding:.65rem 1.1rem;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:background .2s,color .2s}
.back-link:hover{background:var(--ink);color:var(--paper)}

/* video archive — themed showcase grids (Vimeography replacement) */
.vid-section{margin-bottom:3rem}
.vid-section > h2{font-family:'Archivo',sans-serif;font-weight:800;font-stretch:110%;font-size:clamp(1.1rem,3vw,1.6rem);text-transform:uppercase;color:var(--paper);margin-bottom:1.2rem;display:flex;align-items:center;gap:.7rem}
.vid-section > h2::before{content:"";width:8px;height:24px;background:var(--bracken);clip-path:polygon(0 0,100% 0,100% 100%,40% 100%)}
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.vid-card{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);background:var(--panel);clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);transition:transform .25s,border-color .25s}
.vid-card:hover{border-color:var(--bracken)}
.vid-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) brightness(.78);transition:filter .3s,transform .4s}
.vid-card:hover img{filter:saturate(1) brightness(.92);transform:scale(1.04)}
.vid-card .cap{position:absolute;left:0;right:0;bottom:0;padding:.8rem .9rem;background:linear-gradient(transparent,rgba(10,16,35,.92));z-index:2}
.vid-card .cap .t{font-family:'Archivo',sans-serif;font-weight:700;font-stretch:104%;font-size:.86rem;line-height:1.2;color:var(--paper)}
.vid-card .cap .d{font-family:'IBM Plex Mono',monospace;font-size:.54rem;letter-spacing:.1em;color:var(--bracken);margin-top:.25rem}
.vid-card .flag{position:absolute;top:.6rem;right:.6rem;z-index:3;font-family:'IBM Plex Mono',monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--scarlet);padding:.18rem .45rem}
.vid-empty{color:var(--dim);font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.04em;padding:1.5rem 0}

/* pagination */
.pagination{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:2.5rem;justify-content:center}
.pagination .page-numbers{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--dim);padding:.5rem .8rem;border:1px solid var(--line);transition:color .2s,background .2s,border-color .2s}
.pagination .page-numbers.current,.pagination a.page-numbers:hover{color:var(--ink);background:var(--bracken);border-color:var(--bracken)}

/* search + 404 */
.simple-state{text-align:center;padding:6rem 1.25rem}
.simple-state h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(2.5rem,8vw,5rem);color:var(--scarlet);text-transform:uppercase;line-height:1}
.simple-state p{color:var(--dim);margin-top:1rem}
.search-form{display:flex;gap:.5rem;max-width:480px;margin:1.5rem auto 0}
.search-form input[type=search]{flex:1;background:rgba(16,29,60,.4);border:1px solid var(--line);color:var(--paper);padding:.7rem 1rem;font-family:'IBM Plex Sans',sans-serif}
.search-form button{background:var(--bracken);color:var(--ink);border:0;padding:.7rem 1.1rem;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;cursor:pointer}

/* shared site chrome already styled by the home-page CSS above (.bar, footer, etc.) */
