/* ════════════════════════════════════════════════════════════════
   MITSUKO — shared stylesheet
   Dark luxury fantasy: aubergine-black · antique gold · violet glow
   Fonts: Cinzel (display) + Cormorant Garamond (body) — loaded per page
   ════════════════════════════════════════════════════════════════ */
:root{
  --bg-0:#070310;        /* deepest aubergine-black */
  --bg-1:#0d0719;
  --bg-2:#160c24;
  --gold:#c9a766;
  --gold-bright:#e7ca8c;
  --gold-dim:#8b744a;
  --violet:#9a6fc2;
  --violet-bright:#bd96ff;
  --violet-deep:#5c3a84;
  --text:#cabdd2;        /* soft lavender-grey body */
  --text-dim:#8c8194;
  --text-faint:#5e5667;
  --maxw:1280px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-0);
  color:var(--text);
  font-family:'Cormorant Garamond',Georgia,serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.6;
}
::selection{background:rgba(189,150,255,.25);color:#fff;}
img{max-width:100%;}
.cinzel{font-family:'Cinzel',serif;}
section[id]{scroll-margin-top:84px;}

/* ─────────── NAVBAR (full width) ─────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:14px clamp(18px,3.5vw,42px);
  background:linear-gradient(180deg,rgba(7,3,16,.96),rgba(7,3,16,.6) 65%,transparent);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  transition:padding .3s ease, background .3s ease;
}
.nav.shrunk{padding-top:9px;padding-bottom:9px;background:linear-gradient(180deg,rgba(7,3,16,.97),rgba(7,3,16,.88));border-bottom:1px solid rgba(201,167,102,.12);}
.nav-brand{display:flex;align-items:center;gap:11px;font-family:'Cinzel',serif;font-size:1.2rem;letter-spacing:.34em;color:var(--gold);text-decoration:none;white-space:nowrap;}
.nav-brand .star{width:21px;height:21px;color:var(--gold);flex-shrink:0;filter:drop-shadow(0 0 6px rgba(201,167,102,.4));}
.nav-links{display:flex;gap:clamp(14px,2vw,28px);list-style:none;align-items:center;}
.nav-links a{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);text-decoration:none;transition:color .3s;white-space:nowrap;position:relative;padding:4px 0;}
.nav-links a::after{content:'';position:absolute;left:50%;right:50%;bottom:0;height:1px;background:var(--gold-bright);transition:left .3s,right .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold-bright);}
.nav-links a:hover::after,.nav-links a.active::after{left:0;right:0;}
.nav-social{display:flex;gap:13px;align-items:center;}
.nav-social a{color:var(--text-faint);transition:color .3s,transform .3s;display:inline-flex;}
.nav-social a:hover{color:var(--gold);transform:translateY(-1px);}
.nav-social svg{width:17px;height:17px;}
.nav-burger{display:none;background:none;border:none;cursor:pointer;color:var(--gold);padding:6px;}
.nav-burger svg{width:24px;height:24px;}

/* ─────────── HOME HERO — the painted scene as the backdrop, crisp HTML + book on top ─────────── */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;
  padding:108px clamp(20px,5vw,56px) 70px;
  background:
    linear-gradient(96deg, rgba(7,4,8,.7) 0%, rgba(7,4,8,.38) 27%, rgba(7,4,8,.08) 50%, rgba(7,4,8,.16) 100%),
    linear-gradient(180deg, rgba(7,4,8,.2) 0%, rgba(7,4,8,.05) 22%, rgba(7,4,8,.18) 58%, rgba(7,4,8,.7) 100%),
    url('../img/hero-scene.jpg?v=3');
  background-size:cover;background-position:center 45%;}
.hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 180px 50px rgba(4,2,9,.52);}
.hero-inner{position:relative;z-index:3;flex:1;display:flex;align-items:center;max-width:var(--maxw);margin:0 auto;width:100%;}
.hero-copy{max-width:520px;}
/* the book is painted into the scene — this is the clickable area over it.
   no hard box: a soft glow that follows the book + a cover-gem that breathes "open me", brighter on hover. */
.hero-book-hot{position:absolute;z-index:3;display:block;cursor:pointer;top:44%;left:30%;width:40%;height:30%;}
.hero-book-hot::before{content:'';position:absolute;inset:-16% -10%;pointer-events:none;opacity:0;transition:opacity .5s ease;
  background:radial-gradient(ellipse 56% 60% at 50% 52%,rgba(189,150,255,.26),rgba(231,202,140,.11) 36%,transparent 66%);}
.hero-book-hot::after{content:'';position:absolute;left:38%;top:32%;width:24%;height:30%;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle,rgba(231,202,140,.6),rgba(199,150,255,.2) 38%,transparent 70%);opacity:.3;animation:gemWait 3.6s ease-in-out infinite;}
.hero-book-hot:hover::before{opacity:1;animation:bookGlow 2.6s ease-in-out infinite;}
.hero-book-hot:hover::after{animation:gemWait 1.7s ease-in-out infinite;filter:brightness(1.75) saturate(1.25);}
@keyframes bookGlow{0%,100%{transform:scale(.97);filter:brightness(.92);}50%{transform:scale(1.035);filter:brightness(1.42);}}
@keyframes gemWait{0%,100%{transform:scale(.84);opacity:.2;}50%{transform:scale(1.12);opacity:.5;}}
/* book.html — the book lives inside the scene image; its clickable glow sits a touch lower */
.book-hero-hot{top:46%;left:30%;width:40%;height:42%;}

/* ─────────── FLIPBOOK MODAL — the book OPENS "by magic", then you turn the pages ─────────── */
.book-modal{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.8vh,18px);
  padding:clamp(34px,6vh,72px) clamp(14px,4vw,44px);overflow:hidden;
  background:rgba(7,3,13,.86);opacity:0;transition:opacity .35s ease;}    /* a dark veil — the homepage stays faintly behind it; no purple, no blur */
.book-modal.open{display:flex;opacity:1;animation:bookModalIn .3s ease;}
@keyframes bookModalIn{from{opacity:0;}to{opacity:1;}}
body.book-modal-open{overflow:hidden;}

/* reveal stage — the closed cover (swings open) sits on top of the flipbook (behind it) */
.book-reveal{position:relative;width:min(90vw,1000px,90vh);display:flex;align-items:center;justify-content:center;}
.book-reveal .flipbook-wrapper{width:100%;max-width:none;margin:0;}
.book-modal .flipbook-display{box-shadow:0 0 60px rgba(154,111,194,.28),0 14px 50px rgba(0,0,0,.7);}
.book-modal .flipbook-wrapper::before{background:radial-gradient(ellipse at center,rgba(160,115,200,.3) 0%,rgba(124,58,237,.13) 42%,transparent 72%);}
.book-open-cover-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:6;pointer-events:none;perspective:2400px;}
.book-open-cover{height:min(84%,560px);width:auto;border-radius:5px;transform-origin:left center;backface-visibility:hidden;transform:rotateY(0deg);
  -webkit-mask-image:radial-gradient(ellipse 104% 100% at 50% 50%,#000 60%,transparent 94%);mask-image:radial-gradient(ellipse 104% 100% at 50% 50%,#000 60%,transparent 94%);
  filter:drop-shadow(0 22px 54px rgba(0,0,0,.72)) drop-shadow(0 0 56px rgba(165,108,214,.48));
  transition:transform 1.15s cubic-bezier(.55,0,.18,1),opacity .42s ease .66s,filter .8s ease;}

/* state — just opened: cover closed & breathing, flipbook hidden behind it */
.book-modal.open .flipbook-wrapper{opacity:0;transform:scale(.86);pointer-events:none;transition:none;}
.book-modal.open .book-open-cover{animation:coverWait 1.7s ease-in-out infinite;}
@keyframes coverWait{0%,100%{filter:drop-shadow(0 22px 54px rgba(0,0,0,.72)) drop-shadow(0 0 48px rgba(165,108,214,.4));}
  50%{filter:drop-shadow(0 22px 54px rgba(0,0,0,.72)) drop-shadow(0 0 90px rgba(203,156,255,.74));}}

/* state — opening: cover swings open & fades, flipbook fades+scales in, the flash bursts */
.book-modal.opening .book-open-cover{animation:none;transform:rotateY(-118deg);opacity:0;
  filter:drop-shadow(0 22px 50px rgba(0,0,0,.35)) drop-shadow(0 0 98px rgba(225,188,255,.85));}
.book-modal.opening .flipbook-wrapper{opacity:1;transform:scale(1);pointer-events:none;
  transition:opacity .9s ease .12s,transform 1.05s cubic-bezier(.2,.85,.3,1) .08s;}
.book-modal.opening .book-modal-flash{animation:bookOpenFlash 1.1s cubic-bezier(.2,.7,.3,1);}

/* state — opened: cover gone, flipbook live */
.book-modal.opened .book-open-cover-wrap{display:none;}
.book-modal.opened .flipbook-wrapper{opacity:1;transform:scale(1);pointer-events:auto;}

/* the magic flash */
.book-modal-flash{position:fixed;inset:0;z-index:1002;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse 52% 48% at 50% 48%, rgba(247,239,255,.9), rgba(231,202,140,.5) 22%, rgba(165,112,214,.2) 46%, transparent 66%);}
@keyframes bookOpenFlash{0%{opacity:0;transform:scale(.42);}14%{opacity:1;transform:scale(1);}52%{opacity:.42;transform:scale(1.1);}100%{opacity:0;transform:scale(1.2);}}

.book-modal-close{position:fixed;top:clamp(13px,2.4vh,26px);right:clamp(13px,2vw,28px);z-index:1004;width:46px;height:46px;
  background:rgba(7,3,16,.62);border:1px solid rgba(154,111,194,.38);border-radius:50%;color:var(--text);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:transform .35s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease;}
.book-modal-close:hover{background:rgba(154,111,194,.26);border-color:rgba(154,111,194,.62);color:var(--gold-bright);box-shadow:0 0 18px rgba(154,111,194,.42);transform:rotate(90deg);}
.book-modal-close svg{width:22px;height:22px;}
.hero h1{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(3rem,8vw,5.8rem);line-height:.98;letter-spacing:.04em;color:var(--gold-bright);
  text-shadow:0 0 38px rgba(177,111,255,.32),0 0 80px rgba(150,90,170,.22);}
.hr-thin{width:min(240px,80%);height:1px;background:linear-gradient(90deg,transparent,rgba(201,167,102,.55),transparent);margin:18px 0 14px;}
.hero .kicker{font-family:'Cormorant Garamond',serif;font-size:clamp(.95rem,1.4vw,1.08rem);letter-spacing:.36em;text-transform:uppercase;color:var(--gold-dim);}
.hero .lines{margin-top:8px;}
.hero .lines p{font-style:italic;font-weight:300;font-size:clamp(1.1rem,1.8vw,1.36rem);line-height:1.85;color:var(--text);text-shadow:0 1px 14px rgba(0,0,0,.6);}
.hero .lines p + p{margin-top:4px;}
.hero .lines .remember{font-style:normal;margin-top:16px;line-height:1.7;}
.hero .lines .remember span{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(.95rem,1.5vw,1.1rem);}
.hero .lines .remember .a{color:var(--text);}
.hero .lines .remember .b{color:var(--violet-bright);text-shadow:0 0 18px rgba(189,150,255,.55);}
.hero .cta{margin-top:32px;}

/* the Mitsuko grimoire — floats in the dark heart of the scene; glows & flashes on hover */
.hero-art{position:relative;display:flex;justify-content:center;align-items:center;text-decoration:none;cursor:pointer;}
.hero-art::before{content:'';position:absolute;width:138%;height:152%;left:-19%;top:-26%;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 64% 56% at 50% 50%,rgba(150,90,185,.34),rgba(110,60,150,.1) 46%,transparent 70%);animation:halo 6s ease-in-out infinite;}
.hero-art::after{content:'';position:absolute;inset:-16%;pointer-events:none;z-index:1;opacity:0;
  background:radial-gradient(ellipse at 50% 50%,rgba(189,150,255,.5),rgba(231,202,140,.2) 36%,transparent 62%);}
.hero-art:hover::after{animation:bookFlash .9s ease forwards;}
@keyframes halo{0%,100%{opacity:.55;transform:scale(.97);}50%{opacity:1;transform:scale(1.04);}}
@keyframes bookFlash{0%{opacity:0;filter:brightness(1.8);}22%{opacity:1;filter:brightness(3);}100%{opacity:.62;filter:brightness(1);}}
.hero-art img{position:relative;z-index:2;display:block;width:auto;height:auto;max-width:min(540px,52vw);max-height:min(78vh,660px);
  /* heavy feather — no rectangle; the book "lies in the dark" of the scene */
  -webkit-mask-image:radial-gradient(ellipse 102% 94% at 50% 49%,#000 28%,transparent 85%);
  mask-image:radial-gradient(ellipse 102% 94% at 50% 49%,#000 28%,transparent 85%);
  filter:drop-shadow(0 20px 58px rgba(0,0,0,.74)) drop-shadow(0 0 56px rgba(140,80,175,.3));
  transition:filter .4s ease,transform .4s ease;}
.hero-art:hover img{filter:drop-shadow(0 26px 62px rgba(0,0,0,.7)) drop-shadow(0 0 86px rgba(189,150,255,.6)) brightness(1.13);transform:scale(1.03);}

/* twinkling stars over the hero */
.sparkles{position:absolute;inset:0;z-index:2;pointer-events:none;}
.sp{position:absolute;border-radius:50%;opacity:0;animation:twinkle ease-in-out infinite;}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2);}50%{opacity:1;transform:scale(1);}}

/* the 4 features — at the bottom of the hero (over the darkened lower part of the scene) */
.features{position:relative;z-index:3;margin-top:clamp(34px,6vh,72px);padding-top:34px;border-top:1px solid rgba(201,161,95,.32);}
.feat-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.feat{padding:6px clamp(14px,2.2vw,30px);text-align:center;position:relative;}
.feat + .feat::before{content:'';position:absolute;left:0;top:12%;height:76%;width:1px;background:linear-gradient(180deg,transparent,rgba(201,161,95,.28) 50%,transparent);}
.feat-badge{width:62px;height:62px;margin:0 auto 14px;border:1px solid rgba(169,92,255,.45);border-radius:50%;display:grid;place-items:center;
  box-shadow:inset 0 0 24px rgba(169,92,255,.18),0 0 20px rgba(150,100,205,.2);}
.feat-icon{width:30px;height:30px;color:var(--violet-bright);}
.feat h3{font-family:'Cinzel',serif;font-weight:500;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:9px;line-height:1.5;}
.feat p{font-style:italic;font-weight:300;font-size:.98rem;color:var(--text-dim);line-height:1.55;text-shadow:0 1px 10px rgba(0,0,0,.5);}

.scroll-cue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:4;text-align:center;color:var(--text-faint);font-family:'Cormorant Garamond',serif;letter-spacing:.32em;text-transform:uppercase;font-size:.76rem;}
.scroll-cue svg{display:block;margin:9px auto 0;width:13px;color:var(--gold-dim);animation:bob 2.2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.5;}50%{transform:translateY(8px);opacity:1;}}

/* ─────────── PAGE-HERO (inner pages) ─────────── */
.page-hero{position:relative;text-align:center;padding:138px clamp(20px,5vw,40px) 56px;overflow:hidden;
  background:
    radial-gradient(ellipse 75% 65% at 50% 0%, rgba(125,75,165,.22), transparent 60%),
    radial-gradient(ellipse 50% 50% at 85% 30%, rgba(95,55,135,.12), transparent 60%),
    linear-gradient(180deg, var(--bg-2), var(--bg-1) 55%, var(--bg-0));}
.page-hero::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -70px 90px -24px var(--bg-0);}
.page-hero > *{position:relative;z-index:2;}
.page-hero h1{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(2.3rem,6vw,4rem);color:var(--gold-bright);letter-spacing:.05em;margin:13px 0 10px;line-height:1.08;text-shadow:0 0 30px rgba(201,167,102,.25),0 0 60px rgba(150,90,170,.15);}
.page-hero .kicker{font-family:'Cormorant Garamond',serif;font-size:clamp(.9rem,1.4vw,1.05rem);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);}
.page-hero .ornament{justify-content:center;margin:22px auto 0;max-width:260px;}
.page-hero .lead{font-style:italic;font-weight:300;font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--text-dim);max-width:600px;margin:20px auto 0;line-height:1.85;}
.ornament{display:flex;align-items:center;gap:12px;color:var(--gold-dim);max-width:300px;}
.ornament::before,.ornament::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(201,167,102,.45),transparent);}
.ornament svg{width:34px;height:9px;flex-shrink:0;}
.hero .ornament{margin:22px 0;}

/* ─────────── DIVIDER ─────────── */
.flourish{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--gold-dim);padding:14px 0;background:var(--bg-0);}
.flourish::before,.flourish::after{content:'';height:1px;width:min(220px,22vw);background:linear-gradient(90deg,transparent,rgba(201,167,102,.4),transparent);}
.flourish svg{width:26px;height:26px;color:var(--gold);opacity:.7;}

/* ─────────── SECTIONS ─────────── */
.section{padding:clamp(56px,8.5vw,96px) clamp(20px,5vw,40px);}
.section.alt{background:linear-gradient(180deg,var(--bg-0),var(--bg-1) 50%,var(--bg-0));}
.section.tight{padding-top:clamp(36px,5vw,56px);}
.section-inner{max-width:880px;margin:0 auto;text-align:center;}
.section-inner.wide{max-width:1180px;}
.eyebrow{font-family:'Cormorant Garamond',serif;letter-spacing:.36em;text-transform:uppercase;font-size:.85rem;color:var(--violet);}
.section h2{font-family:'Cinzel',serif;font-weight:600;font-size:clamp(1.85rem,3.6vw,2.7rem);color:var(--gold-bright);margin:14px 0 4px;letter-spacing:.04em;line-height:1.28;text-shadow:0 0 30px rgba(150,90,170,.15);}
.section .lead{font-style:italic;font-weight:300;font-size:clamp(1.1rem,1.7vw,1.32rem);line-height:1.95;color:var(--text);margin:26px auto 0;max-width:740px;}
.section .lead + .lead{margin-top:18px;}
/* the book page — bigger, plainer body text (it's the pitch; readability over flourish) */
.book-page .section .lead{font-style:normal;font-weight:400;font-size:clamp(1.24rem,1.95vw,1.52rem);line-height:1.84;color:var(--text);}
.book-page .section .lead + .lead{margin-top:20px;}
.section .stanza{font-style:italic;font-weight:400;font-size:clamp(1.12rem,1.7vw,1.34rem);line-height:2.1;color:var(--gold);margin:26px auto;letter-spacing:.02em;}
.section .whisper{font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(.95rem,1.5vw,1.1rem);color:var(--violet-bright);text-shadow:0 0 16px rgba(189,150,255,.45);margin-top:30px;}
.section .meta{font-family:'Cormorant Garamond',serif;letter-spacing:.14em;text-transform:uppercase;font-size:.92rem;color:var(--text-faint);margin-top:26px;}
.section .note{font-style:italic;font-weight:300;font-size:1.02rem;color:var(--text-dim);margin-top:26px;line-height:1.8;max-width:680px;margin-left:auto;margin-right:auto;}
.coming{display:inline-block;margin-top:26px;font-family:'Cormorant Garamond',serif;letter-spacing:.28em;text-transform:uppercase;font-size:.78rem;color:var(--text-faint);border:1px solid rgba(201,167,102,.2);padding:8px 20px;border-radius:2px;}
.more{display:inline-block;margin-top:30px;font-family:'Cinzel',serif;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,167,102,.35);padding-bottom:5px;transition:color .3s,border-color .3s,letter-spacing .3s;}
.more:hover{color:var(--gold-bright);border-color:var(--gold-bright);letter-spacing:.26em;}

/* book cover (book.html) — a link that opens the book; glows & flashes on hover */
.cover-frame{display:flex;justify-content:center;margin:42px auto 0;position:relative;text-decoration:none;cursor:pointer;}
.cover-frame::before{content:'';position:absolute;width:138%;height:130%;left:-19%;top:-15%;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at center,rgba(150,90,185,.28),rgba(110,60,150,.08) 46%,transparent 70%);animation:halo 6s ease-in-out infinite;}
.cover-frame::after{content:'';position:absolute;inset:-16%;pointer-events:none;z-index:1;opacity:0;
  background:radial-gradient(ellipse at 50% 50%,rgba(189,150,255,.46),rgba(231,202,140,.18) 38%,transparent 64%);}
.cover-frame:hover::after{animation:bookFlash .9s ease forwards;}
.cover-frame img{position:relative;z-index:2;width:auto;height:auto;max-width:min(420px,86%);max-height:66vh;
  -webkit-mask-image:radial-gradient(ellipse 102% 94% at 50% 49%,#000 28%,transparent 85%);
  mask-image:radial-gradient(ellipse 102% 94% at 50% 49%,#000 28%,transparent 85%);
  filter:drop-shadow(0 20px 52px rgba(0,0,0,.72)) drop-shadow(0 0 46px rgba(140,80,175,.28));
  transition:filter .4s ease,transform .4s ease;}
.cover-frame:hover img{filter:drop-shadow(0 26px 56px rgba(0,0,0,.65)) drop-shadow(0 0 70px rgba(189,150,255,.6)) brightness(1.13);transform:scale(1.03);}

/* ─────────── BUTTONS ─────────── */
.cta{display:inline-block;font-family:'Cinzel',serif;font-size:.92rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-bright);
  border:1px solid rgba(201,167,102,.5);padding:16px 44px;text-decoration:none;background:rgba(7,4,8,.4);transition:all .4s ease;position:relative;cursor:pointer;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
.cta::before,.cta::after{content:'';position:absolute;width:7px;height:7px;border:1px solid var(--gold);opacity:.6;transition:all .4s;}
.cta::before{top:-1px;left:-1px;border-right:0;border-bottom:0;}
.cta::after{bottom:-1px;right:-1px;border-left:0;border-top:0;}
.cta:hover{background:rgba(201,167,102,.15);border-color:var(--gold);box-shadow:0 0 30px rgba(201,167,102,.24),inset 0 0 22px rgba(201,167,102,.08);color:#fff;}
.cta:hover::before,.cta:hover::after{width:14px;height:14px;opacity:1;}

/* ─────────── CONTACT ─────────── */
.contact-actions{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:18px;}
.contact-email a{font-family:'Cormorant Garamond',serif;font-size:1.05rem;letter-spacing:.04em;color:var(--text-dim);text-decoration:none;transition:color .3s;border-bottom:1px solid rgba(140,129,148,.3);padding-bottom:2px;}
.contact-email a:hover{color:var(--gold);border-color:rgba(201,167,102,.5);}
.contact-social{display:flex;gap:20px;margin-top:6px;}
.contact-social a{color:var(--text-faint);transition:color .3s,transform .3s;}
.contact-social a:hover{color:var(--gold);transform:translateY(-2px);}
.contact-social svg{width:21px;height:21px;}

/* ─────────── COOKIE BANNER ─────────── */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;padding:16px clamp(16px,3vw,28px);
  background:linear-gradient(180deg,rgba(20,12,30,.97),rgba(7,3,16,.99));border-top:1px solid rgba(201,167,102,.28);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 -12px 34px rgba(0,0,0,.55);}
.cookie-banner.show{display:block;animation:cookieIn .5s ease;}
@keyframes cookieIn{from{transform:translateY(100%);opacity:0;}to{transform:translateY(0);opacity:1;}}
.cookie-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between;}
.cookie-text{flex:1 1 330px;font-size:.94rem;color:var(--text-dim);line-height:1.55;letter-spacing:.01em;}
.cookie-text strong{color:var(--text);font-weight:500;}
.cookie-text em{color:var(--gold);font-style:italic;}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-btn{font-family:'Cormorant Garamond',serif;font-size:.9rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:9px 22px;border-radius:2px;cursor:pointer;transition:all .3s;background:transparent;}
.cookie-btn.primary{color:var(--gold-bright);border:1px solid rgba(201,167,102,.5);background:rgba(201,167,102,.1);}
.cookie-btn.primary:hover{background:rgba(201,167,102,.2);box-shadow:0 0 16px rgba(201,167,102,.25);color:#fff;}
.cookie-btn.secondary{color:var(--text-faint);border:1px solid rgba(201,167,102,.18);}
.cookie-btn.secondary:hover{color:var(--text);border-color:rgba(201,167,102,.4);}

/* ─────────── FOOTER ─────────── */
footer{text-align:center;padding:38px 20px 56px;color:var(--text-faint);font-size:.86rem;letter-spacing:.12em;border-top:1px solid rgba(201,167,102,.09);background:var(--bg-0);}
footer .sep{color:rgba(94,86,103,.6);margin:0 7px;}
footer a{color:var(--text-faint);text-decoration:none;transition:color .3s;}
footer a:hover{color:var(--gold);}

/* scroll fade-in */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ─────────── RESPONSIVE ─────────── */
@media(max-width:920px){
  .nav-links{
    position:fixed;top:0;right:0;height:100svh;width:min(280px,78vw);flex-direction:column;align-items:flex-start;
    gap:8px;padding:90px 32px;background:linear-gradient(160deg,var(--bg-2),var(--bg-0));
    border-left:1px solid rgba(201,167,102,.15);box-shadow:-20px 0 50px rgba(0,0,0,.5);
    transform:translateX(105%);transition:transform .4s cubic-bezier(.6,0,.2,1);
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links a{font-size:1.05rem;padding:9px 0;width:100%;}
  .nav-links a::after{display:none;}
  .nav-burger{display:inline-flex;order:3;}
  .nav-social{order:2;}
  .hero{padding-top:96px;background-position:62% center;}
  .hero-inner{grid-template-columns:1fr;gap:clamp(24px,6vw,36px);text-align:center;}
  .hero-copy{max-width:none;margin:0 auto;}
  .hr-thin{margin-left:auto;margin-right:auto;}
  .hero .ornament{margin-left:auto;margin-right:auto;}
  .hero-art{order:-1;}
  .hero-art img{max-height:48vh;}
  .feat-grid{grid-template-columns:1fr 1fr;gap:34px 0;}
  .feat:nth-child(odd)::before{display:none;}
  .feat:nth-child(3)::before{content:'';left:0;}
}
@media(max-width:520px){
  .nav-brand{font-size:1.05rem;letter-spacing:.26em;}
  .feat-grid{grid-template-columns:1fr;}
  .feat + .feat::before{display:none;}
  .hero h1{font-size:clamp(2.6rem,12vw,3.3rem);}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;}
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;}
}
