/* ============================================================
   MEUS SENTIDOS EM POESIA — Cinematic CSS
   ============================================================ */

/* 1. TOKENS ------------------------------------------------- */
:root {
  --sand:        #f5ede0;
  --sand-light:  #fdf8f2;
  --gold:        #c9a84c;
  --gold-light:  #e8c97a;
  --gold-glow:   rgba(201,168,76,.28);
  --midnight:    #0d1b2a;
  --midnight-mid:#162233;
  --ink:         #1a1a2e;
  --text:        #f0e8dc;
  --text-muted:  rgba(240,232,220,.58);
  --serif:       'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;
  --sans:        'Gill Sans','Gill Sans MT',Calibri,'Trebuchet MS',sans-serif;
  --ease-expo:   cubic-bezier(.16,1,.3,1);
  --ease-io:     cubic-bezier(.4,0,.2,1);
  --dur-fast:    200ms;
  --dur-mid:     450ms;
  --dur-slow:    800ms;
  --dur-xslow:   1100ms;
  --max-w:       1100px;
  --nav-h:       64px;
  --r-md:        12px;
  --r-lg:        20px;
  --r-full:      9999px;
}

/* 2. RESET -------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{font-family:var(--sans);line-height:1.7;color:var(--text);background:var(--midnight);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
address{font-style:normal}

/* 3. ACCESSIBILITY ------------------------------------------ */
.skip-link{position:absolute;top:-100%;left:1rem;padding:.4rem .8rem;background:var(--gold);color:var(--midnight);font-weight:600;border-radius:6px;z-index:9999;transition:top var(--dur-fast)}
.skip-link:focus{top:.8rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* 4. HEADER ------------------------------------------------- */
#site-header{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--nav-h);transition:background var(--dur-slow),backdrop-filter var(--dur-slow),box-shadow var(--dur-slow)}
#site-header.scrolled{background:rgba(13,27,42,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(201,168,76,.15)}
#main-nav{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 1.5rem;max-width:var(--max-w);margin:0 auto;gap:1rem}
#nav-logo{display:flex;flex-direction:column;line-height:1.2;opacity:.9;transition:opacity var(--dur-fast)}
#nav-logo:hover{opacity:1}
.nav-logo-title{font-family:var(--serif);font-size:.875rem;font-style:italic;color:var(--gold-light);letter-spacing:.02em}
.nav-logo-author{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.nav-links{display:none;gap:2rem;align-items:center}
.nav-links a{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);transition:color var(--dur-fast);position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--dur-mid) var(--ease-expo)}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{width:100%}
.nav-links .nav-cta{padding:.4rem 1.2rem;border:1px solid rgba(201,168,76,.4);border-radius:var(--r-full);color:var(--gold-light);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}
.nav-links .nav-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--midnight)}
.nav-links .nav-cta::after{display:none}
@media(min-width:900px){#main-nav{padding:0 4rem}.nav-links{display:flex}}

/* 5. SCENES — SHARED ---------------------------------------- */
.scene{position:relative;padding:4rem 1.5rem 8rem;overflow:hidden}
.scene__inner{max-width:var(--max-w);margin:0 auto;position:relative;z-index:2}
.scene__inner--split{display:grid;gap:3rem;align-items:center}
.scene__header{margin-bottom:3rem;text-align:center}
.scene__label{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;display:block}
.scene__title{font-family:var(--serif);font-size:2.25rem;font-weight:400;font-style:italic;line-height:1.2;color:var(--text)}
.scene__subtitle{margin-top:.8rem;color:var(--text-muted);font-size:1.125rem;max-width:52ch;margin-left:auto;margin-right:auto}
@media(min-width:768px){.scene{padding:5rem 4rem 10rem}.scene__title{font-size:3rem}}

/* ============================================================
   6. HERO — Book as the Centerpiece
   ============================================================ */

/* Keyframes */
@keyframes bookFloat{
  0%  { transform: translateY(0)    rotateY(-6deg) rotateX(3deg); }
  50% { transform: translateY(-22px) rotateY(-3deg) rotateX(1deg); }
  100%{ transform: translateY(0)    rotateY(-6deg) rotateX(3deg); }
}
@keyframes glowPulse{
  0%  { opacity:.5;  transform:scale(1); }
  50% { opacity:.95; transform:scale(1.12); }
  100%{ opacity:.5;  transform:scale(1); }
}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes scrollPulse{0%{opacity:0;transform:scaleY(0);transform-origin:top}50%{opacity:1}100%{opacity:0;transform:scaleY(1);transform-origin:top}}
@keyframes spotlightPulse{0%{opacity:.6}50%{opacity:.85}100%{opacity:.6}}

/* Hero scene */
.scene--hero{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding-top:var(--nav-h);
  background:
    radial-gradient(ellipse 90% 70% at 50% 10%, rgba(180,210,230,.1) 0%, transparent 55%),
    radial-gradient(ellipse 70% 60% at 15% 80%, rgba(201,168,76,.08) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 85% 60%, rgba(100,160,210,.07) 0%, transparent 50%),
    linear-gradient(175deg,#060e17 0%,#0d1b2a 45%,#0e1f30 100%);
}

/* Cinematic spotlight from above */
.hero__spotlight{
  position:absolute;
  top:-10%;
  left:50%;
  transform:translateX(-50%);
  width:600px;
  height:900px;
  background:radial-gradient(ellipse 50% 80% at 50% 0%, rgba(255,255,255,.05) 0%, transparent 60%);
  pointer-events:none;
  animation:spotlightPulse 8s ease-in-out infinite;
  will-change:opacity;
}

/* Hero depth orbs */
.hero__orb{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}
.hero__orb--1{width:700px;height:700px;top:0%;left:-15%;background:radial-gradient(ellipse at center,rgba(100,160,210,.09) 0%,transparent 65%);filter:blur(70px)}
.hero__orb--2{width:550px;height:550px;bottom:5%;right:-12%;background:radial-gradient(ellipse at center,rgba(201,168,76,.09) 0%,transparent 65%);filter:blur(60px)}

/* Hero inner layout */
.scene__inner--hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3rem;
  text-align:center;
  width:100%;
}

/* ── BOOK: The star of the show ── */
.hero__book{
  position:relative;
  width:min(82vw, 380px);
  flex-shrink:0;
  perspective:1200px;
  animation:fadeUp 1s var(--ease-expo) .1s both;
}

/* Stage wrapper enables 3D context */
.hero__book-stage{
  position:relative;
  transform-style:preserve-3d;
}

.hero__book-img{
  width:100%;
  border-radius:var(--r-md);
  box-shadow:
    0 80px 160px rgba(6,14,23,.85),
    0 40px 80px  rgba(6,14,23,.6),
    0 10px 30px  rgba(6,14,23,.4),
    0 0 0 1px rgba(255,255,255,.06);
  animation:bookFloat 7s ease-in-out infinite;
  will-change:transform;
  transform-style:preserve-3d;
}

/* Subtle book spine edge (left side sheen) */
.hero__book-img::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:var(--r-md);
  background:linear-gradient(100deg, rgba(255,255,255,.06) 0%, transparent 8%);
  pointer-events:none;
}

/* Reflection below the book */
.hero__book-reflection{
  position:absolute;
  bottom:-40px;
  left:10%;
  right:10%;
  height:60px;
  background:radial-gradient(ellipse 80% 100% at 50% 0%, rgba(201,168,76,.2) 0%, transparent 70%);
  filter:blur(12px);
  transform:scaleY(-1);
  opacity:.5;
  pointer-events:none;
}

/* Main glow halo */
.hero__book-glow{
  position:absolute;
  inset:-70px -50px;
  background:radial-gradient(ellipse 70% 60% at 50% 55%, var(--gold-glow) 0%, rgba(201,168,76,.08) 45%, transparent 70%);
  filter:blur(28px);
  z-index:-1;
  animation:glowPulse 7s ease-in-out infinite;
  will-change:opacity,transform;
}

/* Ground shadow pool */
.hero__book-shadow{
  position:absolute;
  bottom:-55px;
  left:5%;
  right:5%;
  height:80px;
  background:radial-gradient(ellipse 80% 100% at 50% 0%, rgba(6,14,23,.8) 0%, transparent 80%);
  filter:blur(20px);
  z-index:-2;
  pointer-events:none;
}

/* ── HERO TEXT: Supporting role ── */
.hero__text{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
}

.hero__label{
  font-size:.72rem;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:var(--gold);
  animation:fadeUp .8s var(--ease-expo) .5s both;
}

.hero__title{
  font-family:var(--serif);
  font-size:clamp(2.2rem,7vw,3.5rem);
  font-weight:400;
  line-height:1.1;
  color:var(--sand-light);
  display:flex;
  flex-direction:column;
  gap:.05em;
  animation:fadeUp 1s var(--ease-expo) .7s both;
}
.hero__title-line{display:block}
.hero__title-line--accent{font-style:italic;color:var(--gold-light)}

.hero__author{
  font-size:.82rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--text-muted);
  animation:fadeUp .8s var(--ease-expo) .95s both;
}

.hero__tagline{
  font-family:var(--serif);
  font-size:1.05rem;
  font-style:italic;
  color:var(--text-muted);
  max-width:32ch;
  line-height:1.65;
  animation:fadeUp .8s var(--ease-expo) 1.1s both;
}

.hero__cta-group{
  display:flex;
  gap:1rem;
  align-items:center;
  flex-wrap:wrap;
  justify-content:center;
  animation:fadeUp .8s var(--ease-expo) 1.3s both;
}

.hero__event-hint{
  font-size:.78rem;
  letter-spacing:.06em;
  color:rgba(240,232,220,.3);
  animation:fadeUp .8s var(--ease-expo) 1.5s both;
}

/* Scroll hint */
.hero__scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem}
.hero__scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2.5s ease-in-out infinite;will-change:opacity,transform}
.hero__scroll-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);opacity:.5}

/* Desktop hero: side-by-side, BOOK LEFT and larger */
@media(min-width:768px){
  .scene__inner--hero{
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:6rem;
    text-align:left;
  }
  .hero__book{width:clamp(380px, 42vw, 520px)}
  .hero__text{align-items:flex-start}
  .hero__cta-group{justify-content:flex-start}
  .hero__tagline{font-size:1.15rem}
  .hero__spotlight{width:800px}
}

@media(min-width:1200px){
  .hero__book{width:560px}
}

/* 7. BUTTONS ------------------------------------------------ */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2.2rem;border-radius:var(--r-full);font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-mid),transform var(--dur-fast) var(--ease-expo);will-change:transform;position:relative}
.btn:active{transform:scale(.97)}
.btn--primary{background:var(--gold);color:var(--midnight);box-shadow:0 4px 20px rgba(201,168,76,.4)}
.btn--primary:hover{background:var(--gold-light);box-shadow:0 8px 30px rgba(201,168,76,.6);transform:translateY(-2px)}
.btn--secondary{background:transparent;color:var(--gold-light);border:1px solid rgba(201,168,76,.45)}
.btn--secondary:hover{background:rgba(201,168,76,.08);border-color:var(--gold-light);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--text-muted);border:1px solid rgba(240,232,220,.15);font-size:.8rem}
.btn--ghost:hover{color:var(--text);border-color:rgba(240,232,220,.3);transform:translateY(-2px)}

/* 8. BOOK SCENE --------------------------------------------- */
.scene--book{background:linear-gradient(160deg,#090f1a 0%,#0d1b2a 60%,#111827 100%)}
.book__quote{position:relative;max-width:68ch;margin:0 auto 3rem;text-align:center;padding:2.5rem 1.5rem}
.book__quote::before{content:'"';position:absolute;top:-.5em;left:50%;transform:translateX(-50%);font-family:var(--serif);font-size:8rem;line-height:1;color:var(--gold);opacity:.13;pointer-events:none}
.book__quote-text{font-family:var(--serif);font-size:1.75rem;font-style:italic;line-height:1.6;color:var(--sand)}
.book__quote-source{margin-top:1.25rem;font-size:.875rem;letter-spacing:.1em;color:var(--gold)}
.book__description{max-width:60ch;margin:0 auto;text-align:center}
.book__description p{color:var(--text-muted);font-size:1.125rem;margin-bottom:.75rem}
@media(min-width:768px){.book__quote-text{font-size:2.25rem}}

/* 9. POEMS SCENE -------------------------------------------- */
.scene--poems{background:linear-gradient(168deg,#060d16 0%,#0c1826 55%,#0e1a28 100%);text-align:center}
.poems__orb{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}
.poems__orb--1{width:560px;height:560px;top:-80px;left:-140px;background:radial-gradient(ellipse at center,rgba(201,168,76,.07) 0%,transparent 65%);filter:blur(50px)}
.poems__orb--2{width:440px;height:440px;bottom:-60px;right:-100px;background:radial-gradient(ellipse at center,rgba(100,160,210,.07) 0%,transparent 65%);filter:blur(45px)}
.poems__grid{display:grid;gap:2rem}
@media(min-width:600px){.poems__grid{grid-template-columns:1fr 1fr;gap:2.5rem}}
.poem__card{position:relative;perspective:1200px}
.poem__frame{border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(201,168,76,.18);background:rgba(255,255,255,.015);transition:border-color var(--dur-mid) var(--ease-io),transform var(--dur-mid) var(--ease-expo),box-shadow var(--dur-mid) var(--ease-io);will-change:transform}
.poem__frame:hover{border-color:rgba(201,168,76,.45);transform:translateY(-10px) rotateX(2deg);box-shadow:0 40px 90px rgba(6,14,23,.6),0 0 60px rgba(201,168,76,.08)}
.poem__title-bar{font-family:var(--serif);font-style:italic;font-size:1.125rem;color:var(--gold-light);padding:1.1rem 1.5rem .9rem;letter-spacing:.06em;border-bottom:1px solid rgba(201,168,76,.12);background:rgba(201,168,76,.04);text-align:left}
.poem__img-wrap{overflow:hidden}
.poem__img-wrap img{width:100%;height:auto;display:block;transition:transform var(--dur-xslow) var(--ease-io);will-change:transform}
.poem__frame:hover .poem__img-wrap img{transform:scale(1.03)}

/* 10. AUTHOR SCENE ------------------------------------------ */
.scene--author{background:linear-gradient(150deg,#0f1f2e 0%,#0d1b2a 100%)}
.author__portrait{width:100%;max-width:360px;margin:0 auto}
.author__portrait img{width:100%;border-radius:var(--r-lg);object-fit:cover;aspect-ratio:4/5;filter:saturate(.85) contrast(1.05);box-shadow:0 8px 32px rgba(13,27,42,.2);min-height:300px}
.author__content{display:flex;flex-direction:column;gap:1.25rem}
.author__content .scene__header{text-align:left;margin-bottom:0}
.author__content .scene__title{font-size:2.25rem;font-style:normal}
.author__origin{font-size:.875rem;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}
.author__bio p{color:var(--text-muted);font-size:1.125rem;max-width:52ch}
.author__accent-line{width:0;height:1px;background:linear-gradient(to right,var(--gold),transparent);margin-top:.75rem;transition:width var(--dur-xslow) var(--ease-expo)}
.author__accent-line.visible{width:180px}
@media(min-width:768px){.scene__inner--split{grid-template-columns:1fr 1fr;gap:7rem}.author__portrait{max-width:400px;margin:0}.author__content .scene__title{font-size:3rem}}

/* 11. EVENT SCENE ------------------------------------------- */
.scene--event{background:linear-gradient(175deg,#0d1b2a 0%,#080f1a 100%);text-align:center}
.event__details{display:grid;gap:1.25rem;margin-bottom:2.5rem}
.event__card{padding:2rem 1.5rem;border:1px solid rgba(201,168,76,.15);border-radius:var(--r-lg);background:rgba(255,255,255,.02);transition:border-color var(--dur-mid),background var(--dur-mid)}
.event__card:hover{border-color:rgba(201,168,76,.35);background:rgba(201,168,76,.04)}
.event__card-icon{display:flex;justify-content:center;margin-bottom:.75rem;color:var(--gold);opacity:.7}
.event__card-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem;font-weight:400}
.event__date{font-family:var(--serif);font-size:2.25rem;font-style:italic;color:var(--gold-light);position:relative;display:inline-block}
.event__date::after{content:'';position:absolute;bottom:2px;left:0;width:0;height:2px;background:var(--gold);transition:width var(--dur-xslow) var(--ease-expo)}
.event__date.visible::after{width:100%}
.event__time{font-family:var(--serif);font-size:2.25rem;font-style:italic;color:var(--gold-light);display:inline-block}
.event__location{font-family:var(--serif);font-size:1.25rem;font-style:italic;color:var(--gold-light);line-height:1.5}
.event__presenters{margin-bottom:1.25rem;font-size:.875rem;letter-spacing:.06em;color:var(--text-muted)}
.event__presenters-label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.event__note{color:var(--text-muted);font-style:italic;font-family:var(--serif);font-size:1.125rem;margin-bottom:2.5rem}
@media(min-width:640px){.event__details{grid-template-columns:repeat(3,1fr)}}

.event__invite{max-width:400px;margin:0 auto 3rem;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(201,168,76,.2);box-shadow:0 20px 60px rgba(6,14,23,.5),0 0 40px rgba(201,168,76,.06);transition:transform var(--dur-mid) var(--ease-expo),box-shadow var(--dur-mid)}
.event__invite:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 32px 80px rgba(6,14,23,.65),0 0 50px rgba(201,168,76,.1)}
.event__invite img{width:100%;height:auto;display:block}
.event__invite-caption{font-family:var(--serif);font-style:italic;font-size:.8rem;color:var(--gold);text-align:center;padding:.65rem 1rem;background:rgba(201,168,76,.04);border-top:1px solid rgba(201,168,76,.1);letter-spacing:.06em}

/* 12. RESERVATION SCENE ------------------------------------- */
.scene--reservation{background:linear-gradient(180deg,#0d1b2a 0%,#07101a 100%)}

/* Step labels */
.reservation__step{margin-bottom:4rem}
.reservation__step-label{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text-muted);font-size:.875rem;letter-spacing:.04em}
.reservation__step-num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(201,168,76,.4);color:var(--gold);font-family:var(--serif);font-style:italic;font-size:1rem;flex-shrink:0}

/* Payment methods */
.payment__methods{display:grid;gap:1.25rem;margin-bottom:2rem}
.payment__card{padding:2rem;border-radius:var(--r-lg);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.payment__card-title{font-family:var(--serif);font-size:1.375rem;font-weight:400;color:var(--sand);margin-bottom:1.25rem}
.payment__bank-details{display:flex;flex-direction:column;gap:.3rem}
.payment__bank-row{display:flex;gap:.8rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.875rem}
.payment__bank-row:last-child{border-bottom:none}
.payment__bank-row dt{color:var(--text-muted);min-width:80px;letter-spacing:.04em}
.payment__bank-row dd{color:var(--sand)}
@media(min-width:768px){.payment__methods{grid-template-columns:1fr 1fr}}

/* PAY GUIDE ------------------------------------------------- */
.pay-guide{border:1px solid rgba(201,168,76,.14);border-radius:var(--r-lg);background:rgba(255,255,255,.018);overflow:hidden;margin-bottom:0}
.pay-guide__row{display:flex;align-items:flex-start;gap:1.25rem;padding:1.75rem 1.5rem}
@media(min-width:560px){.pay-guide__row{padding:1.75rem 2rem}}
.pay-guide__divider{height:1px;background:rgba(255,255,255,.06);margin:0 1.5rem}
@media(min-width:560px){.pay-guide__divider{margin:0 2rem}}
.pay-guide__letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(201,168,76,.35);color:var(--gold);font-family:var(--serif);font-style:italic;font-size:.9rem;flex-shrink:0;margin-top:.15rem}
.pay-guide__body{flex:1;display:flex;flex-direction:column;gap:.65rem}
.pay-guide__title{font-size:.9rem;color:var(--text);line-height:1.5}
.pay-guide__title strong{color:var(--gold-light);font-weight:500}
.pay-guide__desc{font-size:.82rem;color:var(--text-muted);line-height:1.6}
.pay-guide__qr{flex-shrink:0}
#qr-img{border-radius:var(--r-md);display:block;box-shadow:0 4px 20px rgba(6,14,23,.4)}

/* Reference display */
.ref-display{display:inline-flex;flex-direction:column;gap:.35rem}
.ref-display__text{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--gold-light);letter-spacing:.06em;background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.22);border-radius:var(--r-md);padding:.5rem 1rem;display:inline-block}
.ref-display__var{opacity:.38}
.ref-display__example{font-size:.76rem;letter-spacing:.05em;color:var(--text-muted);padding-left:.2rem}

/* Note line with checkmark */
.pay-guide__note{display:flex;align-items:flex-start;gap:.4rem;font-size:.82rem;color:rgba(201,168,76,.75);line-height:1.5}
.pay-guide__note-icon{flex-shrink:0;margin-top:.15rem}

/* Form */
.reservation__form-wrapper{max-width:600px}
.confirm-form{display:flex;flex-direction:column;gap:1.5rem}
.form__bot{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.form__group{display:flex;flex-direction:column;gap:.45rem}
.form__label{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}
.form__required{color:var(--gold);margin-left:.2em}
.form__optional{font-size:.72rem;letter-spacing:0;text-transform:none;color:rgba(240,232,220,.28);margin-left:.3em}
.form__input{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:.85rem 1.1rem;color:var(--text);font-family:var(--sans);font-size:.95rem;transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast);width:100%}
.form__input:focus{outline:none;border-color:rgba(201,168,76,.5);background:rgba(255,255,255,.06);box-shadow:0 0 0 3px rgba(201,168,76,.1)}
.form__input::placeholder{color:rgba(240,232,220,.2)}

/* Quantity stepper */
.qty-stepper{display:flex;align-items:center;width:fit-content;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);overflow:hidden}
.qty-btn{width:44px;height:48px;background:rgba(255,255,255,.04);color:var(--gold-light);font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast);border:none;cursor:pointer}
.qty-btn:hover:not(:disabled){background:rgba(201,168,76,.15)}
.qty-btn:disabled{opacity:.3;cursor:not-allowed}
.qty-input{width:52px;height:48px;background:rgba(255,255,255,.02);border:none;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08);color:var(--text);font-size:1.125rem;text-align:center;font-family:var(--serif);-moz-appearance:textfield}
.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* File upload */
.form__file-wrap{position:relative}
.form__file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.form__file-label{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;border:1px dashed rgba(201,168,76,.25);border-radius:var(--r-md);color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast);background:rgba(255,255,255,.02)}
.form__file-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(201,168,76,.3);border-radius:50%;color:var(--gold);font-size:.875rem;flex-shrink:0}
.form__file-wrap:hover .form__file-label{border-color:rgba(201,168,76,.45);background:rgba(201,168,76,.04)}
.form__file-name{color:var(--gold-light);font-size:.8rem;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.form__hint{font-size:.72rem;color:rgba(240,232,220,.28);line-height:1.5;margin-top:.3rem}
.form__privacy{font-size:.7rem;color:rgba(240,232,220,.22);text-align:center;letter-spacing:.04em}
.form__submit{width:100%;padding:1rem 2rem}
.form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* Success state */
.form__success{text-align:center;padding:3rem 2rem;border:1px solid rgba(201,168,76,.25);border-radius:var(--r-lg);background:rgba(201,168,76,.05)}
.form__success-icon{font-size:2.5rem;color:var(--gold);margin-bottom:1rem}
.form__success-title{font-family:var(--serif);font-size:1.75rem;font-style:italic;color:var(--sand);margin-bottom:.75rem}
.form__success-msg{color:var(--text-muted);font-size:1rem;max-width:40ch;margin:0 auto}

/* 13. FOOTER ------------------------------------------------ */
.site-footer{background:var(--midnight);border-top:1px solid rgba(201,168,76,.1);padding:5rem 1.5rem;text-align:center}
.footer__inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.footer__poem{font-family:var(--serif);font-style:italic;font-size:1.375rem;color:var(--text-muted);max-width:46ch}
.footer__author-name{font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.footer__address{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,232,220,.32)}
.footer__publisher{font-size:.75rem;letter-spacing:.1em;color:rgba(240,232,220,.28);font-family:var(--serif);font-style:italic}
.footer__contact ul{display:flex;gap:2.5rem;justify-content:center;flex-wrap:wrap}
.footer__link{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:.3rem 0;position:relative;transition:color var(--dur-fast)}
.footer__link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width var(--dur-mid) var(--ease-expo)}
.footer__link:hover{color:var(--gold-light)}
.footer__link:hover::after{width:100%}
.footer__copy{color:rgba(240,232,220,.22);font-size:.75rem;letter-spacing:.08em}

/* 14. SCROLL REVEAL ----------------------------------------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--dur-xslow) var(--ease-expo),transform var(--dur-xslow) var(--ease-expo);will-change:opacity,transform}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-28px);transition:opacity var(--dur-xslow) var(--ease-expo),transform var(--dur-xslow) var(--ease-expo);will-change:opacity,transform}
.reveal-right{opacity:0;transform:translateX(28px);transition:opacity var(--dur-xslow) var(--ease-expo),transform var(--dur-xslow) var(--ease-expo);will-change:opacity,transform}
.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}

/* 15. REDUCED MOTION ---------------------------------------- */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
