/* ===========================================================================
   Household Tales — the home page (householdtales.com).
   The game's own look (app/public/assets/css/game.css): the dark plum rail, cream paper
   sheets, the gold Fraktur wordmark, IM Fell English and EB Garamond. Every colour is an
   art-bible anchor or one the game derives from it. No inline styles or scripts, so the
   page can run under a strict security policy.
   =========================================================================== */

:root{
  --cream:#F2E7CD; --ink:#292820; --forest:#36513C; --blue:#566D80;
  --vermilion:#B84736; --plum:#533548; --gold:#AD8544;
  --rail:#251A28; --rail-deep:#1A1119; --rail-lit:#2C1F30;
  --gold-lit:#D2AC70; --parch:#E7D6B2;
  --cr-78:rgba(242,231,205,.78); --cr-62:rgba(242,231,205,.62); --cr-48:rgba(242,231,205,.48);
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--rail-deep);-webkit-text-size-adjust:100%}
body{
  font-family:'EB Garamond',Georgia,serif;font-size:19px;line-height:1.55;color:var(--cream);
  background:linear-gradient(180deg,var(--rail-deep) 0,var(--rail) 46%,var(--rail-deep) 100%);
  -webkit-font-smoothing:antialiased;min-height:100vh;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}

.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--cream);color:var(--ink);padding:8px 14px;
  font-family:'IM Fell English SC',serif;letter-spacing:.12em;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--gold-lit);outline-offset:3px}

/* ---------- the hero: SC-46, the countrywoman's hillside ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(92vh,880px);display:flex;align-items:flex-end}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;z-index:-2}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(26,17,25,.62) 0%,rgba(26,17,25,.28) 46%,rgba(26,17,25,0) 72%),
    linear-gradient(180deg,rgba(26,17,25,.20) 0%,rgba(26,17,25,0) 30%,rgba(26,17,25,.55) 72%,var(--rail-deep) 100%);
}
.hero-text{width:100%;max-width:1088px;margin:0 auto;padding:0 24px clamp(48px,9vh,96px)}
.brand{display:flex;align-items:center;gap:14px;font-weight:600;font-size:23px;letter-spacing:.02em;color:var(--cream);
  text-shadow:0 1px 8px rgba(0,0,0,.6)}
.brand img{width:44px;height:44px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55))}
h1{font-family:'IM Fell English',serif;font-weight:400;font-size:clamp(42px,6.6vw,82px);line-height:1.02;
  margin-top:20px;max-width:13ch;color:#F6EBD2;text-shadow:0 2px 20px rgba(0,0,0,.6);text-wrap:balance}
.lede{font-style:italic;font-size:clamp(19px,2.2vw,24px);line-height:1.4;color:#EADCBC;max-width:34ch;margin-top:16px;
  text-shadow:0 1px 10px rgba(0,0,0,.7)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;
  font-family:'IM Fell English SC',serif;font-size:17px;letter-spacing:.12em;text-decoration:none;color:var(--cream);
  background:rgba(26,17,25,.55);border:1px solid rgba(210,172,112,.75);transition:background .15s ease}
.btn:hover{background:rgba(83,53,72,.85)}
.btn-gold{color:#21160F;background:linear-gradient(180deg,#CDA563 0%,var(--gold) 100%);border-color:var(--gold-lit);
  box-shadow:0 6px 18px rgba(0,0,0,.35)}
.btn-gold:hover{background:linear-gradient(180deg,#DDB777 0%,#B98F4D 100%)}

/* ---------- cream paper sheets ---------- */
.sheet-wrap{padding:28px 16px 0}
.sheet{
  position:relative;max-width:880px;margin:0 auto;color:var(--ink);background:var(--cream);
  padding:clamp(28px,5vw,56px) clamp(20px,5.5vw,64px) clamp(28px,4.5vw,48px);
  border:1px solid rgba(173,133,68,.6);
  box-shadow:0 18px 50px rgba(0,0,0,.5), inset 0 0 0 6px rgba(231,214,178,.55), inset 0 0 0 7px rgba(173,133,68,.35);
}
/* the game's paper fibre, blended into the cream rather than laid over it */
.sheet::before{content:"";position:absolute;inset:7px;pointer-events:none;
  background:url("img/paper.webp") 0 0/512px 512px repeat;mix-blend-mode:soft-light;opacity:.7}
.sheet>*{position:relative}
.kicker{font-family:'IM Fell English SC',serif;font-size:13px;letter-spacing:.2em;color:rgba(83,53,72,.9)}
h2{font-family:'IM Fell English',serif;font-weight:400;font-size:clamp(31px,4.4vw,46px);line-height:1.1;margin:10px 0 18px;
  text-wrap:balance}
.sheet p{font-size:20px;line-height:1.55;max-width:62ch}
.sheet p+p{margin-top:12px}
.sheet a{color:var(--plum)}

.player{position:relative;margin:28px 0 14px;aspect-ratio:16/9;background:#15100F;border:1px solid rgba(86,58,40,.5);
  box-shadow:0 12px 30px rgba(41,40,32,.3)}
.player-poster,.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player-poster{display:block}
.player-poster img{width:100%;height:100%;object-fit:cover}
.play{position:absolute;left:50%;top:56%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;
  background:rgba(26,17,25,.8);border:2px solid var(--gold-lit);box-shadow:0 6px 20px rgba(0,0,0,.55);transition:background .15s ease}
.play::after{content:"";position:absolute;left:34px;top:26px;border-style:solid;border-width:18px 0 18px 29px;
  border-color:transparent transparent transparent var(--cream)}
.player-poster:hover .play,.player-poster:focus-visible .play{background:rgba(83,53,72,.92)}
.sheet .meta{font-family:'IM Fell English SC',serif;font-size:14px;letter-spacing:.14em;color:rgba(41,40,32,.66);max-width:none}
.sheet .more{margin-top:10px}

/* the painted divider, as in the game */
.orn{height:30px;max-width:520px;margin:44px auto;background:url("img/divider.webp") center/auto 100% no-repeat}

/* ---------- the game ---------- */
.game{max-width:1088px;margin:0 auto;padding:0 16px}
.game-art{width:100%;border:1px solid rgba(173,133,68,.6);box-shadow:0 18px 50px rgba(0,0,0,.55)}
.game-text{max-width:660px;margin:34px auto 0;text-align:center}
.wordmark{font-family:'UnifrakturMaguntia',serif;font-weight:400;color:var(--gold-lit);font-size:clamp(52px,7.4vw,76px);
  line-height:1;margin:0;text-shadow:0 1px 0 rgba(0,0,0,.65)}
.sub{font-family:'IM Fell English SC',serif;font-size:14px;letter-spacing:.24em;color:var(--cr-48);margin:14px 0 24px}
.game-text p:not(.sub){font-size:20px;color:var(--cr-78)}
.game-text p+p{margin-top:12px}
.game-text .cta{justify-content:center}

/* ---------- footer ---------- */
.foot{max-width:880px;margin:56px auto 0;padding:30px 16px 52px;border-top:1px solid rgba(173,133,68,.24);
  text-align:center;color:var(--cr-62);font-size:17px}
.maker img{display:inline-block;width:28px;height:28px;vertical-align:-8px;margin-right:10px}
.foot a{color:var(--cream)}
.links{margin-top:10px;font-family:'IM Fell English SC',serif;letter-spacing:.12em;font-size:15px;display:flex;justify-content:center;gap:12px}
.small{margin-top:14px;font-size:15px;color:var(--cr-48)}

@media (max-width:600px){
  body{font-size:18px}
  .hero{min-height:88vh}
  .hero-art{object-position:84% 30%}
  .hero::after{background:linear-gradient(180deg,rgba(26,17,25,.30) 0%,rgba(26,17,25,.15) 28%,rgba(26,17,25,.70) 66%,var(--rail-deep) 100%)}
  .sheet p,.game-text p:not(.sub){font-size:18.5px}
  .btn{flex:1 1 auto}
  .play{width:62px;height:62px;margin:-31px 0 0 -31px}
  .play::after{left:23px;top:17px;border-width:13px 0 13px 21px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
