:root{
  --vinho:#7a063f;
  --vinho-escuro:#35051f;
  --rosa:#d92e79;
  --rosa-claro:#f7c7d9;
  --rosa-suave:#fcedf3;
  --papel:#fffafc;
  --branco:#fff;
  --texto:#2f1020;
  --texto-suave:#735265;
  --linha:rgba(122,6,63,.18);
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--vinho-escuro)}
body{margin:0;overflow-x:hidden;color:var(--texto);background:var(--papel);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,p{margin-top:0}
h1,h2{margin-bottom:0;font-family:var(--serif);font-weight:600;line-height:1;letter-spacing:-.035em}
em{color:var(--rosa);font-weight:600}
.skip-link{position:fixed;z-index:999;top:10px;left:10px;padding:10px 14px;border-radius:6px;color:var(--branco);background:var(--vinho);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.eyebrow{margin-bottom:18px;color:var(--vinho);font-size:.76rem;font-weight:700;letter-spacing:.16em}

.topbar{position:absolute;z-index:20;top:0;left:0;right:0;width:min(1380px,calc(100% - 48px));height:94px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--linha)}
.wordmark{display:flex;align-items:center;gap:12px;width:max-content;color:var(--vinho);font-size:.68rem;font-weight:700;letter-spacing:.1em;line-height:1.2;text-decoration:none}
.wordmark img{width:48px;height:48px;border-radius:50%}
.event-date{color:var(--vinho);font-family:var(--serif);font-size:1rem;font-weight:600;letter-spacing:.04em}
.nav-pill{justify-self:end;padding:9px 17px;border:1px solid var(--linha);border-radius:999px;color:var(--vinho);font-size:.7rem;font-weight:700;letter-spacing:.11em;text-decoration:none;transition:color .2s,background .2s}
.nav-pill:hover{color:var(--branco);background:var(--vinho)}

.campaign-hero{min-height:100svh;padding:126px max(24px,calc((100vw - 1380px)/2)) 76px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(44px,6vw,94px);align-items:center;background:var(--papel)}
.hero-media{height:min(74svh,720px);min-height:500px;overflow:hidden;border-radius:4px;background:var(--rosa-suave)}
.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-copy{max-width:700px}
.hero-copy h1{font-size:clamp(4.1rem,6.8vw,7.4rem)}
.hero-copy h1 em{font-style:italic}
.hero-lead{max-width:610px;margin:32px 0 0;color:var(--texto-suave);font-size:1.06rem}
.hero-lead strong{color:var(--vinho)}
.hero-prices{margin:30px 0;display:flex;align-items:center;gap:28px}
.hero-prices span{display:flex;align-items:baseline;gap:8px;color:var(--vinho);font-family:var(--serif);font-size:2.2rem;font-weight:600}
.hero-prices small{font-family:var(--sans);font-size:.65rem;font-weight:700;letter-spacing:.12em}
.hero-prices i{width:1px;height:32px;background:var(--linha)}
.primary-cta{min-height:58px;padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--vinho);border-radius:3px;color:var(--branco);background:var(--vinho);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-align:center;text-decoration:none;transition:color .2s,background .2s,transform .2s}
.primary-cta:hover{color:var(--vinho);background:transparent;transform:translateY(-2px)}
.cta-note{margin:12px 0 0;color:var(--texto-suave);font-size:.82rem}

.drop-section{padding:clamp(100px,10vw,150px) max(22px,calc((100vw - 1180px)/2));background:var(--rosa-suave)}
.section-heading{max-width:820px;margin:0 auto 62px;text-align:center}
.section-heading h2{font-size:clamp(3.9rem,7.5vw,7rem)}
.section-heading h2 em{font-style:italic}
.section-heading>p:last-child{max-width:600px;margin:28px auto 0;color:var(--texto-suave);font-size:1.02rem}
.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.price-card{min-width:0;min-height:390px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--linha);border-radius:4px;color:var(--vinho);background:var(--branco)}
.price-card-featured{color:var(--branco);background:var(--rosa);border-color:var(--rosa)}
.card-top{display:flex;justify-content:space-between;gap:18px;font-size:.7rem;font-weight:700;letter-spacing:.13em}
.card-top small{font-size:.62rem;opacity:.65}
.price{display:flex;align-items:flex-start;justify-content:center;white-space:nowrap}
.price small{margin:.8em .08em 0 0;font-size:1.15rem;font-weight:700}
.price strong{font-family:var(--serif);font-size:clamp(8.5rem,16vw,13rem);font-weight:600;line-height:.74;letter-spacing:-.08em}
.price-card>p{margin:0;padding-top:18px;border-top:1px solid currentColor;opacity:.72;font-size:.86rem}
.event-flow{margin-top:42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.event-flow>div{min-width:0;padding:28px}
.event-flow>div+div{border-left:1px solid var(--linha)}
.event-flow span{display:block;margin-bottom:10px;color:var(--rosa);font-family:var(--serif);font-size:1.5rem}
.event-flow strong{display:block;color:var(--vinho);font-size:.72rem;letter-spacing:.11em}
.event-flow p{margin:7px 0 0;color:var(--texto-suave);font-size:.88rem}

.vip-section{padding:clamp(100px,11vw,160px) max(24px,calc((100vw - 1250px)/2));display:grid;grid-template-columns:.34fr 1fr .72fr;gap:clamp(34px,5vw,70px);align-items:center;color:var(--branco);background:var(--vinho-escuro)}
.vip-section .eyebrow{color:var(--rosa-claro)}
.vip-mark{padding:26px 0;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}
.vip-mark span{display:block;color:var(--rosa-claro);font-family:var(--serif);font-size:4.8rem;line-height:.85}
.vip-mark small{display:block;margin-top:14px;color:rgba(255,255,255,.6);font-size:.62rem;font-weight:700;letter-spacing:.14em}
.vip-copy h2{font-size:clamp(3.9rem,6.8vw,7.2rem)}
.vip-copy h2 em{color:var(--rosa-claro);font-style:italic}
.vip-copy>p:last-child{max-width:520px;margin:28px 0 0;color:rgba(255,255,255,.68)}
.vip-benefits{display:grid}
.vip-benefits>span{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.71rem;font-weight:700;letter-spacing:.09em}
.vip-benefits .primary-cta{margin-top:28px;border-color:var(--rosa-claro);color:var(--vinho-escuro);background:var(--rosa-claro)}
.vip-benefits .primary-cta:hover{color:var(--rosa-claro);background:transparent}
.vip-benefits>small{margin-top:11px;color:rgba(255,255,255,.55);text-align:center;font-size:.62rem;font-weight:700;letter-spacing:.1em}

.location-section{padding:clamp(90px,10vw,145px) max(24px,calc((100vw - 1080px)/2));display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(42px,7vw,96px);align-items:center;background:var(--papel)}
.location-number{min-height:310px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--linha);color:var(--vinho);background:var(--rosa-suave)}
.location-number span{font-size:.7rem;font-weight:700;letter-spacing:.15em}
.location-number strong{margin-top:auto;font-family:var(--serif);font-size:clamp(3.5rem,6vw,5.5rem);font-weight:600;line-height:1}
.location-number small{margin-top:10px;color:var(--rosa);font-size:.8rem;font-weight:700;letter-spacing:.14em}
.location-copy h2{font-size:clamp(3.8rem,6.5vw,6.6rem)}
.location-copy h2 em{font-style:italic}
.location-copy>p{margin:28px 0;color:var(--texto-suave)}
.secondary-cta{min-height:54px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;border-bottom:1px solid var(--vinho);color:var(--vinho);font-size:.72rem;font-weight:700;letter-spacing:.11em;text-decoration:none}
.secondary-cta:hover{color:var(--rosa)}

.final-cta{padding:clamp(96px,11vw,155px) max(24px,calc((100vw - 1160px)/2)) 145px;display:grid;grid-template-columns:auto 1fr;gap:clamp(36px,6vw,76px);align-items:center;color:var(--vinho);background:var(--rosa-claro)}
.final-cta .eyebrow{color:var(--vinho)}
.final-cta h2{font-size:clamp(3.7rem,6.8vw,7rem)}
.final-cta h2 em{color:var(--vinho);font-style:italic}
.final-logo{width:clamp(120px,16vw,220px)}
.final-logo img{border-radius:50%}
.final-cta>.primary-cta{grid-column:2;width:max-content}

.footer{padding:36px max(24px,calc((100vw - 1220px)/2)) 118px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;color:rgba(255,255,255,.66);background:#230012;font-size:.66rem;letter-spacing:.1em}
.footer>span{color:var(--rosa-claro);font-weight:700}
.footer p{margin:0}
.footer div{display:flex;gap:24px}
.footer a{font-weight:700;text-underline-offset:5px}
.sticky-vip{position:fixed;z-index:100;left:50%;bottom:max(14px,env(safe-area-inset-bottom));width:min(660px,calc(100% - 28px));padding:8px 8px 8px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.16);border-radius:4px;color:var(--branco);background:rgba(53,5,31,.95);box-shadow:0 12px 30px rgba(0,0,0,.18);transform:translateX(-50%)}
.sticky-vip>span{display:flex;align-items:center;gap:8px;font-size:.62rem;letter-spacing:.1em}
.sticky-vip i,.bio-footer i{width:7px;height:7px;border-radius:50%;background:#35d67e}
.sticky-vip a{padding:12px 16px;border-radius:2px;color:#173924;background:#54e493;font-size:.64rem;font-weight:700;letter-spacing:.07em;text-decoration:none}

.motion-up,.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease var(--delay,0ms),transform .8s cubic-bezier(.16,1,.3,1) var(--delay,0ms)}
.is-visible{opacity:1;transform:translateY(0)}

/* Biosite */
.bio-body{min-height:100svh;color:var(--texto);background:var(--rosa-suave)}
.bio-video,.bio-shade,.film-grain{display:none}
.bio-shell{width:min(600px,calc(100% - 28px));margin:0 auto;padding:24px 0 70px}
.bio-back{display:inline-block;padding:8px 0;color:var(--vinho);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-underline-offset:5px}
.bio-profile{padding:28px 0 30px;text-align:center}
.bio-logo{width:120px;margin:0 auto 20px}
.bio-logo img{border-radius:50%}
.bio-profile .micro-label{margin-bottom:10px;color:var(--rosa);font-size:.7rem;font-weight:700;letter-spacing:.14em}
.bio-profile h1{font-size:clamp(3.5rem,13vw,5.8rem)}
.bio-profile>p:last-child{margin:20px 0 0;color:var(--texto-suave);font-size:.9rem}
.bio-links{display:grid;gap:10px}
.bio-link{min-height:80px;padding:14px 18px;display:grid;grid-template-columns:36px 1fr 12px;gap:12px;align-items:center;border:1px solid var(--linha);border-radius:3px;background:var(--branco);text-decoration:none;transition:transform .2s,border-color .2s}
.bio-link:hover{transform:translateY(-2px);border-color:var(--vinho)}
.bio-primary{min-height:92px;border-color:var(--vinho);color:var(--branco);background:var(--vinho)}
.bio-num{color:var(--rosa);font-family:var(--serif);font-size:1.35rem}
.bio-primary .bio-num{color:var(--rosa-claro)}
.bio-link strong,.bio-link small{display:block}
.bio-link strong{font-size:.78rem;letter-spacing:.07em}
.bio-link small{margin-top:5px;color:var(--texto-suave);font-size:.62rem;font-weight:600;letter-spacing:.05em}
.bio-primary small{color:rgba(255,255,255,.68)}
.bio-link>i{width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.bio-footer{margin-top:24px;padding:16px 4px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--linha);color:var(--texto-suave);font-size:.62rem;font-weight:700;letter-spacing:.08em}
.bio-footer span{display:flex;align-items:center;gap:8px}
.bio-footer p{margin:0}

@media(max-width:980px){
  .campaign-hero{grid-template-columns:1fr;gap:46px}
  .hero-media{height:58svh;min-height:440px}
  .hero-copy{max-width:780px}
  .vip-section{grid-template-columns:.35fr 1fr}
  .vip-benefits{grid-column:2}
}

@media(max-width:680px){
  .topbar{width:calc(100% - 28px);height:76px;grid-template-columns:1fr auto}
  .wordmark img{width:42px;height:42px}
  .wordmark span,.event-date{display:none}
  .campaign-hero{min-height:0;padding:98px 14px 72px;gap:34px}
  .hero-media{height:52svh;min-height:390px}
  .hero-copy{padding:0 7px}
  .hero-copy h1{font-size:clamp(3.35rem,15vw,4.8rem)}
  .hero-lead{margin-top:24px;font-size:1rem}
  .hero-prices{gap:17px}
  .hero-prices span{font-size:1.8rem}
  .hero-prices small{font-size:.56rem}
  .primary-cta{width:100%;min-height:56px;padding:14px 12px;font-size:.68rem}
  .drop-section{padding-left:14px;padding-right:14px}
  .section-heading{margin-bottom:40px;padding:0 8px}
  .section-heading h2{font-size:clamp(3.35rem,15vw,4.8rem)}
  .price-grid{grid-template-columns:1fr;gap:14px}
  .price-card{min-height:300px;padding:25px}
  .price{justify-content:flex-start}
  .price strong{font-size:clamp(7.8rem,40vw,9.6rem)}
  .event-flow{margin-top:32px;grid-template-columns:1fr}
  .event-flow>div{padding:22px 14px}
  .event-flow>div+div{border-left:0;border-top:1px solid var(--linha)}
  .vip-section{padding-left:18px;padding-right:18px;grid-template-columns:1fr;gap:30px}
  .vip-mark{max-width:220px}
  .vip-copy h2{font-size:clamp(3.35rem,15vw,4.8rem)}
  .vip-benefits{grid-column:1}
  .location-section{padding-left:18px;padding-right:18px;grid-template-columns:1fr;gap:34px}
  .location-number{min-height:220px;padding:28px}
  .location-copy h2{font-size:clamp(3.2rem,14vw,4.5rem)}
  .secondary-cta{width:100%}
  .final-cta{padding-left:20px;padding-right:20px;grid-template-columns:1fr;gap:28px}
  .final-logo{width:108px}
  .final-cta h2{font-size:clamp(3.1rem,13.5vw,4.5rem)}
  .final-cta>.primary-cta{grid-column:1;width:100%}
  .footer{padding:32px 20px 112px;grid-template-columns:1fr}
  .sticky-vip{bottom:max(9px,env(safe-area-inset-bottom));padding:7px 7px 7px 11px}
  .sticky-vip>span{font-size:.56rem}
  .sticky-vip a{padding:11px 10px;font-size:.58rem}
  .bio-profile h1{font-size:clamp(3.4rem,15vw,5rem)}
  .bio-link{padding:13px 15px}
  .bio-footer{align-items:flex-start;gap:10px;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .motion-up,.reveal{opacity:1;transform:none}
}
