:root{
  --sage:#6D7B48;
  --sage-deep:#4A5432;
  --gold:#B08D57;
  --gold-safe:#7D6231;
  --ivory:#F3EFE8;
  --ink:#2E3327;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--ivory);
  color:var(--ink);
  font-family:'Lora',serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,.display{font-family:'Fraunces',serif;font-weight:500;font-optical-sizing:auto;letter-spacing:0;}
.label{font-family:'Spectral',serif;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
img{display:block;max-width:100%;}
::selection{background:var(--sage);color:var(--ivory);}
:focus-visible{outline:2px solid var(--gold-safe);outline-offset:3px;}section{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:96px 24px 40px;overflow:hidden;}

/* ---- 1. HERO ---- */
#hero{background:var(--ink);color:var(--ivory);padding:36px 24px;min-height:calc(100dvh - var(--header-h, 72px));}
.hero-footage{position:absolute;inset:0;z-index:1;background-color:#1c2116;overflow:hidden;
  animation:hero-photo-in 2.2s var(--ease) forwards;}
.hero-footage video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;
}
.hero-footage::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(10,11,7,.42) 0%, rgba(10,11,7,.58) 45%, rgba(10,11,7,.8) 100%);
}
@keyframes hero-photo-in{from{opacity:0;transform:scale(1.06);}to{opacity:1;transform:scale(1);}}
.hero-grain{position:absolute;inset:0;z-index:2;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.play-hint{
  position:absolute;bottom:24px;left:50%;transform:translate(-50%,0);z-index:4;
  width:52px;height:52px;border-radius:50%;border:1px solid rgba(243,239,232,.7);
  background:rgba(16,17,11,.35);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:0;
  cursor:pointer;opacity:0;pointer-events:none;transition:opacity .6s var(--ease);
}
.play-hint.show{opacity:1;pointer-events:auto;animation:play-pulse 2.4s ease-in-out infinite;}
.play-hint svg{width:16px;height:16px;fill:var(--ivory);margin-left:2px;}
@keyframes play-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(243,239,232,.22);}
  50%{box-shadow:0 0 0 12px rgba(243,239,232,0);}
}
.hero-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;}
.mono-wrap{width:clamp(44px,6vw,64px);position:relative;opacity:0;animation:mono-in 1s var(--ease) .3s forwards;}
.mono-wrap img{width:100%;filter:brightness(0) invert(1) drop-shadow(0 0 14px rgba(0,0,0,.25));}
@keyframes mono-in{from{opacity:0;transform:translateY(10px) scale(.9);}to{opacity:.92;transform:translateY(0) scale(1);}}
.hero-eyebrow{font-family:'Spectral',serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
  opacity:0;animation:fade-up 1s var(--ease) 1.1s forwards;}
.hero-content h1{font-family:'Cinzel',Georgia,serif; font-weight:500;font-size:clamp(2.4rem,7vw,4.6rem);letter-spacing:.01em;margin-top:2px;}
.hero-content h1 .ch{display:inline-block;opacity:0;transform:translateY(18px) rotate(1.5deg);animation:char-in .7s var(--ease) forwards;}
.hero-content h1 .sp{display:inline-block;width:.28em;}
@keyframes char-in{to{opacity:1;transform:translateY(0) rotate(0);}}
.hero-content p.dedic{
  font-family:'Lora',serif;font-style:italic;font-size:clamp(.95rem,1.6vw,1.15rem);color:rgba(243,239,232,.78);
  max-width:32ch;opacity:0;animation:fade-up 1s var(--ease) 2.7s forwards;
}
@keyframes fade-up{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* ---- Hero content (single-screen layout) ---- */
.hero-eyebrow{font-family:'Spectral',serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
  opacity:0;animation:fade-up 1s var(--ease) 1.1s forwards;}
.hero-local{font-family:'Fraunces',serif;font-weight:500;font-optical-sizing:auto;
  font-size:clamp(1rem,2.4vw,1.3rem);color:rgba(243,239,232,.88);margin-top:-4px;
  opacity:0;animation:fade-up 1s var(--ease) 2.5s forwards;}

.countdown{display:flex;gap:clamp(8px,2.4vw,24px);margin-top:8px;
  opacity:0;animation:fade-up 1s var(--ease) 2.8s forwards;}
.countdown .cell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:44px;}
.countdown .num{font-family:'Spectral',serif;font-weight:600;font-size:clamp(1.5rem,4.2vw,2.4rem);
  font-variant-numeric:tabular-nums;line-height:1;display:flex;color:var(--ivory);}
.countdown .digit{overflow:hidden;height:1em;line-height:1;}
.countdown .digit-strip{display:flex;flex-direction:column;transition:transform .55s var(--ease);will-change:transform;}
.countdown .digit-strip span{height:1em;line-height:1;display:block;text-align:center;min-width:.62ch;}
.countdown .unit{font-family:'Spectral',serif;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(243,239,232,.6);}
.countdown .sep{font-family:'Spectral',serif;font-weight:500;font-size:clamp(1.1rem,2.6vw,1.7rem);align-self:flex-start;margin-top:1px;opacity:.3;color:var(--ivory);}

.hero-links{display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;margin-top:8px;}
.hero-links a{
  width:100%;text-align:center;padding:11px 0;
  font-family:'Spectral',serif;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ivory);border-bottom:1px solid rgba(243,239,232,.2);
  transition:color .3s,border-color .3s,letter-spacing .3s;
  opacity:0;animation:fade-up .7s var(--ease) forwards;
}
.hero-links a:last-child{border-bottom:none;}
.hero-links a:hover{color:var(--gold);border-color:var(--gold);letter-spacing:.18em;}
.hero-links a:nth-child(1){animation-delay:2.9s;}
.hero-links a:nth-child(2){animation-delay:2.98s;}
.hero-links a:nth-child(3){animation-delay:3.06s;}
.hero-links a:nth-child(4){animation-delay:3.14s;}
.hero-links a:nth-child(5){animation-delay:3.22s;}

@media(max-width:600px){
  #hero{padding:22px 20px 28px;}
  .hero-content{gap:10px;}
  .mono-wrap{width:clamp(36px,8vw,46px);}
  .hero-content h1{font-size:min(clamp(1.9rem,8.6vw,2.5rem),calc((100vw - 40px) * .0788)) /* Cinzel: reduz levemente no celular para manter uma linha */;}
  .hero-local{font-size:.95rem;}
  .countdown{gap:clamp(6px,2vw,12px);margin-top:4px;}
  .countdown .cell{min-width:38px;}
  .countdown .num{font-size:clamp(1.25rem,5.6vw,1.6rem);}
  .hero-links{max-width:280px;}
  .hero-links a{padding:9px 0;font-size:.68rem;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  html{scroll-behavior:auto;}
}

/* ---------------------------------------------------------------
   Monograma.
   Os dois usam monograma_sage.svg — o mesmo arquivo autônomo de
   /manual, com cor e revelação embutidas.
   · No cabeçalho (fundo marfim) ele aparece em sage, sem filtro.
   · Sobre o vídeo, a regra .mono-wrap img acima já o converte em
     branco com sombra suave; não repetir o filtro aqui, ou o do
     cabeçalho viraria branco sobre marfim — invisível.
   --------------------------------------------------------------- */
