:root{
  --ink:#5a241f;
  --ink-strong:#7b1718;
  --paper:#f5c995;
  --paper-deep:#d5a36f;
  --night:#151512;
  --night-soft:#20201b;
  --light:#f2eadf;
  --muted:#b9b2a8;
  --line:rgba(255,255,255,.11);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
body.content-site{
  min-height:100vh;
  background:var(--night);
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.72;
  cursor:url("../kunai.svg") 16 6,auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1200;
  background:rgba(10,10,10,.91);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(7px);
  font-family:'Cinzel',serif;
}
.site-header .inner{
  width:min(1120px,calc(100% - 28px));
  min-height:54px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.site-header .brand{
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.04em;
  white-space:nowrap;
}
.desktop-nav{display:flex;align-items:center;gap:17px}
.desktop-nav a,
.mobile-nav-panel a{
  color:#c9c4bc;
  text-decoration:none;
  font-size:13px;
  letter-spacing:.02em;
}
.desktop-nav a:hover,
.desktop-nav a[aria-current="page"],
.mobile-nav-panel a:hover,
.mobile-nav-panel a[aria-current="page"]{color:#fff}
.mobile-nav{display:none;position:relative;color:#fff}
.mobile-nav summary{
  list-style:none;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
}
.mobile-nav summary::-webkit-details-marker{display:none}
.mobile-nav-panel{
  position:absolute;
  right:0;
  top:38px;
  min-width:190px;
  padding:8px;
  display:grid;
  gap:2px;
  background:#111;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 14px 35px rgba(0,0,0,.35);
}
.mobile-nav-panel a{padding:9px 10px;border-radius:5px}
.mobile-nav-panel a:hover{background:rgba(255,255,255,.06)}

.site-main{padding:58px 0 84px}
.scroll-sheet{
  position:relative;
  width:min(780px,94vw);
  margin:42px auto 74px;
  padding:84px clamp(28px,7vw,72px) 96px;
  background:url("scroll_middle.png") center top / 92% 276px repeat-y;
  isolation:isolate;
}
.scroll-sheet::before,
.scroll-sheet::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:60px;
  background:url("scroll_cap.svg") center / 100% 100% no-repeat;
  z-index:-1;
}
.scroll-sheet::before{top:-27px}
.scroll-sheet::after{bottom:-27px}

.eyebrow{
  margin:0 0 8px;
  font-family:'Cinzel',serif;
  color:#8b3a25;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
h1,h2,h3{font-family:'Cinzel',serif;color:var(--ink-strong);line-height:1.18}
h1{font-size:clamp(2.5rem,8vw,4.6rem);margin:.05em 0 .28em;letter-spacing:.01em}
h2{font-size:clamp(1.55rem,4vw,2.15rem);margin:2.2em 0 .55em}
h3{font-size:1.12rem;margin:1.55em 0 .4em}
p{margin:.8em 0}
a{color:#7b1718;text-underline-offset:3px}
a:hover{color:#3f0b0c}
.lead{font-size:1.18rem;line-height:1.65;max-width:64ch}
.muted{opacity:.78}

.hero-copy{text-align:center;max-width:640px;margin:0 auto}
.hero-copy .lead{margin-left:auto;margin-right:auto}
.primary-cta,
.secondary-cta{
  display:inline-block;
  margin-top:18px;
  padding:12px 24px;
  border-radius:999px;
  font-family:'Cinzel',serif;
  font-size:.95rem;
  text-decoration:none;
  transition:transform .16s ease,background .16s ease;
}
.primary-cta{background:var(--ink-strong);color:#fff}
.primary-cta:hover{color:#fff;background:#5d1011;transform:translateY(-1px)}
.secondary-cta{border:1px solid rgba(90,36,31,.42);color:var(--ink-strong)}
.secondary-cta:hover{background:rgba(90,36,31,.08)}
.cta-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px}
.microcopy{font-size:.86rem;opacity:.72;text-align:center}

.divider{
  width:110px;
  height:2px;
  margin:42px auto;
  background:linear-gradient(90deg,transparent,var(--ink-strong),transparent);
  opacity:.55;
}

.dojo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:24px 0;
}
.dojo-card{
  border:1px solid rgba(90,36,31,.22);
  background:rgba(255,235,203,.22);
  padding:18px;
}
.dojo-card h3{margin:0 0 7px}
.dojo-card p{font-size:.95rem;margin:0 0 12px}
.dojo-card a{font-family:'Cinzel',serif;font-size:.83rem;font-weight:700;text-decoration:none}

.callout{
  margin:24px 0;
  padding:17px 18px;
  border-left:4px solid rgba(123,23,24,.72);
  background:rgba(255,235,203,.25);
}
.steps{counter-reset:step;list-style:none;padding:0;margin:20px 0}
.steps li{counter-increment:step;position:relative;padding:0 0 22px 52px}
.steps li::before{
  content:counter(step);
  position:absolute;
  left:0;
  top:1px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ink-strong);
  color:white;
  font-family:'Cinzel',serif;
  font-size:.85rem;
}
.steps strong{font-family:'Cinzel',serif;color:var(--ink-strong)}

.fact-list,
.clean-list{padding-left:1.2em}
.fact-list li,
.clean-list li{margin:.55em 0}

.source-list{font-size:.93rem;padding-left:1.2em}
.source-list li{margin:.65em 0}
.source-list a{overflow-wrap:anywhere}

.page-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:36px;
  padding-top:22px;
  border-top:1px solid rgba(90,36,31,.2);
}
.page-links a{
  font-family:'Cinzel',serif;
  font-size:.82rem;
  font-weight:700;
  text-decoration:none;
  border:1px solid rgba(90,36,31,.28);
  border-radius:999px;
  padding:8px 12px;
}

.utility-card{
  width:min(840px,calc(100% - 32px));
  min-width:0;
  margin:34px auto;
  padding:30px;
  color:#ddd;
  background:#10100e;
  border:1px solid var(--line);
  overflow-wrap:break-word;
}
.utility-card h1,.utility-card h2{color:#fff;max-width:100%}
.utility-card h1{
  font-size:clamp(2rem,5.5vw,3.65rem);
  overflow-wrap:anywhere;
  hyphens:auto;
}
.utility-card a{color:#b8dcff}
.utility-card .hint,.utility-card .muted{color:#aaa}
.utility-card .card{background:#171715;border:1px solid #2b2b28;padding:18px;margin:16px 0;border-radius:7px;max-width:none;min-width:0}
.utility-intro{max-width:760px}
.utility-back-row{max-width:900px;margin:0 0 18px}
.utility-back-link{
  appearance:none;
  padding:0;
  border:0;
  background:none;
  color:#b8dcff;
  font:600 14px/1.4 Arial,sans-serif;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:3px;
  transition:color .15s ease,text-decoration-color .15s ease;
}
.utility-back-link:hover{color:#fff;text-decoration-color:currentColor}
.utility-back-link:focus-visible{outline:2px solid #b8dcff;outline-offset:4px;border-radius:2px}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.consent-actions button{
  padding:10px 14px;
  border-radius:8px;
  border:1px solid #2a2a2a;
  background:#1b1b1b;
  color:#fff;
  cursor:pointer;
}
.consent-actions button:hover{background:#252522}
.consent-actions button:focus-visible{outline:2px solid #b8dcff;outline-offset:2px}

.site-footer{
  width:100%;
  padding:19px 14px 24px;
  color:#9e9992;
  background:#0a0a09;
  border-top:1px solid var(--line);
  font-family:Arial,sans-serif;
  font-size:12px;
  text-align:center;
}
.site-footer .footer-inner{width:min(1000px,100%);margin:0 auto}
.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 17px}
.site-footer a{color:#aaa;text-decoration:none}
.site-footer a:hover{color:#fff}
.site-footer p{margin:10px 0 0;color:#777;font-size:11px}

@media (max-width:720px){
  .desktop-nav{display:none}
  .mobile-nav{display:block}
  .site-header .inner{min-height:50px}
  .site-main{padding-top:26px}
  .scroll-sheet{width:94vw;padding:62px 26px 72px;margin-top:32px;background-size:92% 276px}
  .scroll-sheet::before,.scroll-sheet::after{height:52px}
  .scroll-sheet::before{top:-22px}
  .scroll-sheet::after{bottom:-22px}
  .dojo-grid{grid-template-columns:1fr}
  .lead{font-size:1.06rem}
}

@media (max-width:430px){
  .scroll-sheet{padding-left:21px;padding-right:21px}
  h1{font-size:clamp(2.35rem,14vw,3.45rem)}
  h2{font-size:1.5rem}
  .utility-card{padding:22px 18px}
  .utility-card h1{font-size:clamp(1.9rem,10.5vw,2.85rem)}
}


/* First-party product evidence */
.product-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 34px}
.product-figure{margin:22px 0;padding:10px;background:rgba(255,235,203,.22);border:1px solid rgba(90,36,31,.22)}
.product-gallery .product-figure{margin:0}
.product-figure img{display:block;width:100%;height:auto;border:1px solid rgba(90,36,31,.18)}
.product-figure figcaption{margin-top:9px;font-size:.86rem;line-height:1.45;opacity:.8}

/* Human-visible context below the full-height game canvas. */
.game-context{position:relative;z-index:18;background:#151512;color:#ded7cd;padding:72px 20px 78px;font-family:Georgia,"Times New Roman",serif;line-height:1.7}
.game-context article{width:min(980px,100%);margin:0 auto}
.game-context h1,.game-context h2{font-family:'Cinzel',serif;color:#fff}
.game-context h1{font-size:clamp(2.2rem,6vw,4rem);margin:.1em 0 .3em}
.game-context h2{font-size:1.25rem;margin:0 0 .45em}
.game-context p{margin:.75em 0}
.game-context a{color:#f2c99a}
.game-context a:hover{color:#fff}
.game-context-eyebrow{font-family:'Cinzel',serif;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;color:#c9a276}
.game-context-lead{max-width:72ch;font-size:1.13rem}
.game-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0}
.game-context-grid section{padding:20px;border:1px solid rgba(255,255,255,.12);background:#1d1d19}
.game-context-links{padding-top:18px;border-top:1px solid rgba(255,255,255,.11)}
@media (max-width:720px){.product-gallery,.game-context-grid{grid-template-columns:1fr}.game-context{padding:56px 18px 62px}}
