/* ==========================================================================
   YAYA'S HOUSE — site stylesheet (Keepsake direction)
   Shared across: index · events · menu · the-house · book
   Asset URLs are relative to this file (site/website/) →  = project root
   ========================================================================== */
:root{
  --clary-sage:#A8AD92;
  --cherry-pop:#D24A55;
  --marigold:#E8B547;
  --midnight-violet:#2D1B4E;
  --dusty-pink:#E5B0B0;
  --plaster-cream:#F1E8D2;
  --brass:#9C7E47;
  --forget-blue:#9FB4D2;
  --cream-deep:#E9DCBE;
  --ink:#2D1B4E;
  --cherry-filter:brightness(0) saturate(100%) invert(38%) sepia(56%) saturate(1565%) hue-rotate(323deg) brightness(99%) contrast(96%);
  --cream-filter:brightness(0) saturate(100%) invert(95%) sepia(8%) saturate(594%) hue-rotate(348deg) brightness(99%) contrast(94%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;font-weight:300;
  color:var(--ink);
  background-color:var(--plaster-cream);
  background-image:url('docs/brand/assets/yayas-wallpaper.png');
  background-size:540px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* soft cream veil over wallpaper so it reads ~18% */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:rgba(241,232,210,.82);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---------- type roles ---------- */
.script{font-family:'Inspiration',cursive;font-weight:400;line-height:.9}
.anton{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.01em;text-transform:uppercase}
.serif{font-family:'Cormorant Garamond',serif}
.mono{font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.28em;font-weight:400;font-size:.7rem}

/* ---------- frame device ---------- */
.frame{
  background:var(--plaster-cream);
  border:1px solid var(--brass);
  box-shadow:0 0 0 6px var(--plaster-cream),0 0 0 7px rgba(156,126,71,.45),0 18px 48px -22px rgba(45,27,78,.45);
  position:relative;
}
.gilt-corner::after{content:"";position:absolute;inset:10px;border:1px solid rgba(156,126,71,.4);pointer-events:none}

/* ---------- nav ---------- */
header.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(241,232,210,.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(156,126,71,.4);
}
.nav-inner{max-width:1180px;margin:0 auto;padding:.55rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-logo{height:120px;filter:var(--cherry-filter);transition:transform .4s ease}
.nav-logo:hover{transform:rotate(-3deg) scale(1.04)}
.nav-links{display:flex;gap:1.9rem;align-items:center}
.nav-links a.lnk{font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;color:var(--ink);position:relative;padding:.2rem 0;transition:color .3s}
.nav-links a.lnk::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--cherry-pop);transition:width .3s}
.nav-links a.lnk:hover{color:var(--cherry-pop)}
.nav-links a.lnk:hover::after{width:100%}
.nav-links a.lnk.active{color:var(--cherry-pop)}
.nav-links a.lnk.active::after{width:100%}
.btn{
  display:inline-block;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;
  padding:.72rem 1.3rem;border:1px solid var(--cherry-pop);color:var(--cherry-pop);background:transparent;
  border-radius:2px;transition:all .35s ease;cursor:pointer;white-space:nowrap;
}
.btn:hover{background:var(--cherry-pop);color:var(--plaster-cream);transform:translateY(-2px);box-shadow:0 8px 20px -8px rgba(210,74,85,.6)}
.btn.solid{background:var(--cherry-pop);color:var(--plaster-cream)}
.btn.solid:hover{background:var(--midnight-violet);border-color:var(--midnight-violet);box-shadow:0 8px 22px -8px rgba(45,27,78,.7)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--cherry-pop);font-size:1.4rem}

/* ---------- layout ---------- */
section{padding:6rem 1.6rem}
.wrap{max-width:1100px;margin:0 auto}
.narrow{max-width:760px;margin:0 auto}
.eyebrow{color:var(--cherry-pop);margin-bottom:1.1rem;display:inline-block}
.divider{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:1.4rem 0}
.divider span{height:1px;width:60px;background:var(--brass)}
.divider .rose{font-family:'Cormorant Garamond',serif;color:var(--brass);font-size:1.3rem}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- hero (home) ---------- */
.hero{padding:4.5rem 1.6rem 5.5rem;text-align:center;position:relative}
.hero-card{
  max-width:880px;margin:0 auto;padding:4rem 2.4rem 3.6rem;
  background:var(--plaster-cream);
  border:1px solid var(--brass);
  box-shadow:0 0 0 9px var(--plaster-cream),0 0 0 10px rgba(156,126,71,.5),0 40px 90px -40px rgba(45,27,78,.55);
  position:relative;
}
.hero-card::after{content:"";position:absolute;inset:16px;border:1px solid rgba(156,126,71,.35);pointer-events:none}
.hero-crest{width:120px;margin:0 auto 1.2rem;filter:drop-shadow(0 6px 14px rgba(45,27,78,.2))}
.wordmark{line-height:.82}
.wordmark .script{font-size:clamp(4.5rem,13vw,8.5rem);color:var(--cherry-pop);display:block;margin-bottom:-.15em}
.wordmark .anton{font-size:clamp(2.6rem,8vw,5rem);color:var(--midnight-violet);display:block;letter-spacing:.06em}
.hero-tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(1.4rem,3.2vw,2rem);color:var(--midnight-violet);margin:1.6rem auto .4rem;max-width:560px}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--brass);font-style:italic;margin-bottom:2rem}
.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}
.hero-addr{color:var(--midnight-violet);opacity:.75}

/* ---------- interior page hero (compact) ---------- */
.page-hero{padding:4rem 1.6rem 2.4rem;text-align:center}
.page-hero .crest{width:84px;margin:0 auto 1rem;filter:drop-shadow(0 6px 14px rgba(45,27,78,.2))}
.page-hero .kick{color:var(--cherry-pop);margin-bottom:.9rem}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2.6rem,7vw,4.6rem);color:var(--midnight-violet);line-height:1.02}
.page-hero h1 em{font-style:italic;color:var(--cherry-pop)}
.page-hero .ph-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.2rem,2.6vw,1.65rem);color:var(--brass);margin-top:.7rem;max-width:620px;margin-left:auto;margin-right:auto}

/* ---------- intro ---------- */
.intro{text-align:center}
.intro h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2.2rem,5.5vw,3.6rem);color:var(--midnight-violet);line-height:1.1}
.intro h2 em{color:var(--cherry-pop);font-style:italic}
.intro p{font-size:1.12rem;margin-top:1.6rem;color:var(--ink);max-width:660px;margin-left:auto;margin-right:auto}
.intro .pull{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.5rem;color:var(--brass);margin-top:2rem}

/* ---------- explore / link cards ---------- */
.explore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;max-width:1100px;margin:0 auto}
a.explore-card{display:block;color:inherit;background:var(--plaster-cream);border:1px solid var(--brass);overflow:hidden;
  box-shadow:0 0 0 5px var(--plaster-cream),0 0 0 6px rgba(156,126,71,.4),0 16px 36px -22px rgba(45,27,78,.4);
  transition:transform .45s ease,box-shadow .45s ease;position:relative}
a.explore-card:hover{transform:translateY(-8px);box-shadow:0 0 0 5px var(--plaster-cream),0 0 0 6px var(--cherry-pop),0 26px 50px -24px rgba(45,27,78,.55)}
.explore-card .ec-img{height:200px;overflow:hidden}
.explore-card .ec-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
a.explore-card:hover .ec-img img{transform:scale(1.06)}
.explore-card .ec-body{padding:1.8rem 1.6rem 2rem;text-align:center}
.explore-card .ec-body h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.7rem;color:var(--midnight-violet);margin-bottom:.4rem}
.explore-card .ec-body p{font-size:.98rem;color:var(--ink)}
.explore-card .ec-link{display:inline-block;margin-top:1rem;color:var(--cherry-pop);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem}

/* ---------- certificate ---------- */
.cert-section{padding-top:3rem}
.cert-head{text-align:center;margin-bottom:2.8rem}
.cert-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--midnight-violet)}
.cert-outer{
  max-width:760px;margin:0 auto;
  padding:18px;
  background:
    linear-gradient(135deg,#b8954f,#7a6238 25%,#cdab63 50%,#7a6238 75%,#b8954f);
  border-radius:4px;
  box-shadow:0 30px 70px -30px rgba(45,27,78,.6),inset 0 0 0 2px rgba(255,255,255,.15);
  transition:transform .5s ease,box-shadow .5s ease;
}
.cert-outer:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 44px 90px -34px rgba(45,27,78,.7)}
.cert-inner{
  background:var(--plaster-cream);
  border:1px solid var(--brass);
  padding:3.2rem 2.6rem 2.8rem;
  text-align:center;position:relative;
  background-image:url('docs/brand/assets/yayas-wallpaper.png');
  background-size:300px;
}
.cert-inner::before{content:"";position:absolute;inset:0;background:rgba(241,232,210,.9);pointer-events:none}
.cert-inner > *{position:relative;z-index:1}
.cert-inner::after{content:"";position:absolute;inset:14px;border:2px solid rgba(156,126,71,.55);pointer-events:none;border-radius:2px}
.cert-kicker{color:var(--cherry-pop);margin-bottom:.6rem}
.cert-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(1.8rem,5vw,2.7rem);color:var(--midnight-violet);line-height:1.05;margin-bottom:.3rem}
.cert-title em{font-style:italic;color:var(--cherry-pop)}
.cert-deco{color:var(--brass);font-size:1.4rem;margin:.4rem 0 1.6rem}
.cert-rules{list-style:none;max-width:540px;margin:0 auto;text-align:left}
.cert-rules li{
  font-family:'Cormorant Garamond',serif;font-size:1.28rem;font-style:italic;color:var(--midnight-violet);
  padding:.85rem 0 .85rem 2.4rem;position:relative;border-bottom:1px solid rgba(156,126,71,.3);
}
.cert-rules li:last-child{border-bottom:none}
.cert-rules li::before{
  content:"§";font-family:'Cormorant Garamond',serif;font-style:normal;color:var(--cherry-pop);
  position:absolute;left:0;top:.85rem;font-size:1.3rem;
}
.cert-foot{margin-top:2rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.cert-sign{text-align:left}
.cert-sign .script{font-size:4.2rem;color:var(--cherry-pop);line-height:.7}
.cert-sign .mono{display:block;margin-top:.6rem;color:var(--brass);font-size:.6rem;border-top:1px solid var(--brass);padding-top:.4rem}
.cert-seal{width:96px;opacity:.95;filter:drop-shadow(0 4px 10px rgba(45,27,78,.25))}
.cert-caption{text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--brass);margin-top:1.6rem;font-size:1.05rem}

/* ---------- included cards ---------- */
.inc-head{text-align:center;margin-bottom:3rem}
.inc-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--midnight-violet)}
.inc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem}
.inc-card{
  background:var(--plaster-cream);border:1px solid var(--brass);padding:2.2rem 1.8rem;text-align:center;
  box-shadow:0 0 0 5px var(--plaster-cream),0 0 0 6px rgba(156,126,71,.4),0 16px 36px -22px rgba(45,27,78,.4);
  transition:transform .45s ease,box-shadow .45s ease;position:relative;
}
.inc-card::after{content:"";position:absolute;inset:9px;border:1px solid rgba(156,126,71,.3);pointer-events:none}
.inc-card:hover{transform:translateY(-8px);box-shadow:0 0 0 5px var(--plaster-cream),0 0 0 6px var(--cherry-pop),0 26px 50px -24px rgba(45,27,78,.55)}
.inc-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;color:var(--cherry-pop);margin-bottom:.5rem}
.inc-card h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.55rem;color:var(--midnight-violet);margin-bottom:.6rem;line-height:1.15}
.inc-card p{font-size:.96rem;color:var(--ink)}
.inc-cta{text-align:center;margin-top:3rem}

/* ---------- house rules plaque ---------- */
.rules-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1100px;margin:0 auto}
.rules-copy h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--midnight-violet);line-height:1.1}
.rules-copy p{margin-top:1.2rem;color:var(--ink);font-size:1.08rem}
.rules-copy .pull{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--cherry-pop);font-size:1.3rem;margin-top:1.4rem}
.plaque{background:var(--plaster-cream);border:1px solid var(--brass);padding:2.6rem 2.2rem;
  box-shadow:0 0 0 6px var(--plaster-cream),0 0 0 7px rgba(156,126,71,.5),0 22px 50px -26px rgba(45,27,78,.5);position:relative}
.plaque::after{content:"";position:absolute;inset:12px;border:1px solid rgba(156,126,71,.35);pointer-events:none}
.plaque .ph{text-align:center;color:var(--brass);margin-bottom:1.4rem}
.plaque ol{list-style:none;counter-reset:hr}
.plaque ol li{counter-increment:hr;font-family:'Cormorant Garamond',serif;font-size:1.32rem;color:var(--midnight-violet);
  padding:.7rem 0 .7rem 2.6rem;position:relative;border-bottom:1px solid rgba(156,126,71,.28)}
.plaque ol li:last-child{border-bottom:none}
.plaque ol li::before{content:counter(hr)".";position:absolute;left:0;top:.7rem;color:var(--cherry-pop);font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.2rem}
.plaque ol li span{display:block;font-style:italic;font-size:.98rem;color:var(--brass)}

/* ---------- feature row (heritage / alternating) ---------- */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1100px;margin:0 auto 4.5rem}
.feature-row:last-child{margin-bottom:0}
.feature-text .eyebrow{margin-bottom:.8rem}
.feature-text h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(1.9rem,4.5vw,2.8rem);color:var(--midnight-violet);line-height:1.1}
.feature-text p{margin-top:1.1rem;color:var(--ink);font-size:1.06rem}
.feature-text .pull{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--cherry-pop);font-size:1.25rem;margin-top:1.2rem}
.feature-img{padding:8px;background:var(--plaster-cream);border:1px solid var(--brass);
  box-shadow:0 0 0 5px var(--plaster-cream),0 0 0 6px rgba(156,126,71,.45),0 18px 40px -24px rgba(45,27,78,.45)}
.feature-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.feature-row.flip .feature-img{order:-1}

/* ---------- gallery ---------- */
.gal-head{text-align:center;margin-bottom:3rem}
.gal-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--midnight-violet)}
.gal-wall{display:grid;grid-template-columns:repeat(12,1fr);gap:1.4rem;align-items:start}
.gframe{background:var(--plaster-cream);border:1px solid var(--brass);padding:8px;
  box-shadow:0 0 0 4px var(--plaster-cream),0 0 0 5px rgba(156,126,71,.45),0 16px 36px -22px rgba(45,27,78,.45);
  transition:transform .5s ease,box-shadow .5s ease;overflow:hidden}
.gframe img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gframe:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:0 0 0 4px var(--plaster-cream),0 0 0 5px var(--cherry-pop),0 26px 50px -24px rgba(45,27,78,.55)}
.gframe:hover img{transform:scale(1.06)}
.g-portrait{grid-column:span 4;grid-row:span 2;text-align:center}
.g-portrait .oval{border-radius:50%/42%;overflow:hidden;border:none}
.g-portrait img{aspect-ratio:3/4;border-radius:50%/42%}
.g-portrait .cap{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--brass);margin-top:.8rem;font-size:1.05rem}
.g-a{grid-column:span 8}.g-a img{aspect-ratio:16/9}
.g-b{grid-column:span 4}.g-b img{aspect-ratio:4/3}
.g-c{grid-column:span 4}.g-c img{aspect-ratio:4/3}
.g-wide{grid-column:span 8}.g-wide img{aspect-ratio:16/9}
.g-half{grid-column:span 6}.g-half img{aspect-ratio:3/2}

/* ---------- menu ---------- */
.menu-section{text-align:center}
.menu-section h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--midnight-violet)}
.mala{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.5rem;color:var(--cherry-pop);margin:1rem 0 2.6rem}
.mala span{color:var(--brass);font-size:1.05rem;font-style:normal;font-family:'JetBrains Mono',monospace;letter-spacing:.2em;text-transform:uppercase;display:block;margin-top:.4rem}
.fam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;max-width:980px;margin:0 auto 2.6rem}
.fam{background:var(--plaster-cream);border:1px solid rgba(156,126,71,.5);padding:1.6rem 1.2rem;transition:all .4s ease}
.fam:hover{border-color:var(--cherry-pop);transform:translateY(-4px)}
.fam h4{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.3rem;color:var(--midnight-violet);margin-bottom:.3rem}
.fam p{font-size:.9rem;color:var(--brass);font-style:italic;font-family:'Cormorant Garamond',serif}
.menu-note{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.4rem;color:var(--midnight-violet);margin-bottom:1.4rem}

/* menu — detailed families list (menu page) */
.menu-detail{max-width:840px;margin:0 auto;text-align:left}
.menu-fam{padding:1.7rem 0;border-bottom:1px solid rgba(156,126,71,.3)}
.menu-fam:last-child{border-bottom:none}
.menu-fam h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.7rem;color:var(--midnight-violet)}
.menu-fam .lead{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--cherry-pop);font-size:1.12rem;margin:.2rem 0 .6rem}
.menu-fam p{color:var(--ink);font-size:1rem}

/* ---------- after dark block ---------- */
.afterdark{
  background-color:var(--midnight-violet);
  background-image:url('docs/brand/assets/yayas-wallpaper-cutout.png');
  background-size:340px;background-blend-mode:soft-light;
  color:var(--plaster-cream);text-align:center;position:relative;overflow:hidden;
}
.afterdark::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(45,27,78,.55),rgba(45,27,78,.92));pointer-events:none}
.afterdark .wrap{position:relative;z-index:1}
.afterdark .eyebrow{color:var(--marigold)}
.afterdark h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-style:italic;font-size:clamp(2rem,5.5vw,3.4rem);color:var(--plaster-cream);line-height:1.15}
.afterdark h2 em{color:var(--dusty-pink);font-style:italic}
.afterdark p{max-width:600px;margin:1.6rem auto 0;color:var(--dusty-pink);font-size:1.12rem;font-weight:300}
.afterdark .eleven{font-family:'Anton',sans-serif;font-size:clamp(2.6rem,9vw,5rem);color:var(--marigold);letter-spacing:.04em;margin:1.4rem 0 .4rem}
.afterdark .btn{border-color:var(--marigold);color:var(--marigold);margin-top:2rem}
.afterdark .btn:hover{background:var(--marigold);color:var(--midnight-violet);box-shadow:0 8px 22px -8px rgba(232,181,71,.5)}
.afterdark .crest{width:70px;margin:0 auto 1.4rem;filter:var(--cream-filter);opacity:.85}

/* ---------- CTA band ---------- */
.cta-band{text-align:center}
.cta-band .eyebrow{color:var(--cherry-pop)}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--midnight-violet);line-height:1.1}
.cta-band p{max-width:580px;margin:1.1rem auto 1.9rem;color:var(--ink);font-size:1.08rem}
.cta-band .hero-ctas{margin-bottom:0}

/* ---------- booking ---------- */
.book-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:3rem;align-items:start;max-width:1080px;margin:0 auto}
.book-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--midnight-violet);line-height:1.1;margin-bottom:.6rem}
.book-head p{color:var(--ink);margin-bottom:2rem;font-size:1.05rem}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin-bottom:1.1rem}
label{display:block;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.6rem;color:var(--brass);margin-bottom:.5rem}
input,select,textarea{
  width:100%;font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--midnight-violet);
  background:var(--plaster-cream);border:1px solid var(--brass);padding:.75rem .9rem;border-radius:2px;transition:border-color .3s,box-shadow .3s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cherry-pop);box-shadow:0 0 0 3px rgba(210,74,85,.15)}
textarea{resize:vertical;min-height:110px}
form .btn.solid{width:100%;margin-top:.4rem;padding:.9rem;font-size:.72rem}
.book-info{background:var(--plaster-cream);border:1px solid var(--brass);padding:2rem;position:relative;
  box-shadow:0 0 0 5px var(--plaster-cream),0 0 0 6px rgba(156,126,71,.45),0 16px 36px -22px rgba(45,27,78,.4)}
.book-info::after{content:"";position:absolute;inset:9px;border:1px solid rgba(156,126,71,.3);pointer-events:none}
.book-info .blk{margin-bottom:1.5rem}
.book-info .blk:last-child{margin-bottom:0}
.book-info .blk .mono{color:var(--cherry-pop);display:block;margin-bottom:.4rem;font-size:.6rem}
.book-info .blk p{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--midnight-violet);line-height:1.4}
.book-info a:hover{color:var(--cherry-pop)}

/* ---------- footer ---------- */
footer{background:var(--midnight-violet);color:var(--plaster-cream);text-align:center;padding:4rem 1.6rem 2.6rem}
footer .script{font-size:5rem;color:var(--dusty-pink);line-height:.7}
footer .ftag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--plaster-cream);margin:1rem 0 1.6rem}
footer .fnav{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.6rem}
footer .fnav a{font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:var(--forget-blue);transition:color .3s}
footer .fnav a:hover{color:var(--marigold)}
footer .fmeta{color:var(--forget-blue)}
footer .fmeta a:hover{color:var(--marigold)}
footer .wink{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--brass);margin-top:1.8rem;font-size:1.05rem}
footer .frule{height:1px;width:80px;background:rgba(159,180,210,.4);margin:1.8rem auto}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .nav-links{position:fixed;inset:0 0 0 auto;top:0;width:78%;max-width:320px;height:100vh;flex-direction:column;justify-content:center;
    background:var(--plaster-cream);border-left:1px solid var(--brass);transform:translateX(100%);transition:transform .4s ease;gap:2rem;padding:2rem;z-index:60}
  .nav-links.open{transform:none}
  .nav-toggle{display:block;z-index:61}
  .rules-section{grid-template-columns:1fr;gap:2rem}
  .feature-row{grid-template-columns:1fr;gap:1.8rem}
  .feature-row.flip .feature-img{order:0}
  .book-grid{grid-template-columns:1fr;gap:2rem}
  .g-portrait{grid-column:span 12;grid-row:auto}
  .g-portrait img{aspect-ratio:4/5;max-width:420px;margin:0 auto}
  .g-a,.g-b,.g-c,.g-wide,.g-half{grid-column:span 6}
}
@media(max-width:560px){
  .nav-logo{height:84px}
  section{padding:4.2rem 1.2rem}
  .hero-card{padding:2.6rem 1.3rem 2.4rem}
  .cert-inner{padding:2.2rem 1.2rem}
  .cert-rules li{font-size:1.1rem}
  .g-a,.g-b,.g-c,.g-wide,.g-half{grid-column:span 12}
  form .row{grid-template-columns:1fr}
  .cert-foot{justify-content:center;text-align:center}
  .cert-sign{text-align:center;width:100%}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  .reveal{opacity:1;transform:none}
}
