*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:       #0D0B09;
  --surface:  #161210;
  --surface2: #1E1A16;
  --border:   rgba(201,169,98,.18);
  --border-h: rgba(201,169,98,.38);
  --gold:     #C9A962;
  --crimson:  #8B0000;
  --crimson-l:#A81010;
  --text:     #E8E0D0;
  --text-2:   #C4B49A;
  --text-3:   #8A7A6A;
  --fh:  'Cinzel Decorative', serif;
  --fh2: 'Cinzel', serif;
  --fb:  'Lora', serif;
}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:var(--fb);font-size:17px;line-height:1.78;overflow-x:hidden;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--surface);}
::-webkit-scrollbar-thumb{background:var(--crimson);}

/* SHARED */
.label{display:block;font-family:var(--fh2);font-size:9px;letter-spacing:.52em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;}
.section-title{font-family:var(--fh2);font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700;color:var(--text);line-height:1.15;margin-bottom:.8rem;}
.lede{font-style:italic;color:var(--text-2);max-width:520px;margin-bottom:2rem;font-size:1rem;}
.chapter{max-width:1080px;margin:0 auto;padding:5rem 2rem;}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:none;}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,11,9,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:stretch;}
.nav-brand{display:flex;align-items:center;gap:10px;padding:9px 20px;background:var(--crimson);text-decoration:none;transition:background .2s;}
.nav-brand:hover{background:var(--crimson-l);}
.nav-brand-text{font-family:var(--fh);font-size:12px;font-weight:700;color:var(--text);letter-spacing:.06em;line-height:1.1;}
.nav-brand-text span{display:block;font-family:var(--fh2);font-size:8px;letter-spacing:.18em;color:rgba(232,224,208,.52);font-weight:400;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;}
.nav-a{padding:12px 13px;font-family:var(--fh2);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,224,208,.75);text-decoration:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;}
.nav-a:hover,.nav-a.on{color:var(--text);border-bottom-color:var(--gold);}
.nav-right{display:flex;align-items:center;padding:0 16px;gap:8px;margin-left:auto;}
.btn-sm{font-family:var(--fh2);font-size:8px;letter-spacing:.14em;text-transform:uppercase;padding:6px 16px;text-decoration:none;border:1px solid var(--border-h);color:var(--gold);background:transparent;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;}
.btn-sm:hover{background:rgba(201,169,98,.12);}
.btn-sm.p{background:var(--crimson);border-color:var(--crimson);color:var(--text);}
.btn-sm.p:hover{background:var(--crimson-l);border-color:var(--crimson-l);}
@media(max-width:680px){.nav-links{display:none;}}

/* HERO */
#hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 5rem;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(139,0,0,.12) 0%,transparent 65%);pointer-events:none;}
.h-ring{position:absolute;top:50%;left:50%;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);}
.h-ring-1{width:86vmin;height:86vmin;border:1px solid rgba(139,0,0,.35);animation:rspin 110s linear infinite;}
.h-ring-2{width:62vmin;height:62vmin;border:1px dashed rgba(201,169,98,.18);animation:rspin 75s linear infinite reverse;}
.h-ring-3{width:40vmin;height:40vmin;border:1px solid rgba(201,169,98,.28);animation:rspin 55s linear infinite;}
@keyframes rspin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.h-corner{position:absolute;width:52px;height:52px;border-color:rgba(201,169,98,.18);border-style:solid;pointer-events:none;}
.h-corner-tl{top:28px;left:28px;border-width:1px 0 0 1px;}
.h-corner-tr{top:28px;right:28px;border-width:1px 1px 0 0;}
.h-corner-bl{bottom:28px;left:28px;border-width:0 0 1px 1px;}
.h-corner-br{bottom:28px;right:28px;border-width:0 1px 1px 0;}
.hero-inner{position:relative;z-index:2;max-width:720px;}
.hero-logo{display:block;margin:0 auto 2rem;opacity:0;animation:rise .9s .15s forwards;}
.hero-eye{font-family:var(--fh2);font-size:9px;letter-spacing:.55em;text-transform:uppercase;color:rgba(201,169,98,.85);margin-bottom:1.4rem;opacity:0;animation:rise .9s .35s forwards;}
.hero-title{font-family:var(--fh);font-size:clamp(3.2rem,9vw,7.5rem);font-weight:700;color:var(--text);line-height:.9;margin-bottom:1.6rem;letter-spacing:.04em;opacity:0;animation:rise .9s .55s forwards;}
.hero-rule{display:flex;align-items:center;gap:1rem;max-width:320px;margin:0 auto 1.6rem;opacity:0;animation:rise .9s .7s forwards;}
.hero-rule::before,.hero-rule::after{content:'';flex:1;height:1px;background:rgba(139,0,0,.55);}
.hero-rule span{font-family:var(--fh2);font-size:8px;letter-spacing:.38em;text-transform:uppercase;color:rgba(201,169,98,.85);white-space:nowrap;}
.hero-sub{font-style:italic;font-size:1.02rem;color:rgba(232,224,208,.75);margin-bottom:2.8rem;opacity:0;animation:rise .9s .85s forwards;}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;opacity:0;animation:rise .9s 1s forwards;}
.btn-hero{font-family:var(--fh2);font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:.85rem 2.2rem;text-decoration:none;cursor:pointer;transition:all .2s;font-weight:600;border:1px solid;}
.btn-hero.p{background:var(--crimson);color:var(--text);border-color:var(--crimson);}
.btn-hero.p:hover{background:var(--crimson-l);border-color:var(--crimson-l);}
.btn-hero.g{background:transparent;color:var(--gold);border-color:rgba(201,169,98,.4);}
.btn-hero.g:hover{background:rgba(201,169,98,.08);}
.hero-scroll{margin-top:3.5rem;opacity:0;animation:rise .9s 1.15s forwards;display:flex;flex-direction:column;align-items:center;gap:.4rem;}
.hero-scroll span{font-family:var(--fh2);font-size:8px;letter-spacing:.45em;text-transform:uppercase;color:rgba(139,0,0,.35);}
.scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(139,0,0,.4),transparent);animation:spulse 2.4s ease-in-out infinite;}
@keyframes spulse{0%,100%{opacity:.25}50%{opacity:.75}}

/* SESSION BANNER */
#banner{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.banner-inner{max-width:1080px;margin:0 auto;padding:1.3rem 2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.banner-badge{background:var(--crimson);padding:.32rem 1.2rem;font-family:var(--fh2);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text);white-space:nowrap;flex-shrink:0;}
.banner-items{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;flex:1;}
.bi{display:flex;flex-direction:column;}
.bi-l{font-family:var(--fh2);font-size:7.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-bottom:.15rem;}
.bi-v{font-family:var(--fh2);font-size:.87rem;color:var(--gold);font-weight:600;letter-spacing:.03em;}
.banner-deadline{margin-left:auto;font-style:italic;font-size:.85rem;color:var(--text-2);}
.banner-deadline strong{color:#C05050;font-style:normal;font-family:var(--fh2);font-size:.78rem;letter-spacing:.05em;}

/* PITCH */
#pitch{border-bottom:1px solid var(--border);}
.pitch-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid var(--border);margin-top:2.5rem;}
@media(max-width:700px){.pitch-grid{grid-template-columns:1fr;}}
.pp{padding:2rem 1.8rem;border-right:1px solid var(--border);position:relative;transition:background .2s;}
.pp:last-child{border-right:none;}
.pp:hover{background:var(--surface);}
.pp::before{content:'';display:block;height:2px;background:var(--crimson);position:absolute;top:0;left:0;right:0;}
.pp-l{font-family:var(--fh2);font-size:8px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.45rem;margin-top:.4rem;}
.pp-t{font-family:var(--fh2);font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:.65rem;line-height:1.2;}
.pp-b{font-size:.9rem;color:var(--text-2);line-height:1.75;}

/* QUICK LINKS */
#ql{background:var(--surface);border-bottom:1px solid var(--border);padding:1.6rem 2rem;}
.ql-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;}
.ql-lbl{font-family:var(--fh2);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3);flex-shrink:0;margin-right:.4rem;}
.ql-a{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border);background:var(--bg);text-decoration:none;font-family:var(--fh2);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);transition:all .2s;}
.ql-a:hover{background:rgba(201,169,98,.07);border-color:var(--border-h);color:var(--gold);}

/* FACTIONS */
#factions{border-bottom:1px solid var(--border);}
.factions-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem;}
@media(max-width:800px){.factions-row{grid-template-columns:1fr;gap:2rem;}}
.faction-label{font-family:var(--fh2);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);padding-bottom:.65rem;margin-bottom:1.2rem;}
.icon-strip{display:flex;gap:0;border:1px solid var(--border);}
.ic{flex:1;padding:1.3rem .6rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;border-right:1px solid var(--border);background:var(--bg);transition:background .2s;cursor:default;}
.ic:last-child{border-right:none;}
.ic:hover{background:var(--surface2);}
.ic:hover .ic-svg{color:var(--gold);}
.ic:hover .ic-name{color:var(--text-2);}
.ic-svg{color:rgba(232,224,208,.42);transition:color .2s;display:flex;align-items:center;justify-content:center;height:48px;}
.ic-name{font-family:var(--fh2);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);transition:color .2s;line-height:1.3;}

/* NEW PLAYERS */
#onboard{background:var(--surface);border-bottom:1px solid var(--border);}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:2.2rem;}
@media(max-width:700px){.steps{grid-template-columns:1fr;}}
.step{background:var(--bg);border:1px solid var(--border);padding:1.7rem 1.5rem;transition:border-color .2s;}
.step:hover{border-color:var(--border-h);}
.step-n{font-family:var(--fh);font-size:2rem;font-weight:700;color:rgba(139,0,0,.2);line-height:1;margin-bottom:.7rem;display:block;}
.step-t{font-family:var(--fh2);font-size:.87rem;font-weight:700;color:var(--gold);letter-spacing:.04em;margin-bottom:.5rem;}
.step-b{font-size:.88rem;color:var(--text-2);line-height:1.72;}
.step-b a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,169,98,.28);}
.step-b a:hover{border-bottom-color:var(--gold);}
.safety-note{margin-top:2rem;border-left:3px solid var(--crimson);padding:1.1rem 1.5rem;background:rgba(139,0,0,.06);font-size:.88rem;color:var(--text-2);line-height:1.72;}
.safety-note strong{font-family:var(--fh2);font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson-l);display:block;margin-bottom:.4rem;font-weight:400;}

/* TOOLS */
#tools{border-bottom:1px solid var(--border);}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin-top:2.2rem;}
@media(max-width:620px){.tools-grid{grid-template-columns:1fr;}}
.tc{background:var(--surface);border:1px solid var(--border);padding:1.7rem 1.7rem 1.4rem;display:flex;flex-direction:column;gap:.45rem;transition:border-color .2s;}
.tc:hover{border-color:var(--border-h);}
.tc-badge{display:inline-block;font-family:var(--fh2);font-size:7px;letter-spacing:.14em;text-transform:uppercase;padding:.18rem .7rem;background:rgba(201,169,98,.1);color:var(--gold);align-self:flex-start;margin-bottom:.1rem;}
.tc-badge.lock{background:rgba(80,60,40,.2);color:var(--text-3);}
.tc-badge.hot{background:rgba(139,0,0,.28);color:#C06060;}
.tc-title{font-family:var(--fh2);font-size:.93rem;font-weight:700;color:var(--gold);letter-spacing:.03em;}
.tc-desc{font-size:.87rem;color:var(--text-2);line-height:1.7;flex:1;}
.tc-btn{display:inline-block;font-family:var(--fh2);font-size:8px;letter-spacing:.16em;text-transform:uppercase;padding:.58rem 1.3rem;border:1px solid var(--border);color:var(--text-2);text-decoration:none;background:transparent;cursor:pointer;transition:all .2s;align-self:flex-start;margin-top:.5rem;}
.tc-btn:hover{background:rgba(201,169,98,.09);border-color:var(--border-h);color:var(--gold);}
.tc-btn.p{background:var(--crimson);border-color:var(--crimson);color:var(--text);}
.tc-btn.p:hover{background:var(--crimson-l);border-color:var(--crimson-l);}

/* PLAYER PORTAL */
#portal{border-bottom:1px solid var(--border);}
.portal-split{display:grid;grid-template-columns:1fr 380px;gap:4rem;align-items:start;margin-top:2rem;}
@media(max-width:900px){.portal-split{grid-template-columns:1fr;gap:2rem;}}
.portal-features{list-style:none;margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem;}
.portal-features li{font-size:.9rem;color:var(--text-2);padding-left:1.4rem;position:relative;line-height:1.65;}
.portal-features li::before{content:'◆';position:absolute;left:0;font-size:.45rem;color:var(--crimson);top:.45em;}
.portal-card{background:var(--surface);border:1px solid var(--border);position:relative;}
.portal-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--crimson);}
.portal-card-inner{padding:2rem;}
.portal-card-h{font-family:var(--fh2);font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.7rem;margin-top:.3rem;}
.portal-card-p{font-size:.88rem;color:var(--text-2);line-height:1.68;margin-bottom:1.6rem;}
.portal-discord-btn{display:flex;align-items:center;justify-content:center;gap:.65rem;background:#5865F2;color:#fff;text-decoration:none;padding:.9rem 1.5rem;font-family:var(--fh2);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;transition:background .2s;width:100%;}
.portal-discord-btn:hover{background:#4752C4;}
.portal-note{font-size:.78rem;color:var(--text-3);line-height:1.65;margin-top:1.1rem;text-align:center;}
.portal-note a{color:var(--gold);text-decoration:none;}
.portal-note a:hover{text-decoration:underline;}

/* CTA */
#cta{text-align:center;padding:5.5rem 2rem 6.5rem;position:relative;overflow:hidden;}
#cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 45% at 50% 50%,rgba(139,0,0,.09) 0%,transparent 65%);pointer-events:none;}
.cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.cta-pill{display:inline-block;background:var(--crimson);padding:.35rem 1.5rem;margin-bottom:1.5rem;}
.cta-pill span{font-family:var(--fh2);font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--text);font-weight:600;}
.cta-h{font-family:var(--fh2);font-size:clamp(1.35rem,2.7vw,1.95rem);font-weight:700;color:var(--text);margin-bottom:.75rem;}
.cta-s{font-style:italic;color:var(--text-2);font-size:1rem;margin-bottom:2rem;line-height:1.7;}
.cta-form{text-align:left;margin-top:2rem;}
.cta-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:580px){.cta-fields{grid-template-columns:1fr;}}
.cta-field{display:flex;flex-direction:column;gap:.4rem;}
.cta-field--full{grid-column:1/-1;}
.cf-label{font-family:var(--fh2);font-size:7.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3);}
.cf-input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--fb);font-size:.88rem;padding:.7rem 1rem;outline:none;transition:border-color .2s;width:100%;resize:vertical;}
.cf-input:focus{border-color:var(--border-h);}
.cf-input::placeholder{color:var(--text-3);}
.cf-textarea{min-height:90px;}
.cta-form-footer{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.2rem;}
.cf-note{font-size:.78rem;font-style:italic;color:var(--text-3);line-height:1.5;}
.cf-success{margin-top:1.5rem;padding:1rem 1.4rem;border-left:3px solid var(--gold);background:rgba(201,169,98,.06);font-family:var(--fh2);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}

/* FOOTER */
footer{background:var(--surface);padding:2.2rem 2rem;border-top:2px solid var(--crimson);}
.footer-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;}
.footer-brand{display:flex;align-items:center;gap:11px;}
.fbr-t{font-family:var(--fh);font-size:.95rem;color:var(--text);line-height:1.1;}
.fbr-t span{display:block;font-family:var(--fh2);font-size:8px;letter-spacing:.17em;color:var(--text-3);text-transform:uppercase;font-weight:400;margin-top:.15rem;}
.footer-links{font-family:var(--fh2);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);text-align:right;line-height:2;}
.footer-links a{color:var(--text-3);text-decoration:none;}
.footer-links a:hover{color:var(--gold);}
