/* Victory Licensing — /tokusatsu-licensing/ + /japanese-ip-licensing/ page styles.
   Tokens from the live site; type per the 2026 design system (Kanit 900 italic / Work Sans / Oswald / Courier Prime). */
:root{--ink:#0F172A;--red:#E81938;--crimson:#A61429;--yellow:#FFEA00;--gray:#F4F4F5;--white:#FFFFFF;--paper:#F4EDE0;--sun:#E8A33D;
  --fd:"Kanit","Arial Black",sans-serif;--fb:"Work Sans","Helvetica Neue",sans-serif;--fc:"Oswald","Arial Narrow",sans-serif;--fm:"Courier Prime","Courier New",monospace;--fj:"Noto Sans JP",sans-serif;
  --sh:6px 6px 0 0 var(--ink);--sh-lg:8px 8px 0 0 var(--ink);--sh-red:8px 8px 0 0 var(--red);--sh-hover:10px 10px 0 0 var(--ink);--sh-print:4px 4px 0 0 var(--crimson);
  --ease:cubic-bezier(.16,1,.3,1);--t-micro:150ms;--t-std:300ms;--gutter:clamp(16px,3vw,40px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:128px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--fb);line-height:1.5;-webkit-font-smoothing:antialiased}
.page-b{background:var(--white)}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--crimson)}a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
[lang=ja]{font-family:var(--fj),var(--fb)}
h1,h2,h3{font-family:var(--fd);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;line-height:.92;margin:0;text-wrap:balance}
.skip{position:absolute;left:-9999px;top:0;background:var(--yellow);color:var(--ink);padding:8px 12px;font-family:var(--fm);z-index:999}.skip:focus{left:12px;top:12px}
.wrap{max-width:1440px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.wrap-n{max-width:1200px;margin:0 auto}
.kicker{margin:0 0 6px;font-family:var(--fc);text-transform:uppercase;letter-spacing:.2em;font-size:13px;color:var(--crimson)}
.on-dark .kicker{color:var(--yellow)}
.h2{font-size:clamp(40px,5vw,80px);margin-bottom:18px}
.lede{max-width:62ch;font-size:18px;margin:0 0 40px;color:#334155}
.on-dark .lede{color:rgba(255,255,255,.88)}
.mono{font-family:var(--fm)}
.sec{padding:clamp(48px,6vw,96px) 0;border-top:4px solid var(--ink)}
.sec-white{background:var(--white)}.sec-paper{background:var(--paper)}.sec-ink,.on-dark{background:var(--ink);color:var(--white)}
.on-dark h2,.on-dark h3{color:var(--white)}
.scanlines{position:relative;overflow:hidden}
.scanlines::before{content:"";position:absolute;inset:-8px 0 0 0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px);z-index:0}
.scanlines>*{position:relative;z-index:1}
.halftone{background-image:radial-gradient(rgba(15,23,42,.14) 1px,transparent 1.3px);background-size:7px 7px}
.panel{background:var(--white);border:4px solid var(--ink);box-shadow:var(--sh)}
.panel-lg{box-shadow:var(--sh-lg)}.panel-red{box-shadow:var(--sh-red)}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:4px solid var(--ink)}
.hdr .wrap{display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-height:72px;flex-wrap:wrap}
.hdr .logo img{height:48px;width:auto}
.nav{display:flex;gap:clamp(10px,1.6vw,22px);flex:1;flex-wrap:wrap;font-family:var(--fc);text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:600}
.nav a{color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:3px solid transparent;transition:border-color var(--t-micro)}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--red)}.nav a[aria-current=page]{color:var(--crimson)}
.lang{display:flex;gap:2px;font-family:var(--fm);font-size:12px;border:3px solid var(--ink)}
.lang a{padding:5px 9px;color:var(--ink);text-decoration:none}.lang a:hover{background:var(--yellow)}.lang a[aria-current]{background:var(--ink);color:var(--white)}
/* hero */
.hero{position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(28px,4vw,64px);align-items:center;padding-top:clamp(32px,5vw,72px);padding-bottom:clamp(40px,6vw,88px)}
.crumb{font-family:var(--fm);font-size:13px;margin-bottom:18px}.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.on-dark .crumb,.on-dark .crumb a{color:rgba(255,255,255,.8)}.on-dark .crumb [aria-current]{color:var(--yellow)}
.meta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px;font-family:var(--fm);font-size:13px}
.tally{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:var(--white);border:3px solid var(--white);padding:6px 14px;letter-spacing:.18em;text-transform:uppercase}
.tally i{width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px rgba(255,234,0,.35)}
.h1{font-size:clamp(46px,7.2vw,112px);margin-bottom:22px;line-height:.88}
.page-b .h1{font-size:clamp(44px,6.6vw,104px)}
.h1 .y{color:var(--yellow)}
.sub{font-size:clamp(17px,1.4vw,21px);max-width:56ch;margin:0 0 30px}
.on-dark .sub{color:rgba(255,255,255,.9)}
.ctas{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;font-family:var(--fd);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.02em;font-size:16px;text-decoration:none;border:4px solid var(--ink);box-shadow:var(--sh);transition:transform var(--t-micro) var(--ease),box-shadow var(--t-micro) var(--ease);cursor:pointer}
.btn:hover{transform:translate(-3px,-3px);box-shadow:var(--sh-hover)}.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--ink)}
.btn-primary{background:var(--red);color:var(--white)}.btn-primary:hover{color:var(--white)}
.btn-secondary{background:var(--white);color:var(--ink)}.btn-secondary:hover{color:var(--ink)}
.trust{margin:30px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-family:var(--fc);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.frame{position:relative;border:4px solid var(--ink);background:#1E293B;box-shadow:var(--sh-red)}
.frame .label{position:absolute;top:-4px;left:-4px;background:var(--ink);color:var(--white);font-family:var(--fm);font-size:11px;letter-spacing:.16em;padding:4px 10px;z-index:2}
.frame .credit{position:absolute;left:12px;bottom:10px;font-family:var(--fm);font-size:11px;color:rgba(255,255,255,.7)}
.frame.light{background:var(--paper);box-shadow:var(--sh-print)}
.frame.light .credit{color:#64748B}
.art{aspect-ratio:4/5;position:relative;overflow:hidden}
.art img{width:100%;height:100%;object-fit:cover}
.hero-art{max-width:520px;justify-self:center;width:100%;position:relative}
.wipe{position:absolute;inset:0;background:var(--red);transform-origin:right;transform:scaleX(0);pointer-events:none}
.streak{position:absolute;top:0;bottom:0;left:0;width:34%;background:linear-gradient(90deg,transparent,rgba(232,25,56,.55),rgba(255,234,0,.35),transparent);transform:translateX(-120%) skewX(-20deg);pointer-events:none}
.burst{position:absolute;top:-18px;right:-14px;width:40px;height:40px;background:var(--yellow);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
/* page-b hero */
.vert{position:absolute;writing-mode:vertical-rl;font-family:var(--fj);font-weight:700;font-size:13px;letter-spacing:.4em;color:var(--crimson);top:56px;right:clamp(8px,2vw,32px);pointer-events:none}
.vert.l{right:auto;left:clamp(8px,1.5vw,24px)}.on-dark .vert{color:var(--yellow)}
.cycler{margin:0 0 26px;font-family:var(--fd);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(26px,3.2vw,48px);line-height:1;color:var(--red);display:flex;gap:.3em;align-items:baseline}
.cycler .for{color:var(--ink);font-size:.5em;font-family:var(--fc);font-style:normal;font-weight:600;letter-spacing:.2em}
.cycler .mask{display:inline-block;height:1.05em;overflow:hidden;vertical-align:bottom}
.cycler .col{display:flex;flex-direction:column}.cycler .col span{height:1.05em;line-height:1.05em;white-space:nowrap}
.mosaic{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(110px,auto);gap:12px;max-width:560px;width:100%;justify-self:center}
.mosaic li{border:4px solid var(--ink);background:var(--paper);display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:var(--sh-print);min-height:120px}
.mosaic li:nth-child(1){grid-column:1/3;grid-row:1/3}.mosaic li:nth-child(3){grid-column:3;grid-row:2}.mosaic li:nth-child(4){grid-row:3}.mosaic li:nth-child(5){grid-column:2/4;grid-row:3}
/* toc */
.toc{position:sticky;top:72px;z-index:40;background:var(--yellow);border-bottom:4px solid var(--ink);overflow-x:auto;scrollbar-width:none}
.page-b .toc{background:var(--white);border-top:4px solid var(--ink)}
.toc ol{list-style:none;margin:0 auto;padding:0 var(--gutter);max-width:1440px;display:flex;gap:4px;font-family:var(--fm);font-size:13px;white-space:nowrap}
.toc a{display:block;padding:12px;color:var(--ink);text-decoration:none}.toc a:hover,.toc a[aria-current]{background:var(--ink);color:var(--yellow)}
/* key facts */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,40px);padding:clamp(20px,3vw,40px)}
.facts h2{font-size:clamp(28px,3vw,44px);margin-bottom:12px}
.facts ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.facts li{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:baseline;border-bottom:1px solid #E2E8F0;padding-bottom:10px}
.facts time{font-family:var(--fd);font-weight:900;font-style:italic;font-size:22px;color:var(--red)}
/* two-col prose */
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(28px,4vw,72px);align-items:start}
.two .ctx{display:grid;gap:18px;font-size:17px;line-height:1.65;color:#1E293B;padding-top:clamp(0px,4vw,56px)}.two .ctx p{margin:0}
.snippet{font-size:clamp(18px,1.5vw,22px);margin:0;padding:22px;background:var(--paper);border:3px solid var(--ink);box-shadow:var(--sh-print)}
/* timeline */
.tl-scroll{position:relative;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--red) transparent;padding:16px var(--gutter) 32px}
.tl{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,340px);gap:20px;position:relative}
.tl-line{position:absolute;left:0;right:0;top:34px;height:3px;background:rgba(255,255,255,.2)}
.tl-line i{display:block;height:100%;background:var(--red);transform-origin:left}
.tl li.m{scroll-snap-align:start;position:relative;padding-top:60px}
.tl li.m::before{content:"";position:absolute;left:0;top:24px;width:22px;height:22px;background:var(--red);border:4px solid var(--white);box-shadow:0 0 0 3px var(--ink)}
.tl article{background:var(--white);color:var(--ink);border:4px solid var(--white);box-shadow:var(--sh-red);padding:20px;min-height:200px;display:flex;flex-direction:column;gap:10px}
.tl time,.tl .when{font-family:var(--fd);font-weight:900;font-style:italic;font-size:40px;line-height:1;color:var(--red)}
.tl h3{font-size:20px;color:var(--ink)}.tl p{margin:0;font-size:15px;color:#334155}
@media (max-width:767px){.tl{grid-auto-flow:row;grid-auto-columns:auto}.tl-scroll{overflow:visible;padding-top:0}.tl-line{display:none}.tl li.m{padding-top:0;padding-left:40px}.tl li.m::before{left:0;top:4px}}
/* cards */
.grid{display:grid;gap:clamp(24px,3vw,48px)}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}.g5{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}.g7{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px}
.card{display:flex;flex-direction:column;background:var(--white);border:4px solid var(--ink);box-shadow:var(--sh-lg);transition:transform var(--t-std) var(--ease),box-shadow var(--t-std)}
.card.tilt:hover{transform:translate(-4px,-4px) rotate(-.6deg);box-shadow:var(--sh-hover)}
.card .media{position:relative;aspect-ratio:16/9;background:#1E293B;overflow:hidden;border-bottom:4px solid var(--ink)}
.card .media.r43{aspect-ratio:4/3}.card .media.r34{aspect-ratio:3/4;background:var(--paper)}
.card .media img,.card .media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .media video{opacity:0;transition:opacity var(--t-std)}.card:hover .media video.ready,.card:focus-within .media video.ready{opacity:1}
.chip{position:absolute;top:10px;left:10px;background:var(--red);color:var(--white);font-family:var(--fm);font-size:11px;padding:3px 8px;letter-spacing:.15em;z-index:2}
.chip.ink{background:var(--ink);color:var(--yellow);font-family:var(--fc);letter-spacing:.16em}
.card .body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.card .body h3{font-size:clamp(28px,2.6vw,40px)}
.card .era{font-family:var(--fm);font-size:12px;color:var(--crimson)}
.card .alt{margin:0;font-family:var(--fm);font-size:13px;color:#475569}
.cats{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cats li{font-family:var(--fc);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--ink);padding:4px 8px;background:var(--paper)}
.more{margin-top:auto;align-self:flex-start;font-family:var(--fc);text-transform:uppercase;letter-spacing:.12em;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:3px solid var(--red);padding-bottom:2px}.more:hover{color:var(--red)}
.stamp{display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:var(--red);color:var(--white);padding:10px 16px;border:4px solid var(--ink);box-shadow:var(--sh)}
.stamp.ink{background:var(--ink)}
.stamp b{font-family:var(--fd);font-weight:900;font-style:italic;text-transform:uppercase;line-height:.9;font-size:22px}
.stamp small{font-family:var(--fc);text-transform:uppercase;letter-spacing:.22em;font-size:9px}
.case{border:4px solid var(--ink);background:var(--paper);box-shadow:var(--sh);display:flex;flex-direction:column}
.case .media{position:relative;aspect-ratio:4/3;background:#1E293B;border-bottom:4px solid var(--ink)}
.case .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case .stamp{position:absolute;right:-10px;bottom:-14px;padding:8px 12px}.case .stamp b{font-size:18px}.case .stamp small{font-size:8px}
.case .body{padding:26px 22px 24px;display:grid;gap:14px}
.case h3{font-size:26px}.case .lead{margin:0;font-family:var(--fd);font-weight:900;font-style:italic;font-size:30px;color:var(--red);line-height:1}
.case dl{margin:0;display:grid;gap:10px;font-size:15px}.case dt{font-family:var(--fc);letter-spacing:.14em;font-size:12px;color:var(--crimson);text-transform:uppercase}.case dd{margin:0}
/* steps + signal */
.signal{height:14px;border:3px solid var(--ink);background:var(--white);margin-bottom:28px;display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:2px}
.signal i{background:var(--red);transform-origin:left}
.steps{list-style:none;margin:0 0 56px;padding:0}
.steps li{background:var(--white);border:3px solid var(--ink);padding:18px 16px;display:grid;gap:8px;min-height:150px}
.page-b .steps li{background:var(--paper)}
.steps .n{font-family:var(--fd);font-weight:900;font-style:italic;font-size:34px;line-height:1;color:var(--red)}
.steps h3{font-size:17px;line-height:1.1}.steps p{margin:0;font-size:14px;color:#475569}
.h3{font-size:clamp(24px,2.4vw,34px);margin-bottom:16px}
.tbl{overflow-x:auto;border:4px solid var(--ink);background:var(--white);box-shadow:var(--sh)}
.on-dark .tbl{border-color:var(--white);color:var(--ink);box-shadow:none}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
caption{text-align:left;padding:14px 18px;font-family:var(--fm);font-size:12px;color:#475569;border-bottom:3px solid var(--ink)}
thead tr{background:var(--ink);color:var(--white);font-family:var(--fc);letter-spacing:.1em;text-transform:uppercase;font-size:13px}
.on-dark thead tr{background:var(--paper);color:var(--ink)}
th,td{text-align:left;padding:12px 18px}thead th.hi{background:var(--red)}
tbody tr{border-top:1px solid #E2E8F0}tbody th{font-weight:600}tbody td{color:#475569}tbody td.hi{font-weight:600;background:#FFF7E6;color:var(--ink)}
/* showreel */
.reel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(28px,4vw,64px);align-items:center}
.reel ol{margin:0;padding-left:18px;font-family:var(--fm);font-size:14px;line-height:1.9;color:rgba(255,255,255,.85)}
.video{position:relative;aspect-ratio:16/9;background:#1E293B}
.video video,.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:88px;height:88px;background:var(--red);border:4px solid var(--white);box-shadow:var(--sh);display:grid;place-items:center;cursor:pointer;color:var(--white);font-size:30px;transition:transform var(--t-micro)}
.play:hover{transform:translate(-2px,-2px)}.video.playing .play,.video.playing img{display:none}
/* stats */
.stat{border:4px solid var(--ink);padding:24px;background:var(--paper);box-shadow:var(--sh)}
.stat.ink{background:var(--ink);color:var(--white);box-shadow:var(--sh-red)}
.on-dark .stat{border-color:var(--white);background:var(--ink);color:var(--white);box-shadow:var(--sh-red)}
.stat .k{margin:0;font-family:var(--fc);letter-spacing:.14em;font-size:12px;color:var(--crimson);text-transform:uppercase}.stat.ink .k,.on-dark .stat .k{color:var(--yellow)}
.stat .v{margin:6px 0 4px;font-family:var(--fd);font-weight:900;font-style:italic;font-size:48px;line-height:1}.on-dark .stat .v{color:var(--yellow);font-size:clamp(40px,4vw,64px)}
.stat .d{margin:0;font-size:14px;color:#475569}.stat.ink .d,.on-dark .stat .d{color:rgba(255,255,255,.8)}
.stat .s{margin:6px 0 0;font-family:var(--fm);font-size:11px;color:rgba(255,255,255,.55)}
/* categories / services / licensors */
.tile{display:grid;gap:10px;height:100%;padding:24px 22px 22px;border:4px solid var(--ink);background:var(--white);color:var(--ink);text-decoration:none;box-shadow:var(--sh);transition:transform var(--t-std) var(--ease),box-shadow var(--t-std),background var(--t-std)}
.tile:hover{transform:translate(-4px,-4px);box-shadow:var(--sh-hover);background:var(--yellow);color:var(--ink)}
.tile .ja{font-family:var(--fj);font-weight:700;font-size:13px;letter-spacing:.3em;color:var(--crimson)}.tile h3{font-size:clamp(28px,2.6vw,40px)}.tile .t{font-size:14px;color:#475569}
.tile .more{margin-top:auto;border:0;padding:0}
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));border:4px solid var(--ink);box-shadow:var(--sh-lg);background:var(--ink)}
.svc li{background:var(--white);padding:26px 24px;display:grid;gap:10px;border:2px solid var(--ink);min-height:180px}
.svc li.end{background:var(--yellow);place-items:center}
.svc .n{font-family:var(--fd);font-weight:900;font-style:italic;font-size:40px;line-height:1;color:var(--red)}.svc h3{font-size:22px}.svc p{margin:0;font-size:14px;color:#475569}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));border:4px solid var(--ink);background:var(--white);box-shadow:var(--sh)}
.pair p{margin:0;padding:22px 24px;font-size:16px;line-height:1.6}.pair p[lang=ja]{background:var(--paper);font-size:15px;line-height:1.9}.pair p:first-child{border-right:2px solid var(--ink)}
.pairs{display:grid;gap:22px}
/* marquee */
.marquee{position:relative;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);background:var(--paper);overflow:hidden}
.marquee ul{list-style:none;margin:0;padding:18px 0;display:flex;gap:40px;width:max-content;animation:marquee 28s linear infinite}
.marquee:hover ul,.marquee:focus-within ul{animation-play-state:paused}
.marquee li{flex:none;width:200px;height:72px;border:3px solid var(--ink);background:var(--white);display:grid;place-items:center;font-family:var(--fm);font-size:11px;text-align:center;padding:8px;color:#475569}
.marquee li img{max-height:48px;width:auto}
/* team */
.person{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start;background:var(--white);border:4px solid var(--ink);box-shadow:var(--sh);padding:20px}
.person .pic{aspect-ratio:1;background:var(--paper);border:3px solid var(--ink);display:grid;place-items:center;font-family:var(--fm);font-size:10px;text-align:center;padding:6px}
.person h3{font-size:26px;margin-bottom:4px}.person .role{margin:0 0 8px;font-family:var(--fc);letter-spacing:.14em;font-size:12px;color:var(--crimson);text-transform:uppercase}.person p{margin:0;font-size:14px;color:#334155}
/* faq */
.faq{display:grid;gap:10px}
.faq details{background:var(--white);border:3px solid var(--ink)}.page-b .faq details{background:var(--paper)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;list-style:none;cursor:pointer}.faq summary::-webkit-details-marker{display:none}
.faq h3{font-size:19px;line-height:1.1;font-family:var(--fb);font-style:normal;font-weight:700;text-transform:none;letter-spacing:0}
.faq .mark{flex:none;width:30px;height:30px;display:grid;place-items:center;background:var(--red);color:var(--white);font-size:22px;transition:transform var(--t-std) var(--ease)}
.faq details[open] .mark{transform:rotate(45deg)}
.faq .a{margin:0;padding:0 18px 18px;font-size:15px;line-height:1.6;color:#334155}
/* related */
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.up{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--red);color:var(--white);text-decoration:none;border:4px solid var(--ink);box-shadow:var(--sh);padding:24px 28px;transition:transform var(--t-std) var(--ease),box-shadow var(--t-std)}
.up:hover{transform:translate(-4px,-4px);box-shadow:var(--sh-hover);color:var(--yellow)}
.up h2{font-size:clamp(26px,3vw,44px);color:inherit;margin:4px 0 0}.up .k{display:block;font-family:var(--fc);letter-spacing:.2em;font-size:12px;text-transform:uppercase}.up .arrow{font-family:var(--fd);font-size:40px}
.read{display:grid;gap:8px;padding:20px;border:3px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none}.read:hover{background:var(--yellow);color:var(--ink)}
.read small{font-family:var(--fm);font-size:12px;color:var(--crimson)}.read span{font-weight:600;font-size:17px;line-height:1.3}
/* cta */
.cta{color:var(--white);background:radial-gradient(circle at 50% 45%,var(--sun) 0%,var(--red) 42%,var(--crimson) 100%)}
.cta .wrap,.cta-b .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(28px,4vw,64px);align-items:center}
.cta h2,.cta-b h2{font-size:clamp(44px,6vw,96px);margin-bottom:18px;line-height:.88;color:var(--white)}
.cta p,.cta-b p{font-size:18px;margin:0 0 26px;max-width:50ch}
.wa{display:inline-flex;align-items:center;gap:10px;background:var(--yellow);color:var(--ink);text-decoration:none;font-family:var(--fc);font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 20px;border:4px solid var(--ink);box-shadow:var(--sh);transition:transform var(--t-micro)}
.wa:hover{transform:translate(-2px,-2px);color:var(--ink)}.cta-b .wa{border-color:var(--white);box-shadow:var(--sh-red)}
.form{background:var(--white);color:var(--ink);border:4px solid var(--ink);box-shadow:var(--sh-lg);padding:clamp(20px,3vw,36px);display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.form label{display:grid;gap:6px;font-family:var(--fc);letter-spacing:.1em;font-size:13px;text-transform:uppercase}
.form input,.form textarea{font:16px var(--fb);padding:12px;border:3px solid var(--ink);background:var(--paper);width:100%}
.form input:user-invalid,.form textarea:user-invalid{border-color:var(--red)}
.form fieldset{border:3px solid var(--ink);padding:12px 14px;margin:0;display:flex;gap:18px;flex-wrap:wrap;font-size:15px}
.form fieldset label{display:flex;gap:8px;align-items:center;font-family:var(--fb);letter-spacing:0;text-transform:none;font-size:15px}
.form input[type=radio]{accent-color:var(--red);width:18px;height:18px}
.form .err{margin:0;font-size:14px;color:var(--crimson);font-weight:600}.form .err:empty{display:none}
.form .foot{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.form .note{font-family:var(--fm);font-size:12px;color:#64748B}
/* byline + footer */
.byline{background:var(--white);border-top:4px solid var(--ink);padding:28px 0}
.byline .wrap{display:flex;gap:24px 48px;flex-wrap:wrap;font-size:14px;color:#475569}.byline p{margin:0}.byline strong{color:var(--ink)}
.ftr{background:var(--ink);color:var(--white);padding:clamp(40px,5vw,64px) 0 28px;border-top:4px solid var(--red)}
.ftr .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px;font-size:14px}
.ftr img{height:56px;width:auto;margin-bottom:14px}.ftr p{margin:0;color:rgba(255,255,255,.8)}
.ftr .k{margin:0 0 8px;font-family:var(--fc);letter-spacing:.2em;font-size:12px;color:var(--yellow);text-transform:uppercase}
.ftr a{color:var(--white);text-decoration:none}.ftr a:hover{color:var(--yellow)}.ftr nav{display:grid;gap:6px}
.ftr .copy{margin:28px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);font-family:var(--fm);font-size:12px;color:rgba(255,255,255,.6)}
/* motion: content visible by default; .js adds reveal classes */
.js .rv{opacity:0;transform:translateY(28px)}
.js .rv.in{opacity:1;transform:none;transition:transform .7s var(--ease),opacity .6s var(--ease)}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes tally{50%{opacity:.25}}
@keyframes cycle{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-1.05em)}50%,70%{transform:translateY(-2.1em)}75%,95%{transform:translateY(-3.15em)}100%{transform:translateY(-4.2em)}}
@keyframes scan{to{transform:translateY(8px)}}
.js .tally i{animation:tally 1.1s steps(1) infinite}
.js .scanlines::before{animation:scan 1.2s steps(2) infinite}
@media (prefers-reduced-motion:reduce){
  .js .rv{transform:none;transition:opacity .3s}
  .tally i,.scanlines::before,.marquee ul,.cycler .col{animation:none!important}
  .card.tilt:hover,.tile:hover,.btn:hover{transform:none}
}
@media print{.hdr,.toc,.ftr,.cta,.cta-b{display:none}}

.card .media .hover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .45s var(--ease),transform 1.2s var(--ease)}
.card:hover .media .hover-art,.card:focus-within .media .hover-art{opacity:1;transform:scale(1)}
@media (prefers-reduced-motion:reduce){.card .media .hover-art{transform:none}}

.tile.static:hover{transform:none;box-shadow:var(--sh);background:var(--white)}

/* the headline "slam" (scale 1.12 before reveal) otherwise widens the page and causes sideways scroll */
html,body{overflow-x:clip}
/* category tiles: keep headings inside the box and rows aligned */
.tile{align-content:start;grid-template-columns:minmax(0,1fr)}
.tile>*{min-width:0}
.tile h3{font-size:clamp(20px,1.6vw,28px);line-height:.95;min-height:1.9em;display:flex;align-items:flex-end;overflow-wrap:anywhere}
