@font-face{font-family:"Cinzel";src:url("../fonts/Cinzel.ttf") format("truetype");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/CormorantGaramond.ttf") format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/CormorantGaramond-Italic.ttf") format("truetype");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant SC";src:url("../fonts/CormorantSC-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant SC";src:url("../fonts/CormorantSC-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("../fonts/EBGaramond.ttf") format("truetype");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("../fonts/EBGaramond-Italic.ttf") format("truetype");font-weight:400 800;font-style:italic;font-display:swap}

:root{
  --ink:#070B14;
  --ink-2:#0A101C;
  --ink-3:#101826;
  --gold:#C9A35A;
  --gold-soft:#E4D0A0;
  --gold-deep:#8C6E2F;
  --ivory:#F7F3EA;
  --ivory-dim:#C9C2B3;
  --line:rgba(201,163,90,.32);
  --r:18px;
  --sh:0 28px 70px rgba(0,0,0,.55);
  --pad:1.25rem;
  --max:74rem;
  --gold-glow:0 0 28px 4px rgba(201,163,90,.55),0 0 80px 14px rgba(201,163,90,.28);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
body{
  background:var(--ink);
  color:var(--ivory);
  font-family:"EB Garamond",Garamond,serif;
  font-size:1.125rem;
  line-height:1.65;
  font-weight:450;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,picture{max-width:100%;height:auto;display:block}
a{color:var(--gold-soft);text-decoration:none}
a:hover{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:min(var(--max),100% - 2*var(--pad));margin-inline:auto}
.sr,.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:.75rem;top:.75rem;z-index:100;background:var(--gold);color:var(--ink);padding:.5rem 1rem}

/* Texture + divine light motif */
.parchment{
  position:relative;
  isolation:isolate;
}
.parchment::before{
  content:"";
  position:absolute;inset:0;
  background:url("../img/texture-parchment.webp") center/400px repeat;
  opacity:.22;
  pointer-events:none;z-index:0;
  mix-blend-mode:overlay;
}
.parchment > *{position:relative;z-index:1}

/* 0. Marquee */
.marquee{
  background:var(--gold);
  color:var(--ink);
  overflow:hidden;
  white-space:nowrap;
  font-family:"Cormorant SC",serif;
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
  padding:.55rem 0;
  position:relative;z-index:60;
}
.marquee-track{display:inline-flex;align-items:center;width:max-content;animation:marquee 48s linear infinite}
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track{animation-play-state:paused}
.marquee-copy{display:inline-flex;align-items:center;flex:0 0 auto}
.marquee-item{padding:0 1.1rem;display:inline-flex;align-items:center;gap:1.1rem}
.marquee-item .dia{width:.38rem;height:.38rem;border:1px solid var(--ink);transform:rotate(45deg);flex:0 0 auto}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;
  width:min(var(--max),100% - 2*var(--pad));
  margin-inline:auto;
  padding:.85rem 0;
  transition:background .3s, backdrop-filter .3s, box-shadow .3s;
}
.site-header.scrolled{
  /* full-bleed bar when scrolled: use a wrapper? apply via body padding trick */
}
/* make header a full-width bar when scrolled */
header.topbar{
  position:sticky;top:0;z-index:50;
  transition:background .3s,border-color .3s,backdrop-filter .3s;
  border-bottom:1px solid transparent;
}
header.topbar.scrolled{
  background:rgba(7,11,20,.88);
  backdrop-filter:blur(14px);
  border-bottom-color:var(--line);
}
.brand{
  font-family:"Cormorant SC",serif;
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-soft);
  line-height:1.35;
}
.brand span{display:block;color:var(--gold);letter-spacing:.16em}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:"Cormorant SC",serif;
  font-weight:600;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:.85rem 1.45rem;
  background:var(--gold);
  color:var(--ink);
  border:0;cursor:pointer;
  border-radius:4px;
  box-shadow:0 12px 34px rgba(201,163,90,.32);
  transition:transform .2s,box-shadow .2s,background .2s;
}
.btn:hover{transform:translateY(-2px);background:var(--gold-soft);color:var(--ink);box-shadow:0 16px 44px rgba(201,163,90,.48)}
.btn-lg{padding:1rem 1.7rem;font-size:.84rem}
.btn-block{width:100%}

/* Gold glow frames (filmmaker lineage, gold light) */
.glow{position:relative;isolation:isolate;border-radius:var(--r);box-shadow:0 50px 100px -20px rgba(0,0,0,.85),0 24px 48px rgba(0,0,0,.6)}
.glow::before{
  content:"";position:absolute;inset:-2px;
  border-radius:calc(var(--r) + 2px);
  background:linear-gradient(135deg,#C9A35A,#E4D0A0 30%,#C9A35A 55%,#8C6E2F 80%,#E8D5A8);
  z-index:0;pointer-events:none;
}
.glow::after{
  content:"";position:absolute;inset:0;border-radius:var(--r);
  box-shadow:var(--gold-glow);
  z-index:-1;pointer-events:none;
  animation:glowPulse 3.8s ease-in-out infinite;
}
.glow > *{position:relative;z-index:1;border-radius:inherit;overflow:hidden}
.glow img{width:100%;height:auto;display:block}
@keyframes glowPulse{0%,100%{opacity:.55}50%{opacity:1}}
.glow:hover{transform:translateY(-3px);transition:transform .35s ease}
@media (max-width:760px){
  .glow::after{box-shadow:0 0 18px 2px rgba(201,163,90,.55),0 0 46px 8px rgba(201,163,90,.26)}
  .glow{box-shadow:0 30px 60px -14px rgba(0,0,0,.85),0 14px 28px rgba(0,0,0,.55)}
}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:7.5rem 0 3.2rem;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{
  width:100%;height:120%;
  object-fit:cover;object-position:78% 50%;
  transform:scale(1.08);
  animation:kenburns 22s ease-out forwards;
}
@keyframes kenburns{to{transform:scale(1.02)}}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(7,11,20,.96) 0%,rgba(7,11,20,.82) 38%,rgba(7,11,20,.2) 72%,rgba(7,11,20,.45) 100%),
    linear-gradient(0deg,var(--ink) 0%,transparent 32%),
    linear-gradient(180deg,rgba(7,11,20,.55) 0%,transparent 22%);
}
.hero-dust{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("../img/dust.png") center/cover no-repeat;
  opacity:.55;mix-blend-mode:screen;
  animation:dustDrift 28s linear infinite;
}
@keyframes dustDrift{50%{transform:translateY(-18px)}}
.hero-inner{position:relative;z-index:1;max-width:38rem}
.eyebrow,.section-label{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:"Cormorant SC",serif;
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
}
.eyebrow::before,.section-label::before{content:"";width:1.5rem;height:1px;background:var(--gold)}
.badge{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.4rem .9rem;
  border:1px solid rgba(201,163,90,.45);
  border-radius:999px;
  background:rgba(201,163,90,.1);
  font-family:"Cormorant SC",serif;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-soft);
  margin-bottom:1.1rem;
}
.badge i{width:.48rem;height:.48rem;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(201,163,90,.7);animation:pulse 2s infinite;display:block}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(201,163,90,0)}100%{box-shadow:0 0 0 0 rgba(201,163,90,0)}}
.hero h1{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;font-weight:500;
  font-size:clamp(2.35rem,8vw,4.6rem);
  line-height:1.08;
  margin:0 0 1.1rem;
  color:var(--ivory);
}
.hero .lead{font-size:clamp(1.05rem,2.2vw,1.25rem);color:var(--ivory-dim);margin-bottom:1.6rem;max-width:34rem}
.hero-quote{
  margin:1.6rem 0 0;
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:1.15rem;
  color:var(--gold-soft);
  border-left:1px solid var(--gold);
  padding-left:1rem;
}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2.2rem;max-width:28rem}
.hero-stats div{border-left:2px solid var(--gold);padding-left:.75rem}
.hero-stats b{display:block;font-family:"Cinzel",serif;font-size:clamp(1.35rem,4vw,1.85rem);line-height:1;color:var(--gold-soft);font-weight:500}
.hero-stats span{font-family:"Cormorant SC",serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-dim)}

/* Sections */
.section{padding:4.2rem 0;position:relative}
.section.alt{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%)}
.section-label{margin-bottom:.85rem}
.section h2{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;font-weight:500;
  font-size:clamp(1.85rem,5vw,3.1rem);
  line-height:1.15;
  margin:0 0 1.1rem;
  color:var(--ivory);
}
.lead{color:var(--ivory-dim);font-size:1.12rem;margin-bottom:1.1rem}
.prose p{margin:0 0 1rem;color:var(--ivory-dim)}
.prose p:last-child{margin-bottom:0}
.prose strong{color:var(--ivory);font-weight:600}
.split{display:grid;gap:2rem;align-items:center}
.split .glow{margin:0}

/* Day list */
.day-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:0}
.day-list li{display:grid;grid-template-columns:2.2rem 1fr;gap:.7rem;padding:.85rem 0;border-top:1px solid var(--line)}
.day-list li:last-child{border-bottom:1px solid var(--line)}
.day-n{font-family:"Cormorant SC",serif;font-weight:600;font-size:.72rem;letter-spacing:.12em;color:var(--gold);padding-top:.2rem}
.day-list h3{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem;font-weight:500;color:var(--ivory);margin:0 0 .15rem}
.day-list p{margin:0;color:var(--ivory-dim);font-size:1.02rem}

/* Cards */
.cards{display:grid;gap:1rem;margin-top:1.6rem}
.card{
  background:var(--ink-3);
  border:1px solid var(--line);
  border-radius:14px;
  padding:1.2rem 1.2rem 1.25rem;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 0 28px rgba(201,163,90,.18)}
.card h3{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:1.25rem;margin:.4rem 0 .35rem;color:var(--ivory)}
.card p{margin:0;color:var(--ivory-dim);font-size:1.02rem}
.ico{display:block;width:1.7rem;height:1.7rem;color:var(--gold);flex:0 0 auto}
.ico svg{width:1.7rem;height:1.7rem;display:block}

.who{grid-template-columns:1fr}
.weeks{grid-template-columns:1fr}
.week-n{
  font-family:"Cormorant SC",serif;font-weight:600;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
}
.week-wide{text-align:center}

/* Week photo cards */
.week-photos{display:grid;gap:1rem;margin-top:1.8rem}
.quote-card{position:relative;display:block}
.quote-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.quote-card figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:3.2rem .85rem 1.15rem;
  background:linear-gradient(0deg,rgba(7,11,20,.92) 0%,rgba(7,11,20,.45) 55%,transparent 100%);
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:1.2rem;
  color:var(--gold-soft);
  text-align:center;
}

/* Deliver / devices */
.deliver{display:grid;gap:.9rem;margin:1.5rem 0 0;max-width:40rem}
.deliver-item{display:flex;gap:.85rem;align-items:flex-start}
.deliver-item p{margin:0;color:var(--ivory-dim)}
.deliver-item strong{color:var(--ivory);font-weight:600}
.devices-hero{margin:2rem auto 0;max-width:58rem}
.device-trio{display:grid;gap:1.4rem;margin-top:1.8rem}
.device-trio figure{margin:0}
.device-trio figcaption{
  margin-top:.7rem;text-align:center;
  font-family:"Cormorant SC",serif;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.muted{color:var(--ivory-dim);font-style:italic;text-align:center;margin:.8rem 0 0;font-size:1.05rem}

/* Feel / benefits */
.feel{grid-template-columns:1fr}
.feel .card{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start}
.feel .card h3{margin:0;font-size:1.12rem;grid-column:2}
.feel .ico{grid-row:1}

/* Price */
.price-block{text-align:center;max-width:32rem;margin:0 auto}
.price{
  font-family:"Cinzel",serif;
  font-size:clamp(3rem,12vw,4.6rem);
  color:var(--gold);
  line-height:1;
  margin:.6rem 0 1rem;
  font-weight:500;
}
.price small{font-size:.4em;letter-spacing:.04em}

/* Guarantee */
.guarantee{
  max-width:38rem;margin:0 auto;text-align:center;
  padding:1.6rem 1.4rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(201,163,90,.05);
  box-shadow:0 0 40px rgba(201,163,90,.08);
}
.guarantee p{margin:0;color:var(--ivory-dim)}

/* FAQ */
.faq-list{max-width:46rem;margin:1.6rem 0 0;display:grid;gap:0}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{
  list-style:none;cursor:pointer;
  padding:1.15rem 2.2rem 1.15rem 0;
  font-family:"Cormorant Garamond",serif;
  font-style:italic;font-size:1.25rem;
  position:relative;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:0;top:50%;width:.55rem;height:.55rem;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq-list details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq-list details[open] summary{color:var(--gold-soft)}
.faq-list .ans{padding:0 0 1.15rem;color:var(--ivory-dim)}

/* Close */
.close{position:relative;padding:5rem 0 4.5rem;overflow:hidden;text-align:center}
.close-bg{position:absolute;inset:0;z-index:-2}
.close-bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.close::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,var(--ink) 0%,rgba(7,11,20,.55) 28%,rgba(7,11,20,.5) 70%,var(--ink) 100%);
}
.close h2{max-width:22ch;margin-left:auto;margin-right:auto}
.close .lead{max-width:32rem;margin-left:auto;margin-right:auto;margin-bottom:1.5rem;color:var(--ivory)}
.close-quote{
  font-family:"Cormorant Garamond",serif;font-style:italic;
  color:var(--gold-soft);margin:1.4rem 0 0;font-size:1.2rem;
}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:2.4rem 0 2rem;text-align:center;background:#05070C}
.pay-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:1.15rem 1.4rem;margin:0 0 .7rem;color:var(--gold)}
.pay-icons figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.3rem}
.pay-icons svg{height:1.55rem;width:auto;display:block}
.pay-icons figcaption{font-family:"Cormorant SC",serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.secure{font-family:"Cormorant SC",serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 1.4rem}
.legal,.copy{font-size:.9rem;color:var(--ivory-dim);max-width:38rem;margin:.35rem auto;font-style:italic}
.copy{font-style:normal;margin-top:1rem;font-family:"Cormorant SC",serif;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;color:var(--gold-deep)}

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

/* Hidden testimonials */
.depoimentos{display:none !important}

/* Responsive */
@media (min-width:640px){
  :root{--pad:1.75rem}
  .who,.feel,.device-trio{grid-template-columns:1fr 1fr}
  .weeks{grid-template-columns:1fr 1fr}
  .week-photos{grid-template-columns:1fr 1fr}
  .device-trio .dev-book{grid-column:1/-1;max-width:28rem;margin-inline:auto;width:100%}
  .btn-block{width:auto}
  .hero-ctas .btn{width:auto}
}
@media (min-width:900px){
  body{font-size:1.16rem}
  .hero{padding:8rem 0 4.2rem;align-items:center}
  .hero-bg img{object-position:70% 50%}
  .section{padding:5.2rem 0}
  .split{grid-template-columns:1fr 1fr;gap:3.2rem}
  .split.reverse{grid-template-columns:1fr 1fr}
  .split.reverse .glow{order:-1}
  .feel{grid-template-columns:1fr 1fr}
  .device-trio{grid-template-columns:1.15fr .9fr .7fr;align-items:end}
  .device-trio .dev-book{grid-column:auto;max-width:none}
  .week-photos{grid-template-columns:1fr 1fr 1fr 1fr}
}
@media (max-width:639px){
  .hero{min-height:0;padding:6.2rem 0 2.6rem;display:block}
  .hero-bg{position:relative;inset:auto;height:58svh;min-height:320px;max-height:480px}
  .hero-bg img{height:100%;object-position:82% 50%}
  .hero::before{
    background:
      linear-gradient(0deg,var(--ink) 0%,rgba(7,11,20,.7) 22%,rgba(7,11,20,0) 55%),
      linear-gradient(180deg,rgba(7,11,20,.65) 0%,rgba(7,11,20,0) 22%);
  }
  .hero-dust{top:0;height:58svh}
  .hero .wrap{margin-top:-2.2rem;position:relative}
  .hero h1{font-size:clamp(2.1rem,10vw,3rem)}
  .hero-ctas .btn{width:100%}
  .week-n{letter-spacing:.12em}
  .site-header .btn{font-size:.7rem;padding:.65rem 1rem}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%;white-space:normal}
  .hero-bg img,.hero-dust,.glow::after,.badge i{animation:none !important}
  .hero-bg img{transform:none !important}
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .btn:hover,.card:hover,.glow:hover{transform:none}
}
