:root {
  --ink: #080909;
  --ink-soft: #121414;
  --paper: #f1f2ed;
  --paper-bright: #fafaf7;
  --acid: #c7ff38;
  --coral: #ff644f;
  --cyan: #63dfe5;
  --muted: #9da09a;
  --line-dark: rgba(255,255,255,.14);
  --line-light: rgba(8,9,9,.15);
  --mono: "DM Mono", ui-monospace, monospace;
  --sans: "Manrope", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body.lusion-home { margin: 0; color: var(--paper); background: var(--ink); font-family: var(--sans); letter-spacing: 0; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
::selection { color: #080909; background: var(--acid); }
.loader { position: fixed; inset: 0; z-index: 9999; display: grid; place-content: center; gap: 18px; background: #050606; transition: opacity .65s ease, visibility .65s ease; }
.loader.is-hidden { opacity: 0; visibility: hidden; }
.loader span { font-size: clamp(30px,5vw,72px); font-weight: 800; letter-spacing: 0; }
.loader i { display: block; width: min(280px,60vw); height: 2px; background: #303332; overflow: hidden; }
.loader i::after { content:""; display:block; width:100%; height:100%; background:var(--acid); transform:translateX(-100%); animation:loadbar 1.25s cubic-bezier(.65,0,.35,1) forwards; }
.loader b { color: #858985; font-family: var(--mono); font-size: 11px; font-weight: 400; text-transform: uppercase; text-align: right; }
@keyframes loadbar { to { transform: translateX(0); } }
.topbar { position: fixed; top: 0; left: 0; right: 0; z-index: 80; height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 3.2vw; border-bottom: 1px solid rgba(255,255,255,.1); background: linear-gradient(180deg,rgba(5,6,6,.78),rgba(5,6,6,0)); backdrop-filter: blur(8px); }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; font-size:18px; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); font-family:var(--mono); font-size:11px; transform:rotate(-8deg); }
.main-nav { display:flex; gap:34px; font-size:13px; }
.main-nav a,.text-link { position:relative; color:#d9dcda; }
.main-nav a::after,.text-link::after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:var(--acid); transform:scaleX(0); transform-origin:right; transition:transform .35s ease; }
.main-nav a:hover::after,.text-link:hover::after { transform:scaleX(1); transform-origin:left; }
.top-actions { justify-self:end; display:flex; align-items:center; gap:24px; font-size:13px; }
.account-link { display:flex; align-items:center; gap:9px; }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 12px var(--acid); }
.arrow { color:var(--acid); }
.menu-toggle { display:none; width:42px; height:42px; border:0; background:none; padding:10px; }
.menu-toggle span { display:block; width:100%; height:1px; margin:7px 0; background:#fff; }
.hero { position:relative; min-height:100svh; overflow:hidden; background:#070808; isolation:isolate; }
#hero-canvas { position:absolute; inset:0; z-index:-1; width:100%; height:100%; }
.hero-grid { position:absolute; inset:0; z-index:-1; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:8vw 8vw; mask-image:linear-gradient(to right,black,transparent 70%); }
.noise { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.08; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E"); mix-blend-mode:screen; }
.hero::after { content:""; position:absolute; inset:auto 0 0; height:24vh; background:linear-gradient(transparent,#080909); pointer-events:none; }
.hero-copy { position:absolute; z-index:3; left:7vw; top:50%; width:min(760px,60vw); transform:translateY(-44%); }
.eyebrow { display:flex; align-items:center; gap:13px; margin:0 0 28px; font:500 11px/1 var(--mono); text-transform:uppercase; color:#b9bdb9; }
.eyebrow-line { width:36px; height:1px; background:currentColor; }
.eyebrow.dark { color:#4c514d; }
.hero h1 { margin:0; font-size:clamp(58px,8.6vw,142px); line-height:.87; font-weight:600; letter-spacing:-.055em; }
.hero h1 em { color:var(--acid); font-style:normal; font-weight:800; text-shadow:0 0 45px rgba(199,255,56,.12); }
.hero-desc { max-width:520px; margin:38px 0 0 9vw; color:#c4c8c4; font-size:clamp(15px,1.25vw,19px); line-height:1.8; }
.magnetic-cta { display:flex; align-items:center; justify-content:space-between; width:220px; height:60px; margin:36px 0 0 9vw; padding:0 12px 0 24px; border:1px solid rgba(255,255,255,.32); font-size:13px; transition:background .3s,color .3s,border-color .3s; }
.magnetic-cta i { width:36px; height:36px; display:grid; place-items:center; background:var(--acid); color:#090a09; font-style:normal; }
.magnetic-cta:hover { color:#090a09; background:var(--acid); border-color:var(--acid); }
.magnetic-cta:hover i { background:#090a09; color:var(--acid); }
.hero-side-note { position:absolute; z-index:3; right:3vw; top:50%; display:flex; align-items:center; gap:16px; transform:rotate(90deg) translateX(50%); transform-origin:right center; color:#a3a7a3; font:10px/1 var(--mono); }
.hero-side-note i { display:block; width:100px; height:1px; overflow:hidden; background:#4e514f; }
.hero-side-note i::after { content:""; display:block; width:45%; height:100%; background:var(--acid); animation:scrollline 2.4s ease-in-out infinite; }
@keyframes scrollline { 0%,100%{transform:translateX(-100%)} 50%{transform:translateX(220%)} }
.hero-index { position:absolute; z-index:3; left:3.2vw; bottom:3.3vw; font:42px/1 var(--mono); }
.hero-index small { color:#696d69; font-size:11px; }
.hero-orbit-label { position:absolute; z-index:3; right:10vw; bottom:8vh; display:flex; align-items:center; gap:12px; font:10px/1 var(--mono); text-transform:uppercase; }
.hero-orbit-label span { padding:7px 9px; color:#080909; background:var(--acid); }
.hero-orbit-label b { font-weight:400; color:#c4c7c4; }
.section-dark { position:relative; color:var(--paper); background:var(--ink); }
.section-light { position:relative; color:var(--ink); background:var(--paper); }
.section-inner { width:min(1480px,90vw); margin:0 auto; }
.statement { padding:20vh 0 0; overflow:hidden; }
.statement-inner { min-height:76vh; display:grid; grid-template-columns:1fr 4fr; align-content:center; }
.statement-inner .eyebrow { align-self:start; margin-top:25px; }
.statement h2 { grid-column:2; margin:0; font-size:clamp(52px,7.2vw,116px); line-height:.96; font-weight:500; letter-spacing:-.045em; }
.statement h2 span,.featured h2 span,.closing h2 span { color:var(--acid); }
.statement-text { grid-column:2; width:min(590px,75%); margin:54px 0 0 24%; color:#9ca19d; font-size:clamp(16px,1.4vw,21px); line-height:1.8; }
.marquee { margin-top:8vh; overflow:hidden; border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
.marquee div { width:max-content; padding:25px 0; font-size:clamp(40px,6vw,96px); font-weight:800; line-height:1; animation:marquee 24s linear infinite; }
.marquee span { color:var(--coral); }
@keyframes marquee { to { transform:translateX(-50%); } }
.explore,.featured,.latest { padding:18vh 0; }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:8vh; }
.section-head h2,.latest h2 { margin:0; font-size:clamp(50px,6vw,96px); line-height:.96; font-weight:600; letter-spacing:-.045em; }
.outline-link { display:flex; align-items:center; gap:34px; min-width:210px; padding:18px 0; border-bottom:1px solid var(--line-light); font-size:13px; }
.outline-link span { margin-left:auto; font-size:20px; transition:transform .3s ease; }
.outline-link:hover span { transform:translate(5px,-5px); }
.outline-link.light { border-color:var(--line-dark); }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-light); border-left:1px solid var(--line-light); }
.category-tile { position:relative; min-height:310px; display:flex; flex-direction:column; padding:24px; overflow:hidden; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); transition:color .45s ease; }
.category-tile::before { content:""; position:absolute; inset:100% 0 0; background:var(--ink-soft); transition:inset .5s cubic-bezier(.65,0,.35,1); }
.category-tile > span { position:relative; z-index:2; }
.category-tile:hover { color:var(--paper); }
.category-tile:hover::before { inset:0; }
.tile-number { color:#6c706d; font:11px/1 var(--mono); }
.tile-title { margin:auto 0 16px; font-size:clamp(25px,2vw,36px); font-weight:700; }
.tile-desc { max-width:240px; min-height:44px; color:#747976; font-size:13px; line-height:1.7; }
.category-tile:hover .tile-desc { color:#adb2ae; }
.tile-arrow { position:absolute!important; top:20px; right:22px; font-size:25px; transition:transform .3s ease; }
.category-tile:hover .tile-arrow { transform:translate(5px,-5px); color:var(--acid); }
.tile-glow { position:absolute!important; width:130px; height:130px; right:-60px; bottom:-60px; border-radius:50%; background:var(--acid); filter:blur(55px); opacity:0; transition:opacity .4s ease; }
.category-tile:hover .tile-glow { opacity:.24; }
.featured { overflow:hidden; }
.topic-stack { border-top:1px solid var(--line-dark); }
.topic-feature { position:relative; display:grid; grid-template-columns:minmax(220px,30%) 54px 155px 1fr 90px; gap:22px; align-items:center; min-height:250px; padding:22px 0; border-bottom:1px solid var(--line-dark); transition:padding .4s ease,background .4s ease; }
.topic-feature::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--acid); transform:scaleY(0); transition:transform .35s ease; }
.topic-feature:hover { padding:22px 24px; background:#111313; }
.topic-feature:hover::before { transform:scaleY(1); }
.topic-media { position:relative; width:100%; height:205px; display:block; overflow:hidden; background:#171a18; }
.topic-media::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.12); pointer-events:none; }
.topic-media img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.72) contrast(1.08); transition:transform .7s cubic-bezier(.22,1,.36,1),filter .45s ease; }
.topic-feature:hover .topic-media img { transform:scale(1.055); filter:saturate(1) contrast(1.02); }
.generated-cover { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:space-between; padding:20px; overflow:hidden; background:linear-gradient(135deg,#1a211d,#090a09); }
.generated-cover::before,.generated-cover::after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(199,255,56,.42); border-radius:50%; right:-35px; top:-65px; }
.generated-cover::after { width:95px; height:95px; right:8px; top:-25px; border-color:rgba(255,100,79,.45); }
.generated-cover i { color:var(--acid); font:500 48px/1 var(--mono); font-style:normal; }
.generated-cover b { color:#8e938f; font:400 9px/1 var(--mono); }
.topic-num,.topic-meta,.topic-stats { color:#7d827e; font:11px/1.6 var(--mono); text-transform:uppercase; }
.topic-feature h3 { margin:0; font-size:clamp(24px,3vw,48px); line-height:1.12; font-weight:500; letter-spacing:-.03em; }
.topic-stats { text-align:right; }
.topic-stats b { display:block; margin-top:12px; color:var(--acid); font-size:25px; }
.latest-grid { display:grid; grid-template-columns:minmax(300px,.8fr) 1.5fr; gap:10vw; align-items:start; }
.latest-intro { position:sticky; top:130px; }
.latest-intro h2 em { color:var(--coral); font-style:normal; }
.latest-intro > p:not(.eyebrow) { max-width:420px; color:#666b67; font-size:16px; line-height:1.75; }
.stat-row { display:flex; gap:38px; margin-top:54px; padding-top:24px; border-top:1px solid var(--line-light); }
.stat-row span { display:flex; flex-direction:column; gap:5px; color:#717572; font:10px/1.3 var(--mono); text-transform:uppercase; }
.stat-row b { color:var(--ink); font:500 30px/1 var(--sans); }
.latest-list { border-top:1px solid var(--line-light); }
.latest-item { display:grid; grid-template-columns:92px 100px 1fr 70px; grid-template-rows:auto auto; gap:5px 20px; align-items:center; min-height:118px; border-bottom:1px solid var(--line-light); transition:padding .3s ease,background .3s ease; }
.latest-item:hover { padding:0 18px; background:var(--paper-bright); }
.latest-thumb { grid-column:1; grid-row:1/3; width:92px; height:72px; display:block; overflow:hidden; background:#151917; }
.latest-thumb img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.7); transition:transform .45s ease,filter .35s ease; }
.latest-item:hover .latest-thumb img { transform:scale(1.08); filter:saturate(1); }
.latest-thumb.is-generated { display:grid; place-items:center; background:var(--ink); color:var(--acid); font:500 18px/1 var(--mono); }
.latest-thumb i { font-style:normal; }
.latest-cat { grid-column:2; grid-row:1/3; }
.latest-title { grid-column:3; grid-row:1/3; }
.latest-view { grid-column:4; grid-row:1/3; }
.latest-cat,.latest-view { color:#707572; font:10px/1.5 var(--mono); text-transform:uppercase; }
.latest-title { font-size:clamp(17px,1.45vw,23px); font-weight:600; }
.latest-view { text-align:right; }
.latest-view b { color:var(--coral); font-size:18px; }
.closing { min-height:94vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.closing::before { content:""; position:absolute; width:70vw; height:70vw; right:-26vw; top:-31vw; border:1px solid rgba(199,255,56,.25); border-radius:50%; box-shadow:0 0 0 8vw rgba(199,255,56,.03),0 0 0 16vw rgba(199,255,56,.02); animation:orbit 18s linear infinite; }
@keyframes orbit { to { transform:rotate(360deg); } }
.closing-inner { position:relative; z-index:2; padding:18vh 0 12vh; }
.closing h2 { margin:0 0 60px; font-size:clamp(60px,9vw,145px); line-height:.89; font-weight:600; letter-spacing:-.055em; }
.magnetic-cta.bright { margin-left:0; background:var(--acid); border-color:var(--acid); color:var(--ink); }
.magnetic-cta.bright i { background:var(--ink); color:var(--acid); }
.footer-line { position:relative; z-index:2; width:min(1480px,90vw); margin:0 auto; padding:24px 0; display:flex; justify-content:space-between; border-top:1px solid var(--line-dark); color:#777c78; font:10px/1 var(--mono); text-transform:uppercase; }
.reveal { opacity:0; transform:translateY(45px); transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1); transition-delay:var(--delay,0ms); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
@media (max-width:1024px) {
  .main-nav { position:fixed; inset:68px 0 auto; display:flex; flex-direction:column; gap:0; padding:18px 20px 24px; background:rgba(5,6,6,.96); border-bottom:1px solid var(--line-dark); backdrop-filter:blur(16px); opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .3s ease,transform .3s ease,visibility .3s ease; }
  .main-nav.is-open { opacity:1; visibility:visible; transform:translateY(0); }
  .main-nav a { padding:17px 0; border-bottom:1px solid var(--line-dark); font-size:15px; }
  .topbar { grid-template-columns:1fr 1fr; }
  .menu-toggle { display:block; }
  .menu-toggle span { transition:transform .3s ease,opacity .3s ease; }
  .menu-toggle.is-open span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle.is-open span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .hero-copy { width:72vw; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .topic-feature { grid-template-columns:220px 40px 100px 1fr 65px; }
  .latest-grid { gap:6vw; }
}
@media (max-width:720px) {
  .topbar { height:68px; padding:0 20px; background:rgba(5,6,6,.72); }
  .brand > span:last-child,.top-actions .text-link { display:none; }
  .top-actions { gap:10px; }
  .account-link { font-size:11px; }
  .hero { min-height:900px; }
  .hero-copy { left:20px; top:43%; width:calc(100vw - 40px); transform:translateY(-50%); }
  .hero h1 { font-size:clamp(52px,15vw,68px); line-height:.92; }
  .hero-desc,.magnetic-cta { margin-left:0; }
  .hero-desc { max-width:85%; font-size:14px; }
  .hero-side-note { display:none; }
  .hero-index { left:20px; bottom:28px; font-size:30px; }
  .hero-orbit-label { right:20px; bottom:30px; }
  .section-inner { width:calc(100vw - 40px); }
  .statement { padding-top:12vh; }
  .statement-inner { min-height:70vh; display:block; }
  .statement h2 { font-size:clamp(45px,13vw,68px); }
  .statement-text { width:100%; margin:38px 0 0; font-size:15px; }
  .explore,.featured,.latest { padding:12vh 0; }
  .section-head { align-items:flex-start; gap:30px; margin-bottom:6vh; }
  .section-head h2,.latest h2 { font-size:clamp(45px,13vw,68px); }
  .outline-link { min-width:0; width:46px; height:46px; padding:0; display:grid; place-items:center; border:1px solid currentColor; }
  .outline-link:not(.light) { font-size:0; }
  .outline-link.light { font-size:0; }
  .outline-link span { margin:0; font-size:20px; }
  .category-grid { grid-template-columns:1fr; }
  .category-tile { min-height:210px; }
  .topic-feature { grid-template-columns:36px 1fr 48px; min-height:0; gap:10px; padding:22px 0 28px; }
  .topic-feature:hover { padding:22px 0 28px; }
  .topic-media { grid-column:1/4; grid-row:1; height:210px; margin-bottom:16px; }
  .topic-num { grid-column:1; grid-row:2/4; }
  .topic-meta { grid-column:2; grid-row:2; }
  .topic-feature h3 { grid-column:2; grid-row:3; padding-bottom:0; font-size:24px; }
  .topic-stats { grid-column:3; grid-row:2/4; }
  .latest-grid { display:block; }
  .latest-intro { position:relative; top:auto; margin-bottom:60px; }
  .stat-row { gap:20px; justify-content:space-between; }
  .latest-item { grid-template-columns:74px 1fr 42px; grid-template-rows:auto auto; min-height:104px; gap:6px 13px; }
  .latest-thumb { grid-column:1; grid-row:1/3; width:74px; height:62px; }
  .latest-cat { grid-column:2; grid-row:1; align-self:end; }
  .latest-title { grid-column:2; grid-row:2; align-self:start; }
  .latest-view { grid-column:3; grid-row:1/3; }
  .closing { min-height:760px; }
  .closing h2 { font-size:clamp(55px,16vw,82px); }
  .footer-line { width:calc(100vw - 40px); gap:14px; flex-wrap:wrap; line-height:1.5; }
}

/* Complete category navigation */
.nav-categories { position:relative; }
.nav-category-toggle { display:flex; align-items:center; gap:7px; padding:0; border:0; color:#d9dcda; background:none; cursor:pointer; font-size:13px; }
.nav-category-toggle i { color:var(--acid); font-style:normal; transition:transform .25s ease; }
.nav-categories:hover .nav-category-toggle i,.nav-categories.is-open .nav-category-toggle i { transform:rotate(180deg); }
.nav-category-menu { position:fixed; z-index:90; top:83px; left:50%; width:min(1040px,92vw); padding:20px; border:1px solid rgba(255,255,255,.16); background:rgba(9,11,10,.97); box-shadow:0 32px 80px rgba(0,0,0,.52); backdrop-filter:blur(22px); opacity:0; visibility:hidden; transform:translate(-50%,-10px); transition:opacity .25s ease,visibility .25s ease,transform .25s ease; }
.nav-categories:hover .nav-category-menu,.nav-categories:focus-within .nav-category-menu,.nav-categories.is-open .nav-category-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-category-head { min-height:42px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; color:#747a75; font:10px/1.3 var(--mono); text-transform:uppercase; }
.nav-category-head a { color:var(--acid); }
.nav-category-head a::after,.nav-category-grid a::after { display:none; }
.nav-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line-dark); border-left:1px solid var(--line-dark); }
.nav-category-grid > a { min-width:0; min-height:92px; display:grid; grid-template-columns:25px minmax(0,1fr) 16px; gap:10px; align-items:center; padding:15px; border-right:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); transition:background .25s ease; }
.nav-category-grid > a:hover { background:rgba(199,255,56,.07); }
.nav-category-grid > a > b { color:#5f6560; font:9px/1 var(--mono); font-weight:400; }
.nav-category-grid > a > span { min-width:0; display:flex; flex-direction:column; gap:7px; }
.nav-category-grid strong { overflow:hidden; color:#f0f2ef; font-size:14px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.nav-category-grid small { overflow:hidden; color:#707671; font-size:10px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.nav-category-grid > a > i { color:var(--acid); font-style:normal; }

@media (max-width:1024px) {
  .nav-categories { width:100%; }
  .nav-category-toggle { width:100%; justify-content:space-between; padding:17px 0; border-bottom:1px solid var(--line-dark); font-size:15px; }
  .nav-category-menu { position:static; width:100%; max-height:0; padding:0; overflow:hidden; border:0; box-shadow:none; background:transparent; opacity:1; visibility:visible; transform:none; transition:max-height .35s ease; }
  .nav-categories.is-open .nav-category-menu { max-height:70vh; overflow:auto; transform:none; }
  .nav-category-head { padding:16px 0 10px; }
  .nav-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nav-category-grid > a { min-height:76px; }
}
@media (max-width:520px) {
  .nav-category-grid { grid-template-columns:1fr; }
  .nav-category-grid > a { min-height:68px; }
}

/* Final hero carousel layout guards */
@media (min-width:721px) {
  .hero .hero-copy { width:min(495px,39vw); }
}
@media (max-width:720px) {
  .hero .hero-copy { z-index:4; width:calc(100vw - 40px); }
}

/* Article-image hero carousel */
.hero-article-stage { position:absolute; z-index:2; top:116px; right:7vw; bottom:142px; width:min(45vw,690px); border:1px solid rgba(255,255,255,.2); background:#101312; box-shadow:0 35px 90px rgba(0,0,0,.38); overflow:hidden; }
.hero-article-stage::before { content:""; position:absolute; z-index:4; inset:13px; border:1px solid rgba(255,255,255,.13); pointer-events:none; }
.hero-slides,.hero-article-slide { position:absolute; inset:0; }
.hero-article-slide { opacity:0; visibility:hidden; overflow:hidden; transition:opacity .8s cubic-bezier(.22,1,.36,1),visibility .8s; }
.hero-article-slide.is-active { opacity:1; visibility:visible; }
.hero-article-slide img { width:100%; height:100%; display:block; object-fit:cover; transform:scale(1.055); filter:saturate(.76) contrast(1.08) brightness(.74); transition:transform 7s ease,filter .7s ease; }
.hero-article-slide.is-active img { transform:scale(1); filter:saturate(.92) contrast(1.06) brightness(.82); }
.hero-slide-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,6,6,.05) 30%,rgba(5,6,6,.9) 100%); }
.hero-slide-info { position:absolute; z-index:2; left:34px; right:34px; bottom:72px; display:flex; flex-direction:column; align-items:flex-start; }
.hero-slide-info small { margin-bottom:13px; color:var(--acid); font:10px/1.2 var(--mono); text-transform:uppercase; }
.hero-slide-info strong { max-width:620px; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; font-size:clamp(22px,2.1vw,36px); line-height:1.18; font-weight:600; }
.hero-slide-info em { margin-top:13px; color:#aeb3af; font:9px/1 var(--mono); font-style:normal; text-transform:uppercase; }
.hero-slider-controls { position:absolute; z-index:6; left:34px; right:34px; bottom:23px; height:28px; display:flex; align-items:center; gap:13px; }
.hero-slider-controls button { border:0; padding:0; cursor:pointer; }
.hero-slide-prev,.hero-slide-next { width:28px; height:28px; display:grid; place-items:center; color:#e5e8e5; background:rgba(8,9,9,.7); font-size:14px; transition:color .25s ease,background .25s ease; }
.hero-slide-prev:hover,.hero-slide-next:hover { color:var(--ink); background:var(--acid); }
.hero-slide-counter { color:#8c928d; font:9px/1 var(--mono); white-space:nowrap; }
.hero-slide-counter b { color:#fff; font-weight:500; }
.hero-slide-dots { min-width:0; flex:1; display:flex; gap:6px; }
.hero-slide-dot { width:100%; height:2px; background:rgba(255,255,255,.25); transition:background .3s ease; }
.hero-slide-dot.is-active { background:var(--acid); }
.hero-copy { width:min(560px,43vw); }
#hero-canvas { opacity:.55; }

@media (max-width:1024px) {
  .hero-article-stage { right:4vw; width:48vw; }
  .hero-copy { width:44vw; }
}
@media (max-width:720px) {
  .hero { min-height:900px; }
  .hero-article-stage { top:68px; right:0; bottom:102px; width:100%; border-width:0; opacity:.78; box-shadow:none; }
  .hero-article-stage::before { inset:12px; }
  .hero-article-slide img { filter:saturate(.7) contrast(1.08) brightness(.5); }
  .hero-article-slide.is-active img { filter:saturate(.82) contrast(1.08) brightness(.56); }
  .hero-slide-shade { background:linear-gradient(180deg,rgba(5,6,6,.18),rgba(5,6,6,.32) 35%,rgba(5,6,6,.96) 88%); }
  .hero-copy { z-index:4; top:39%; width:calc(100vw - 40px); }
  .hero-slide-info { left:20px; right:20px; bottom:64px; }
  .hero-slide-info strong { max-width:88%; font-size:19px; -webkit-line-clamp:2; }
  .hero-slider-controls { left:20px; right:20px; bottom:20px; }
  #hero-canvas { opacity:.28; }
}

/* Indie Hackers density, kept inside the site's visual system */
.community-hub { position:relative; padding:110px 0 96px; overflow:hidden; color:var(--paper); background:#0b0d0c; border-top:1px solid var(--line-dark); }
.community-hub::before { content:""; position:absolute; inset:0 0 auto; height:360px; pointer-events:none; background:radial-gradient(circle at 55% 0,rgba(199,255,56,.08),transparent 58%); }
.hub-intro { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:64px; }
.hub-intro h2 { margin:0; max-width:850px; font-size:clamp(45px,5.2vw,82px); line-height:.98; font-weight:600; }
.hub-intro h2 span { color:#858b86; }
.hub-stats { display:flex; gap:34px; padding-bottom:7px; }
.hub-stats span { display:flex; min-width:66px; flex-direction:column; gap:7px; color:#737974; font:10px/1.2 var(--mono); text-transform:uppercase; }
.hub-stats b { color:var(--paper); font:500 27px/1 var(--sans); }
.community-grid { position:relative; display:grid; grid-template-columns:minmax(260px,.78fr) minmax(440px,1.55fr) minmax(240px,.72fr); gap:18px; align-items:start; }
.discussion-rail,.lead-story,.community-rail { border:1px solid var(--line-dark); background:#101312; }
.panel-heading { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 18px; border-bottom:1px solid var(--line-dark); color:#aeb3af; font:10px/1.3 var(--mono); text-transform:uppercase; }
.panel-heading > span { display:flex; align-items:center; gap:9px; }
.panel-heading > span i { width:7px; height:7px; border-radius:50%; background:var(--acid); box-shadow:0 0 13px var(--acid); }
.panel-heading a { color:var(--acid); }
.discussion-item { min-height:116px; display:grid; grid-template-columns:28px minmax(0,1fr) 49px; gap:12px; align-items:start; padding:19px 17px; border-bottom:1px solid var(--line-dark); transition:background .25s ease; }
.discussion-item:last-child { border-bottom:0; }
.discussion-item:hover { background:#171b18; }
.discussion-rank { padding-top:3px; color:#656b66; font:10px/1 var(--mono); }
.discussion-copy { min-width:0; display:flex; flex-direction:column; gap:11px; }
.discussion-copy strong { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; font-size:14px; line-height:1.55; font-weight:600; }
.discussion-copy small { overflow:hidden; color:#727873; font:9px/1.35 var(--mono); text-overflow:ellipsis; white-space:nowrap; }
.discussion-score { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:#7a807b; font:9px/1.2 var(--mono); text-transform:uppercase; }
.discussion-score b { color:var(--acid); font:500 18px/1 var(--sans); }
.discussion-score em { margin-top:8px; color:#5f6560; font-style:normal; white-space:nowrap; }
.story-column { min-width:0; display:grid; gap:18px; }
.lead-story { overflow:hidden; }
.lead-media { position:relative; width:100%; aspect-ratio:16/9; display:block; overflow:hidden; background:#151917; }
.lead-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(5,6,6,.55)); pointer-events:none; }
.lead-media img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.76) contrast(1.06); transition:transform .75s cubic-bezier(.22,1,.36,1),filter .4s ease; }
.lead-story:hover .lead-media img { transform:scale(1.035); filter:saturate(1); }
.lead-media > em { position:absolute; z-index:2; left:20px; bottom:18px; padding:8px 10px; color:var(--ink); background:var(--acid); font:500 9px/1 var(--mono); font-style:normal; }
.lead-media.is-generated > span { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:space-between; padding:26px; background:linear-gradient(135deg,#1d2720,#080a09); }
.lead-media.is-generated i { color:var(--acid); font:500 58px/1 var(--mono); font-style:normal; }
.lead-media.is-generated b { color:#707771; font:9px/1 var(--mono); }
.lead-body { padding:27px 28px 25px; }
.lead-body > p { margin:0 0 17px; color:var(--acid); font:10px/1 var(--mono); text-transform:uppercase; }
.lead-body h3 { margin:0; font-size:clamp(28px,2.6vw,43px); line-height:1.16; font-weight:600; }
.lead-body > div { margin-top:17px; color:#929892; font-size:13px; line-height:1.8; }
.lead-body footer { display:grid; grid-template-columns:auto auto 1fr; gap:19px; align-items:center; margin-top:25px; padding-top:18px; border-top:1px solid var(--line-dark); color:#686e69; font:9px/1.3 var(--mono); text-transform:uppercase; }
.lead-body footer a { justify-self:end; color:var(--paper); font-size:10px; }
.support-stories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line-dark); background:#101312; }
.support-story { min-width:0; min-height:192px; display:grid; grid-template-columns:23px minmax(0,1fr) 15px; gap:10px; padding:19px 16px; border-right:1px solid var(--line-dark); transition:background .25s ease; }
.support-story:last-child { border-right:0; }
.support-story:hover { background:#171b18; }
.support-index { color:#646a65; font:9px/1 var(--mono); }
.support-copy { min-width:0; display:flex; flex-direction:column; }
.support-copy small { color:#7a807b; font:9px/1.3 var(--mono); }
.support-copy strong { margin:auto 0 13px; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; font-size:14px; line-height:1.5; }
.support-copy em { color:#646a65; font:9px/1.3 var(--mono); font-style:normal; }
.support-story > i { color:var(--acid); font-style:normal; }
.community-rail { overflow:hidden; }
.rail-action { position:relative; min-height:210px; display:flex; flex-direction:column; padding:20px; border-bottom:1px solid var(--line-dark); overflow:hidden; }
.rail-action::before { content:""; position:absolute; width:150px; height:150px; right:-65px; bottom:-65px; border:1px solid rgba(8,9,9,.23); border-radius:50%; }
.rail-action-primary { color:var(--ink); background:var(--acid); }
.rail-action span { font:9px/1 var(--mono); }
.rail-action strong { max-width:78%; margin:auto 0 11px; font-size:25px; line-height:1.08; }
.rail-action p { max-width:85%; margin:0; font-size:11px; line-height:1.55; }
.rail-action > i { position:absolute; right:18px; top:16px; font-size:22px; font-style:normal; transition:transform .3s ease; }
.rail-action:hover > i { transform:translate(4px,-4px); }
.rail-links { border-bottom:1px solid var(--line-dark); }
.rail-links a { min-height:53px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; border-bottom:1px solid var(--line-dark); font-size:12px; transition:background .25s ease; }
.rail-links a:last-child { border-bottom:0; }
.rail-links a:hover { background:#171b18; }
.rail-links i { color:var(--acid); font-size:17px; font-style:normal; }
.category-directory > a { min-height:49px; display:grid; grid-template-columns:27px minmax(0,1fr) 15px; gap:9px; align-items:center; padding:0 18px; border-bottom:1px solid var(--line-dark); transition:background .25s ease; }
.category-directory > a:last-child { border-bottom:0; }
.category-directory > a:hover { background:#171b18; }
.category-directory b { color:#5e645f; font:9px/1 var(--mono); font-weight:400; }
.category-directory span { min-width:0; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.category-directory i { color:#6b716c; font-style:normal; }
.newest-feed { padding:105px 0 120px; color:var(--ink); background:var(--paper-bright); }
.feed-head { display:grid; grid-template-columns:1.3fr .75fr auto; gap:40px; align-items:end; margin-bottom:50px; }
.feed-head h2 { margin:0; font-size:clamp(44px,5vw,76px); line-height:.95; font-weight:600; }
.feed-head > p { max-width:330px; margin:0 0 5px; color:#666b67; font-size:14px; line-height:1.7; }
.feed-head > a { margin-bottom:5px; padding:14px 0; border-bottom:1px solid var(--line-light); font-size:12px; }
.feed-list { border-top:1px solid var(--line-light); }
.feed-item { min-height:116px; display:grid; grid-template-columns:38px 116px minmax(0,1fr) 65px 28px; gap:19px; align-items:center; border-bottom:1px solid var(--line-light); transition:padding .28s ease,background .28s ease; }
.feed-item:hover { padding:0 16px; background:#f0f1ec; }
.feed-number { color:#858a86; font:10px/1 var(--mono); }
.feed-thumb { width:116px; aspect-ratio:16/10; display:block; overflow:hidden; background:#121513; }
.feed-thumb img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.7); transition:transform .4s ease,filter .35s ease; }
.feed-item:hover .feed-thumb img { transform:scale(1.06); filter:saturate(1); }
.feed-thumb.is-generated { display:grid; place-items:center; color:var(--acid); font:500 18px/1 var(--mono); }
.feed-thumb i { font-style:normal; }
.feed-copy { min-width:0; display:grid; gap:7px; }
.feed-copy small,.feed-copy em { color:#737874; font:9px/1.2 var(--mono); font-style:normal; text-transform:uppercase; }
.feed-copy strong { overflow-wrap:anywhere; font-size:clamp(17px,1.4vw,22px); line-height:1.35; }
.feed-metrics { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:#747975; font:9px/1.2 var(--mono); text-transform:uppercase; }
.feed-metrics b { color:var(--ink); font:500 18px/1 var(--sans); }
.feed-metrics em { margin-top:6px; font-style:normal; white-space:nowrap; }
.feed-arrow { color:var(--coral); font-size:21px; font-style:normal; transition:transform .3s ease; }
.feed-item:hover .feed-arrow { transform:translate(4px,-4px); }

@media (max-width:1150px) {
  .community-grid { grid-template-columns:minmax(240px,.72fr) minmax(430px,1.28fr); }
  .community-rail { grid-column:1/3; display:grid; grid-template-columns:1fr 1fr 1.4fr; }
  .rail-action,.rail-links { border-bottom:0; border-right:1px solid var(--line-dark); }
  .category-directory { max-height:320px; overflow:auto; }
}
@media (max-width:720px) {
  .community-hub { padding:76px 0 68px; }
  .hub-intro { display:block; margin-bottom:38px; }
  .hub-intro h2 { font-size:clamp(40px,11.5vw,52px); }
  .hub-stats { justify-content:space-between; margin-top:35px; padding-top:20px; border-top:1px solid var(--line-dark); }
  .community-grid { display:flex; flex-direction:column; gap:14px; }
  .story-column { order:1; width:100%; }
  .discussion-rail { order:2; width:100%; }
  .community-rail { order:4; width:100%; display:block; }
  .lead-media { aspect-ratio:4/3; }
  .lead-body { padding:22px 20px 20px; }
  .lead-body h3 { font-size:28px; }
  .lead-body > div { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
  .lead-body footer { grid-template-columns:1fr auto; gap:10px; }
  .lead-body footer span:nth-child(2) { display:none; }
  .support-stories { grid-template-columns:1fr; }
  .support-story { min-height:136px; border-right:0; border-bottom:1px solid var(--line-dark); }
  .support-story:last-child { border-bottom:0; }
  .support-copy strong { margin:19px 0 12px; -webkit-line-clamp:2; }
  .discussion-item { min-height:105px; }
  .rail-action,.rail-links { border-right:0; border-bottom:1px solid var(--line-dark); }
  .newest-feed { padding:72px 0 82px; }
  .feed-head { display:block; margin-bottom:34px; }
  .feed-head h2 { font-size:45px; }
  .feed-head > p { margin-top:22px; }
  .feed-head > a { display:inline-block; margin-top:18px; }
  .feed-item { min-height:104px; grid-template-columns:76px minmax(0,1fr) 26px; gap:13px; }
  .feed-number,.feed-metrics { display:none; }
  .feed-thumb { width:76px; }
  .feed-copy strong { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:15px; }
  .feed-arrow { justify-self:end; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.loader i::after,.marquee div,.closing::before{animation:none}.reveal{opacity:1;transform:none;transition:none} }

/* Product-style footer */
.site-footer { position:relative; overflow:hidden; border-top:1px solid var(--line-dark); }
.site-footer::before { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,var(--acid),transparent 34%,var(--coral) 72%,transparent); opacity:.75; }
.footer-actions { padding:12vh 0 10vh; }
.footer-heading { display:grid; grid-template-columns:minmax(170px,.7fr) 2fr; align-items:start; margin-bottom:8vh; }
.footer-heading .eyebrow { margin-top:18px; }
.footer-heading h2 { grid-column:2; margin:0; max-width:980px; font-size:clamp(48px,6.5vw,104px); line-height:.95; font-weight:600; }
.footer-heading h2 span { color:#8b908c; }
.footer-choice-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line-dark); }
.footer-choice { position:relative; min-height:320px; display:flex; flex-direction:column; padding:34px; overflow:hidden; transition:background .4s ease,color .4s ease; }
.footer-choice + .footer-choice { border-left:1px solid var(--line-dark); }
.footer-choice::before { content:""; position:absolute; inset:auto 0 0; height:4px; transform:scaleX(0); transform-origin:left; background:var(--acid); transition:transform .45s cubic-bezier(.22,1,.36,1); }
.footer-choice:hover::before { transform:scaleX(1); }
.footer-choice-primary { background:#101312; }
.footer-choice-primary:hover { background:#171b18; }
.footer-choice-secondary { color:var(--ink); background:var(--paper); }
.footer-choice-secondary::before { background:var(--coral); }
.footer-choice-secondary:hover { background:var(--paper-bright); }
.choice-index { color:#7e847f; font:10px/1 var(--mono); }
.footer-choice strong { max-width:80%; margin:auto 0 18px; font-size:clamp(30px,3vw,48px); line-height:1.05; font-weight:600; }
.footer-choice p { max-width:470px; margin:0; color:#888e89; font-size:14px; line-height:1.7; }
.footer-choice-secondary p { color:#666c68; }
.footer-choice > i { position:absolute; right:32px; top:30px; width:48px; height:48px; display:grid; place-items:center; border:1px solid currentColor; font-size:22px; font-style:normal; transition:transform .35s ease,background .35s ease,color .35s ease; }
.footer-choice:hover > i { transform:translate(4px,-4px); background:var(--acid); border-color:var(--acid); color:var(--ink); }
.footer-choice-secondary:hover > i { background:var(--coral); border-color:var(--coral); color:#fff; }
.footer-directory { display:grid; grid-template-columns:1.5fr .6fr .6fr 1fr; gap:5vw; align-items:center; padding:50px 0; border-top:1px solid var(--line-dark); }
.footer-brand { display:grid; grid-template-columns:44px 1fr; grid-template-rows:auto auto; gap:3px 14px; align-items:center; }
.footer-brand .brand-mark { grid-row:1/3; width:42px; height:42px; }
.footer-brand strong { font-size:19px; }
.footer-brand small { color:#777d78; font:10px/1.4 var(--mono); }
.footer-metric { display:flex; flex-direction:column; gap:6px; }
.footer-metric b { font-size:32px; font-weight:500; }
.footer-metric span { color:#777d78; font:10px/1 var(--mono); }
.footer-nav { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; font-size:12px; }
.footer-nav a { color:#aeb2af; transition:color .25s ease; }
.footer-nav a:hover { color:var(--acid); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:22px 0; border-top:1px solid var(--line-dark); color:#696e6a; font:9px/1.5 var(--mono); text-transform:uppercase; }
.footer-bottom a { color:#bec2bf; }

@media (max-width:720px) {
  .footer-actions { padding:9vh 0 7vh; }
  .footer-heading { display:block; margin-bottom:46px; }
  .footer-heading h2 { font-size:clamp(43px,12vw,58px); }
  .footer-choice-grid { grid-template-columns:1fr; }
  .footer-choice { min-height:250px; padding:25px; }
  .footer-choice + .footer-choice { border-left:0; border-top:1px solid var(--line-dark); }
  .footer-choice strong { max-width:75%; font-size:31px; }
  .footer-choice > i { right:22px; top:22px; width:42px; height:42px; }
  .footer-directory { grid-template-columns:1fr 1fr; gap:34px 20px; padding:42px 0; }
  .footer-brand { grid-column:1/3; }
  .footer-nav { grid-column:1/3; padding-top:26px; border-top:1px solid var(--line-dark); }
  .footer-bottom { flex-wrap:wrap; }
  .footer-bottom span:nth-child(2) { display:none; }
}

/* Content-first immersive homepage */
.hero { min-height:clamp(700px,92svh,900px); }
.hero-copy { top:45%; width:min(680px,56vw); transform:translateY(-50%); }
.hero h1 { font-size:clamp(56px,7.2vw,116px); line-height:.9; }
.hero-desc { margin-top:28px; }
.magnetic-cta { margin-top:24px; }
.hero-hotbar { position:absolute; z-index:5; left:7vw; right:7vw; bottom:24px; min-height:92px; display:grid; grid-template-columns:130px repeat(3,minmax(0,1fr)); border:1px solid rgba(255,255,255,.16); background:rgba(8,9,9,.72); backdrop-filter:blur(18px); }
.hotbar-label { display:flex; align-items:center; gap:10px; padding:0 18px; border-right:1px solid rgba(255,255,255,.14); color:#aeb3af; font:500 10px/1.4 var(--mono); }
.hotbar-label i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--acid); box-shadow:0 0 14px var(--acid); }
.hotbar-item { min-width:0; display:grid; grid-template-columns:22px 58px minmax(0,1fr) 18px; gap:11px; align-items:center; padding:12px 14px; border-right:1px solid rgba(255,255,255,.12); transition:background .3s ease; }
.hotbar-item:last-child { border-right:0; }
.hotbar-item:hover { background:rgba(199,255,56,.08); }
.hotbar-item > b { color:#7c827d; font:400 9px/1 var(--mono); }
.hotbar-item > span { width:58px; height:50px; overflow:hidden; background:#171a18; }
.hotbar-item img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.7); transition:transform .4s ease,filter .4s ease; }
.hotbar-item:hover img { transform:scale(1.08); filter:saturate(1); }
.hotbar-item em { min-width:0; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#e7e9e6; font-size:12px; line-height:1.45; font-style:normal; }
.hotbar-item > i { color:var(--acid); font-style:normal; transition:transform .3s ease; }
.hotbar-item:hover > i { transform:translate(3px,-3px); }
.hero-index,.hero-orbit-label { display:none; }
.statement { padding-top:10vh; }
.statement-inner { min-height:54vh; }
.statement h2 { font-size:clamp(48px,6vw,92px); }
.statement-text { margin-top:34px; }
.explore,.featured,.latest { padding:13vh 0; }
.category-tile { min-height:245px; }
.featured .section-head { margin-bottom:5vh; }
.showcase-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; border-top:0; }
.showcase-track .topic-feature { display:grid; grid-template-columns:38px 1fr 52px; grid-template-rows:auto auto auto auto; gap:11px 12px; align-content:start; min-height:520px; padding:0 0 22px; overflow:hidden; border:1px solid var(--line-dark); background:#0d0f0e; }
.showcase-track .topic-feature::before { left:0; right:0; top:auto; width:auto; height:3px; transform:scaleX(0); transform-origin:left; }
.showcase-track .topic-feature:hover { padding:0 0 22px; background:#121514; transform:translateY(-8px); }
.showcase-track .topic-feature:hover::before { transform:scaleX(1); }
.showcase-track .topic-media { grid-column:1/4; grid-row:1; height:auto; aspect-ratio:16/10; margin:0 0 13px; }
.showcase-track .topic-num { grid-column:1; grid-row:2/4; padding-left:16px; }
.showcase-track .topic-meta { grid-column:2/4; grid-row:2; padding-right:10px; }
.showcase-track .topic-feature h3 { grid-column:2/4; grid-row:3; margin:0; padding:0 28px 0 0; font-size:clamp(22px,2.05vw,34px); line-height:1.18; }
.showcase-track .topic-stats { grid-column:2/4; grid-row:4; display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding:18px 18px 0 0; text-align:left; }
.showcase-track .topic-stats b { display:inline; margin:0; }
.latest { background:var(--paper-bright); }
.latest-item { min-height:108px; }

@media (max-width:1024px) {
  .hero-hotbar { left:4vw; right:4vw; grid-template-columns:100px repeat(3,minmax(0,1fr)); }
  .hotbar-item { grid-template-columns:18px minmax(0,1fr) 15px; }
  .hotbar-item > span { display:none; }
  .showcase-track .topic-feature { min-height:440px; }
}
@media (max-width:720px) {
  .hero { min-height:820px; }
  .hero-copy { top:39%; }
  .hero h1 { font-size:clamp(49px,14vw,62px); }
  .hero-desc { max-width:92%; margin-top:22px; line-height:1.65; }
  .hero-hotbar { left:12px; right:12px; bottom:18px; min-height:82px; grid-template-columns:82px 1fr; }
  .hotbar-label { padding:0 10px; }
  .hotbar-item { grid-template-columns:18px minmax(0,1fr) 15px; padding:10px; }
  .hotbar-item:nth-of-type(n+3) { display:none; }
  .statement { padding-top:8vh; }
  .statement-inner { min-height:52vh; }
  .explore,.featured,.latest { padding:10vh 0; }
  .category-tile { min-height:170px; }
  .showcase-track { display:flex; gap:12px; width:calc(100vw - 20px); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 20px 18px 0; }
  .showcase-track::-webkit-scrollbar { display:none; }
  .showcase-track .topic-feature { flex:0 0 min(82vw,340px); min-height:440px; scroll-snap-align:start; }
  .showcase-track .topic-media { height:auto; aspect-ratio:16/10; }
  .showcase-track .topic-feature h3 { font-size:23px; }
}

/* Final large article hero sizing */
@media (min-width:1101px) {
  .hero-article-stage { top:84px; right:0; bottom:116px; left:29vw; width:auto; border-width:0; box-shadow:none; }
  .hero-article-stage::before { inset:14px 22px 14px 0; }
  .hero-slide-info { left:42px; right:44px; bottom:78px; }
  .hero .hero-copy { width:min(450px,36vw); }
}
@media (min-width:721px) and (max-width:1100px) {
  .hero-article-stage { top:92px; right:0; bottom:116px; left:27vw; width:auto; border-width:0; box-shadow:none; }
  .hero-article-stage::before { inset:14px 18px 14px 0; }
  .hero .hero-copy { width:38vw; }
}

/* Larger community typography */
.panel-heading { font-size:12px; }
.discussion-copy strong { font-size:16px; line-height:1.5; }
.discussion-copy small { font-size:11px; }
.discussion-score { font-size:11px; }
.discussion-score b { font-size:20px; }
.discussion-score em { font-size:10px; }
.lead-body > p { font-size:11px; }
.lead-body > div { font-size:15px; }
.lead-body footer { font-size:11px; }
.lead-body footer a { font-size:12px; }
.support-copy small { font-size:11px; }
.support-copy strong { font-size:16px; line-height:1.45; }
.support-copy em { font-size:10px; }
.rail-action span { font-size:11px; }
.rail-action p { font-size:13px; }
.rail-links a { font-size:14px; }
.category-directory span { font-size:13px; }
.feed-copy small,.feed-copy em { font-size:10px; }
.feed-copy strong { font-size:clamp(19px,1.55vw,24px); }
.feed-metrics { font-size:10px; }

@media (max-width:720px) {
  .panel-heading { font-size:11px; }
  .discussion-copy strong { font-size:16px; }
  .discussion-copy small { font-size:10px; }
  .discussion-score { font-size:10px; }
  .lead-body > div { font-size:15px; }
  .support-copy strong { font-size:16px; }
  .rail-links a { font-size:14px; }
  .category-directory span { font-size:13px; }
  .feed-copy small,.feed-copy em { font-size:10px; }
  .feed-copy strong { font-size:17px; }
}
