/* Réveillon Saudade — folha de estilo principal */

/* ============ FONTES DA MARCA ============ */
@font-face{font-family:'Pacaembu';src:url(../fontes/pacaembu.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
/* Kajompi (script decorativa): subset com os 46 glifos usados no site — 218KB -> 77KB.
   ATENCAO: se a copy dos textos em script mudar e usar um caractere fora do subset,
   ele cai na fonte de fallback (cursive). A fonte completa esta em
   assets/fontes/kajompi-completa.woff2; para regerar o subset veja assets/fontes/README.md */
@font-face{font-family:'Kajompi';src:url(../fontes/kajompi-subset.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* ============ TOKENS ============ */
:root{
  --paper:#f5ebdb;
  --paper-2:#fdf6ea;
  --gold:#e9c891;
  --gold-soft:#f2dcb2;   /* dourado claro p/ textos pequenos sobre azul (WCAG AA) */
  --terra:#ac4d36;
  --terra-deep:#8a3a27;
  --brown:#56402a;
  --brown-soft:#7a5f42;
  --blue:#0d6771;
  --blue-deep:#0a4d55;
  --night:#1d3a52;
  --night-deep:#12283c;
  --sand:#e7ddd4;

  --f-serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --f-caps:'Pacaembu', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --f-script:'Kajompi', 'Snell Roundhand', cursive;

  --edge:clamp(1.15rem, 4.5vw, 3.5rem);
  --sect:clamp(4.2rem, 9.5vw, 7.5rem);
  --w:1220px;
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
/* quando o Lenis esta ativo ele controla a rolagem: desliga o smooth nativo */
html.lenis{scroll-behavior:auto}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
}
body{
  margin:0;background:var(--paper);color:var(--brown);
  font-family:var(--f-caps);font-weight:700;font-size:1rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:700}
p{margin:0}
::selection{background:var(--terra);color:var(--paper-2)}
.wrap{max-width:var(--w);margin-inline:auto;padding-inline:var(--edge)}
a:focus-visible,button:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:2px}

/* gr\00E3 o de filme */
body::after{
  content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.35 0 0 0 0 0.25 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(4) infinite;
}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-2%,1.5%)}50%{transform:translate(1.5%,-2%)}75%{transform:translate(-1%,-1%)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){body::after{animation:none}}

/* tipos */
.eyebrow{
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;
  letter-spacing:.34em;font-size:.7rem;display:flex;align-items:center;gap:.9rem;
}
.eyebrow .st{width:1.2rem;height:1.2rem;flex:none}
.eyebrow .st-lua{width:1.5rem;height:1.05rem;position:relative;top:.02em}
.script,.lu-script,.tarde-script,.noite-script,.dusk-script,.pol figcaption,.collage-note,.postal-lines i::after{
  font-family:var(--f-script);font-weight:400;line-height:1.12;text-transform:none;letter-spacing:0;
  font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0,"dlig" 0,"calt" 0;
}
.title{
  font-family:var(--f-serif);font-weight:700;text-transform:uppercase;
  font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.06;letter-spacing:.01em;text-wrap:balance;
}
/* frase-manifesto: apenas 1\00AA  mai\00FA scula, bold italic */
.phrase{
  font-family:var(--f-serif);font-weight:700;font-style:italic;
  font-size:clamp(1.85rem,3.7vw,2.95rem);line-height:1.12;text-wrap:balance;letter-spacing:0;
}
.lede-bi{font-family:var(--f-serif);font-weight:700;font-style:italic;font-size:clamp(1.08rem,1.7vw,1.3rem);line-height:1.62}
/* corpo em Pacaembu bold caps, respirando */
.copy-caps{
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;
  font-size:.7rem;letter-spacing:.09em;line-height:2.15;max-width:40em;
}
.serif-body{font-family:var(--f-serif);font-weight:500;font-size:1.05rem;line-height:1.7;max-width:38em}

.btn{
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.22em;
  font-size:.76rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1.05rem 1.7rem .95rem;border-radius:2px;cursor:pointer;border:1px solid transparent;text-align:center;
  line-height:1.35;max-width:100%;
  transition:background .25s,color .25s,transform .25s,border-color .25s;
}
.btn svg{flex:none}
.btn-terra{background:var(--terra);color:var(--paper-2)}
.btn-terra:hover{background:#fff;color:var(--terra);transform:translateY(-2px)}
.btn-line{border-color:var(--brown);color:var(--brown);background:transparent}
.btn-line:hover{background:var(--brown);color:var(--paper-2)}
.btn-cream{background:var(--paper-2);color:var(--blue)}
.btn-cream:hover{background:#fff;transform:translateY(-2px)}

.rv{
  opacity:0;transform:translate3d(0,26px,0);
  transition:opacity 1.05s cubic-bezier(.16,1,.3,1), transform 1.05s cubic-bezier(.16,1,.3,1), filter 1.05s cubic-bezier(.16,1,.3,1);
  filter:blur(2px);will-change:opacity,transform;
}
.rv.in{opacity:1;transform:none;filter:none}
.rv2{transition-delay:.09s}.rv3{transition-delay:.18s}.rv4{transition-delay:.27s}
/* imagens entram com um leve zoom-out, como no cinema */
img.rv,figure.rv{transform:translate3d(0,30px,0) scale(1.015)}
img.rv.in,figure.rv.in{transform:none}
/* escalonamento autom\00E1 tico dentro de grades */
.dias>*,.noites>*,.well-grid>*,.tk-notes>*,.lu-art>*,.prog>*,.prog-row>*{transition-delay:calc(var(--i,0) * 70ms)}
.parallax{will-change:transform}
@media (prefers-reduced-motion:reduce){
  .rv,img.rv,figure.rv{opacity:1;transform:none;filter:none}
  .parallax{transform:none !important}
}
html{scroll-padding-top:5.5rem}
section[id]{scroll-margin-top:4.5rem}

/* ============ LENIS (rolagem suave) ============ */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}

/* ============ NAV ============ */
.nav{
  position:fixed;inset-inline:0;top:0;z-index:60;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;
  padding:.9rem var(--edge);transition:background .35s,box-shadow .35s,padding .3s;
}
.nav.scrolled{background:rgba(245,235,219,.94);backdrop-filter:blur(9px);box-shadow:0 1px 0 rgba(86,64,42,.14);padding-block:.55rem}
.nav-logo{display:flex;align-items:center;color:var(--terra);text-decoration:none;justify-self:start}
.nav-logo svg{height:28px;width:auto;display:block}
.nav-mid{justify-self:center}
.nav-links{display:flex;gap:1.7rem;list-style:none;margin:0;padding:0}
.nav-links a{
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.64rem;
  text-decoration:none;color:var(--brown);opacity:.82;transition:color .2s,opacity .2s;white-space:nowrap;
}
.nav-links a:hover{opacity:1;color:var(--terra)}
.nav-cta{justify-self:end}
.nav .btn{font-size:.62rem;padding:.7rem 1.15rem .6rem}
@media (max-width:1080px){.nav-links{gap:1.15rem}.nav-links a{font-size:.6rem;letter-spacing:.16em}}
@media (max-width:940px){.nav{grid-template-columns:1fr auto}.nav-mid{display:none}}
@media (max-width:760px){.nav-cta{display:none}.nav{grid-template-columns:1fr}}

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(120% 68% at 50% 100%, rgba(233,164,92,.55) 0%, rgba(233,164,92,0) 58%),
    linear-gradient(to bottom, #f7efe1 0%, #f3ddb8 42%, #eec89b 68%, #e0aa74 100%);
  padding:6.5rem var(--edge) 0;
}
.hero-mandala{
  position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:-1;
  width:min(146vw,980px);aspect-ratio:1;color:rgba(253,246,234,.62);
  animation:spin 140s linear infinite;
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero-photo{position:absolute;inset-inline:0;bottom:0;z-index:-1;height:min(62vh,680px);pointer-events:none;will-change:transform}
.hero-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 62%;
  -webkit-mask-image:linear-gradient(to top,black 66%,transparent 100%);
  mask-image:linear-gradient(to top,black 66%,transparent 100%);
}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(138,58,39,.26), rgba(224,170,116,0) 72%)}
.hero-top{display:flex;align-items:center;gap:clamp(1rem,4vw,3rem);justify-content:center}
.hero-date{font-family:var(--f-caps);font-weight:700;letter-spacing:.3em;font-size:clamp(.72rem,1.4vw,.9rem);color:var(--brown);white-space:nowrap}
.hero-logo{color:var(--terra);line-height:0}
.hero-logo svg{width:min(520px,74vw);height:auto;filter:drop-shadow(0 3px 22px rgba(172,77,54,.18))}
.hero-place{margin-top:1.5rem;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.42em;font-size:clamp(.68rem,1.5vw,.82rem);color:var(--brown)}
.hero-cta{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center}
.hero-count{margin-top:2.6rem;margin-bottom:clamp(9rem,26vh,15rem);display:flex;gap:clamp(1.1rem,3.5vw,2.4rem);justify-content:center}
.hero-count div{display:flex;flex-direction:column;gap:.1rem;align-items:center}
.hero-count b{min-width:3ch;text-align:center;font-family:var(--f-serif);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1;color:var(--terra-deep);font-variant-numeric:tabular-nums}
.hero-count small{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.3em;font-size:.56rem;color:var(--brown)}
@media (max-width:640px){
  .hero-top{gap:.7rem}
  .hero-logo svg{width:min(63vw,520px)}
  .hero-date{font-size:.6rem;letter-spacing:.16em}
}

/* ============ MARQUEE ============ */
.marquee{background:var(--terra);color:var(--paper);overflow:hidden;padding:.8rem 0;position:relative;z-index:2}
.marquee-track{display:flex;width:max-content;animation:mq 42s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee span{
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;
  white-space:nowrap;padding-inline:1.3rem;display:inline-flex;align-items:center;gap:2.6rem;
}
.marquee svg{width:1rem;height:1rem;opacity:.8;flex:none}

/* ============ MANIFESTO ============ */
.s-manifesto{background:var(--paper);padding-block:var(--sect);position:relative;overflow:hidden}
.mani-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.mani-copy .eyebrow{color:var(--terra)}
.mani-copy .phrase{color:var(--blue);margin-top:1.2rem}
.mani-copy .phrase em{font-style:italic;color:var(--terra)}
.mani-copy .lede-bi{margin-top:1.7rem;color:var(--brown);max-width:30em}
.mani-copy .copy-caps{margin-top:1.5rem;color:var(--brown-soft)}
.mani-stats{margin-top:2.3rem;display:flex;flex-wrap:wrap;gap:.55rem}
.chip{
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;
  border:1px solid rgba(86,64,42,.4);border-radius:999px;padding:.55rem 1rem .45rem;color:var(--brown);
}
.collage-wrap{display:flex;flex-direction:column;gap:1.6rem}
.collage{position:relative;min-height:520px}
.pol{position:absolute;background:var(--paper-2);padding:.6rem .6rem 0;box-shadow:0 14px 38px rgba(86,64,42,.22);border-radius:2px;
  transition:transform .7s cubic-bezier(.16,1,.3,1), box-shadow .7s cubic-bezier(.16,1,.3,1)}
.pol:hover{transform:translateY(-6px) rotate(0deg) !important;z-index:5;box-shadow:0 26px 56px rgba(86,64,42,.3)}
.pol img{width:100%;aspect-ratio:1/1;object-fit:cover;height:auto;border-radius:1px;display:block}
.pol figcaption{font-size:clamp(.92rem,1.35vw,1.1rem);color:var(--brown);text-align:center;padding:.5rem .2rem .6rem;line-height:1.15;text-wrap:balance}
.pol::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-2.5deg);width:64px;height:20px;background:rgba(233,200,145,.7);box-shadow:0 1px 4px rgba(86,64,42,.14);border-radius:1px}
.pol-a{width:47%;left:0;top:3%;transform:rotate(-3.2deg);z-index:2}
.pol-b{width:45%;right:1%;top:0;transform:rotate(2.4deg)}
.pol-c{width:46%;left:5%;bottom:0;transform:rotate(1.8deg)}
.pol-d{width:44%;right:0;bottom:5%;transform:rotate(-2.2deg);z-index:2}
.collage-note{text-align:center;font-size:clamp(1.35rem,2.1vw,1.8rem);color:var(--terra)}
@media (max-width:900px){
  .mani-grid{grid-template-columns:1fr;gap:clamp(2.4rem,7vw,3.4rem)}
  .collage{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(.9rem,3.5vw,1.5rem);align-items:start;max-width:520px;margin-inline:auto;width:100%}
  .pol{position:static;width:auto;padding:.45rem .45rem 0}
  .pol,.pol-a,.pol-b,.pol-c,.pol-d{transform:rotate(-1.6deg)}
  .pol:nth-child(2n),.pol-b,.pol-d{transform:rotate(1.6deg)}
  .pol figcaption{font-size:clamp(.85rem,3.4vw,1rem);min-height:2.5em;display:flex;align-items:center;justify-content:center;padding:.45rem .1rem .5rem}
  .pol::before{width:44px;height:15px;top:-7px}
  .collage-note{margin-top:.4rem}
}
@media (max-width:420px){
  .collage{gap:.7rem}
  .pol figcaption{font-size:.8rem;min-height:2.6em}
}

/* ============ MANIFESTO LONGO ============ */
.s-mani-full{position:relative;background:var(--blue);color:var(--paper);padding-block:clamp(3.8rem,8vw,6.5rem);overflow:hidden;isolation:isolate}
.mf-mandala{position:absolute;right:-16%;top:50%;transform:translateY(-50%);width:min(70vw,620px);aspect-ratio:1;color:rgba(245,235,219,.09);z-index:-1}
.mf-mandala.l{left:-18%;right:auto}
.s-mani-full .eyebrow{color:var(--gold);justify-content:center}
.mf-text{
  margin:1.8rem auto 0;max-width:46em;text-align:center;
  font-family:var(--f-serif);font-style:italic;font-weight:500;
  font-size:clamp(1.02rem,1.55vw,1.24rem);line-height:1.78;
}
.mf-text b{font-weight:700;font-style:italic;color:var(--gold)}
/* filme manifesto */
.mf-video{margin:clamp(2.4rem,5vw,3.6rem) auto 0;max-width:640px;width:100%}
.vplayer{display:block;width:100%;position:relative;border:0;padding:0;margin:0;cursor:pointer;background:none;border-radius:6px;overflow:hidden;box-shadow:0 24px 60px rgba(4,26,30,.5);isolation:isolate}
.vplayer img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.vplayer:hover img{transform:scale(1.04)}
.vplayer::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(4,26,30,.55), rgba(4,26,30,0) 45%, rgba(4,26,30,.15))}
.vplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:74px;height:74px;border-radius:50%;
  background:rgba(245,235,219,.92);color:var(--terra-deep);display:flex;align-items:center;justify-content:center;
  transition:transform .5s cubic-bezier(.16,1,.3,1),background .3s;box-shadow:0 8px 26px rgba(4,26,30,.4)}
.vplay svg{width:30px;height:30px;margin-left:3px}
.vplayer:hover .vplay{transform:translate(-50%,-50%) scale(1.08);background:var(--paper-2)}
.vcap{position:absolute;left:0;right:0;bottom:1rem;z-index:2;text-align:center;color:var(--paper);
  font-family:var(--f-script);font-size:1.6rem;line-height:1;text-shadow:0 2px 18px rgba(4,26,30,.6)}
.vcap span{font-family:var(--f-caps);font-weight:700;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;opacity:.8;vertical-align:middle}
.vplayer video{width:100%;height:auto;display:block;aspect-ratio:16/9;background:#000}

/* ============ AG\00CA NCIAS (faixa discreta) ============ */
.s-ags{background:var(--paper);padding-block:clamp(2.2rem,4.5vw,3.2rem)}
.ags-lab{text-align:center;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;
  letter-spacing:.34em;font-size:.56rem;color:var(--brown-soft)}  /* sem opacity: contraste WCAG AA (5.02:1) */
.ags-strip{margin-top:1.6rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(2rem,5vw,4.4rem);--A:2600}
.ags-strip a{display:inline-flex;align-items:center;opacity:.45;filter:grayscale(1);
  transition:opacity .5s cubic-bezier(.16,1,.3,1), filter .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1)}
.ags-strip a:hover{opacity:1;filter:none;transform:translateY(-2px)}
.ags-strip img{display:block;width:auto;height:calc(sqrt(var(--A) / (var(--w) * var(--h))) * var(--h) * 1px)}
@supports not (height:calc(sqrt(4) * 1px)){.ags-strip img{height:28px}.ags-strip a:last-child img{height:44px}}
@media (max-width:560px){.ags-strip{gap:1.5rem 2.6rem;--A:1700}}

/* ============ LINE-UP ============ */
.s-lineup{position:relative;overflow:hidden;text-align:center;padding-block:var(--sect);isolation:isolate;color:var(--terra-deep)}
.lineup-bg{position:absolute;inset:-8% 0;z-index:-2}
.lineup-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.lineup-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(245,235,219,.72) 0%, rgba(245,235,219,.34) 28%, rgba(240,214,172,.34) 70%, rgba(226,173,119,.86) 94%, rgba(226,173,119,1) 100%)}
.s-lineup .eyebrow{justify-content:center;color:var(--brown)}
.lu-script{font-size:clamp(1.75rem,3.4vw,2.6rem);color:var(--terra);margin-top:.7rem}
.lu-intro{margin:1.4rem auto 0;max-width:46em;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;
  font-size:.66rem;letter-spacing:.11em;line-height:2.15;color:var(--brown)}
.lu-art{--k:min(.43px, .060vw);margin:clamp(2.4rem,5vw,3.4rem) auto 0;display:flex;flex-direction:column;align-items:center;gap:clamp(2.4rem,5vw,3.6rem)}
.lu-art img{width:calc(var(--w) * var(--k));max-width:100%;height:auto}
.lu-tba{margin-top:2.4rem;font-family:var(--f-caps);font-weight:700;letter-spacing:.4em;font-size:.72rem;text-transform:uppercase;color:var(--terra-deep)}

/* ============ BEACH CLUB (TARDE) ============ */
.s-tarde{
  background:linear-gradient(to bottom,#e2ad77 0%,#f0e2c8 16%,#f6ecd9 42%,#f0d9b2 100%);
  padding-block:var(--sect);position:relative;overflow:hidden;
}
.s-tarde .eyebrow{color:var(--blue);justify-content:center}
.s-tarde .eyebrow .st{color:var(--blue)}
.tarde-script{text-align:center;font-size:clamp(1.85rem,3.7vw,2.8rem);color:var(--brown);margin-top:.7rem}
.tarde-sub{text-align:center;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.28em;font-size:.66rem;color:var(--brown-soft);margin-top:.9rem}
.prog{--k:min(.36px, .075vw);margin-top:clamp(2.6rem,6vw,4rem);display:flex;flex-direction:column;align-items:center;gap:clamp(2.4rem,5vw,3.6rem)}
.prog img{width:calc(var(--w) * var(--k));max-width:100%;height:auto}
.prog-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:clamp(1.6rem,4.5vw,3.4rem);width:100%}


/* ============ WELLNESS ============ */
.s-wellness{background:var(--paper-2);padding-block:var(--sect);position:relative;overflow:hidden}
.s-wellness .eyebrow{color:var(--blue)}
.well-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:end}
.well-head .phrase{color:var(--blue);margin-top:1.1rem;font-size:clamp(1.9rem,4vw,3.1rem)}
.well-head .copy-caps{color:var(--brown-soft)}
.well-grid{margin-top:clamp(2.4rem,5vw,3.4rem);display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(86,64,42,.22);border:1px solid rgba(86,64,42,.22);border-radius:4px;overflow:hidden}
.well-item{background:var(--paper-2);padding:1.5rem 1.3rem 1.6rem;display:flex;flex-direction:column;gap:.55rem;min-height:150px;transition:background .3s}
.well-item:hover{background:#fffaf2}
.well-item .n{font-family:var(--f-caps);font-weight:700;font-size:.58rem;letter-spacing:.22em;color:var(--terra);opacity:.75}
.well-item h3{font-family:var(--f-serif);font-weight:700;text-transform:uppercase;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.1;color:var(--brown)}
.well-item p{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.56rem;letter-spacing:.16em;line-height:1.9;color:var(--brown-soft);margin-top:auto}
.well-photo{position:relative;overflow:hidden;min-height:150px}
.well-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
@media (max-width:980px){.well-head{grid-template-columns:1fr}.well-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.well-grid{grid-template-columns:1fr}}

/* ============ TRANSI\00C7 \00C3 O ============ */
.s-dusk{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;isolation:isolate;overflow:hidden;background:var(--night-deep)}
.s-dusk img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;object-position:center 68%;z-index:-2}
.s-dusk::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom, rgba(240,217,178,.92) 0%, rgba(224,150,84,.18) 26%, rgba(18,40,60,.34) 70%, var(--night-deep) 100%)}
.dusk-script{font-size:clamp(1.7rem,3.4vw,2.7rem);color:var(--paper);text-shadow:0 2px 34px rgba(18,40,60,.55);padding-inline:var(--edge);max-width:22em;margin-inline:auto}
.dusk-sub{margin-top:1rem;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.4em;font-size:.68rem;color:var(--gold)}

/* ============ ARENA (NOITE) ============ */
.s-noite{
  background:radial-gradient(90% 50% at 50% 0%, rgba(43,88,118,.5) 0%, rgba(43,88,118,0) 60%),
             linear-gradient(to bottom, var(--night-deep) 0%, var(--night) 55%, #16304a 100%);
  color:var(--sand);padding-block:var(--sect);position:relative;overflow:hidden;
}
.s-noite .eyebrow{color:var(--gold);justify-content:center}
.s-noite .eyebrow .st{color:var(--gold)}
.noite-script{text-align:center;font-size:clamp(1.85rem,3.7vw,2.8rem);color:var(--paper);margin-top:.7rem}
.noite-sub{text-align:center;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.3em;font-size:.66rem;color:rgba(231,221,212,.68);margin-top:.9rem}
.noites{margin-top:clamp(2.6rem,6vw,3.8rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem}
.noite{
  border:1px solid rgba(233,200,145,.22);border-radius:4px;padding:clamp(1.6rem,3vw,2.2rem) 1.4rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;
  background:rgba(233,200,145,.035);transition:background .35s,border-color .35s,transform .35s;
}
.noite:hover{background:rgba(233,200,145,.075);border-color:rgba(233,200,145,.4);transform:translateY(-3px)}
.noite-tag{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:center}
.noite-tag b{background:var(--terra);color:var(--paper-2);font-family:var(--f-caps);font-weight:700;font-size:.6rem;letter-spacing:.18em;padding:.42rem .62rem .34rem;border-radius:2px}
.noite-tag span{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.26em;font-size:.6rem;color:var(--gold)}
.noite-h1{font-family:var(--f-serif);font-weight:700;text-transform:uppercase;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.05;color:var(--paper);letter-spacing:.01em}
.noite-h2{font-family:var(--f-serif);font-weight:700;text-transform:uppercase;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.15;color:var(--gold);letter-spacing:.02em}
.noite-h3{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.6rem;letter-spacing:.24em;color:rgba(231,221,212,.72);line-height:1.9}
.noite-open{
  margin-top:.5rem;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;
  letter-spacing:.2em;font-size:.58rem;color:var(--gold);line-height:1.9;
  border-top:1px solid rgba(233,200,145,.24);padding-top:.85rem;width:100%;
}
.noite.virada{grid-column:1 / -1;background:linear-gradient(120deg, rgba(172,77,54,.26), rgba(233,200,145,.07));border-color:rgba(233,200,145,.45)}
.noite.virada .noite-h1{color:var(--gold);font-size:clamp(1.9rem,4vw,3rem)}
.noites-note{margin-top:1.8rem;text-align:center;font-family:var(--f-caps);font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.58rem;color:rgba(231,221,212,.5)}
@media (max-width:820px){.noites{grid-template-columns:1fr}}

/* ============ INGRESSOS ============ */
.s-tickets{background:var(--paper);padding-block:var(--sect) clamp(2.6rem,5vw,4rem)}
.s-tickets .eyebrow{color:var(--terra)}
.s-tickets .phrase{color:var(--blue);margin-top:1.1rem}
.s-tickets .phrase em{font-style:italic;color:var(--terra)}
.tickets{margin-top:3rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem;align-items:stretch}
.ticket{--tbg:var(--paper-2);position:relative;display:grid;grid-template-columns:86px minmax(0,1fr);border-radius:6px;filter:drop-shadow(0 18px 38px rgba(86,64,42,.22));min-width:0}
.ticket::before,.ticket::after{content:"";position:absolute;left:77px;width:18px;height:18px;border-radius:50%;background:var(--paper);z-index:2}
.ticket::before{top:-9px}
.ticket::after{bottom:-9px}
.ticket-stub{background:var(--tbg);border-radius:6px 0 0 6px;border-right:2px dashed rgba(86,64,42,.35);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1.2rem 0}
.ticket-stub .st{width:26px;height:26px;color:var(--terra)}
.ticket-stub span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--f-caps);font-weight:700;letter-spacing:.3em;font-size:.58rem;text-transform:uppercase;color:var(--brown-soft)}
.ticket-main{background:var(--tbg);border-radius:0 6px 6px 0;padding:clamp(1.6rem,3vw,2.3rem);display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.ticket h3{font-family:var(--f-serif);font-weight:700;text-transform:uppercase;font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.03;color:var(--blue)}
.ticket-sub{font-family:var(--f-serif);font-style:italic;font-weight:600;font-size:1.05rem;color:var(--brown-soft)}
.ticket ul{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}
.ticket li{display:flex;gap:.75rem;align-items:flex-start;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.62rem;letter-spacing:.09em;line-height:1.75;color:var(--brown)}
.ticket li svg{flex:none;margin-top:.25em;color:var(--terra)}
.ticket .btn{margin-top:auto}
.ticket.destaque{--tbg:var(--blue)}
.ticket.destaque h3{color:var(--paper)}
.ticket.destaque .ticket-sub{color:var(--gold)}
.ticket.destaque li{color:var(--sand)}
.ticket.destaque li svg{color:var(--gold)}
.ticket.destaque .ticket-stub{border-right-color:rgba(231,221,212,.42)}
.ticket.destaque .ticket-stub .st{color:var(--gold)}
.ticket.destaque .ticket-stub span{color:rgba(231,221,212,.82)}
.ticket-flag{position:absolute;top:-12px;right:1.6rem;background:var(--terra);color:var(--paper-2);font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.55rem;padding:.5rem .8rem .42rem;border-radius:2px;box-shadow:0 6px 16px rgba(138,58,39,.35);z-index:3}
.aviso{
  margin-top:1.8rem;display:flex;align-items:center;justify-content:center;gap:.9rem;text-align:center;
  border:1.5px dashed var(--terra);border-radius:4px;background:rgba(172,77,54,.07);padding:1.05rem 1.3rem;
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.64rem;color:var(--terra-deep);
}
.aviso .st{width:1.1rem;height:1.1rem;flex:none;color:var(--terra)}
.tk-notes{margin-top:1.6rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(86,64,42,.25);border:1px solid rgba(86,64,42,.25);border-radius:4px;overflow:hidden}
.tk-notes div{background:var(--paper-2);padding:1.05rem 1.15rem;display:flex;flex-direction:column;gap:.35rem}
.tk-notes b{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.6rem;color:var(--terra)}
.tk-notes span{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.56rem;letter-spacing:.1em;color:var(--brown-soft);line-height:1.85}
@media (max-width:900px){.tickets{grid-template-columns:1fr}.tk-notes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:540px){.tk-notes{grid-template-columns:1fr}}

/* ============ CUMBUCO / LOCAL ============ */
.s-local{background:var(--paper);padding-block:clamp(2.6rem,5vw,4rem) var(--sect)}
.s-local .eyebrow{color:var(--terra)}
.local-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.2rem,5vw,4.5rem);align-items:center}
.local-grid.rev{direction:rtl}
.local-grid.rev>*{direction:ltr}
.local-txt .phrase{color:var(--blue);margin-top:1rem;font-size:clamp(1.9rem,4vw,3rem)}
.local-txt .copy-caps{margin-top:1.3rem;color:var(--brown-soft)}
.local-tags{margin-top:1.7rem;display:flex;flex-wrap:wrap;gap:.5rem}
.local-photo{position:relative;overflow:hidden;border-radius:4px;box-shadow:0 22px 50px rgba(86,64,42,.25)}
.local-photo img{width:100%;height:auto}
.local-cap{
  position:absolute;left:1rem;bottom:.9rem;color:var(--paper-2);
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.56rem;
  text-shadow:0 1px 12px rgba(60,30,10,.7);display:flex;align-items:center;gap:.6rem;
}
.local-cap::before{content:"";width:1.4rem;height:1px;background:currentColor}
.local-sep{height:clamp(3rem,7vw,5rem)}
@media (max-width:900px){.local-grid,.local-grid.rev{grid-template-columns:1fr;direction:ltr}}

/* estrutura exclusiva \2014  faixa azul */
.s-estrutura{background:var(--blue);color:var(--paper);padding-block:clamp(3.6rem,8vw,6rem);position:relative;overflow:hidden;isolation:isolate}
.s-estrutura .eyebrow{color:var(--gold);justify-content:center}
.s-estrutura .eyebrow .st{color:var(--gold)}
.est-title{text-align:center;font-family:var(--f-serif);font-weight:700;font-style:italic;font-size:clamp(1.55rem,2.9vw,2.35rem);line-height:1.12;margin:1.1rem auto 0;max-width:20em;text-wrap:balance}
.est-copy{margin:1.5rem auto 0;text-align:center;max-width:44em;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em;line-height:2.1;color:rgba(245,235,219,.85)}
.est-marks{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.est-marks .chip{border-color:rgba(245,235,219,.45);color:var(--paper)}

/* ============ HOSPEDAGEM ============ */
.s-hotel{background:var(--paper-2);padding-block:var(--sect)}
.s-hotel .eyebrow{color:var(--terra)}
.hotel-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2.2rem,5vw,4.5rem);align-items:center}
.hotel-grid .phrase{color:var(--blue);margin-top:1rem;font-size:clamp(1.8rem,3.6vw,2.8rem)}
.hotel-badge{
  display:inline-flex;align-items:center;gap:.6rem;margin-top:1.3rem;
  background:var(--blue);color:var(--paper-2);font-family:var(--f-caps);font-weight:700;
  text-transform:uppercase;letter-spacing:.22em;font-size:.58rem;padding:.6rem .95rem .5rem;border-radius:2px;
}
.hotel-badge .st{width:.95rem;height:.95rem}
.hotel-grid .copy-caps{margin-top:1.3rem;color:var(--brown-soft)}
@media (max-width:900px){.hotel-grid{grid-template-columns:1fr}}

/* ============ INJOY ============ */
.s-viagem{background:linear-gradient(160deg, var(--terra) 0%, var(--terra-deep) 100%);color:var(--paper);padding-block:var(--sect);position:relative;overflow:hidden;isolation:isolate}
.viagem-mandala{position:absolute;right:-10%;top:-22%;width:min(70vw,520px);aspect-ratio:1;color:rgba(245,235,219,.10);z-index:-1}
.viagem-head{text-align:center;position:relative}
.s-viagem .eyebrow{justify-content:center;color:var(--gold)}
.s-viagem .eyebrow .st{color:var(--gold)}
.viagem-script{font-family:var(--f-serif);font-weight:700;font-style:italic;text-transform:none;
  font-size:clamp(1.6rem,3.1vw,2.5rem);line-height:1.18;letter-spacing:0;color:var(--paper);margin-top:.75rem;text-wrap:balance}
.postal{margin:3rem auto 0;max-width:1000px;background:var(--paper-2);color:var(--brown);border-radius:6px;box-shadow:0 30px 70px rgba(60,20,10,.4);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);position:relative;overflow:hidden}
.postal::before{
  content:"";position:absolute;inset:0;border-radius:6px;padding:9px;pointer-events:none;
  background:repeating-linear-gradient(45deg, var(--terra) 0 14px, var(--paper-2) 14px 28px, var(--blue) 28px 42px, var(--paper-2) 42px 56px);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:.85;
}
.postal-l{padding:clamp(1.9rem,3.6vw,2.9rem);display:flex;flex-direction:column;gap:1.1rem;position:relative;min-width:0}
.postal-l .script{font-size:clamp(1.55rem,2.6vw,2.05rem);color:var(--terra)}
.postal-l p.copy-caps{color:var(--brown-soft);font-size:.66rem;line-height:2.1}
.postal-lines{margin-top:auto;display:flex;flex-direction:column;gap:1.25rem;padding-top:1.6rem}
.postal-lines i{display:block;border-bottom:1px solid rgba(86,64,42,.35);font-style:normal;position:relative;height:1.5rem}
.postal-lines i::after{content:attr(data-l);position:absolute;left:0;bottom:.28rem;font-family:var(--f-script);font-size:1.3rem;color:var(--brown);white-space:nowrap}
.postal-r{border-left:1px solid rgba(86,64,42,.25);padding:clamp(1.9rem,3.6vw,2.9rem);display:flex;flex-direction:column;gap:1.2rem;position:relative;min-width:0}
.postal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;min-height:118px}
.injoy-logo{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.injoy-logo img{height:74px;width:auto}
.injoy-logo small{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.5rem;color:var(--brown-soft);line-height:1.7;max-width:12em}
.stamp{width:88px;background:var(--blue);color:var(--paper-2);flex:none;border:6px solid var(--paper-2);outline:2px dashed rgba(13,103,113,.55);outline-offset:-9px;padding:.85rem .5rem .55rem;text-align:center;transform:rotate(2.5deg);box-shadow:0 6px 18px rgba(86,64,42,.25)}
.stamp svg{width:100%;height:auto;color:var(--paper-2)}
.stamp small{display:block;font-family:var(--f-caps);font-weight:700;font-size:.42rem;letter-spacing:.2em;margin-top:.5rem;text-transform:uppercase}
.postal-r h3{font-family:var(--f-serif);font-weight:700;text-transform:uppercase;font-size:1.35rem;color:var(--blue);margin-top:.2rem}
.postal-r ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}
.postal-r li{display:flex;gap:.7rem;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.6rem;letter-spacing:.09em;line-height:1.85;color:var(--brown)}
.postal-r li svg{flex:none;margin-top:.3em;color:var(--terra)}
.postmark{position:relative;align-self:center;margin-right:-2.4rem;width:84px;height:84px;border:2px solid rgba(86,64,42,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-8deg);opacity:.6;font-family:var(--f-caps);font-weight:700;font-size:.42rem;letter-spacing:.12em;line-height:1.8;text-transform:uppercase;color:var(--brown);pointer-events:none}
@media (max-width:880px){
  .postal{grid-template-columns:1fr}
  .postal-r{border-left:none;border-top:1px solid rgba(86,64,42,.25)}
  .postal-lines{display:none}
  .postmark{display:none}
}
/* pacotes INJOY */
.pack-lab{margin:clamp(3rem,6vw,4.5rem) auto 0;text-align:center;font-family:var(--f-caps);font-weight:700;
  text-transform:uppercase;letter-spacing:.34em;font-size:.66rem;color:var(--gold)}
.pack-grid{margin:1.8rem auto 0;max-width:1000px;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.pack-card{position:relative;display:flex;flex-direction:column;gap:.7rem;text-decoration:none;
  background:rgba(245,235,219,.08);border:1px solid rgba(245,235,219,.22);border-radius:5px;
  padding:1.5rem 1.4rem 1.35rem;color:var(--paper);overflow:hidden;
  transition:background .45s cubic-bezier(.16,1,.3,1),border-color .45s,transform .45s}
.pack-card:hover{background:var(--paper-2);border-color:var(--paper-2);transform:translateY(-4px)}
.pack-card h3{font-family:var(--f-serif);font-weight:700;text-transform:uppercase;font-size:clamp(1.15rem,1.7vw,1.4rem);
  line-height:1.1;color:var(--paper);letter-spacing:.01em;transition:color .45s}
.pack-card h3 i{font-style:normal;color:var(--gold);font-weight:600;padding:0 .12em}
.pack-card p{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.58rem;
  letter-spacing:.09em;line-height:1.85;color:rgba(245,235,219,.78);transition:color .45s}
.pack-card .pack-go{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.58rem;letter-spacing:.2em;
  color:var(--gold);transition:color .45s}
.pack-card:hover h3{color:var(--terra-deep)}
.pack-card:hover p{color:var(--brown-soft)}
.pack-card:hover .pack-go{color:var(--terra-deep)}
.pack-card.feat{background:var(--paper-2);border-color:var(--paper-2)}
.pack-card.feat h3{color:var(--terra-deep)}
.pack-card.feat h3 i{color:var(--terra)}
.pack-card.feat p{color:var(--brown-soft)}
.pack-card.feat .pack-go{color:var(--terra-deep)}
.pack-card.feat:hover{transform:translateY(-4px)}
.pack-flag{display:inline-block;width:max-content;background:var(--terra);color:var(--paper-2);
  font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.5rem;
  padding:.4rem .65rem .32rem;border-radius:2px;margin-bottom:.2rem}
.injoy-stats{margin:clamp(2.4rem,5vw,3.4rem) auto 0;text-align:center}
.injoy-stats-lab{font-family:var(--f-serif);font-style:italic;font-weight:600;font-size:clamp(1.15rem,2vw,1.5rem);color:var(--paper)}
.injoy-nums{margin-top:1.3rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1.8rem}
.injoy-nums>div{display:flex;flex-direction:column;gap:.2rem}
.injoy-nums b{font-family:var(--f-serif);font-weight:700;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.injoy-nums small{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.54rem;color:rgba(245,235,219,.8)}
.injoy-nums .sep{width:1px;height:2.4rem;background:rgba(245,235,219,.3)}
@media (max-width:820px){.pack-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:540px){.pack-grid{grid-template-columns:1fr}.injoy-nums .sep{display:none}}

/* ============ FAQ ============ */
.s-faq{background:var(--paper);padding-block:var(--sect)}
.s-faq .eyebrow{color:var(--terra);justify-content:center}
.s-faq .phrase{color:var(--blue);text-align:center;margin:1.1rem auto 0}
.s-faq .phrase em{font-style:italic;color:var(--terra)}
.faq-list{margin:clamp(2.6rem,5vw,3.6rem) auto 0;max-width:820px;border-top:1px solid rgba(86,64,42,.2)}
.faq-item{border-bottom:1px solid rgba(86,64,42,.2)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  padding:1.25rem .2rem;font-family:var(--f-serif);font-weight:700;font-size:clamp(1.1rem,1.9vw,1.45rem);
  color:var(--brown);line-height:1.25;transition:color .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--terra)}
.faq-ic{position:relative;flex:none;width:18px;height:18px;margin-top:.15em}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;background:var(--terra);border-radius:2px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s}
.faq-ic::before{top:8px;left:0;width:18px;height:2px}
.faq-ic::after{top:0;left:8px;width:2px;height:18px}
.faq-item[open] .faq-ic::after{transform:rotate(90deg);opacity:0}
.faq-a{overflow:hidden;padding:0 .2rem}
.faq-a p{max-width:64ch;font-family:var(--f-caps);font-weight:700;text-transform:none;font-size:.82rem;
  letter-spacing:.005em;line-height:1.75;color:var(--brown-soft);padding-bottom:1.35rem}
.faq-a p b{color:var(--brown);font-weight:700}
.faq-item[open] .faq-a{animation:faqin .5s cubic-bezier(.16,1,.3,1)}
@keyframes faqin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ============ CONCIERGE ============ */
.s-conc{background:var(--paper);padding-block:clamp(3.5rem,8vw,6rem)}
.conc-card{max-width:900px;margin-inline:auto;background:var(--paper-2);border:1px solid rgba(86,64,42,.2);border-radius:6px;padding:clamp(1.8rem,4vw,2.8rem);display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2.5rem;justify-content:space-between;box-shadow:0 16px 40px rgba(86,64,42,.12)}
.conc-card .script{font-size:clamp(1.6rem,2.8vw,2.15rem);color:var(--terra)}
.conc-card p:not(.script){font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.62rem;letter-spacing:.1em;line-height:1.95;color:var(--brown-soft);max-width:28em;margin-top:.5rem}
.conc-num{font-family:var(--f-serif);font-weight:700;font-size:1.4rem;color:var(--blue);font-variant-numeric:tabular-nums}

/* ============ CAPTA\00C7 \00C3 O DE LEADS ============ */
.s-lead{position:relative;overflow:hidden;isolation:isolate;background:var(--blue);color:var(--paper);padding-block:var(--sect)}
.lead-mandala{position:absolute;right:-14%;bottom:-30%;width:min(60vw,520px);aspect-ratio:1;color:rgba(245,235,219,.08);z-index:-1}
.lead-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.4rem,6vw,5rem);align-items:center}
.s-lead .eyebrow{color:var(--gold)}
.s-lead .eyebrow .st{color:var(--gold)}
.s-lead .phrase{color:var(--paper);margin-top:1rem}
.s-lead .phrase em{font-style:italic;color:var(--gold)}
.lead-lede{margin-top:1.3rem;font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.55;color:rgba(245,235,219,.92);max-width:26em}
.lead-wa{margin-top:1.8rem}
.lead-form{background:var(--paper-2);border-radius:6px;padding:clamp(1.7rem,3.4vw,2.4rem);display:flex;flex-direction:column;gap:1rem;box-shadow:0 26px 60px rgba(4,26,30,.4)}
.lead-form label{display:flex;flex-direction:column;gap:.5rem;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.58rem;color:var(--brown-soft)}
.lead-form label span{color:var(--terra)}
.lead-form input{font-family:var(--f-caps);font-weight:700;font-size:16px;letter-spacing:0;text-transform:none;color:var(--brown);
  background:var(--paper);border:1px solid rgba(86,64,42,.28);border-radius:3px;padding:.9rem .9rem;transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;appearance:none}
.lead-form input::placeholder{color:rgba(122,95,66,.5)}
.lead-form input:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(172,77,54,.14)}
.lead-form input:user-invalid{border-color:var(--terra-deep)}
.lead-form .btn{margin-top:.3rem;width:100%}

/* formulario embedado (HighLevel) — sem card proprio: o form ja traz o dele */
.lead-embed{display:flex;flex-direction:column;gap:1rem}
/* min-height baixo de proposito: o form_embed.js define a altura real (~403px) inline */
.lead-embed iframe{
  display:block;width:100%;min-height:403px;border:0;border-radius:18px;
  background:transparent;color-scheme:light;
}
/* o Lenis zera pointer-events de iframes durante a rolagem: reativa no formulario */
.lenis.lenis-smooth .lead-embed iframe{pointer-events:auto}
/* a nota agora fica sobre o azul da secao, nao mais sobre o card creme */
.lead-embed .lead-note{color:rgba(245,235,219,.6)}

.lead-note{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.5rem;color:var(--brown-soft);opacity:.7;text-align:center}
.lead-ok{font-family:var(--f-serif);font-style:italic;font-weight:600;font-size:1.05rem;color:var(--blue);text-align:center;line-height:1.4}
@media (max-width:860px){.lead-grid{grid-template-columns:1fr}}

/* ============ FOOTER ============ */
.footer{background:var(--blue);color:var(--sand);padding:4rem 0 3.5rem;position:relative;overflow:hidden;isolation:isolate}
.footer-mandala{position:absolute;left:-9%;bottom:-42%;width:min(64vw,440px);aspect-ratio:1;color:rgba(245,235,219,.10);z-index:-1}
.footer-grid{display:flex;flex-wrap:wrap;gap:2.6rem;justify-content:space-between;align-items:flex-start;text-align:left}
.footer-logo{color:var(--paper);display:flex;flex-direction:column;align-items:flex-start}
.footer-logo svg{height:44px;width:auto;display:block;margin:0}
.footer-logo small{display:block;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.56rem;opacity:.72;margin-top:1.1rem;line-height:2.1;text-align:left}
.footer-col b{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.26em;font-size:.6rem;color:var(--gold-soft);display:block;margin-bottom:.9rem}
.footer .footer-col a{display:flex;align-items:center;gap:.55rem;font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.6rem;letter-spacing:.12em;text-decoration:none;opacity:.85;margin-bottom:.7rem;color:var(--paper-2)!important}
.footer .footer-col a:hover{opacity:1;color:var(--gold)!important}
.footer-col a svg{width:.95rem;height:.95rem;flex:none}
.footer-col p{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;font-size:.6rem;letter-spacing:.12em;opacity:.85;line-height:2.1;max-width:22em}
.ag-col{max-width:26rem}
/* logos lado a lado, todas com a MESMA \00E1 rea visual (propor\00E7 \00E3 o real via --w/--h) */
.ags{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem 1.7rem;--A:1050}
.ags a{display:inline-flex;align-items:center;margin:0;opacity:.85;transition:opacity .35s ease,transform .35s ease}
.ags a:hover{opacity:1;transform:translateY(-2px)}
.footer .ags img{display:block;width:auto;height:calc(sqrt(var(--A) / (var(--w) * var(--h))) * var(--h) * 1px);filter:brightness(0) saturate(100%) invert(96%) sepia(12%) saturate(352%) hue-rotate(326deg) brightness(105%) contrast(98%)}
@supports not (height:calc(sqrt(4) * 1px)){.ags img{height:22px}.ags a:last-child img{height:30px}}
.footer-end{margin-top:3.2rem;padding-top:1.6rem;border-top:1px solid rgba(231,221,212,.18);display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
.footer-end .script{font-family:var(--f-serif);font-weight:700;font-style:italic;text-transform:none;
  font-size:clamp(1.25rem,2.1vw,1.65rem);line-height:1.2;letter-spacing:0;color:var(--gold)}
.footer-end small{font-family:var(--f-caps);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.55rem;opacity:.6}
@media (max-width:760px){.footer{padding-bottom:8.5rem}}

/* CTA fixa mobile */
.sticky-cta{position:fixed;inset-inline:0;bottom:0;z-index:70;display:none;padding:.75rem var(--edge) calc(.75rem + env(safe-area-inset-bottom));background:rgba(245,235,219,.95);backdrop-filter:blur(10px);border-top:1px solid rgba(86,64,42,.2)}
.sticky-cta .btn{width:100%}
@media (max-width:760px){.sticky-cta{display:block}}
