
:root{
  --bg:#060408;
  --bg2:#0d0a0f;
  --panel:#110E14;
  --panel2:#17121b;
  --gold:#C9972B;
  --gold-light:#F0C45A;
  --ember:#ff7a1a;
  --text:#E8DCC8;
  --text-dim:rgba(232,220,200,.72);
  --line:rgba(201,151,43,.18);
  --shadow:0 20px 60px rgba(0,0,0,.45);
  --radius:22px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:radial-gradient(circle at center, var(--bg2) 0%, var(--bg) 65%);
  color:var(--text);
  font-family:"Crimson Pro", serif;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 100%, rgba(255,122,26,.12), transparent 35%),
    radial-gradient(circle at 80% 20%, rgba(201,151,43,.06), transparent 20%);
  z-index:-2;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:"Cinzel",serif;line-height:1.08}
.container{width:min(var(--max), calc(100% - 32px));margin-inline:auto}
.section{padding:88px 0}
.eyebrow{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.3em;
  font-size:.74rem;
  margin:0 0 16px;
  font-family:"Cinzel", serif;
}
.card{
  background:linear-gradient(180deg, rgba(17,14,20,.92), rgba(17,14,20,.84));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.nav{
  position:sticky; top:0; z-index:100;
  backdrop-filter:blur(12px);
  background:rgba(6,4,8,.72);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.nav-inner{
  min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(255,140,0,.28))}
.brand-title{font-family:"Cinzel",serif;color:var(--gold-light);font-size:1.15rem;letter-spacing:.05em}
.brand-sub{font-family:"Cinzel",serif;color:rgba(232,220,200,.55);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;margin-top:3px}
.nav-links{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center;
  color:rgba(232,220,200,.8);font-family:"Cinzel",serif;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold-light)}
.nav-cta{display:flex; gap:12px; align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;
  font-family:"Cinzel", serif; letter-spacing:.08em; font-size:.88rem; transition:.24s ease;border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:linear-gradient(135deg, var(--gold-light), var(--gold));color:#111;box-shadow:0 0 28px rgba(201,151,43,.25)}
.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}
.btn-secondary{background:rgba(0,0,0,.22);border-color:rgba(232,220,200,.18);color:#fff}
.btn-secondary:hover{border-color:var(--gold-light);color:var(--gold-light)}
.hero{position:relative;min-height:calc(100vh - 78px);display:flex;align-items:center;overflow:hidden}
.hero-bg{
  position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.22), rgba(6,4,8,.74)),
    linear-gradient(to right, rgba(6,4,8,.6), rgba(6,4,8,.08) 40%, rgba(6,4,8,.55)),
    url('assets/hero-composite.png') center/cover no-repeat;
  transform:scale(1.02)
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 36% 30%, rgba(255,214,140,.12), transparent 24%);
  pointer-events:none;
}
.hero-content{position:relative;z-index:2;width:min(860px,100%);padding:72px 0;animation:fadeUp .9s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero-logo{width:132px;margin:0 auto 18px;filter:drop-shadow(0 0 36px rgba(255,140,0,.46))}
.hero h1{font-size:clamp(2.6rem,7vw,5.4rem);color:#fff8ec;text-shadow:0 0 50px rgba(201,151,43,.16);text-align:center}
.hero-tag{text-align:center;color:var(--gold-light);text-transform:uppercase;letter-spacing:.42em;font-family:"Cinzel", serif;font-size:.74rem;margin-bottom:14px}
.hero-subtitle{text-align:center;margin:16px auto 0;max-width:820px;font-size:clamp(1.1rem,2.5vw,1.85rem);color:#f6ead7}
.hero-copy{text-align:center;max-width:730px;margin:18px auto 0;line-height:1.75;font-size:1.1rem;color:var(--text-dim)}
.hero-actions{margin-top:28px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.embers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ember{
  position:absolute;bottom:-20px;width:4px;height:4px;border-radius:50%;
  background:linear-gradient(180deg,#ffd28a,#ff7a1a);box-shadow:0 0 16px rgba(255,130,30,.75);opacity:0;animation:rise linear infinite;
}
@keyframes rise{
  0%{transform:translate3d(0,0,0) scale(.8);opacity:0}
  12%{opacity:.9}
  100%{transform:translate3d(var(--drift),-110vh,0) scale(1.4);opacity:0}
}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.stats{position:relative;z-index:2;margin-top:-34px}
.stat-card{background:rgba(17,14,20,.9);border:1px solid var(--line);border-radius:20px;padding:22px 18px;box-shadow:var(--shadow)}
.stat-label{color:var(--gold-light);font-family:"Cinzel",serif;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}
.stat-copy{margin-top:8px;line-height:1.5;color:var(--text-dim);font-size:1rem}
.info-card{padding:24px;border-radius:20px;background:rgba(17,14,20,.72);border:1px solid var(--line)}
.info-card h3{font-size:1.5rem;color:#fff8ec}
.info-card p{margin-top:10px;line-height:1.65;color:var(--text-dim)}
.icon-circle{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--gold-light);border:1px solid rgba(201,151,43,.25);background:#0d0a0f;font-size:1.4rem;margin-bottom:14px}
.page-hero{
  padding:76px 0 28px;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.18), rgba(6,4,8,.55)),
    radial-gradient(circle at center, rgba(255,214,140,.08), transparent 24%);
}
.page-hero h1{font-size:clamp(2.2rem,5vw,4rem);color:#fff8ec}
.page-hero p{max-width:760px;line-height:1.75;color:var(--text-dim);font-size:1.08rem;margin-top:16px}
.media-card{overflow:hidden}
.media-card img{width:100%;height:100%;object-fit:cover}
.media-card.tall{min-height:420px}
.media-card.medium{min-height:320px}
.list-card{padding:26px}
.list-card ul{margin:14px 0 0;padding-left:18px;color:var(--text-dim);line-height:1.75}
.forum-row{
  display:grid;grid-template-columns:1.6fr .9fr .7fr .7fr;gap:16px;align-items:center;
  padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.05)
}
.forum-row:last-child{border-bottom:none}
.kpi{
  background:rgba(17,14,20,.78);border:1px solid var(--line);border-radius:18px;padding:18px 20px
}
.kpi .n{font-family:"Cinzel",serif;font-size:2rem;color:#fff8ec;margin-top:8px}
.footer{padding:42px 0 60px;border-top:1px solid rgba(201,151,43,.1);color:rgba(232,220,200,.5);text-align:center;font-size:.96rem}
@media (max-width: 1080px){
  .nav-links{display:none}
  .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
  .grid-2,.split{grid-template-columns:1fr}
  .forum-row{grid-template-columns:1fr;gap:8px}
}
@media (max-width: 720px){
  .nav-inner{flex-wrap:wrap;padding:14px 0}
  .nav-cta{width:100%;justify-content:flex-end}
  .hero{min-height:auto}
  .hero-logo{width:108px}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  .section{padding:68px 0}
}



/* ===== Homepage upgrade to match cinematic screenshot ===== */
body.homepage{
  background:#050306;
}
.nav-home{
  position:absolute;
  top:0; left:0; right:0;
  background:rgba(10, 7, 8, .58);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.hero-home{
  min-height:100vh;
  align-items:flex-start;
  padding-top:88px;
  background:#050306;
}
.hero-bg-home{
  background:
    linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.20) 20%, rgba(0,0,0,.48) 72%, rgba(5,3,6,.94) 100%),
    linear-gradient(to right, rgba(8,5,6,.28), rgba(8,5,6,0) 28%, rgba(8,5,6,0) 75%, rgba(8,5,6,.34)),
    url('assets/hero-composite.png') center top/cover no-repeat;
  transform:none;
}
.hero-vignette{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 34%, rgba(255,220,145,.10), transparent 20%),
    radial-gradient(circle at 50% 82%, rgba(0,0,0,.28), transparent 35%);
  pointer-events:none;
}
.hero-content-home{
  text-align:center;
  width:min(920px, 100%);
  margin:0 auto;
  padding-top:36px;
  padding-bottom:0;
}
.hero-logo-home{
  width:310px;
  max-width:42vw;
  margin:0 auto 8px;
  filter:drop-shadow(0 0 26px rgba(255,150,30,.48));
}
.hero-title-home{
  margin-top:-8px;
  font-size:clamp(2.8rem, 6vw, 5.5rem);
  line-height:.95;
  color:#f3c968;
  text-shadow:
    0 0 10px rgba(240,196,90,.42),
    0 0 26px rgba(201,151,43,.24),
    0 3px 10px rgba(0,0,0,.65);
  letter-spacing:.02em;
  text-transform:uppercase;
}
.hero-divider{
  width:520px;
  max-width:62vw;
  height:1px;
  margin:14px auto 12px;
  background:linear-gradient(to right, transparent, rgba(240,196,90,.55), transparent);
  position:relative;
}
.hero-divider::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:10px; height:10px;
  background:#c9972b;
  border:2px solid #f0c45a;
  transform:translate(-50%,-50%) rotate(45deg);
  box-shadow:0 0 18px rgba(240,196,90,.45);
}
.hero-subtitle-home{
  color:#f8ede1;
  font-size:clamp(1rem, 1.9vw, 1.65rem);
  text-shadow:0 2px 8px rgba(0,0,0,.7);
  letter-spacing:.02em;
}
.hero-actions-home{
  margin-top:24px;
  gap:18px;
}
.btn-hero{
  min-width:230px;
  min-height:58px;
  border-radius:6px;
  font-size:1rem;
  letter-spacing:.04em;
}
.btn-nav{
  min-height:54px;
  border-radius:4px;
}
.hero-bottom-band{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:66px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  z-index:3;
}
.hero-feature{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px 18px;
  background:linear-gradient(180deg, rgba(8,6,7,.60), rgba(8,6,7,.28));
  border-top:1px solid rgba(201,151,43,.08);
  border-bottom:1px solid rgba(201,151,43,.08);
}
.hero-feature-icon{
  color:#d7a63b;
  font-size:2.2rem;
  line-height:1;
  flex:0 0 auto;
  filter:drop-shadow(0 0 12px rgba(201,151,43,.25));
}
.hero-feature-title{
  font-family:"Cinzel", serif;
  color:#f0c45a;
  font-size:1.05rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.hero-feature-copy{
  margin-top:8px;
  color:rgba(232,220,200,.82);
  line-height:1.42;
  font-size:1rem;
}
.hero-final-line{
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:14px;
  justify-content:center;
  z-index:3;
  font-family:"Cinzel", serif;
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  width:min(860px, calc(100% - 32px));
}
.hero-final-line::before,
.hero-final-line::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(201,151,43,.35), transparent);
}
.hero-final-line span{
  color:#e9dec8;
}
.hero-final-line strong{
  color:#f0c45a;
  font-weight:700;
}
.homepage-links{
  background:#070509;
  padding-top:54px;
}
.home-links-title{
  text-align:center;
  font-size:clamp(2rem, 4vw, 3rem);
  color:#fff8ec;
  max-width:860px;
  margin:0 auto;
}
.homepage .info-card{
  background:rgba(17,14,20,.84);
}
@media (max-width: 1200px){
  .hero-bottom-band{
    position:relative;
    bottom:auto;
    left:auto;
    transform:none;
    grid-template-columns:repeat(2,1fr);
    margin-top:36px;
  }
  .hero-final-line{
    position:relative;
    bottom:auto;
    left:auto;
    transform:none;
    margin-top:26px;
  }
  .hero-home{
    padding-bottom:38px;
  }
}
@media (max-width: 760px){
  .nav-home{
    position:sticky;
    background:rgba(10,7,8,.84);
  }
  .hero-home{
    min-height:auto;
    padding-top:34px;
  }
  .hero-logo-home{
    width:190px;
    max-width:60vw;
  }
  .hero-title-home{
    font-size:clamp(2.2rem, 11vw, 3.4rem);
  }
  .hero-bottom-band{
    grid-template-columns:1fr;
  }
  .hero-feature{
    padding:14px 14px;
  }
  .hero-final-line{
    font-size:.82rem;
    flex-wrap:wrap;
  }
}



/* ===== Exact homepage image-style rebuild ===== */
body.hero-only-home{
  background:#000;
  min-height:100vh;
}
.nav-home-image{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:20;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(3px);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.nav-inner-home{
  min-height:88px;
}
.nav-links-home{
  gap:34px;
  font-size:.9rem;
  color:rgba(255,255,255,.9);
}
.nav-links-home a.active,
.nav-links-home a:hover{
  color:var(--gold-light);
}
.brand-home img{
  width:62px;
  height:62px;
  filter:drop-shadow(0 0 14px rgba(255,162,44,.22));
}
.brand-home .brand-title{
  font-size:1.25rem;
  color:var(--gold-light);
}
.brand-home .brand-sub{
  color:rgba(240,196,90,.9);
  font-size:.7rem;
}
.btn-nav-home{
  min-height:58px;
  border-radius:4px;
  padding:0 26px;
  font-size:.92rem;
}
.home-image-wrap{
  min-height:100vh;
}
.home-image-hero{
  position:relative;
  min-height:100vh;
}
.home-image-bg{
  position:absolute;
  inset:0;
  background:url('assets/hero-home-final.png') center center/cover no-repeat;
}
.home-image-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.02) 16%, rgba(0,0,0,.20) 55%, rgba(0,0,0,.82) 100%),
    linear-gradient(to right, rgba(0,0,0,.02), rgba(0,0,0,0) 25%, rgba(0,0,0,0) 75%, rgba(0,0,0,.05));
}
.home-image-bottom{
  position:absolute;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  z-index:3;
  width:min(760px, calc(100% - 32px));
}
.home-image-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-family:"Cinzel", serif;
  font-size:1.08rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-image-line::before,
.home-image-line::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(201,151,43,.34), transparent);
}
.home-image-line span{
  color:#f4eee3;
}
.home-image-line strong{
  color:var(--gold-light);
}
.footer{display:none}

@media (max-width: 1200px){
  .nav-links-home{gap:20px;font-size:.8rem}
  .btn-nav-home{padding:0 18px}
}
@media (max-width: 900px){
  .nav-links-home{display:none}
  .nav-home-image{
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(8px);
  }
  .nav-inner-home{
    flex-wrap:wrap;
    padding:12px 0;
    min-height:auto;
  }
  .nav-cta{
    width:100%;
    justify-content:flex-end;
  }
}
@media (max-width: 640px){
  .brand-home img{width:50px;height:50px}
  .brand-home .brand-title{font-size:1rem}
  .btn-nav-home{
    min-height:46px;
    padding:0 14px;
    font-size:.8rem;
  }
  .home-image-line{
    font-size:.78rem;
    gap:8px;
  }
}


/* ===== AAA homepage pass ===== */
body.aaa-home{
  background:#040205;
  min-height:100vh;
}
.nav-aaa{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,.18));
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.nav-inner-aaa{
  min-height:92px;
}
.brand-aaa img{
  width:64px;
  height:64px;
  filter:drop-shadow(0 0 18px rgba(255,165,38,.3));
}
.brand-aaa .brand-title{
  color:#f0c45a;
  font-size:1.28rem;
}
.brand-aaa .brand-sub{
  color:rgba(240,196,90,.9);
  font-size:.72rem;
}
.nav-links-aaa{
  gap:34px;
  font-size:.88rem;
  color:rgba(255,255,255,.92);
}
.nav-links-aaa a.active,
.nav-links-aaa a:hover{
  color:#f0c45a;
}
.btn-nav-aaa{
  min-height:56px;
  border-radius:4px;
  padding:0 24px;
  font-size:.9rem;
}
.aaa-shell{
  min-height:100vh;
}
.hero-aaa{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
  background:#030202;
}
.hero-bg-aaa{
  position:absolute;
  inset:-3%;
  background:url('assets/hero-bg.jpg') center center/cover no-repeat;
  will-change:transform;
  transform:translate3d(0,0,0) scale(1.06);
}
.hero-overlay-aaa{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 30%, rgba(255,215,135,.12), transparent 22%),
    linear-gradient(to bottom, rgba(0,0,0,.22), rgba(0,0,0,.10) 22%, rgba(0,0,0,.12) 40%, rgba(0,0,0,.60) 76%, rgba(0,0,0,.9) 100%),
    linear-gradient(to right, rgba(0,0,0,.18), transparent 22%, transparent 78%, rgba(0,0,0,.18));
}
.hero-noise{
  position:absolute;
  inset:0;
  opacity:.16;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.hero-content-aaa{
  position:relative;
  z-index:5;
  width:min(980px, 100%);
  text-align:center;
  padding-top:126px;
}
.hero-logo-aaa{
  width:220px;
  max-width:28vw;
  margin:0 auto 10px;
  filter:drop-shadow(0 0 34px rgba(255,154,32,.44));
}
.hero-kicker{
  font-family:"Cinzel", serif;
  text-transform:uppercase;
  letter-spacing:.38em;
  color:#f0c45a;
  font-size:.76rem;
  margin-bottom:12px;
}
.hero-title-aaa{
  font-size:clamp(3.1rem, 6.8vw, 5.8rem);
  line-height:.92;
  color:#f3cb69;
  text-transform:uppercase;
  letter-spacing:.02em;
  text-shadow:
    0 0 10px rgba(240,196,90,.4),
    0 0 30px rgba(201,151,43,.28),
    0 6px 20px rgba(0,0,0,.7);
}
.hero-rule{
  display:flex;
  justify-content:center;
  margin:14px 0 14px;
}
.hero-rule span{
  width:520px;
  max-width:58vw;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(240,196,90,.5), transparent);
  position:relative;
}
.hero-rule span::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:10px;
  transform:translate(-50%,-50%) rotate(45deg);
  background:#c9972b;
  border:2px solid #f0c45a;
  box-shadow:0 0 14px rgba(240,196,90,.45);
}
.hero-subtitle-aaa{
  color:#f3ece0;
  font-size:clamp(1rem, 2vw, 1.55rem);
  text-shadow:0 2px 8px rgba(0,0,0,.74);
}
.hero-copy-aaa{
  max-width:760px;
  margin:18px auto 0;
  color:rgba(245,237,225,.83);
  line-height:1.75;
  font-size:1.06rem;
}
.hero-actions-aaa{
  margin-top:28px;
  gap:18px;
}
.btn-hero-aaa{
  min-width:230px;
  min-height:58px;
  border-radius:5px;
  font-size:.98rem;
}
.feature-band-wrap{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:6;
  width:min(1280px, calc(100% - 34px));
}
.feature-band{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(201,151,43,.10);
  border-bottom:1px solid rgba(201,151,43,.10);
  background:linear-gradient(to bottom, rgba(0,0,0,.34), rgba(0,0,0,.18));
}
.feature-pill{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px 18px 18px;
  border-right:1px solid rgba(255,255,255,.04);
}
.feature-pill:last-child{
  border-right:none;
}
.feature-icon{
  font-size:2.25rem;
  color:#d6a43b;
  line-height:1;
  filter:drop-shadow(0 0 10px rgba(201,151,43,.22));
}
.feature-title{
  font-family:"Cinzel", serif;
  color:#f0c45a;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:1.04rem;
}
.feature-copy{
  margin-top:8px;
  color:rgba(244,236,224,.82);
  line-height:1.44;
  font-size:1rem;
}
.hero-bottom-line{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-family:"Cinzel", serif;
  font-size:1.06rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hero-bottom-line::before,
.hero-bottom-line::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(201,151,43,.34), transparent);
}
.hero-bottom-line span{
  color:#f2ece0;
}
.hero-bottom-line strong{
  color:#f0c45a;
}
.aaa-links{
  background:#070509;
  padding-top:56px;
}
.aaa-card{
  background:rgba(17,14,20,.86);
  box-shadow:0 10px 30px rgba(0,0,0,.32);
}
.aaa-card:hover{
  border-color:rgba(240,196,90,.28);
  transform:translateY(-2px);
}
.aaa-home .info-card{
  transition:.25s ease;
}
@media (max-width: 1200px){
  .feature-band{
    grid-template-columns:repeat(2,1fr);
  }
  .feature-pill:nth-child(2){
    border-right:none;
  }
  .feature-band-wrap{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    margin-top:34px;
  }
  .hero-aaa{
    padding-bottom:34px;
  }
}
@media (max-width: 900px){
  .nav-links-aaa{
    display:none;
  }
  .nav-aaa{
    background:rgba(0,0,0,.62);
  }
  .nav-inner-aaa{
    flex-wrap:wrap;
    min-height:auto;
    padding:12px 0;
  }
  .nav-cta{
    width:100%;
    justify-content:flex-end;
  }
  .hero-content-aaa{
    padding-top:118px;
  }
}
@media (max-width: 760px){
  .hero-logo-aaa{
    width:160px;
    max-width:44vw;
  }
  .hero-title-aaa{
    font-size:clamp(2.3rem, 10vw, 3.8rem);
  }
  .hero-copy-aaa{
    font-size:.98rem;
    max-width:92%;
  }
  .feature-band{
    grid-template-columns:1fr;
  }
  .feature-pill{
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.04);
  }
  .feature-pill:last-child{
    border-bottom:none;
  }
  .hero-bottom-line{
    font-size:.82rem;
    flex-wrap:wrap;
    gap:8px;
  }
  .btn-nav-aaa{
    min-height:46px;
    padding:0 14px;
    font-size:.8rem;
  }
}



/* ===== AAA subpages expansion ===== */
.subpage{
  background:
    radial-gradient(circle at center, #0d0a0f 0%, #050306 68%);
}
.subpage-shell{
  padding-top:92px;
}
.aaa-sub-hero{
  padding:72px 0 22px;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.20), rgba(0,0,0,.04)),
    radial-gradient(circle at 50% 0%, rgba(255,190,70,.09), transparent 30%);
}
.aaa-sub-hero h1{
  font-size:clamp(2.4rem, 5vw, 4.4rem);
  color:#fff8ec;
}
.sub-hero-copy{
  max-width:860px;
  line-height:1.82;
  color:rgba(232,220,200,.78);
  font-size:1.08rem;
  margin-top:16px;
}
.aaa-split{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:28px;
  align-items:center;
}
.aaa-split.reverse{
  grid-template-columns:.98fr 1.02fr;
}
.copy-panel{
  padding:10px 6px;
}
.copy-panel h2{
  font-size:clamp(2rem, 4vw, 3.2rem);
  color:#fff8ec;
}
.copy-panel p{
  margin-top:16px;
  line-height:1.82;
  color:rgba(232,220,200,.78);
  font-size:1.06rem;
}
.image-panel{
  position:relative;
  overflow:hidden;
  min-height:380px;
  border-radius:24px;
  border:1px solid rgba(201,151,43,.15);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
  background:#100d12;
}
.image-panel.tall{min-height:460px}
.image-panel.medium{min-height:360px}
.image-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  filter:saturate(1.02) contrast(1.02);
}
.image-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.5), rgba(0,0,0,.08));
}
.image-caption{
  position:absolute;
  inset:auto 0 0 0;
  z-index:2;
  padding:22px;
}
.image-caption span{
  color:#f0c45a;
  font-family:"Cinzel", serif;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
}
.image-caption p{
  margin-top:8px;
  color:rgba(255,248,236,.8);
  line-height:1.55;
}
.scenic-town::before{background-image:url('assets/world-town.png')}
.scenic-gate::before{background-image:url('assets/castle-gate.png')}
.scenic-cathedral::before{background-image:url('assets/cathedral.png')}
.scenic-snow::before{background-image:url('assets/snow-path.png')}
.scenic-castle::before{background-image:url('assets/castle-gate.png')}
.strip-section{
  background:rgba(17,14,20,.66);
  border-block:1px solid rgba(201,151,43,.08);
}
.pantheon-card .icon-circle{
  font-size:1.6rem;
}
.forum-card{
  overflow:hidden;
}
.forum-head{
  font-family:"Cinzel", serif;
  color:#f0c45a;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
}
.auth-panel{
  padding:30px;
  background:linear-gradient(180deg, rgba(17,14,20,.94), rgba(17,14,20,.84));
}
.auth-title{
  font-size:2.1rem;
  color:#fff8ec;
}
.auth-copy{
  margin-top:10px;
  color:rgba(232,220,200,.7);
  line-height:1.7;
  margin-bottom:20px;
}
.small-hero{
  padding-bottom:10px;
}
@media (max-width: 1080px){
  .aaa-split,
  .aaa-split.reverse{
    grid-template-columns:1fr;
  }
}



/* ===== Content-rich AAA pages from current site ===== */
.kpi-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.lore-block, .tier-card, .class-card, .race-card, .timeline-card, .event-card, .new-thread-card{
  padding:24px;
}
.lore-block h3, .tier-card h3, .class-card h3, .race-card h3, .timeline-card h3, .event-card h3, .new-thread-card h2{
  color:#fff8ec;
}
.lore-block p, .tier-card li, .class-card p, .race-card p, .timeline-card p, .event-card p{
  color:rgba(232,220,200,.78);
  line-height:1.72;
}
.tier-card ul{margin:14px 0 0;padding-left:18px}
.dev-quote{
  margin-top:18px;
  padding:18px 20px;
  border-left:3px solid rgba(240,196,90,.45);
  background:rgba(17,14,20,.56);
  color:#f3ece0;
  font-style:italic;
}
.timeline-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.timeline-card span, .event-card span{
  display:inline-block;
  margin-top:14px;
  color:#f0c45a;
  font-family:"Cinzel", serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
}
.forum-card.advanced-forum{
  overflow:hidden;
}
.conclave-hero{
  background:
    linear-gradient(to bottom, rgba(0,0,0,.20), rgba(0,0,0,.06)),
    radial-gradient(circle at 50% 0%, rgba(255,190,70,.12), transparent 30%);
}
.conclave-top{
  display:grid;
  gap:20px;
}
.conclave-auth{
  padding:28px;
}
.conclave-auth h3{
  font-size:2.1rem;
  color:#fff8ec;
}
.conclave-auth-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:18px;
}
.conclave-auth-grid h4{
  margin:0 0 12px;
  color:#f0c45a;
  font-family:"Cinzel", serif;
  font-size:1.05rem;
}
@media (max-width: 1080px){
  .kpi-row, .timeline-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width: 760px){
  .kpi-row, .timeline-grid{
    grid-template-columns:1fr;
  }
  .conclave-auth-grid{
    grid-template-columns:1fr;
  }
}



/* ===== AAA class showcase page ===== */
.class-hero{
  background:
    linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.05)),
    radial-gradient(circle at 50% 0%, rgba(255,190,70,.12), transparent 30%);
}
.class-intro-band{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.class-feature-panel{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:stretch;
}
.class-feature-copy h2{
  font-size:clamp(2.4rem, 5vw, 4rem);
  color:#fff8ec;
}
.class-role-badge{
  display:inline-flex;
  margin-top:16px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(240,196,90,.28);
  background:rgba(201,151,43,.12);
  color:#f0c45a;
  font-family:"Cinzel", serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
}
.class-feature-copy p:not(.class-role-badge){
  margin-top:18px;
  line-height:1.82;
  color:rgba(232,220,200,.78);
  font-size:1.06rem;
}
.class-feature-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.class-feature-tags span{
  border:1px solid rgba(240,196,90,.18);
  background:rgba(17,14,20,.72);
  color:#f3ece0;
  padding:10px 12px;
  border-radius:999px;
  font-size:.92rem;
}
.class-feature-visual{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:28px;
  text-align:center;
  min-height:360px;
  background:
    radial-gradient(circle at center, rgba(240,196,90,.08), transparent 38%),
    linear-gradient(180deg, rgba(17,14,20,.94), rgba(17,14,20,.84));
}
.class-crest{
  width:130px;
  height:130px;
  border-radius:50%;
  border:1px solid rgba(240,196,90,.24);
  display:grid;
  place-items:center;
  color:#f0c45a;
  font-size:3rem;
  box-shadow:0 0 30px rgba(240,196,90,.12), inset 0 0 28px rgba(240,196,90,.06);
  background:#0d0a0f;
}
.class-visual-copy{
  margin-top:20px;
  max-width:360px;
}
.class-visual-title{
  font-family:"Cinzel", serif;
  color:#fff8ec;
  font-size:1.6rem;
}
.class-visual-copy p{
  margin-top:10px;
  color:rgba(232,220,200,.74);
  line-height:1.72;
}
.class-group-title{
  font-size:clamp(2rem, 4vw, 3rem);
  color:#fff8ec;
}
.class-grid{
  margin-top:24px;
}
.class-showcase-card{
  padding:24px;
}
.class-topline{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.class-name{
  font-family:"Cinzel", serif;
  color:#fff8ec;
  font-size:1.6rem;
}
.class-archetype{
  color:#f0c45a;
  font-family:"Cinzel", serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  white-space:nowrap;
  padding-top:6px;
}
.class-flavor{
  margin-top:10px;
  color:#f0c45a;
  font-size:.98rem;
}
.class-showcase-card p{
  margin-top:14px;
  color:rgba(232,220,200,.78);
  line-height:1.74;
}
.class-showcase-card ul{
  margin:14px 0 0;
  padding-left:18px;
  color:rgba(232,220,200,.74);
  line-height:1.7;
}
.featured-border{
  border-color:rgba(240,196,90,.28);
  box-shadow:0 0 0 1px rgba(240,196,90,.08), 0 18px 48px rgba(0,0,0,.34);
}
@media (max-width: 1080px){
  .class-intro-band{
    grid-template-columns:repeat(2,1fr);
  }
  .class-feature-panel{
    grid-template-columns:1fr;
  }
}
@media (max-width: 760px){
  .class-intro-band{
    grid-template-columns:1fr;
  }
  .class-topline{
    flex-direction:column;
  }
  .class-archetype{
    padding-top:0;
  }
}


/* ===== Features page class links ===== */
.feature-class-link{
  text-decoration:none;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.feature-class-link:hover{
  transform:translateY(-3px);
  border-color:rgba(240,196,90,.28);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
}



/* ===== AAA parallax premium pass ===== */
.parallax-section{
  transform-style: preserve-3d;
  perspective: 1200px;
}
.parallax-layer,
.parallax-overlay{
  will-change: transform;
  transform: translate3d(0,0,0) scale(1.04);
}
.hero-aaa{
  isolation: isolate;
}
.hero-content-aaa{
  will-change: transform, opacity;
}
.feature-band-wrap{
  will-change: transform;
}
.aaa-card,
.kpi,
.image-panel,
.info-card{
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.aaa-card:hover,
.kpi:hover,
.image-panel:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0,0,0,.42);
}
.parallax-card{
  transform: translateZ(0);
  overflow: hidden;
}
.parallax-card::before{
  transition: transform .25s ease-out;
  will-change: transform;
}
.parallax-card:hover::before{
  transform: scale(1.04);
}
.page-hero{
  position: relative;
  overflow: hidden;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 0%, rgba(240,196,90,.08), transparent 26%),
    linear-gradient(to bottom, rgba(255,255,255,.02), transparent 24%);
  pointer-events:none;
}
.page-hero > .container,
.hero-content-aaa{
  position: relative;
  z-index: 2;
}
.subpage .page-hero{
  border-bottom: 1px solid rgba(201,151,43,.08);
}
.strip-section{
  position: relative;
  overflow: hidden;
}
.strip-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 50%, rgba(240,196,90,.04), transparent 24%),
    radial-gradient(circle at 80% 20%, rgba(255,122,26,.04), transparent 22%);
  pointer-events:none;
}
.scenic::before{
  transform: scale(1.03);
}
.homepage .aaa-links .info-card{
  backdrop-filter: blur(8px);
}
@media (prefers-reduced-motion: reduce){
  .parallax-layer,
  .parallax-overlay,
  .hero-content-aaa,
  .feature-band-wrap,
  .scenic::before{
    transform: none !important;
    transition: none !important;
  }
}

.parallax-card::before{
  transform: var(--parallax-before-transform, scale(1.03));
}


/* ===== Dynamic per-page backgrounds, lighting, and UI themes ===== */
.subpage{
  --page-accent: #f0c45a;
  --page-accent-soft: rgba(240,196,90,.18);
  --page-panel: rgba(17,14,20,.78);
  --page-panel-strong: rgba(17,14,20,.9);
  --page-text-strong: #fff8ec;
  --page-text-soft: rgba(232,220,200,.8);
}
.page-bg{
  position: fixed;
  inset: 0;
  z-index: -3;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.06);
  will-change: transform, filter;
  filter: saturate(1.02) contrast(1.02);
}
.page-overlay{
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.46), rgba(0,0,0,.26) 22%, rgba(0,0,0,.64) 76%, rgba(0,0,0,.92) 100%),
    linear-gradient(to right, rgba(0,0,0,.18), transparent 24%, transparent 76%, rgba(0,0,0,.18));
  pointer-events: none;
}
.page-lighting{
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .95;
  mix-blend-mode: screen;
}
.page-particles{
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.page-particle{
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  opacity: 0;
  animation: pageDrift linear infinite;
}
@keyframes pageDrift{
  0%{ transform: translate3d(0, 100vh, 0) scale(.7); opacity:0; }
  10%{ opacity:.5; }
  100%{ transform: translate3d(var(--particle-drift, 0px), -10vh, 0) scale(1.2); opacity:0; }
}

/* Theme lighting */
.theme-lore .page-lighting,
.theme-classes .page-lighting{
  background:
    radial-gradient(circle at 62% 18%, rgba(255,214,140,.2), transparent 28%),
    radial-gradient(circle at 18% 34%, rgba(201,151,43,.12), transparent 24%);
}
.theme-features .page-lighting,
.theme-support .page-lighting{
  background:
    radial-gradient(circle at 20% 24%, rgba(255,218,145,.15), transparent 22%),
    radial-gradient(circle at 72% 45%, rgba(255,184,84,.08), transparent 28%);
}
.theme-tester .page-lighting{
  background:
    radial-gradient(circle at 50% 12%, rgba(180,220,255,.14), transparent 26%),
    radial-gradient(circle at 18% 40%, rgba(255,255,255,.08), transparent 24%);
}
.theme-community .page-lighting{
  background:
    radial-gradient(circle at 50% 18%, rgba(180,210,255,.18), transparent 20%),
    radial-gradient(circle at 70% 52%, rgba(120,170,255,.08), transparent 26%);
}
.theme-forums .page-lighting{
  background:
    radial-gradient(circle at 50% 20%, rgba(240,196,90,.15), transparent 18%),
    radial-gradient(circle at 80% 62%, rgba(255,122,26,.08), transparent 24%);
}
.theme-account .page-lighting{
  background:
    radial-gradient(circle at 30% 20%, rgba(180,200,255,.12), transparent 22%),
    radial-gradient(circle at 70% 65%, rgba(240,196,90,.08), transparent 24%);
}

/* Theme panel + accent unification */
.subpage .aaa-card,
.subpage .card,
.subpage .kpi,
.subpage .info-card,
.subpage .auth-panel,
.subpage .conclave-auth{
  background: linear-gradient(180deg, color-mix(in srgb, var(--page-panel-strong) 92%, black 8%), var(--page-panel));
  border-color: color-mix(in srgb, var(--page-accent) 22%, transparent);
  box-shadow: 0 18px 48px rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
}
.subpage .eyebrow,
.subpage .class-archetype,
.subpage .feature-title,
.subpage .forum-head,
.subpage .hero-bottom-line strong,
.subpage .brand-title{
  color: var(--page-accent);
}
.subpage .icon-circle,
.subpage .class-role-badge,
.subpage .founder-badge{
  border-color: color-mix(in srgb, var(--page-accent) 35%, transparent);
  background: color-mix(in srgb, var(--page-accent) 10%, rgba(17,14,20,.84));
  color: var(--page-accent);
}
.subpage .btn-primary{
  background: linear-gradient(135deg, color-mix(in srgb, var(--page-accent) 88%, white 12%), var(--page-accent));
}
.subpage .btn-secondary{
  border-color: color-mix(in srgb, var(--page-accent) 28%, rgba(232,220,200,.18));
}
.subpage .btn-secondary:hover{
  border-color: var(--page-accent);
  color: var(--page-accent);
}
.subpage h1, .subpage h2, .subpage h3, .subpage h4{
  color: var(--page-text-strong);
}
.subpage p, .subpage li, .subpage .muted, .subpage .small{
  color: var(--page-text-soft);
}

/* Page-specific accent palettes */
.theme-lore{
  --page-accent: #e0b35d;
  --page-panel: rgba(18,13,18,.76);
  --page-panel-strong: rgba(18,13,18,.92);
}
.theme-features{
  --page-accent: #f0c45a;
  --page-panel: rgba(17,14,20,.72);
  --page-panel-strong: rgba(17,14,20,.9);
}
.theme-classes{
  --page-accent: #ffd074;
  --page-panel: rgba(19,14,18,.76);
  --page-panel-strong: rgba(19,14,18,.92);
}
.theme-tester{
  --page-accent: #b8d9ff;
  --page-panel: rgba(10,16,24,.72);
  --page-panel-strong: rgba(10,16,24,.9);
}
.theme-community{
  --page-accent: #9cc6ff;
  --page-panel: rgba(10,14,24,.72);
  --page-panel-strong: rgba(10,14,24,.9);
}
.theme-support{
  --page-accent: #f0c45a;
  --page-panel: rgba(20,14,12,.74);
  --page-panel-strong: rgba(20,14,12,.9);
}
.theme-forums{
  --page-accent: #ffbe66;
  --page-panel: rgba(22,14,12,.78);
  --page-panel-strong: rgba(22,14,12,.92);
}
.theme-account{
  --page-accent: #d9c7aa;
  --page-panel: rgba(12,14,18,.76);
  --page-panel-strong: rgba(12,14,18,.92);
}

/* Themed scenic cards */
.theme-tester .scenic::after{
  background: linear-gradient(to top, rgba(5,12,20,.54), rgba(5,12,20,.14));
}
.theme-community .scenic::after{
  background: linear-gradient(to top, rgba(4,8,20,.58), rgba(4,8,20,.14));
}
.theme-forums .scenic::after{
  background: linear-gradient(to top, rgba(20,10,6,.6), rgba(20,10,6,.14));
}

@media (prefers-reduced-motion: reduce){
  .page-bg, .page-lighting, .page-particle{
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

.auth-message{margin-top:10px;min-height:20px;font-size:.95rem;color:#ff8d8d}.helper{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0}.helper a{color:#f0c45a;text-decoration:none}.field{width:100%;box-sizing:border-box;border-radius:14px;border:1px solid rgba(240,196,90,.14);background:rgba(0,0,0,.22);color:#e8dcc8;padding:.95rem 1rem;font:inherit;margin-bottom:12px}.card.auth-panel{background:rgba(17,14,20,.88);border:1px solid rgba(240,196,90,.16);border-radius:18px;padding:30px}.panel-logo{display:flex;align-items:center;gap:12px;margin-bottom:14px}.panel-logo img{width:56px;height:56px}.auth-title{color:#fff8ec;font-family:'Cinzel',serif}.auth-copy{color:rgba(232,220,200,.72);margin:10px 0 18px}
