:root{
  --bg:#0A0B0E; --bg-1:#141009;
  --plate-1:#211a10; --plate-2:#120e08;
  --gold-1:#F3CE8C; --gold-2:#8A6A2E; --gold-hi:#FCE7B8;
  --ember:#E1602F; --crimson:#C6392B; --emerald:#3FB081;
  --text-1:#EDE4CF; --text-2:#948A76; --text-3:#655c48;
  --glass:rgba(255,255,255,.045); --glass-strong:rgba(255,255,255,.075); --glass-border:rgba(255,255,255,.1);
  --line:rgba(230,195,130,.16);
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, #241c11, transparent 60%),
    radial-gradient(ellipse 90% 70% at 50% 110%, #1a1409, transparent 60%),
    var(--bg);
  color:var(--text-1); font-family:'Onest',sans-serif; font-size:17.5px; line-height:1.6;
}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms !important; transition-duration:.001ms !important;}}
h1,h2,h3{font-family:'Unbounded',sans-serif; margin:0; text-wrap:balance; letter-spacing:-.01em;}
a{color:var(--gold-1);}
img{max-width:100%; display:block;}
.wrap{max-width:1220px; margin:0 auto; padding:0 28px;}
.gold-text{background:linear-gradient(180deg, var(--gold-hi), var(--gold-2)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.eyebrow{font-weight:700; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-2);}
.center{text-align:center; margin-left:auto; margin-right:auto;}
header{position:sticky; top:0; z-index:40; background:rgba(10,11,14,.72); backdrop-filter:blur(14px) saturate(1.2); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 28px; max-width:1220px; margin:0 auto; gap:24px;}
.wordmark{display:flex; align-items:baseline; gap:9px; text-decoration:none;}
.wordmark .mark{font-family:'Unbounded',sans-serif; font-weight:800; font-size:21px;}
.wordmark .sub{font-weight:600; font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--text-2);}
.navlinks{display:flex; gap:28px; list-style:none; margin:0; padding:0; font-size:14.5px; font-weight:500;}
.navlinks a{color:var(--text-2); text-decoration:none; transition:color .15s;}
.navlinks a:hover{color:var(--text-1);}
.navcta{display:flex; align-items:center; gap:18px;}
.link-quiet{font-size:14.5px; font-weight:500; color:var(--text-2); text-decoration:none;}
.btn{font-family:'Onest',sans-serif; font-weight:700; font-size:14.5px; text-decoration:none; padding:12px 24px; border-radius:11px;
  border:1px solid var(--glass-border); color:var(--text-1); background:var(--glass); backdrop-filter:blur(10px); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; line-height:1.2;
  transition:background .15s, border-color .15s, transform .15s, color .15s, box-shadow .15s;}
.btn:hover{background:var(--glass-strong); border-color:rgba(230,178,90,.4); color:var(--gold-1);}
.btn:active{transform:translateY(1px);}
.btn-solid{background:linear-gradient(180deg, var(--gold-hi), var(--gold-2)); color:#231604 !important;
  border:1px solid rgba(255,247,224,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 -2px 4px rgba(0,0,0,.15), 0 8px 22px -6px rgba(230,178,90,.55);}
.btn-solid:hover{transform:translateY(-1px); background:linear-gradient(180deg, #fff3d9, var(--gold-1));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6), inset 0 -2px 4px rgba(0,0,0,.15), 0 12px 28px -6px rgba(230,178,90,.65);}
.btn-solid:active{transform:translateY(0);}
.btn-ghost{background:none; border:none; padding:0; box-shadow:none; backdrop-filter:none; color:var(--text-1);}
.btn-ghost:hover{background:none; color:var(--gold-1);}
.btn-discord{gap:8px;}
.btn-discord svg{width:17px; height:17px; fill:currentColor; flex:none;}
@media (max-width:1080px){.btn-discord span,.btn-discord{font-size:0;} .btn-discord svg{font-size:initial;}}
.btn-lg{padding:15px 26px; font-size:15.5px; border-radius:12px;}
.hero{position:relative; overflow:hidden; min-height:clamp(640px, 96vh, 920px); display:flex; flex-direction:column; justify-content:flex-start; padding:88px 0 56px;}
.hero-bg{position:absolute; inset:0; background-image:url('../img/hero/gen_table.webp'); background-size:cover; background-position:center 38%;}
.hero-scrim{position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,9,12,.78) 0%, rgba(8,9,12,.30) 26%, rgba(8,9,12,.22) 52%, rgba(8,9,12,.72) 82%, var(--bg) 100%),
             linear-gradient(90deg, rgba(8,9,12,.55), rgba(8,9,12,.02) 40%, rgba(8,9,12,.02) 60%, rgba(8,9,12,.55));}
.shields-col{position:absolute; top:14%; display:flex; flex-direction:column; gap:46px; z-index:2; pointer-events:none;}
.shields-col.left{left:clamp(14px,6vw,84px);}
.shields-col.right{right:clamp(14px,6vw,84px);}
.shield-wrap{position:relative; width:96px; height:118px; pointer-events:auto; transition:transform .2s ease;}
.shield-wrap:hover{transform:translateY(-4px);}
.shield-wrap::before{content:""; position:absolute; top:-22px; left:50%; transform:translateX(-50%); width:2px; height:22px; background:linear-gradient(var(--gold-2), transparent);}
.shield-wrap::after{content:""; position:absolute; top:-25px; left:50%; transform:translateX(-50%); width:9px; height:9px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--gold-hi), var(--gold-2) 75%); box-shadow:0 0 0 1px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.6);}
.shield-rim{position:absolute; inset:0; clip-path:polygon(50% 0%,100% 15%,100% 60%,50% 100%,0% 60%,0% 15%);
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.55), transparent 45%), linear-gradient(160deg, var(--gold-hi), var(--gold-2) 55%, var(--gold-hi) 85%, var(--gold-2));
  box-shadow:0 16px 26px -8px rgba(0,0,0,.75);}
.shield-bevel{position:absolute; inset:5px; clip-path:polygon(50% 0%,100% 15%,100% 60%,50% 100%,0% 60%,0% 15%); background:var(--plate-1);}
.shield-face{position:absolute; inset:8px; clip-path:polygon(50% 0%,100% 15%,100% 60%,50% 100%,0% 60%,0% 15%);
  background:radial-gradient(circle at 34% 22%, var(--plate-1), var(--plate-2) 78%);
  box-shadow:inset 0 3px 8px rgba(0,0,0,.7), inset 0 -1px 0 rgba(255,225,180,.08), inset 0 0 0 1px rgba(230,195,130,.25);
  display:flex; align-items:flex-start; justify-content:center; padding-top:20%;}
.shield-face::before{content:""; position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  opacity:.06; mix-blend-mode:overlay;}
.shield-face img{width:56%; height:56%; object-fit:contain; filter:drop-shadow(0 3px 5px rgba(0,0,0,.6)); position:relative; z-index:1;}
.shield-rivet{position:absolute; width:6px; height:6px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #e9cf9e, #6b551f 75%);
  box-shadow:0 1px 1px rgba(0,0,0,.7), inset 0 0 0 1px rgba(0,0,0,.4); z-index:2;}
.shield-rivet.l{left:14px; top:26px;}
.shield-rivet.r{right:14px; top:26px;}
@media (max-width:1080px){.shields-col{display:none;}}
.hero-head{position:relative; z-index:3; text-align:center; max-width:700px; margin:0 auto; text-shadow:0 3px 26px rgba(0,0,0,.6);}
.hero-head h1{font-size:clamp(34px,5.4vw,58px); margin:14px 0 16px;
  background:linear-gradient(177deg, #FFF8E8 0%, #FBE6B6 20%, #E4BE79 44%, #FFF1CE 58%, #E8C583 72%, #B98F42 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.55)) drop-shadow(0 6px 22px rgba(0,0,0,.7));}
.hero-head p{font-size:18px; color:#D9DCE3; max-width:560px; margin:0 auto;}
.hero-cta{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:26px; position:relative; z-index:3;}
.seat-pick{margin-top:auto; padding-top:64px; position:relative; z-index:3;}
.seat-pick-label{text-align:center; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--text-2); margin-bottom:26px; text-shadow:0 2px 8px rgba(0,0,0,.6);}
.seat-row{display:flex; justify-content:center; align-items:flex-start; gap:clamp(10px,3vw,30px); flex-wrap:wrap;}
.seat{display:flex; flex-direction:column; align-items:center; gap:11px; text-decoration:none; transition:transform .2s cubic-bezier(.2,.8,.3,1); transform:translateY(var(--dy,0));}
.seat:hover{transform:translateY(calc(var(--dy,0) - 8px));}
.seat-ring{position:relative; width:80px; height:80px;}
.seat-ring svg{position:absolute; inset:-10px; width:calc(100% + 20px); height:calc(100% + 20px); overflow:visible;}
.ring-glow{fill:none; stroke:rgba(230,178,90,.34); stroke-width:11; filter:blur(6px);}
.ring-outer{fill:none; stroke:url(#ringGoldGrad); stroke-width:3.2;}
.ring-inner{fill:none; stroke:url(#ringGoldGrad); stroke-width:1.2; opacity:.7;}
.seat-plate{position:absolute; inset:8px; border-radius:50%; background:linear-gradient(160deg, #ecdcae, #ad8f56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 4px rgba(0,0,0,.35), 0 8px 16px -4px rgba(0,0,0,.6);
  display:flex; align-items:center; justify-content:center;}
.seat-plate img{width:60%; height:60%; object-fit:contain;}
.seat-plate img.invert{filter:invert(1);}
.seat-label{font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-1); text-shadow:0 2px 8px rgba(0,0,0,.7);}
section{position:relative; padding:88px 0;}
.section-head{max-width:600px; margin:0 0 44px;}
.section-head h2{font-size:clamp(28px,4vw,42px); margin-top:10px;}
.section-head p{color:var(--text-2); margin-top:12px; font-size:16.5px;}
.about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center;}
.about-grid p{color:var(--text-2); font-size:16.5px; margin:0 0 14px;}
.about-stats{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.about-stat{background:var(--glass); border:1px solid var(--glass-border); border-radius:14px; padding:20px;}
.about-stat .v{font-family:'Unbounded',sans-serif; font-weight:800; font-size:26px;}
.about-stat .l{font-size:13px; color:var(--text-2); margin-top:4px;}
@media (max-width:820px){.about-grid{grid-template-columns:1fr;}}
.plate{position:relative; background:linear-gradient(155deg, rgba(255,255,255,.06), transparent 45%), linear-gradient(160deg, var(--plate-1), var(--plate-2));
  border-radius:16px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05), inset 0 3px 7px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,225,180,.05), 0 22px 34px -16px rgba(0,0,0,.7);
  transform-style:preserve-3d; transition:transform .15s cubic-bezier(.2,.7,.3,1); will-change:transform; text-decoration:none; color:inherit; display:block;}
.plate::before{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  opacity:.05; mix-blend-mode:overlay;}
.rivet{position:absolute; width:6px; height:6px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #e9cf9e, #6b551f 75%); box-shadow:0 1px 1px rgba(0,0,0,.7), inset 0 0 0 1px rgba(0,0,0,.4);}
.rivet.tl{top:10px; left:10px;}
.rivet.tr{top:10px; right:10px;}
.rivet.bl{bottom:10px; left:10px;}
.rivet.br{bottom:10px; right:10px;}
.games-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.g-card{padding:224px 20px 20px; text-align:center; overflow:visible; display:flex; flex-direction:column;}
/* Ring sits above the portrait so the character reads as framed inside it. */
.ring-wrap{position:absolute; left:50%; top:-58px; transform:translateX(-50%); width:208px; height:264px; z-index:2; pointer-events:none;}
.ring-wrap svg{width:100%; height:100%; overflow:visible; display:block;}
.ring-wrap .ring-glow{stroke-width:14;}
.ring-wrap .ring-outer{stroke-width:4;}
.ring-wrap .ring-inner{stroke-width:1.5;}
.portrait{position:absolute; left:50%; top:-36px; transform:translateX(-50%); width:172px; height:222px; z-index:1; pointer-events:none;}
/* Source art is cut out by hand and the bottom edge shows it, so fade the last
   third into the plate instead of letting it end on a hard line. */
.portrait img{width:100%; height:100%; object-fit:contain; object-position:bottom;
  filter:drop-shadow(0 16px 14px rgba(0,0,0,.65));
  -webkit-mask-image:linear-gradient(to bottom, #000 58%, rgba(0,0,0,.72) 78%, rgba(0,0,0,.28) 92%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 58%, rgba(0,0,0,.72) 78%, rgba(0,0,0,.28) 92%, transparent 100%);}
/* Soft ground shadow under the character, so the fade reads as depth. */
.portrait::after{content:""; position:absolute; left:50%; bottom:-6px; transform:translateX(-50%);
  width:118px; height:26px; border-radius:50%; z-index:-1;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.55), transparent 72%); filter:blur(5px);}
.nameplate{display:inline-flex; align-items:center; justify-content:center; margin:0 auto; padding:12px 24px; background:linear-gradient(160deg, #ecdcae, #ad8f56); border-radius:9px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 4px rgba(0,0,0,.35), 0 3px 8px rgba(0,0,0,.45);}
.nameplate img{height:27px; width:auto; max-width:150px; object-fit:contain;}
.nameplate img.invert{filter:invert(1);}
/* Same weight and size as .c-name on the cheat cards: the two grids sit on the
   same pages and the game title was reading as a caption next to them. */
.g-name-caption{margin-top:15px; font-family:'Unbounded',sans-serif; font-size:20px; font-weight:700;
  letter-spacing:-.01em; color:var(--text-1); line-height:1.2; text-wrap:balance;}
.g-count{margin-top:11px; margin-bottom:18px; font-size:12.5px; color:var(--gold-1); font-weight:600;}
.g-foot{display:flex; align-items:center; justify-content:center; gap:6px; margin-top:auto; padding-top:14px; border-top:1px solid var(--line); font-size:13px; font-weight:600; color:var(--text-1);}
.g-foot svg{width:13px; height:13px; stroke:var(--gold-1); fill:none; stroke-width:2;}
.g-card:hover .g-foot{color:var(--gold-1);}
.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.c-card{padding:76px 22px 24px; text-align:center; position:relative; display:flex; flex-direction:column;}
.medal-wrap{position:absolute; left:50%; top:0; transform:translate(-50%,-46%); width:64px; height:64px; z-index:2;}
.medal-wrap .mini-ring{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:108px; height:108px; z-index:-1; pointer-events:none;}
.mini-ring svg{width:100%; height:100%; overflow:visible; display:block;}
.mini-ring .ring-outer{stroke-width:2.5;}
.medal{position:relative; width:64px; height:64px; border-radius:50%;
  background:radial-gradient(circle at 32% 26%, rgba(255,255,255,.6), transparent 55%), conic-gradient(from 210deg, #d8b06c, #7c5c26 22%, #ecc985 48%, #6b4f22 70%, #d8b06c);
  box-shadow:0 0 0 1px rgba(0,0,0,.55), 0 0 0 4px var(--plate-1), 0 0 0 5px rgba(230,195,130,.32), 0 10px 18px -4px rgba(0,0,0,.65);
  display:flex; align-items:center; justify-content:center;}
.medal-face{width:47px; height:47px; border-radius:50%; background:radial-gradient(circle at 34% 28%, #2a2013, #100c07 72%);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.75), inset 0 -1px 0 rgba(255,222,170,.08); display:flex; align-items:center; justify-content:center;}
.medal-face img{width:32px; height:32px; object-fit:contain;}
/* Fallback when a developer has no logo: initials struck into the medallion. */
.medal-initials{font-family:'Unbounded',sans-serif; font-weight:800; font-size:17px; letter-spacing:.02em;
  background:linear-gradient(180deg, #FBE6B6, #8A6A2E); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 1px 0 rgba(255,235,190,.14)) drop-shadow(0 -1px 1px rgba(0,0,0,.75));}
.engraved{text-shadow:0 1px 0 rgba(0,0,0,.75), 0 -1px 0 rgba(255,230,180,.07);}
.c-name{font-size:20px; font-weight:700; margin-top:0;}
.c-tag{font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-2); margin-top:9px;}
.c-rank{display:inline-flex; align-items:center; gap:6px; margin-top:17px; padding:5px 13px; border-radius:7px; font-size:11.5px; font-weight:700; letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -2px 3px rgba(0,0,0,.3), 0 2px 6px rgba(0,0,0,.35);}
.c-rank::before{content:""; width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 7px 1px currentColor;}
.c-rank.excellent{background:linear-gradient(160deg, rgba(63,176,129,.24), rgba(63,176,129,.07)); color:#7fe0b6; border:1px solid rgba(63,176,129,.4);}
.c-rank.good{background:linear-gradient(160deg, rgba(230,178,90,.24), rgba(230,178,90,.07)); color:var(--gold-1); border:1px solid rgba(230,178,90,.4);}
.c-rank.risky{background:linear-gradient(160deg, rgba(198,57,43,.26), rgba(198,57,43,.07)); color:#f0907f; border:1px solid rgba(198,57,43,.45);}
.c-rank.onupdate{background:linear-gradient(160deg, rgba(225,96,47,.24), rgba(225,96,47,.07)); color:#f3a17a; border:1px solid rgba(225,96,47,.42);}
.c-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:16px; border-top:1px solid var(--line);}
.c-price{font-family:'Unbounded',sans-serif; font-weight:700; font-size:18px; background:linear-gradient(90deg, var(--gold-hi), var(--gold-2)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.c-price span{font-size:12px; color:var(--text-2); font-weight:500; -webkit-text-fill-color:var(--text-2);}
.mini{font-weight:700; font-size:13px; color:var(--text-1); text-decoration:none; letter-spacing:.02em; border-bottom:1px solid var(--gold-2);}
.price-track{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.price-tile{background:var(--glass); border:1px solid var(--glass-border); border-radius:16px; padding:28px 20px; text-align:center;}
.price-tile.pop{border-color:rgba(230,178,90,.4); background:linear-gradient(160deg, rgba(230,178,90,.08), rgba(230,178,90,.02));}
.price-tile h3{font-size:26px; font-weight:800;}
.price-tile .tag{margin-top:8px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-1);}
.price-tile p{font-size:13.5px; color:var(--text-2); margin:10px 0 0;}
.trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.charter{background:var(--glass); border:1px solid var(--glass-border); border-radius:14px; padding:24px 20px;}
.charter .seal{width:38px; height:38px; border-radius:10px; margin-bottom:14px;
  background:linear-gradient(160deg, rgba(230,178,90,.22), rgba(230,178,90,.05)); border:1px solid rgba(230,178,90,.32);
  display:flex; align-items:center; justify-content:center;}
.charter .seal svg{width:18px; height:18px; stroke:var(--gold-1); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.charter h3{font-size:15.5px; font-weight:700; margin:0 0 6px;}
.charter p{font-size:13.5px; color:var(--text-2); margin:0; line-height:1.5;}
.stat-strip{display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-top:44px; padding-top:34px; border-top:1px solid var(--glass-border);}
.stat .v{font-family:'Unbounded',sans-serif; font-weight:800; font-size:30px;}
.stat .l{font-size:12.5px; color:var(--text-2); margin-top:4px;}
.faq-list{max-width:760px;}
.faq-item{border-top:1px solid var(--glass-border); padding:20px 0;}
.faq-item:last-child{border-bottom:1px solid var(--glass-border);}
.faq-q{font-weight:700; font-size:16px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:14px; list-style:none;}
.faq-q h3{font-size:inherit; font-weight:inherit; margin:0; display:inline;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q .chev{transition:transform .2s; flex:none; color:var(--gold-1);}
.faq-item[open] .chev{transform:rotate(45deg);}
.faq-a{margin-top:12px; color:var(--text-2); font-size:15px; line-height:1.65;}
.cta-band{position:relative; padding:0; overflow:hidden; min-height:380px; display:flex; align-items:center;}
.cta-bg{position:absolute; inset:0; background-image:url('../img/hero/gen_castle_dusk.webp'); background-size:cover; background-position:center 60%;}
.cta-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,9,12,.55) 0%, rgba(8,9,12,.75) 70%, var(--bg) 100%);}
.cta-inner{position:relative; z-index:2; text-align:center; width:100%; padding:90px 0;}
.cta-inner h2{font-size:clamp(28px,4.2vw,42px); text-shadow:0 3px 20px rgba(0,0,0,.6);}
.cta-inner p{color:var(--text-2); max-width:480px; margin:14px auto 26px; text-shadow:0 2px 10px rgba(0,0,0,.5);}
footer.site{padding:60px 0 34px; font-size:15px;}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:26px; padding-bottom:36px;}
.foot-brand .wordmark{margin-bottom:10px;}
.foot-brand p{color:var(--text-2); font-size:14.5px; max-width:240px;}
.foot-h{font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-2); margin:0 0 14px;}
.foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.foot-col a{color:var(--text-1); text-decoration:none; font-size:15px;}
.foot-col a:hover{color:var(--gold-1);}
.colophon{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding-top:22px; border-top:1px solid var(--line); font-size:13px; color:var(--text-2);}
.credit{font-size:11px; color:#4d4436; text-align:center; padding-top:14px;}
@media (max-width:900px){
  .navlinks{display:none;} .games-grid,.cat-grid{grid-template-columns:repeat(2,1fr);} .trust-grid{grid-template-columns:1fr 1fr;}
  .price-track{grid-template-columns:1fr 1fr; row-gap:16px;} .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .games-grid,.cat-grid,.trust-grid,.price-track{grid-template-columns:1fr;} .foot-grid{grid-template-columns:1fr 1fr;}
}
:focus-visible{outline:2px solid var(--gold-1); outline-offset:3px;}
body{
  margin:0;
  background:radial-gradient(ellipse 70% 50% at 50% -10%, #241c11, transparent 60%), radial-gradient(ellipse 90% 70% at 50% 110%, #1a1409, transparent 60%), var(--bg);
  color:var(--text-1); font-family:'Onest',sans-serif; font-size:17.5px; line-height:1.6;
}
.navlinks a:hover, .navlinks a.on{color:var(--text-1);}
.crumb{padding:22px 0 0; font-size:13.5px; color:var(--text-2);}
.crumb a{color:var(--text-2); text-decoration:none;}
.crumb a:hover{color:var(--gold-1);}
.crumb .sep{margin:0 6px; color:var(--text-3);}
.page-head{padding:20px 0 46px;}
.page-head h1{font-size:clamp(28px,4vw,42px); margin-top:10px;}
.page-head p{color:var(--text-2); margin-top:12px; font-size:16.5px; max-width:640px;}
.search-box{display:flex; align-items:center; gap:10px; max-width:420px; margin-top:26px; padding:12px 16px; background:var(--glass); border:1px solid var(--glass-border); border-radius:12px;}
.search-box svg{width:16px; height:16px; stroke:var(--text-2); fill:none; stroke-width:2; flex:none;}
.search-box input{background:none; border:none; outline:none; color:var(--text-1); font-family:'Onest',sans-serif; font-size:14.5px; width:100%;}
.search-box input::placeholder{color:var(--text-3);}
section{position:relative; padding:0 0 88px;}
.section-head h2{font-size:clamp(26px,3.6vw,36px); margin-top:10px;}
.section-head p{color:var(--text-2); margin-top:12px; font-size:16px;}
.ring-glow{fill:none; stroke:rgba(230,178,90,.32); stroke-width:14; filter:blur(7px);}
.ring-outer{fill:none; stroke:url(#ringGoldGrad); stroke-width:4;}
.ring-inner{fill:none; stroke:url(#ringGoldGrad); stroke-width:1.5; opacity:.7;}
@media (max-width:900px){
  .navlinks{display:none;} .games-grid{grid-template-columns:repeat(2,1fr);} .trust-grid{grid-template-columns:1fr 1fr;} .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .games-grid,.trust-grid{grid-template-columns:1fr;} .foot-grid{grid-template-columns:1fr 1fr;}
}
.game-head{position:relative; padding:26px 0 50px; overflow:hidden;}
.gh-grid{display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center;}
.gh-logo-plate{display:inline-flex; align-items:center; justify-content:center; padding:12px 24px; margin-bottom:20px;
  background:linear-gradient(160deg, #ecdcae, #ad8f56); border-radius:8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), inset 0 -2px 4px rgba(0,0,0,.35), 0 3px 8px rgba(0,0,0,.45);}
.gh-logo-plate img{height:27px; width:auto; max-width:150px; object-fit:contain;}
.game-head h1{font-size:clamp(28px,4vw,44px);}
.game-head .intro{color:var(--text-2); font-size:16.5px; margin-top:16px; max-width:560px;}
.gh-facts{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.gh-fact{background:var(--glass); border:1px solid var(--glass-border); border-radius:999px; padding:8px 16px; font-size:13px; font-weight:600; color:var(--text-1); display:flex; align-items:center; gap:7px;}
.gh-fact .dot{width:6px; height:6px; border-radius:50%; background:var(--emerald); box-shadow:0 0 6px 1px var(--emerald);}
.gh-art{position:relative; display:flex; justify-content:center;}
.gh-art img{width:100%; max-width:230px; filter:drop-shadow(0 30px 30px rgba(0,0,0,.6));}
.gh-art::before{content:""; position:absolute; inset:-40px; border-radius:50%;
  background:radial-gradient(ellipse 60% 55% at 50% 55%, rgba(230,178,90,.16), transparent 70%); z-index:-1;}
@media (max-width:820px){.gh-grid{grid-template-columns:1fr;} .gh-art{order:-1;} .gh-art img{max-width:180px;}}
section{position:relative; padding:70px 0;}
.section-head{max-width:640px; margin:0 0 40px;}
.mini-ring .ring-outer{fill:none; stroke:url(#ringGoldGrad); stroke-width:2.5;}
.c-rank.top{background:linear-gradient(160deg, var(--gold-hi), var(--gold-2)); color:#2a1608; border:1px solid rgba(0,0,0,.2);}
.rank-row{display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.plate.featured{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), inset 0 3px 7px rgba(0,0,0,.55), inset 0 -1px 0 rgba(255,225,180,.06),
  0 0 0 1.5px rgba(230,178,90,.6), 0 0 34px 5px rgba(230,178,90,.22), 0 26px 42px -16px rgba(0,0,0,.75);}
.plate.featured::after{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  background:linear-gradient(115deg, transparent 35%, rgba(255,240,205,.16) 48%, transparent 62%); background-size:260% 260%; animation:sheen 6s ease-in-out infinite;}
@keyframes sheen{0%,100%{background-position:130% -10%;} 50%{background-position:-30% 110%;}}
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.feat{background:var(--glass); border:1px solid var(--glass-border); border-radius:16px; padding:26px 24px;}
.feat .ic{width:38px; height:38px; border-radius:10px; margin-bottom:16px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg, rgba(230,178,90,.22), rgba(230,178,90,.05)); border:1px solid rgba(230,178,90,.3);}
.feat .ic svg{width:19px; height:19px; stroke:var(--gold-1); fill:none; stroke-width:1.8;}
.feat h3{font-size:17px; font-weight:700;}
.feat p{color:var(--text-2); font-size:14.5px; margin-top:10px; line-height:1.6;}
.rel-row{display:flex; gap:16px; flex-wrap:wrap;}
.rel-chip{display:flex; align-items:center; gap:10px; padding:10px 18px 10px 10px; background:var(--glass); border:1px solid var(--glass-border); border-radius:999px; text-decoration:none; color:var(--text-1); font-weight:600; font-size:14px;}
.rel-chip img{width:30px; height:30px; object-fit:contain;}
.rel-chip:hover{border-color:rgba(230,178,90,.4);}

/* Featured-snippet answer block: question as H2, answer opens the first line. */
.answer-box{background:linear-gradient(160deg, rgba(230,178,90,.07), rgba(230,178,90,.02));
  border:1px solid rgba(230,178,90,.26); border-left-width:3px; border-radius:14px;
  padding:26px 28px; max-width:820px;}
.answer-box h2{font-size:clamp(19px,2.4vw,23px); margin-bottom:14px;}
.answer-box p{color:var(--text-2); font-size:16px; line-height:1.65; margin:0 0 11px;}
.answer-box p:first-of-type{color:var(--text-1);}
.answer-box p:last-child{margin-bottom:0;}

/* How to buy */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; counter-reset:step;}
.step{background:var(--glass); border:1px solid var(--glass-border); border-radius:14px; padding:24px 22px; position:relative;}
.step::before{counter-increment:step; content:counter(step); display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:9px; margin-bottom:14px; font-family:'Unbounded',sans-serif; font-weight:700; font-size:15px;
  background:linear-gradient(160deg, var(--gold-hi), var(--gold-2)); color:#2a1608;}
.step h3{font-size:16px; font-weight:700;}
.step p{color:var(--text-2); font-size:14.5px; margin-top:9px; line-height:1.6;}
@media (max-width:760px){.steps{grid-template-columns:1fr;}}
.cmp-wrap{overflow-x:auto; border:1px solid var(--glass-border); border-radius:16px;}
.cmp{width:100%; border-collapse:collapse; min-width:640px; font-size:14.5px;}
.cmp th, .cmp td{padding:16px 18px; text-align:center; border-bottom:1px solid var(--glass-border);}
.cmp th:first-child, .cmp td:first-child{text-align:left;}
.cmp thead th{background:var(--glass); font-family:'Unbounded',sans-serif; font-size:13px; font-weight:700; color:var(--text-1);}
.cmp tbody tr:last-child td{border-bottom:none;}
.cmp tbody th{font-weight:700; color:var(--text-1); text-align:left;}
.cmp-dev{display:inline-flex; align-items:center; gap:10px;}
.cmp-dev img{width:22px; height:22px; object-fit:contain; border-radius:50%; background:var(--plate-1);}
.cmp .yes{color:var(--emerald); font-weight:700;}
.cmp .no{color:var(--text-3);}
.cmp .price{color:var(--gold-1); font-weight:700; font-family:'Unbounded',sans-serif; font-size:13.5px;}
@media (max-width:900px){
  .navlinks{display:none;} .cat-grid,.feat-grid{grid-template-columns:repeat(2,1fr);} .trust-grid{grid-template-columns:1fr 1fr;} .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .cat-grid,.feat-grid,.trust-grid{grid-template-columns:1fr;} .foot-grid{grid-template-columns:1fr 1fr;}
}
.btn-wide{display:flex; width:100%;}
.btn-wide svg{width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:2; flex:none;}
.title-block{padding:22px 0 40px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.medal-lg{position:relative; width:76px; height:76px; flex:none;}
.medal-lg .mini-ring{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:128px; height:128px; z-index:-1;}
.medal-lg .mini-ring svg{width:100%; height:100%; overflow:visible; display:block;}
.medal-lg .mini-ring .ring-outer{fill:none; stroke:url(#ringGoldGrad); stroke-width:3;}
.medal-lg .medal{position:relative; width:76px; height:76px; border-radius:50%;
  background:radial-gradient(circle at 32% 26%, rgba(255,255,255,.6), transparent 55%), conic-gradient(from 210deg, #d8b06c, #7c5c26 22%, #ecc985 48%, #6b4f22 70%, #d8b06c);
  box-shadow:0 0 0 1px rgba(0,0,0,.55), 0 0 0 4px var(--plate-1), 0 0 0 5px rgba(230,195,130,.32), 0 10px 18px -4px rgba(0,0,0,.65);
  display:flex; align-items:center; justify-content:center;}
.medal-lg .medal-face{width:56px; height:56px; border-radius:50%; background:radial-gradient(circle at 34% 28%, #2a2013, #100c07 72%);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.75), inset 0 -1px 0 rgba(255,222,170,.08); display:flex; align-items:center; justify-content:center;}
.medal-lg .medal-face img{width:38px; height:38px; object-fit:contain;}
.medal-lg .medal-initials{font-size:21px;}
.title-block h1{font-size:clamp(26px,3.6vw,36px);}
.title-meta{color:var(--text-2); font-size:14.5px; margin-top:6px;}
.title-badges{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px;}
.badge{display:inline-flex; align-items:center; gap:6px; padding:5px 13px; border-radius:7px; font-size:11.5px; font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -2px 3px rgba(0,0,0,.3);}
.badge::before{content:""; width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 7px 1px currentColor;}
.badge.excellent{background:linear-gradient(160deg, rgba(63,176,129,.24), rgba(63,176,129,.07)); color:#7fe0b6; border:1px solid rgba(63,176,129,.4);}
.badge.top{background:linear-gradient(160deg, var(--gold-hi), var(--gold-2)); color:#2a1608; border:1px solid rgba(0,0,0,.2);}
.badge.undetected{background:var(--glass); color:var(--text-1); border:1px solid var(--glass-border);}
.badge.good{background:linear-gradient(160deg, rgba(230,178,90,.24), rgba(230,178,90,.07)); color:var(--gold-1); border:1px solid rgba(230,178,90,.4);}
.badge.risky{background:linear-gradient(160deg, rgba(198,57,43,.26), rgba(198,57,43,.07)); color:#f0907f; border:1px solid rgba(198,57,43,.45);}
.badge.onupdate{background:linear-gradient(160deg, rgba(225,96,47,.24), rgba(225,96,47,.07)); color:#f3a17a; border:1px solid rgba(225,96,47,.42);}
.stars{color:var(--gold-1); font-size:13px; letter-spacing:1px;}
.detail-grid{display:grid; grid-template-columns:1fr 340px; gap:44px; align-items:start; padding-bottom:70px;}
.main-col > *{margin-bottom:46px;}
.side-col{position:sticky; top:96px;}
@media (max-width:960px){.detail-grid{grid-template-columns:1fr;} .side-col{position:static;}}
h2.h-block{font-size:20px; font-weight:700; margin-bottom:16px;}
.shots{display:grid; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); gap:12px;}
.shot-ph{border-radius:12px; aspect-ratio:16/10; border:1px dashed var(--glass-border); background:var(--glass);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--text-3);}
.shot-ph svg{width:26px; height:26px; stroke:var(--text-3); fill:none; stroke-width:1.6;}
.shot-ph span{font-size:12.5px; text-align:center; max-width:200px; line-height:1.5;}
/* Thumbnails: auto-fill keeps the block a fixed number of rows however many shots there are. */
.shot{display:block; padding:0; width:100%; border:1px solid var(--glass-border); background:var(--glass);
  border-radius:12px; overflow:hidden; cursor:zoom-in; position:relative;
  transition:border-color .2s, transform .2s cubic-bezier(.2,.8,.3,1);}
.shot img{width:100%; aspect-ratio:16/10; object-fit:cover; display:block;}
.shot::after{content:""; position:absolute; right:9px; bottom:9px; width:26px; height:26px; border-radius:7px;
  background:rgba(10,11,14,.72) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3CE8C' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5M11 8v6M8 11h6'/></svg>") center/15px no-repeat;
  border:1px solid rgba(230,178,90,.32); opacity:0; transition:opacity .2s;}
.shot:hover{border-color:rgba(230,178,90,.5); transform:translateY(-2px);}
.shot:hover::after,.shot:focus-visible::after{opacity:1;}

/* Video tile: play badge instead of the zoom badge, always visible. */
.shot.is-video{cursor:pointer;}
.shot.is-video::after{opacity:1; right:50%; bottom:50%; transform:translate(50%,50%); width:46px; height:46px;
  border-radius:50%; background:rgba(10,11,14,.72) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F3CE8C'><path d='M8 5.5v13l11-6.5z'/></svg>") center/17px no-repeat;
  border:1px solid rgba(230,178,90,.5); box-shadow:0 4px 16px rgba(0,0,0,.55);}
.shot.is-video:hover::after{background-color:rgba(30,26,18,.9); border-color:rgba(230,178,90,.8);}
.shot-poster{display:block; width:100%; aspect-ratio:16/10;
  background:radial-gradient(circle at 50% 45%, rgba(230,178,90,.14), transparent 62%), var(--glass);}

.lb-video{width:min(1100px,100%); aspect-ratio:16/9; max-height:100%;
  border-radius:10px; overflow:hidden; border:1px solid rgba(230,178,90,.26);
  box-shadow:0 26px 74px rgba(0,0,0,.75); background:#000;}
.lb-video[hidden]{display:none;}
.lb-video iframe{width:100%; height:100%; display:block; border:0;}
.lb-img[hidden]{display:none;}

/* Full-size viewer */
.lightbox{position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center;
  background:rgba(6,7,10,.93); backdrop-filter:blur(7px); padding:56px 72px 74px;}
.lightbox[hidden]{display:none;}
.lb-img{max-width:100%; max-height:100%; object-fit:contain; border-radius:10px;
  border:1px solid rgba(230,178,90,.26); box-shadow:0 26px 74px rgba(0,0,0,.75);}
.lb-btn{position:absolute; display:flex; align-items:center; justify-content:center; cursor:pointer;
  background:rgba(21,23,29,.82); border:1px solid var(--glass-border); color:var(--text-1);
  border-radius:10px; transition:border-color .2s, color .2s, background .2s;}
.lb-btn:hover{border-color:rgba(230,178,90,.5); color:var(--gold-1); background:rgba(30,26,18,.9);}
.lb-btn svg{width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.lb-close{top:16px; right:18px; width:40px; height:40px;}
.lb-nav{top:50%; transform:translateY(-50%); width:44px; height:60px;}
.lb-nav.prev{left:14px;} .lb-nav.next{right:14px;}
.lb-cap{position:absolute; left:0; right:0; bottom:22px; text-align:center; font-size:13.5px;
  color:var(--text-2); padding:0 20px;}
.lb-cap b{color:var(--gold-1); font-weight:700; margin-right:9px;}
@media (max-width:700px){
  .lightbox{padding:52px 12px 66px;}
  .lb-nav{width:38px; height:50px;} .lb-nav.prev{left:6px;} .lb-nav.next{right:6px;}
}
@media (prefers-reduced-motion:reduce){.shot,.shot::after,.lb-btn{transition:none;} .shot:hover{transform:none;}}
.req-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.req-item{background:var(--glass); border:1px solid var(--glass-border); border-radius:12px; padding:16px; display:flex; gap:12px; align-items:flex-start;}
.req-item svg{width:18px; height:18px; stroke:var(--gold-1); fill:none; stroke-width:1.8; flex:none; margin-top:2px;}
.req-item h3{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--text-2); margin:0 0 3px;}
.req-item p{font-size:14px; margin:0;}
.feat-cols{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.feat-col h3{font-size:14px; font-weight:700; color:var(--gold-1); margin-bottom:10px;}
.feat-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;}
.feat-col li{font-size:14.5px; color:var(--text-2); padding-left:18px; position:relative;}
.feat-col li::before{content:"✓"; position:absolute; left:0; color:var(--emerald); font-weight:700;}
.desc p{color:var(--text-2); font-size:16px; margin:0 0 12px;}
.desc h3{font-size:18px; font-weight:700; margin:28px 0 10px;}
.desc ul{color:var(--text-2); font-size:16px; margin:0 0 14px; padding-left:20px;}
.desc li{margin-bottom:7px;}
.legal{max-width:760px; padding-bottom:60px;}
.legal .updated{font-size:13.5px; color:var(--text-3); margin-bottom:26px;}
.tp-strip{display:flex; align-items:center; gap:22px; flex-wrap:wrap; background:var(--glass); border:1px solid var(--glass-border); border-radius:14px; padding:22px 24px;}
.tp-rating{display:flex; flex-direction:column; align-items:center; gap:4px; flex:none;}
.tp-rating .tp-v{font-family:'Unbounded',sans-serif; font-weight:800; font-size:20px;}
.tp-text{flex:1; min-width:200px;}
.tp-text b{font-size:15px;}
.tp-text p{color:var(--text-2); font-size:13.5px; margin:4px 0 0;}
.buy-plate{background:linear-gradient(155deg, rgba(255,255,255,.06), transparent 45%), linear-gradient(160deg, var(--plate-1), var(--plate-2));
  border-radius:16px; padding:22px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05), inset 0 3px 7px rgba(0,0,0,.55), 0 22px 34px -16px rgba(0,0,0,.7);}
.buy-plate h2{font-size:15px; margin-bottom:14px;}
.dur-list{display:flex; flex-direction:column; gap:8px; margin-bottom:18px;}
.dur-tile{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-radius:10px; border:1px solid var(--glass-border); background:var(--glass); cursor:pointer; transition:border-color .15s, background .15s; text-decoration:none; color:var(--text-1);}
.dur-tile:hover{border-color:rgba(230,178,90,.55); background:linear-gradient(160deg, rgba(230,178,90,.1), rgba(230,178,90,.02));}
.dur-tile.popular{border-color:rgba(230,178,90,.4);}
.dur-tile input{display:none;}
.dur-tile .d{font-weight:700; font-size:14.5px;}
.dur-tile .tag{font-size:10.5px; color:var(--text-2); text-transform:uppercase; letter-spacing:.05em; margin-left:8px;}
.dur-tile .p{font-weight:700; font-size:15px; color:var(--gold-1);}
.dur-tile:has(input:checked){border-color:rgba(230,178,90,.55); background:linear-gradient(160deg, rgba(230,178,90,.1), rgba(230,178,90,.02));}
/* A build that is down cannot be bought, so the plan list and button are inert. */
.paused-note{display:flex; gap:11px; padding:14px 15px; margin-bottom:16px; border-radius:11px;
  background:linear-gradient(160deg, rgba(225,96,47,.13), rgba(225,96,47,.03));
  border:1px solid rgba(225,96,47,.34);}
.paused-note svg{width:19px; height:19px; flex:none; margin-top:1px; stroke:#f3a17a; fill:none; stroke-width:1.9; stroke-linecap:round;}
.paused-note b{display:block; font-size:14px; color:#f3a17a; margin-bottom:4px;}
.paused-note p{margin:0; font-size:13px; line-height:1.55; color:var(--text-2);}
.dur-list.is-locked{opacity:.45; filter:grayscale(.55);}
.dur-list.is-locked .dur-tile{cursor:default;}
.dur-list.is-locked .dur-tile:hover{border-color:var(--glass-border); background:var(--glass);}
.btn.is-disabled{cursor:not-allowed; pointer-events:none; opacity:.5; background:var(--glass);
  color:var(--text-2); border-color:var(--glass-border); box-shadow:none;}

.buy-total{display:flex; justify-content:space-between; align-items:baseline; padding-top:14px; border-top:1px solid var(--glass-border); margin-bottom:16px;}
.buy-total .l{font-size:13px; color:var(--text-2);}
.buy-total .v{font-family:'Unbounded',sans-serif; font-weight:800; font-size:24px;}
.buy-note{font-size:12.5px; color:var(--text-2); margin-top:14px; text-align:center; line-height:1.5;}
.charter{background:var(--glass); border:1px solid var(--glass-border); border-radius:14px; padding:22px 20px;}
.charter .seal{width:36px; height:36px; border-radius:10px; margin-bottom:12px;
  background:linear-gradient(160deg, rgba(230,178,90,.22), rgba(230,178,90,.05)); border:1px solid rgba(230,178,90,.32);
  display:flex; align-items:center; justify-content:center;}
.charter .seal svg{width:17px; height:17px; stroke:var(--gold-1); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.charter h3{font-size:14.5px; font-weight:700; margin:0 0 5px;}
.charter p{font-size:13px; color:var(--text-2); margin:0; line-height:1.5;}
.rel-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.plate{position:relative; background:linear-gradient(155deg, rgba(255,255,255,.06), transparent 45%), linear-gradient(160deg, var(--plate-1), var(--plate-2));
  border-radius:16px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05), inset 0 3px 7px rgba(0,0,0,.55), 0 22px 34px -16px rgba(0,0,0,.7);
  text-decoration:none; color:inherit; display:block;}
.rel-card{padding:60px 18px 20px; text-align:center; position:relative;}
.rel-medal-wrap{position:absolute; left:50%; top:0; transform:translate(-50%,-46%); width:52px; height:52px; z-index:2;}
.rel-medal-wrap .mini-ring{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:90px; height:90px; z-index:-1;}
.rel-medal-wrap .mini-ring svg{width:100%; height:100%; overflow:visible; display:block;}
.rel-medal-wrap .mini-ring .ring-outer{fill:none; stroke:url(#ringGoldGrad); stroke-width:2.2;}
.rel-medal{width:52px; height:52px; border-radius:50%; background:radial-gradient(circle at 32% 26%, rgba(255,255,255,.6), transparent 55%), conic-gradient(from 210deg, #d8b06c, #7c5c26 22%, #ecc985 48%, #6b4f22 70%, #d8b06c);
  box-shadow:0 0 0 1px rgba(0,0,0,.55), 0 0 0 3px var(--plate-1), 0 0 0 4px rgba(230,195,130,.32); display:flex; align-items:center; justify-content:center;}
.rel-medal-face{width:38px; height:38px; border-radius:50%; background:radial-gradient(circle at 34% 28%, #2a2013, #100c07 72%); display:flex; align-items:center; justify-content:center;}
.rel-medal-face img{width:26px; height:26px; object-fit:contain;}
.rel-card .n{font-size:15.5px; font-weight:700; margin-top:2px;}
.rel-card .t{font-size:11px; color:var(--text-2); margin-top:6px; text-transform:uppercase; letter-spacing:.06em;}
.rel-card .p{margin-top:12px; padding-top:12px; border-top:1px solid var(--line); font-weight:700; color:var(--gold-1); font-size:14.5px;}
section{padding:0 0 70px;}
.section-head{max-width:640px; margin:0 0 30px;}
.section-head h2{font-size:clamp(24px,3.2vw,32px);}
@media (max-width:900px){
  .navlinks{display:none;} .req-grid,.feat-cols,.rel-grid{grid-template-columns:1fr 1fr;} .trust-grid{grid-template-columns:1fr 1fr;} .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .req-grid,.feat-cols,.rel-grid,.trust-grid{grid-template-columns:1fr;} .foot-grid{grid-template-columns:1fr 1fr;}
}
