*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#0C111C;color:#E7ECF6;font-family:'Archivo',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;margin:0}
.wrap,main{max-width:1180px;margin:0 auto;padding:0 28px}
main{padding-top:8px;padding-bottom:0}

/* header */
.site-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:16px 28px;background:rgba(12,17,28,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(231,236,246,.08)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{border-radius:7px}
.brand b{display:block;font-family:'Bricolage Grotesque';font-weight:800;font-size:17px;line-height:1.05;color:#E7ECF6}
.brand i{display:block;font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#69748C;margin-top:3px}
.site-nav{display:flex;flex-wrap:wrap;gap:4px}
.site-nav a{font-weight:600;font-size:13px;color:#C3CBDC;text-decoration:none;padding:8px 11px;border-bottom:2px solid transparent}
.site-nav a:hover{color:#E7ECF6}
.site-nav a.on{color:#3CE0F0;border-bottom-color:#3CE0F0}

/* breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;max-width:1180px;margin:0 auto;padding:16px 28px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#69748C}
.crumbs a{color:#69748C;text-decoration:none}
.crumbs a:hover{color:#F5B73D}
.crumbs em{font-style:normal;color:#39414F}
.crumbs span{color:#E7ECF6}

/* detail hero */
.detail,.term{max-width:1180px;margin:0 auto;padding:0 28px 12px}
.hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(231,236,246,.1);display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center;padding:30px 0 40px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 0%,var(--glow),transparent 52%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(120deg,rgba(231,236,246,.4) 0 1px,transparent 1px 26px);opacity:.04;pointer-events:none}
.hero-text,.hero-cover{position:relative}
.badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.fmt{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#0C111C;background:var(--accent,#3CE0F0);padding:5px 10px;font-weight:600}
.genre-pill{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:4px 9px;text-decoration:none}
.genre-pill:hover{background:var(--accent);color:#0C111C}
.kicker{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#69748C}
.hero h1{font-weight:800;font-size:clamp(34px,5vw,62px);line-height:.98;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
.hero-meta{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;color:#94A0BA;margin-bottom:18px}
.lede{font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:#D5DCEC;max-width:40em;margin:0;text-wrap:pretty}
.hero-cover img{width:100%;border:1px solid rgba(231,236,246,.14);box-shadow:0 24px 60px rgba(0,0,0,.5)}
.extlinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.extlink{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:#0C111C;background:#E7ECF6;padding:10px 15px;text-decoration:none;border-radius:2px}
.extlink:hover{background:#fff}

/* detail body */
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start;padding:36px 0 8px}
.editorial{min-width:0}
.intro p{font-size:18px;line-height:1.7;color:#D5DCEC;margin:0 0 18px;text-wrap:pretty}
.bodysec{margin-bottom:34px}
.bodysec h2{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.bodysec p{font-size:16px;line-height:1.72;color:#C4CDDF;margin:0 0 15px;max-width:38em;text-wrap:pretty}
.verdict{margin:42px 0 12px;background:#10131F;border:1px solid rgba(231,236,246,.12);border-left:3px solid var(--accent);padding:22px 24px}
.verdict h2{font-weight:800;font-size:18px;letter-spacing:-.01em;color:#E7ECF6;margin:0 0 14px;display:flex;align-items:center;gap:10px}
.vtag{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#0C111C;background:var(--accent);padding:4px 8px;font-weight:600}
.verdict p{font-size:16.5px;line-height:1.72;color:#D5DCEC;margin:0 0 15px;max-width:40em;text-wrap:pretty}
.editorial p:last-child,.term-body p:last-child{margin-bottom:0}

/* sidebar facts */
.sidebar{position:sticky;top:90px}
.facts-card{background:#10131F;border:1px solid rgba(231,236,246,.1)}
.facts-h{padding:16px 18px;border-bottom:1px solid rgba(231,236,246,.1);font-family:'Bricolage Grotesque';font-weight:700;font-size:15px}
.fact{display:flex;gap:14px;padding:11px 18px;border-bottom:1px solid rgba(231,236,246,.06)}
.fact:last-child{border-bottom:0}
.fk{flex:none;width:92px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#69748C;padding-top:2px}
.fv{font-size:14px;color:#E7ECF6}

/* related */
.related{border-top:1px solid rgba(231,236,246,.1);margin-top:30px;padding-top:34px;padding-bottom:20px}
.related h2{font-weight:800;font-size:clamp(20px,2.4vw,26px);margin:0 0 22px}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.rel-grid.two{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.relcard{display:flex;gap:12px;align-items:center;background:#10131F;border:1px solid rgba(231,236,246,.1);border-left:3px solid var(--accent);padding:12px;text-decoration:none;transition:transform .14s,background .14s}
.relcard:hover{transform:translateY(-2px);background:#141A28}
.relthumb{flex:none;width:46px;height:62px;overflow:hidden;background:#1B2233;display:flex;align-items:center;justify-content:center}
.relthumb img{width:100%;height:100%;object-fit:cover}
.nocover{font-family:'Bricolage Grotesque';font-weight:800;font-size:20px;color:var(--accent)}
.relbody{min-width:0;display:flex;flex-direction:column;gap:4px}
.relname{font-family:'Bricolage Grotesque';font-weight:700;font-size:15px;color:#E7ECF6;line-height:1.15}
.relgenre{font-size:12px;color:#94A0BA;line-height:1.4}
.termcard{display:flex;flex-direction:column;gap:6px;background:#10131F;border:1px solid rgba(231,236,246,.1);border-left:3px solid var(--accent);padding:16px 18px;text-decoration:none;transition:transform .14s,background .14s}
.termcard:hover{transform:translateY(-2px);background:#141A28}

/* term page */
.term-hero{display:block;padding:36px 0 40px}
.term-hero h1{font-size:clamp(34px,5vw,64px)}
.term-body{max-width:760px;padding:36px 0 6px}
.term-body p{font-size:17px;line-height:1.74;color:#C4CDDF;margin:0 0 18px;text-wrap:pretty}
.backlink{display:inline-flex;margin-top:24px;font-weight:600;font-size:14px;color:var(--accent);text-decoration:none}
.backlink:hover{filter:brightness(1.15)}
.term-covers-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:28px 0 14px}
.term-covers{display:flex;gap:16px;flex-wrap:wrap}
.tcov{position:relative;width:124px;aspect-ratio:2/3;overflow:hidden;background:#141820;border:2px solid var(--accent);box-shadow:8px 8px 0 color-mix(in srgb,var(--accent) 20%,transparent);text-decoration:none;display:block;transition:transform .16s,box-shadow .16s}
.tcov:hover{transform:translateY(-4px);box-shadow:11px 11px 0 color-mix(in srgb,var(--accent) 32%,transparent)}
.tcov img{width:100%;height:100%;object-fit:cover;display:block}
.tcov .tcfade{position:absolute;left:0;right:0;bottom:0;height:58px;background:linear-gradient(transparent,#0C111Cf2)}
.tcov .tcn{position:absolute;left:0;right:0;bottom:7px;padding:0 9px;font-family:'Bricolage Grotesque';font-weight:700;font-size:11.5px;line-height:1.12;color:#E7ECF6;text-wrap:balance}
@media(max-width:560px){.tcov{width:96px}}

/* listing pages */
.page-hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(231,236,246,.1);max-width:1180px;margin:0 auto;padding:38px 28px 36px}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0%,var(--glow,#3CE0F022),transparent 52%);pointer-events:none}
.page-hero h1{position:relative;font-weight:800;font-size:clamp(34px,5vw,66px);line-height:.96;letter-spacing:-.02em;margin:0 0 14px}
.page-hero p{position:relative;font-size:clamp(15px,1.5vw,19px);line-height:1.55;color:#D5DCEC;max-width:46em;margin:0}
.page-kicker{position:relative;display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#69748C;margin-bottom:16px}
.section{max-width:1180px;margin:0 auto;padding:30px 28px 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.tile{display:flex;flex-direction:column;gap:8px;background:#10131F;border:1px solid rgba(231,236,246,.1);border-left:3px solid var(--accent);padding:18px;text-decoration:none;transition:transform .14s,background .14s}
.tile:hover{transform:translateY(-3px);background:#141A28}
.tile-name{font-family:'Bricolage Grotesque';font-weight:700;font-size:19px;color:#E7ECF6}
.tile-sub{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;color:#94A0BA}
.letter-h{font-family:'Bricolage Grotesque';font-weight:800;font-size:24px;color:var(--accent,#3CE0F0);margin:28px 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(231,236,246,.1)}
.az-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 22px}
.az-item{display:flex;align-items:baseline;gap:9px;padding:8px 0;text-decoration:none;border-bottom:1px solid rgba(231,236,246,.05)}
.az-item:hover .az-name{color:#3CE0F0}
.az-name{font-weight:600;font-size:15px;color:#E7ECF6}
.az-year{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#69748C;margin-left:auto}
.note-box{background:linear-gradient(120deg,#1A1320,#15233A);border:1px solid rgba(245,183,61,.34);padding:20px 22px;margin:22px 0;max-width:1124px}
.note-box .nh{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#F5B73D;margin-bottom:8px}
.note-box p{font-size:15px;line-height:1.6;color:#E7ECF6;margin:0;max-width:54em}
.cta{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:600;font-size:14px;color:#0C111C;background:#3CE0F0;padding:11px 16px;text-decoration:none;border-radius:2px}
.cta:hover{filter:brightness(1.08)}

/* footer */
.site-foot{border-top:1px solid rgba(231,236,246,.1);background:#070A12;margin-top:48px}
.foot-grid{max-width:1180px;margin:0 auto;padding:44px 28px 24px;display:grid;grid-template-columns:1fr 1fr 2fr;gap:32px}
.foot-h{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#FF3D7F;margin-bottom:14px}
.site-foot a{display:block;color:#C3CBDC;text-decoration:none;font-size:14px;padding:5px 0}
.site-foot a:hover{color:#3CE0F0}
.foot-about p{font-size:12.5px;line-height:1.6;color:#8893AB;margin:0 0 12px}
.foot-about a{display:inline;color:#FF3D7F;padding:0;border-bottom:1px solid rgba(255,61,127,.4)}
.foot-about .fine{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#566076}
.foot-base{max-width:1180px;margin:0 auto;padding:14px 28px 30px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;color:#566076;border-top:1px solid rgba(231,236,246,.06)}

/* section headers */
.sec{max-width:1180px;margin:0 auto;padding:54px 28px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.kick{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}
.sec h2.big{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(26px,3.4vw,40px);line-height:1;letter-spacing:-.01em;margin:0;text-wrap:balance;max-width:18em}
.see-all{font-weight:600;font-size:13.5px;color:#94A0BA;text-decoration:none;white-space:nowrap;padding-bottom:6px}
.see-all:hover{color:#3CE0F0}

/* home hero */
.home-hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(231,236,246,.1)}
.home-hero-inner{max-width:1180px;margin:0 auto;padding:56px 28px 60px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.home-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 10%,#3CE0F01f,transparent 50%),radial-gradient(circle at 10% 90%,#FF3D7f14,transparent 45%);pointer-events:none}
.hero-lead{position:relative}
.hero-lead h1{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(40px,5.6vw,72px);line-height:.94;letter-spacing:-.025em;margin:0 0 20px}
.hero-lead p{font-size:clamp(15px,1.5vw,18px);line-height:1.6;color:#C4CDDF;max-width:38em;margin:0 0 26px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:10px}
.btn{font-weight:600;font-size:14px;padding:12px 18px;text-decoration:none;border:1px solid transparent}
.btn-primary{color:#0C111C;background:#E7ECF6}
.btn-primary:hover{background:#3CE0F0}
.btn-ghost{color:#E7ECF6;border-color:rgba(231,236,246,.3)}
.btn-ghost:hover{border-color:#3CE0F0;color:#3CE0F0}
.btn-amber{color:#F5B73D;border-color:rgba(245,183,61,.4)}
.btn-amber:hover{background:rgba(245,183,61,.12)}
.collage{position:relative;height:430px}
.collage a{position:absolute;overflow:hidden;display:block;text-decoration:none;border:2px solid var(--c);box-shadow:14px 14px 0 var(--sh)}
.collage a:hover{box-shadow:18px 18px 0 var(--sh2)}
.collage a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.collage .fade{position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(transparent,#0C111C)}
.collage .clab{position:absolute;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.2em;color:#0C111C;padding:3px 6px;font-weight:600}
.collage .c1{top:14px;right:24px;width:188px;height:248px;background:#141B2A;transform:rotate(3deg);--c:#3CE0F0;--sh:#3CE0F01f;--sh2:#3CE0F038}
.collage .c2{top:128px;left:8px;width:168px;height:200px;background:#16203A;transform:rotate(-4deg);--c:#FF3D7F;--sh:#FF3D7f1f;--sh2:#FF3D7f38}
.collage .c3{bottom:0;right:70px;width:150px;height:120px;background:#10261C;transform:rotate(2deg);--c:#74E0A6;--sh:#74E0A61f;--sh2:#74E0A638}
.collage .star{position:absolute;top:48%;left:42%;font-family:'Bricolage Grotesque';font-weight:800;font-size:62px;color:rgba(245,183,61,.16);transform:rotate(-12deg)}

/* feature cards (home) */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.feature{position:relative;display:flex;flex-direction:column;background:#10131F;border:1px solid rgba(231,236,246,.14);overflow:hidden;text-decoration:none;transition:transform .18s,box-shadow .18s}
.feature:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.feature .ph{position:relative;display:block;aspect-ratio:16/10;background:#141820;overflow:hidden}
.feature .ph img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.feature .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#10131F 5%,rgba(16,19,31,.15) 50%,transparent)}
.feature .topbar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent)}
.feature .meta{position:absolute;left:18px;right:18px;bottom:13px;display:flex;align-items:center;gap:8px;z-index:1}
.feature h3{font-family:'Bricolage Grotesque';font-weight:800;font-size:24px;line-height:1.02;letter-spacing:-.02em;color:#E7ECF6;margin:16px 20px 0;text-wrap:balance}
.feature:hover h3{color:var(--accent)}
.feature p{margin:10px 20px 0;font-size:14px;line-height:1.55;color:#B7C0D6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.feature .go{margin:16px 20px 20px;font-weight:600;font-size:13px;color:var(--accent)}

/* poster cards (listings) */
.poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.poster{display:flex;flex-direction:column;background:#141B2A;border:1px solid rgba(231,236,246,.12);border-top:3px solid var(--accent);text-decoration:none;transition:transform .18s,box-shadow .18s}
.poster:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.45)}
.poster .ph{position:relative;aspect-ratio:2/3;background:#141820;overflow:hidden}
.poster .ph img{width:100%;height:100%;object-fit:cover}
.poster .nocover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque';font-weight:800;font-size:40px;color:var(--accent);opacity:.5}
.poster .fmt2{position:absolute;top:9px;left:9px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#0C111C;background:var(--accent);padding:3px 7px;font-weight:600}
.poster .yr{position:absolute;top:9px;right:9px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:#E7ECF6;background:rgba(7,10,18,.78);padding:3px 6px}
.poster .pt{font-family:'Bricolage Grotesque';font-weight:700;font-size:16px;line-height:1.1;color:#E7ECF6;margin:13px 14px 0;text-wrap:balance}
.poster:hover .pt{color:var(--accent)}
.poster .pg{margin:8px 14px 14px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}

/* hub (franchise) cards */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.hub{position:relative;display:flex;flex-direction:column;min-height:230px;background:#141B2A;border:1px solid rgba(231,236,246,.12);padding:24px;text-decoration:none;overflow:hidden;transition:transform .18s,box-shadow .18s}
.hub:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.45)}
.hub .edge{position:absolute;top:0;right:0;bottom:0;width:6px;background:var(--accent)}
.hub .ring{position:absolute;right:-30px;top:-30px;width:140px;height:140px;border:2px solid var(--accent);opacity:.16;border-radius:var(--shape,50%)}
.hub .hc{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.hub h3{font-family:'Bricolage Grotesque';font-weight:800;font-size:30px;line-height:1;margin:14px 0 12px;color:#E7ECF6}
.hub p{font-size:14px;line-height:1.55;color:#B7C0D6;margin:0;flex:1}
.hub .go{font-weight:600;font-size:13.5px;color:var(--accent);margin-top:16px}
.hub.has-img{padding-right:39%}
.hub .hubimg{position:absolute;top:0;right:0;bottom:0;width:46%;overflow:hidden;z-index:0}
.hub .hubimg img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.hub .hubimg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#141B2A,rgba(20,27,42,.5) 58%,rgba(20,27,42,.18))}
.hub>*{position:relative;z-index:1}
@media(max-width:560px){.hub.has-img{padding-right:32%}.hub .hubimg{width:40%}}

/* genre tiles */
.gt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}
.gtile{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:104px;background:#10131F;border:1px solid rgba(231,236,246,.1);border-bottom:3px solid var(--accent);padding:15px 16px;text-decoration:none;transition:background .16s,transform .16s}
.gtile:hover{background:#161B2A;transform:translateY(-3px)}
.gtile .gtimg{position:absolute;inset:0;z-index:0}
.gtile .gtimg img{width:100%;height:100%;object-fit:cover;object-position:center 24%}
.gtile .gtimg::after{content:"";position:absolute;inset:0;background:linear-gradient(108deg,#10131F 32%,rgba(16,19,31,.68) 66%,rgba(16,19,31,.38))}
.gtile:hover .gtimg::after{background:linear-gradient(108deg,#10131F 28%,rgba(16,19,31,.58) 64%,rgba(16,19,31,.28))}
.gtile>*{position:relative;z-index:1}
.gtile .gn{font-family:'Bricolage Grotesque';font-weight:700;font-size:18px;line-height:1.04;color:#E7ECF6}
.gtile .gc{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--accent)}

/* decoder promo */
.promo{position:relative;overflow:hidden;background:linear-gradient(120deg,#10131F,#15233A);border:1px solid rgba(245,183,61,.3);padding:clamp(28px,5vw,46px);display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.promo::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(245,183,61,.6) .7px,transparent 1px);background-size:18px 18px;opacity:.08}
.promo .pl{position:relative;flex:1;min-width:280px}
.promo h2{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(24px,3vw,34px);line-height:1.04;margin:0 0 12px}
.promo p{font-size:15px;line-height:1.6;color:#B7C0D6;margin:0;max-width:42em}
.promo .btn{position:relative;color:#0C111C;background:#F5B73D}
.promo .btn:hover{filter:brightness(1.08)}

@media(max-width:920px){.home-hero-inner{grid-template-columns:1fr}.collage{display:none}}
@media(max-width:860px){
  .hero{grid-template-columns:1fr;gap:24px}
  .hero-cover{max-width:220px}
  .detail-grid{grid-template-columns:1fr;gap:28px}
  .sidebar{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}
