*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f5eed8;
  --bg2:#f9f3e2;
  --bg3:#ede5cc;
  --bg4:#e4dac0;
  --bg5:#d9ceae;
  --panel:#faf5e8;
  --border:rgba(120,85,40,0.18);
  --border2:rgba(120,85,40,0.32);
  --border3:rgba(120,85,40,0.55);
  --ink:#2a1e0a;
  --ink2:#4a3418;
  --ink3:#7a5c30;
  --ink4:#a88050;
  --ink5:#c8a870;
  --red:#8b2020;
  --red2:#b04030;
  --gold:#8b6020;
  --gold2:#a87830;
  --gold3:#c89840;
  --r1:#607888;--r2:#3a7840;--r3:#2860a8;--r4:#6838a0;--r5:#906010;
  --shadow:0 2px 16px rgba(80,50,10,0.13);
  --shadow2:0 6px 32px rgba(80,50,10,0.18);
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Crimson Text',serif;font-weight:400;overflow-x:hidden;line-height:1.6}
::selection{background:rgba(140,96,32,.22);color:var(--ink)}

/* scrollbar */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg3)}
::-webkit-scrollbar-thumb{background:var(--ink5);border-radius:2px}

/* ── paper texture overlay ── */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  opacity:.6;
}

/* canvas */
#cvs{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5}

/* ════════════════════════════
   AGE GATE
════════════════════════════ */
#gate{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:2rem;overflow:hidden}
.gate-bg-t{position:absolute;font-family:'Cinzel',serif;font-size:20vw;font-weight:700;color:rgba(120,85,40,.04);user-select:none;pointer-events:none;white-space:nowrap;letter-spacing:-.02em}
.gate-box{max-width:500px;width:100%;position:relative;text-align:center;z-index:2}
.gate-plate{background:var(--bg2);border:1px solid var(--border3);padding:3.5rem;position:relative;box-shadow:var(--shadow2)}
.gate-plate::before,.gate-plate::after,.gate-plate .gc1,.gate-plate .gc2{content:'';position:absolute;width:20px;height:20px;border-color:var(--gold2);border-style:solid}
.gate-plate::before{top:-1px;left:-1px;border-width:2px 0 0 2px}
.gate-plate::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.gate-plate .gc1{top:-1px;right:-1px;border-width:2px 2px 0 0}
.gate-plate .gc2{bottom:-1px;left:-1px;border-width:0 0 2px 2px}
.gate-seal{font-size:2.2rem;display:block;margin-bottom:.8rem;opacity:.55}
.gate-title{font-family:'Cinzel',serif;font-size:1.9rem;font-weight:700;letter-spacing:.12em;color:var(--ink);margin-bottom:.15rem}
.gate-sub{font-family:'IM Fell English',serif;font-style:italic;font-size:1rem;color:var(--ink3);margin-bottom:2rem;letter-spacing:.04em}
.gate-rule{display:flex;align-items:center;gap:1rem;margin:1.2rem 0;opacity:.3}
.gate-rule::before,.gate-rule::after{content:'';flex:1;height:1px;background:var(--gold2)}
.gate-rule span{font-family:'IM Fell English',serif;font-size:.9rem;color:var(--gold2)}
.gate-warn{border:1px solid rgba(139,32,32,.3);background:rgba(139,32,32,.05);padding:1rem 1.2rem;margin-bottom:1.2rem;text-align:left}
.gate-warn-t{font-family:'Cinzel',serif;font-size:.58rem;font-weight:600;letter-spacing:.22em;color:var(--red2);text-transform:uppercase;margin-bottom:.35rem}
.gate-warn p{font-family:'Crimson Text',serif;font-size:.92rem;color:var(--ink2);line-height:1.85}
.gate-disc{font-size:.82rem;color:var(--ink4);line-height:1.9;margin-bottom:2rem;font-style:italic}
.gate-btns{display:flex;gap:1rem;justify-content:center}
.gbtn{font-family:'Cinzel',serif;font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:.7rem 2rem;border:1px solid;cursor:pointer;background:transparent;transition:all .3s}
.gbtn-e{border-color:var(--gold2);color:var(--gold);background:rgba(140,96,32,.07)}
.gbtn-e:hover{background:rgba(140,96,32,.16);color:var(--gold2)}
.gbtn-l{border-color:var(--border2);color:var(--ink4)}
.gbtn-l:hover{border-color:var(--ink3);color:var(--ink3)}


/* suppress Google Translate banner */
.goog-te-banner-frame,.goog-te-ftab-float{display:none\!important}
body{top:0\!important}
