/* Neo V pages. Existing Corvent/Helvena type and brand assets.
   Dark brand theme, square controls, outline type only in the hero.
   DESIGN_VARIANCE 7 / MOTION_INTENSITY 3 / VISUAL_DENSITY 3. */
@import url('tokens.css');

:root { color-scheme: dark; --paper:#e8e9ec; --muted:#b2b4bc; --gold:#e0b454; --edge:#ffffff24; --shell:1320px; }
html { scroll-padding-top:110px; }
body { overflow-x:clip; }
body::after { opacity:.026; }
img { height:auto; }
button,input,summary { font:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
[hidden] { display:none !important; }
.wrap { width:min(var(--shell),calc(100% - 96px)); margin-inline:auto; }
.skip { position:fixed; top:16px; left:24px; z-index:120; padding:12px 20px; color:var(--bg); background:var(--gold); transform:translateY(-180%); }
.skip:focus { transform:none; }
.site-head { height:74px; display:flex; align-items:center; position:relative; z-index:90; border-bottom:1px solid var(--edge); background:#0a0b0d; }
.site-head__inner { display:flex; align-items:center; gap:38px; }
.site-logo { display:block; width:82px; height:43px; flex:none; background:var(--gold); mask:url('img/fulllogo.svg') center/contain no-repeat; -webkit-mask:url('img/fulllogo.svg') center/contain no-repeat; }
.site-nav { display:flex; align-items:center; justify-content:center; gap:27px; margin:auto; }
.site-nav a { padding:12px 0; font:500 .9rem 'Helvena',sans-serif; color:#b9bbc3; position:relative; }
.site-nav a:hover,.site-nav a[aria-current] { color:var(--paper); }
.site-nav a[aria-current]::after { content:''; position:absolute; left:0; right:0; bottom:3px; height:2px; background:var(--gold); }
.action { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:50px; padding:13px 22px; color:#141310; background:var(--gold); border:1px solid var(--gold); font:600 .94rem 'Corvent',sans-serif; white-space:nowrap; transition:background .18s,transform .18s; }
.action:hover { background:#edc878; transform:translateY(-2px); }
.action:active { transform:translateY(0); }
.action--quiet { background:transparent; color:var(--paper); border-color:#ffffff40; }
.action--quiet:hover { background:#ffffff0d; }
.action:disabled { opacity:.55; cursor:default; transform:none; }
.action[aria-disabled=true] { opacity:.55; cursor:default; pointer-events:none; }
.arrow { font:400 1.5rem/1 'Helvena',sans-serif; }
.menu-toggle { display:none; min-height:44px; background:none; border:1px solid var(--edge); color:var(--paper); padding:8px 16px; }
.hero { padding:0; position:relative; min-height:min(720px,calc(100svh - 74px)); display:grid; align-items:center; isolation:isolate; overflow:hidden; background:#0b0c0f; }
.hero__scene { position:absolute; inset:0 0 0 25%; z-index:-2; clip-path:polygon(16% 0,100% 0,100% 100%,0 100%); }
.hero__scene img { width:100%; height:100%; object-fit:cover; object-position:var(--image-position,58% 50%); }
.hero__scene::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b0c0ff5,transparent 65%),linear-gradient(0deg,#0b0c0f,transparent 45%,#0b0c0f20); }
.hero__body { padding-block:86px 100px; }
.hero h1 { margin:0; max-width:1160px; font:700 clamp(4.3rem,8.2vw,7.8rem)/.94 'Corvent',sans-serif; letter-spacing:-.048em; text-transform:uppercase; }
.hero h1 > span { display:block; }
.outline { color:transparent; -webkit-text-stroke:1.5px var(--gold); }
.hero__intro { max-width:37ch; margin:30px 0 32px; color:#d1d2d7; font-size:clamp(1.05rem,1.4vw,1.25rem); line-height:1.6; text-wrap:pretty; }
.hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
.text-link { display:inline-flex; align-items:center; gap:16px; font-weight:500; text-decoration:underline; text-underline-offset:6px; text-decoration-color:#e0b45470; }
.text-link:hover { color:var(--gold); }
.hero--home h1 { font-size:clamp(3.8rem,7.8vw,7.4rem); }
.hero--guide h1 { font-size:clamp(3.5rem,7.2vw,6.8rem); }
.hero--small { min-height:530px; }
.hero--small .hero__body { padding-block:64px 76px; }
.hero--small h1 { font-size:clamp(3.5rem,7vw,6.6rem); }
.section { padding:100px 0; }
.section h2,.story h2,.closing h2 { margin:0 0 22px; font:600 clamp(2.4rem,4.3vw,4rem)/1.03 'Corvent',sans-serif; letter-spacing:-.035em; text-wrap:balance; }
.section h3 { margin:0 0 12px; font:600 1.65rem/1.15 'Corvent',sans-serif; letter-spacing:-.02em; }
.section p,.story p { color:var(--muted); max-width:54ch; }
.section-intro { margin-bottom:48px; }
.section-intro p { margin:16px 0 0; }
.world { display:grid; grid-template-columns:1.1fr 1fr; gap:28px; }
.world a { display:block; }
.world__large img { width:100%; aspect-ratio:1.32; object-fit:cover; }
.world__small { padding-top:110px; }
.world__small img { width:100%; aspect-ratio:1.65; object-fit:cover; }
.world__caption { padding:22px 0; }
.world__caption h3 { display:flex; justify-content:space-between; align-items:center; }
.world__caption p { margin:0; max-width:40ch; }
.world a:hover h3 { color:var(--gold); }
.story { position:relative; min-height:530px; display:flex; align-items:center; overflow:hidden; isolation:isolate; padding:72px 0; }
.story__image { position:absolute; inset:0; z-index:-2; }
.story__image img { width:100%; height:100%; object-fit:cover; object-position:65% 50%; }
.story__image::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#090b0ef5 10%,#090b0ebd 40%,#090b0e20 100%); }
.story h2 { font-size:clamp(3rem,5.6vw,5.4rem); max-width:650px; }
.story p { max-width:38ch; color:#c7c8cf; margin:24px 0 30px; }
.story .planning { display:block; margin-bottom:20px; font-size:.92rem; color:var(--gold); }
.closing { padding:90px 0 100px; }
.closing__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.closing h2 { max-width:750px; margin-bottom:0; }
.closing p { margin:16px 0 0; color:var(--muted); max-width:48ch; }
.site-footer { padding:32px 0 76px; border-top:1px solid var(--edge); }
.site-footer__inner { display:flex; justify-content:space-between; gap:24px; color:#afb1ba; font-size:.83rem; }
.site-footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.site-footer a:hover { color:var(--gold); }
.chapter-links { border-bottom:1px solid var(--edge); }
.chapter-links .wrap { display:flex; gap:40px; flex-wrap:wrap; padding-block:24px; }
.chapter-links a { color:#bdbfc6; font-size:.95rem; }
.chapter-links a:hover { color:var(--gold); }
.faction-feature { display:grid; grid-template-columns:1.25fr 1fr; gap:60px; align-items:center; }
.faction-feature img { width:100%; aspect-ratio:1.3; object-fit:cover; }
.faction-feature h3 { font-size:clamp(3rem,6vw,5rem); }
.faction-feature p { max-width:38ch; }
.faction-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:44px; row-gap:34px; margin-top:60px; }
.faction-list article { padding-top:24px; border-top:1px solid var(--edge); }
.faction-list h3 { font-size:1.4rem; }
.faction-list p { font-size:.95rem; margin:0; }
.civic { border-top:1px solid var(--edge); }
.civic-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; }
.civic-grid img { width:100%; aspect-ratio:1.6; object-fit:cover; margin-bottom:28px; }
.guide { display:grid; grid-template-columns:290px minmax(0,1fr); gap:90px; align-items:start; }
.guide-aside { position:sticky; top:30px; }
.guide-aside h2 { font-size:1.6rem; }
.guide-aside ul { padding:0; list-style:none; color:var(--muted); }
.guide-aside li { margin:12px 0; }
.guide-aside nav { margin-top:38px; display:grid; gap:12px; }
.guide-aside nav a { color:var(--gold); }
.guide-step { position:relative; padding:0 0 44px 66px; margin-bottom:44px; border-bottom:1px solid var(--edge); }
.guide-step:last-child { margin-bottom:0; }
.step-number { position:absolute; left:0; top:0; color:var(--gold); font:500 1.8rem 'Corvent',sans-serif; }
.guide-step h2 { font-size:2rem; }
.guide-step p { margin:0 0 24px; }
.guide-step details { margin-top:22px; }
.guide-step summary { cursor:pointer; color:#d8d9de; }
.guide-step details p { margin-top:16px; }
.notice { border-left:2px solid var(--gold); padding:12px 0 12px 20px; color:#c5c7ce; max-width:65ch; font-size:.94rem; }
.guide-step .notice { margin-top:20px; }
.guide-step code { display:block; margin:16px 0; color:var(--gold); overflow-wrap:anywhere; }
.team-contacts { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.team-contacts h3 { font-size:2rem; }
.team-contact { padding:28px 0; border-top:1px solid var(--edge); }
.team-contact p { margin:12px 0 0; max-width:40ch; }
.department-list { display:grid; grid-template-columns:1fr 1fr; column-gap:70px; row-gap:34px; margin-top:48px; }
.department-list p { margin:8px 0 0; max-width:41ch; }
.department-list h3 { font-size:1.4rem; }
.team-note { margin-top:42px; color:var(--muted); }
.media-spread { display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:24px; }
.media-spread figure { margin:0; }
.media-spread img { width:100%; object-fit:cover; }
.media-spread figure:first-child img { aspect-ratio:1.25; }
.media-spread figure:last-child img { aspect-ratio:.85; }
.media-spread figcaption { margin-top:15px; font-size:.84rem; color:var(--muted); }
.creator-invite { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px 70px; align-items:stretch; padding-top:40px; border-top:1px solid var(--edge); }
.creator-invite__item { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.creator-invite h2 { margin:0 0 22px; font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.12; }
.creator-invite__item p { max-width:47ch; margin:0 0 26px; }
.creator-invite__item > a { margin-top:auto; }
.creator-invite .text-link { min-height:52px; margin-top:auto; }
.creator-invite .media-note { grid-column:1 / -1; margin:0; color:var(--muted); font-size:.93rem; }
.rules-search { padding:40px 0 28px; }
.rules-search label { display:block; margin-bottom:12px; font-weight:500; }
.search-box { display:flex; align-items:center; border-bottom:1px solid #ffffff60; max-width:840px; }
.search-box input { flex:1; min-width:0; padding:14px 0; border:0; background:none; color:var(--paper); font-size:1.1rem; outline-offset:2px; }
.search-box input::placeholder { color:#a3a6b0; }
.search-box button { padding:10px 15px; background:transparent; color:var(--gold); border:0; }
.rules-count { color:var(--muted); margin:16px 0 0; font-size:.9rem; }
.rules-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:70px; padding-block:30px 100px; align-items:start; }
.rules-nav { position:sticky; top:30px; display:grid; gap:10px; }
.rules-nav a { color:#b9bcc4; padding:5px 0; font-size:.94rem; }
.rules-nav a:hover { color:var(--gold); }
.rules-chapter { padding:0 0 50px; }
.rules-chapter h2 { font:600 2.2rem 'Corvent',sans-serif; margin:0 0 24px; }
.rule { border-top:1px solid var(--edge); }
.rule__btn { display:flex; align-items:baseline; gap:18px; padding:22px 0; cursor:pointer; list-style:none; }
.rule__btn::-webkit-details-marker { display:none; }
.rule__id { flex:none; width:30px; font:400 .85rem 'JetBrains Mono',monospace; color:var(--gold); }
.rule__t { flex:1; font-weight:500; }
.rule__short { display:block; font-size:.89rem; line-height:1.6; font-weight:400; margin-top:7px; color:var(--muted); }
.rule__chev { flex:none; width:18px; color:var(--gold); }
.rule__chev svg { width:14px; }
.rule[open] .rule__chev { transform:rotate(180deg); }
.rule__body { padding:0 0 24px 48px; color:#c2c4cc; font-size:.95rem; }
.rule__body ul { padding-left:20px; }
.rule__body li { margin-bottom:14px; }
.rule__share { padding:0 0 24px 48px; font-size:.85rem; color:var(--gold); }
.no-results { padding-block:20px 80px; color:var(--muted); }
.draft-note { color:#c8bfaa; font-size:.9rem; margin:22px 0 0; }
@media (min-width:1600px) { .hero { min-height:780px; } }
@media (max-width:1100px) {
  .wrap { width:calc(100% - 56px); }
  .site-head__inner { gap:24px; }
  .site-nav { gap:17px; }
  .site-nav a { font-size:.82rem; }
  .site-head .action { padding-inline:15px; font-size:.85rem; }
  .faction-feature { gap:36px; }
  .guide { gap:50px; grid-template-columns:230px minmax(0,1fr); }
}
@media (max-width:850px) {
  .site-head { height:74px; }
  .site-logo { width:70px; }
  .site-head__inner > .action { margin-left:auto; }
  .menu-toggle { display:block; }
  .site-nav { display:none; position:absolute; inset:74px 0 auto; padding:24px 28px 32px; background:#101115; border-bottom:1px solid var(--edge); }
  .site-nav.is-open { display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
  .site-nav a { font-size:1.05rem; }
  .site-nav a[aria-current]::after { right:auto; width:32px; }
  .hero { min-height:620px; }
  .hero--small { min-height:490px; }
  .hero__scene { left:12%; }
  .hero__body { padding-block:75px 85px; }
  .hero h1 { font-size:clamp(3.5rem,9vw,5.8rem); }
  .hero--home h1 { font-size:8.1vw; }
  .hero--guide h1 { font-size:8vw; }
  .hero__intro { max-width:34ch; }
  .section { padding:72px 0; }
  .guide { grid-template-columns:1fr; gap:44px; }
  .guide-aside { position:static; }
  .guide-aside ul { display:flex; flex-wrap:wrap; gap:0 24px; }
  .guide-aside nav { display:none; }
  .faction-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rules-layout { grid-template-columns:1fr; gap:32px; }
  .rules-nav { position:static; display:flex; gap:10px 22px; flex-wrap:wrap; }
}
@media (max-width:600px) {
  .wrap { width:calc(100% - 40px); }
  .site-head__inner { gap:14px; }
  .site-head .action { min-height:40px; padding:9px 12px; font-size:.8rem; }
  .site-head .action .arrow { display:none; }
  .site-logo { width:63px; height:38px; }
  .menu-toggle { min-height:40px; font-size:.82rem; padding:8px 10px; }
  .hero,.hero--small { min-height:570px; align-items:end; }
  .hero__scene { left:0; clip-path:none; }
  .hero__scene img { object-position:var(--mobile-image-position,65% 50%); }
  .hero__scene::after { background:linear-gradient(0deg,#0b0c0f 0%,#0b0c0fe6 34%,#0b0c0f66 74%,#0b0c0f26); }
  .hero__body,.hero--small .hero__body { padding:70px 0 52px; }
  .hero h1 { font-size:clamp(2.65rem,10.5vw,4.3rem); line-height:1; letter-spacing:-.04em; }
  .hero--home h1 { font-size:10.1vw; }
  .hero--guide h1 { font-size:9.6vw; }
  .hero__intro { font-size:1rem; margin:24px 0; max-width:34ch; }
  .outline { -webkit-text-stroke-width:1px; }
  .hero__actions { gap:23px; }
  .hero__actions .text-link { font-size:.9rem; }
  .action { padding:12px 18px; min-height:48px; gap:18px; }
  .section { padding:58px 0; }
  .section h2 { font-size:2.4rem; }
  .section-intro { margin-bottom:30px; }
  .world { grid-template-columns:1fr; gap:26px; }
  .world__small { padding-top:0; }
  .world__large img,.world__small img { aspect-ratio:1.35; }
  .world__caption { padding:20px 0 0; }
  .story { min-height:480px; padding:65px 0; }
  .story__image img { object-position:68% 50%; }
  .story__image::after { background:linear-gradient(90deg,#090b0ee8,#090b0e88),linear-gradient(0deg,#090b0e,transparent); }
  .story h2 { font-size:3.3rem; }
  .story p { font-size:.98rem; }
  .closing { padding:60px 0 70px; }
  .closing__inner { display:block; }
  .closing h2 { font-size:2.55rem; }
  .closing .action { margin-top:28px; }
  .site-footer__inner { flex-direction:column; }
  .site-footer nav { gap:14px 20px; }
  .chapter-links .wrap { gap:18px 28px; padding-block:22px; }
  .faction-feature { grid-template-columns:1fr; gap:28px; }
  .faction-feature h3 { font-size:3.5rem; }
  .faction-list { column-gap:22px; row-gap:25px; margin-top:36px; }
  .faction-list h3 { font-size:1.25rem; }
  .faction-list p { font-size:.9rem; }
  .civic-grid { grid-template-columns:1fr; gap:40px; }
  .guide-step { padding-left:44px; margin-bottom:32px; padding-bottom:32px; }
  .guide-step h2 { font-size:1.75rem; }
  .step-number { font-size:1.45rem; }
  .guide-step .action { font-size:.86rem; max-width:100%; }
  .team-contacts { grid-template-columns:1fr; gap:0; }
  .department-list { grid-template-columns:1fr; gap:30px; margin-top:32px; }
  .media-spread { grid-template-columns:1fr; gap:34px; }
  .media-spread figure:first-child img { aspect-ratio:1.2; }
  .media-spread figure:last-child img { aspect-ratio:1.3; }
  .creator-invite { grid-template-columns:1fr; gap:38px; padding-top:30px; }
  .creator-invite h2 { font-size:1.9rem; }
  .rules-search { padding-top:30px; }
  .rules-layout { padding-top:0; }
  .rules-chapter h2 { font-size:1.9rem; }
  .rule__btn { gap:12px; }
  .rule__short { font-size:.85rem; }
  .rule__body,.rule__share { padding-left:0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
@media print {
  .hero { min-height:0; }
  .hero__body { padding:30px 0; }
  .rules-layout { display:block; }
  .rules-nav { display:none; }
}

.anchor-alias { position:absolute; top:0; scroll-margin-top:110px; pointer-events:none; }
.text-link[aria-disabled=true] { opacity:.6; pointer-events:none; }
.guide-step li { color:var(--muted); margin-block:10px; }
