/* ft-hidden-guard v1 */
[hidden]{display:none!important;}
:root{
  --space-xs:10px;
  --space-sm:12px;
  --space-md:21px;
  --space-lg:47px;
  --space-xl:81px;
  --card-padding-y:31px;
  --card-padding-x:21px;
  --card-gap:23px;
  --card-radius:6px;
  --card-border-width:1px;
  --card-min-height:324px;
  --card-min-col-width:289px;
  --btn-padding-y:12px;
  --btn-padding-x:34px;
  --btn-radius:7px;
  --btn-gap-from-text:23px;
  --grid-gap:31px;
  --lh-heading:1.18;
  --lh-body:1.56;
  --ls-heading:-0.020em;

  --red:#b8132a;
  --red-deep:#7a0b1c;
  --red-ink:#3a0509;
  --bone:#f1e7d4;
  --bone-soft:#e3d7be;
  --jade:#2e5d4a;
  --jade-bright:#3f8a6c;
  --ink:#120608;
  --paper:#fbf6ea;
  --hairline:rgba(241,231,212,0.28);
  --hairline-strong:rgba(241,231,212,0.55);
}

*,*::before,*::after{box-sizing:border-box;min-width:0}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
html{scroll-behavior:smooth}
body{margin:0}

html,body{background:var(--red);color:var(--bone);font-family:'CustomFont',system-ui,sans-serif;line-height:var(--lh-body);-webkit-font-smoothing:antialiased}

a{color:var(--bone);text-decoration:none;border-bottom:1px solid var(--hairline)}
a:hover{color:#fff;border-bottom-color:var(--bone)}

h1,h2,h3,h4{line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0;font-weight:800}
p{margin:0 0 var(--space-md)}
p:last-child{margin-bottom:0}
ul{margin:0 0 var(--space-md);padding-left:1.1em}

.wrap{max-width:1180px;margin:0 auto;padding:0 var(--space-md)}

.btn{display:inline-block;padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);border:1px solid transparent;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;cursor:pointer;text-decoration:none;line-height:1;transition:transform .25s ease,background .25s ease,color .25s ease}
.btn--primary{background:var(--bone);color:var(--red-ink);border-color:var(--bone)}
.btn--primary:hover{background:var(--jade-bright);color:var(--bone);border-color:var(--jade-bright)}
.btn--ghost{background:transparent;color:var(--bone);border:1px solid var(--bone)}
.btn--ghost:hover{background:var(--bone);color:var(--red-ink)}

/* HEADER */
.site-head{border-bottom:1px solid var(--hairline);background:var(--red)}
.site-head__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0}
.wordmark{display:inline-flex;align-items:baseline;gap:var(--space-xs);border:0;color:var(--bone);font-weight:800;letter-spacing:.02em;font-size:1.05rem}
.wordmark__dot{color:var(--jade-bright);font-size:1.2em;line-height:1}
.wordmark__name{text-transform:uppercase;letter-spacing:.14em;font-size:.92rem}
.nav{display:flex;gap:var(--space-md);flex-wrap:wrap}
.nav a{border:0;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:600;color:var(--bone-soft)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--bone)}

/* HERO */
.hero{position:relative;padding:var(--space-xl) 0 var(--space-lg);background:radial-gradient(ellipse at top,#c41a32 0%,var(--red) 55%,var(--red-deep) 100%)}
.hero__inner{max-width:1080px}
.hero__label{text-transform:uppercase;letter-spacing:.34em;font-size:.74rem;color:var(--bone-soft);margin-bottom:var(--space-md)}
.hero__title{font-size:clamp(2.4rem,6vw,5.4rem);font-weight:900;letter-spacing:-0.025em;line-height:1.02;color:var(--bone);margin-bottom:var(--space-md);text-wrap:balance}
.hero__sub{font-size:clamp(1.05rem,1.6vw,1.35rem);color:var(--jade-bright);max-width:38em;margin-bottom:var(--space-lg);font-weight:500;letter-spacing:.01em}
.hero__stamp{display:inline-block;text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:var(--bone-soft);border:1px solid var(--hairline-strong);padding:var(--space-xs) var(--space-md);margin-bottom:var(--space-lg);max-width:100%}
.hero__cta{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--btn-gap-from-text)}
.hero__rule{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hairline-strong)}

/* BILLING */
.billing{padding:var(--space-xl) 0;background:var(--red);border-bottom:1px solid var(--hairline)}
.billing__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-min-col-width),1fr));gap:var(--grid-gap)}
.billing__col{padding:var(--space-lg) var(--space-md);border-top:2px solid var(--bone);position:relative}
.billing__num{font-family:'CustomFont',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:var(--jade-bright);margin-bottom:var(--space-md)}
.billing__h{font-size:1.45rem;color:var(--bone);margin-bottom:var(--space-md)}
.billing__p{color:var(--bone-soft);font-size:.98rem}

/* SECTION HEAD */
.section-head{margin-bottom:var(--space-lg);max-width:46em}
.section-head__eyebrow{text-transform:uppercase;letter-spacing:.34em;font-size:.72rem;color:var(--jade-bright);margin-bottom:var(--space-sm)}
.section-head__h{font-size:clamp(1.8rem,3.4vw,2.8rem);color:var(--bone);margin-bottom:var(--space-md)}
.section-head__sub{color:var(--bone-soft);font-size:1.05rem}

/* GAMES (cards) */
.games{padding:var(--space-xl) 0;background:var(--red-deep)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-min-col-width),1fr));gap:var(--card-gap)}
.card{background:var(--ink);color:var(--bone);border:var(--card-border-width) solid var(--hairline-strong);border-radius:var(--card-radius);padding:var(--card-padding-y) var(--card-padding-x);min-height:var(--card-min-height);display:flex;flex-direction:column;transition:transform .35s ease,border-color .35s ease,background .35s ease}
.card:hover{transform:translateY(-4px);border-color:var(--jade-bright);background:#1a0a0d}
.card__head{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--hairline)}
.card__num{text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;color:var(--jade-bright);margin-bottom:var(--space-sm)}
.card__title{font-size:1.7rem;margin-bottom:var(--space-xs);color:var(--bone)}
.card__vibe{font-size:.82rem;color:var(--bone-soft);letter-spacing:.05em;text-transform:lowercase}
.card__body{color:var(--bone-soft);margin-bottom:var(--space-md);flex:0 1 auto}
.card__meta{list-style:none;padding:0;margin:0 0 var(--space-md);border-top:1px solid var(--hairline);padding-top:var(--space-sm)}
.card__meta li{font-size:.85rem;color:var(--bone-soft);padding:4px 0;border-bottom:1px dotted var(--hairline);text-transform:uppercase;letter-spacing:.08em}
.card__meta li:last-child{border-bottom:0}
.card__cta{margin-top:auto;align-self:flex-start;margin-top:var(--btn-gap-from-text)}

/* PLAY (iframe sections) */
.play{padding:var(--space-xl) 0;background:var(--red);border-top:1px solid var(--hairline)}
.play--alt{background:var(--red-deep)}
.frame-wrap{background:var(--ink);border:1px solid var(--hairline-strong);border-radius:var(--card-radius);padding:var(--space-md);max-width:760px;margin:0 auto}
.frame-wrap iframe{display:block;border-radius:4px;background:var(--ink)}

/* HOUSE */
.house{padding:var(--space-xl) 0;background:var(--ink);border-top:1px solid var(--hairline)}
.house__grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--grid-gap);align-items:start}
.house__p{color:var(--bone-soft);font-size:1.05rem}
.house__aside{border-left:2px solid var(--jade);padding:var(--space-md) var(--space-lg);background:rgba(46,93,74,0.08);border-radius:var(--card-radius)}
.house__seal{font-size:2.4rem;color:var(--jade-bright);line-height:1;margin-bottom:var(--space-sm)}
.house__claim{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--bone-soft);font-weight:600}
@media (max-width:760px){.house__grid{grid-template-columns:1fr}}

/* PAGE HEAD (subpages) */
.page-head{padding:var(--space-xl) 0 var(--space-lg);background:linear-gradient(180deg,#c41a32,var(--red) 60%);border-bottom:1px solid var(--hairline)}
.page-head__h{font-size:clamp(2.2rem,5vw,4rem);color:var(--bone);margin-bottom:var(--space-md);font-weight:900;letter-spacing:-0.025em}

/* PROSE */
.prose{padding:var(--space-xl) 0;background:var(--red-deep)}
.prose__inner{max-width:46em;background:var(--ink);border:1px solid var(--hairline);border-radius:var(--card-radius);padding:var(--space-lg)}
.prose .lede{font-size:1.18rem;color:var(--bone);border-left:3px solid var(--jade-bright);padding-left:var(--space-md);margin-bottom:var(--space-lg)}
.prose h2{font-size:1.5rem;color:var(--bone);margin:var(--space-lg) 0 var(--space-md);border-top:1px solid var(--hairline);padding-top:var(--space-md)}
.prose h2:first-of-type{border-top:0;padding-top:0;margin-top:0}
.prose p{color:var(--bone-soft)}
.prose__list{color:var(--bone-soft)}
.prose__list li{margin-bottom:var(--space-xs)}
.prose__signoff{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--hairline);color:var(--bone-soft);font-style:italic;text-align:center;letter-spacing:.04em}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--grid-gap);margin-bottom:var(--space-lg)}
.contact-card{background:rgba(241,231,212,0.04);border:1px solid var(--hairline);border-radius:var(--card-radius);padding:var(--card-padding-y) var(--card-padding-x)}
.contact-card h2{font-size:1.1rem;color:var(--bone);margin-bottom:var(--space-sm);border:0;padding:0}
.big-link{font-size:1.05rem;color:var(--jade-bright);border-bottom:1px solid var(--jade)}
.big-link:hover{color:var(--bone);border-bottom-color:var(--bone)}

/* FOOTER */
.site-foot{background:var(--ink);color:var(--bone-soft);padding:var(--space-xl) 0 var(--space-lg);border-top:2px solid var(--bone)}
.site-foot__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--grid-gap);margin-bottom:var(--space-lg)}
@media (max-width:760px){.site-foot__grid{grid-template-columns:1fr}}
.foot-col h4{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:var(--bone);margin-bottom:var(--space-md)}
.foot-col ul{list-style:none;padding:0;margin:0}
.foot-col li{margin-bottom:var(--space-xs)}
.foot-col a{border:0;color:var(--bone-soft);font-size:.92rem}
.foot-col a:hover{color:var(--bone)}
.wordmark--foot{margin-bottom:var(--space-sm)}
.foot-tag{color:var(--bone-soft);font-size:.92rem;margin-bottom:var(--space-sm)}
.foot-addr{color:var(--bone-soft);font-size:.88rem}
.foot-addr a{color:var(--jade-bright)}
.site-foot__legal{border-top:1px solid var(--hairline);padding-top:var(--space-md);color:var(--bone-soft);font-size:.82rem;letter-spacing:.02em}
.site-foot__legal p{margin-bottom:var(--space-xs)}

/* AGE GATE */
.age-gate{position:fixed;inset:0;background:rgba(18,6,8,0.96);z-index:1000;align-items:center;justify-content:center;padding:var(--space-md)}
.age-gate:not([hidden]){display:flex}
.age-gate__card{background:var(--ink);color:var(--bone);max-width:480px;width:100%;padding:var(--space-lg);border:1px solid var(--bone);border-radius:var(--card-radius);text-align:center}
.age-gate__eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;color:var(--jade-bright);margin-bottom:var(--space-md)}
.age-gate__title{font-size:1.8rem;margin-bottom:var(--space-md);color:var(--bone)}
.age-gate__body{color:var(--bone-soft);margin-bottom:var(--space-lg)}
.age-gate__row{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}

/* COOKIE BANNER */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--ink);color:var(--bone);border-top:2px solid var(--jade-bright);padding:var(--space-md) 0}
.cookie-banner:not([hidden]){display:block}
.cookie-banner__row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;justify-content:space-between}
.cookie-banner__text{margin:0;flex:1 1 320px;font-size:.92rem;color:var(--bone-soft)}
.cookie-banner__text a{color:var(--jade-bright)}
.cookie-banner__btns{display:flex;gap:var(--space-sm);flex-wrap:wrap}

/* UNDER 18 */
.under18{background:var(--ink);color:var(--bone);min-height:100vh;display:flex}
.under18__main{flex:1;display:flex;align-items:center;padding:var(--space-xl) 0}
.under18__box{max-width:560px;border:1px solid var(--bone);padding:var(--space-lg);border-radius:var(--card-radius);background:rgba(241,231,212,0.04)}
.under18__eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;color:var(--jade-bright);margin-bottom:var(--space-md)}
.under18__h{font-size:2rem;margin-bottom:var(--space-md);color:var(--bone)}
.under18__p{color:var(--bone-soft);margin-bottom:var(--space-md)}
.under18__list{list-style:none;padding:0;margin:0 0 var(--space-md)}
.under18__list li{padding:var(--space-xs) 0;border-bottom:1px dotted var(--hairline)}
.under18__list a{color:var(--jade-bright);border:0}
.under18__small{font-size:.85rem;color:var(--bone-soft);margin-top:var(--space-lg);font-style:italic}

/* Subtle fade-in for sections */
@media (prefers-reduced-motion:no-preference){
  main > section{opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease}
  main > section.is-visible{opacity:1;transform:none}
}
