@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#11110f;--paper:#f2efe8;--blue:#167aa4;--orange:#ef6b31;--line:rgba(17,17,15,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}img,video{display:block;width:100%;object-fit:cover}h1,h2,p{margin:0}
header{position:fixed;z-index:20;top:0;left:0;width:100%;padding:18px 3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:white;mix-blend-mode:difference}
.logo{font:700 12px/1 'DM Sans';letter-spacing:.16em;display:flex;flex-direction:column}.logo span+span{margin-top:4px}
header nav{display:flex;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}header>.cta{justify-self:end}#menu{display:none}
.cta{display:inline-flex;background:var(--orange);color:#111;padding:16px 20px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cta.small{padding:11px 15px}.cta.light{background:var(--paper)}
.hero{height:100svh;min-height:650px;position:relative;background:#111;color:white;overflow:hidden}.hero video{position:absolute;inset:0;height:100%;object-position:center}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.03) 45%,rgba(0,0,0,.55))}
.hero-top{position:absolute;z-index:2;top:100px;left:3vw;right:3vw;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.17em}
.hero-title{position:absolute;z-index:2;left:2.5vw;right:2.5vw;top:50%;transform:translateY(-52%);font-family:'Archivo Black',sans-serif;font-size:clamp(70px,13.4vw,220px);line-height:.76;letter-spacing:-.075em;text-transform:uppercase}.hero-title span{display:block}.hero-title span:last-child{text-align:right}
.hero-bottom{position:absolute;z-index:2;bottom:4vh;left:3vw;right:3vw;display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font-size:clamp(16px,1.5vw,22px)}
.statement{padding:14vw 6vw 10vw}.kicker,.party-copy>span,.pool-head>span,.film-copy>span,.location span,.final-copy>span{font-size:11px;font-weight:700;letter-spacing:.18em}.statement h1{font-family:'Archivo Black';font-size:clamp(54px,9.5vw,150px);line-height:.86;letter-spacing:-.065em;margin-top:35px;text-transform:uppercase}.statement h1 em{font-style:normal;color:var(--orange)}.rule{height:1px;background:var(--line);margin-top:8vw}
.party{padding:2vw 6vw 12vw;display:grid;grid-template-columns:4fr 7fr;gap:6vw;align-items:end}.party-copy{padding-bottom:4vw}.party-copy h2,.film-copy h2,.duo-copy h2{font-family:'Archivo Black';font-size:clamp(42px,5.8vw,90px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;margin:28px 0}.party-copy p,.duo-copy>p:last-of-type{max-width:390px;font-size:17px;line-height:1.6}.party figure{margin:0}.party img{aspect-ratio:4/3}.party figcaption,.vertical>span{font-size:10px;font-weight:700;letter-spacing:.16em;margin-top:10px}
.pool{background:var(--blue);color:white;padding:8vw 3vw 3vw}.pool-head{display:flex;justify-content:space-between;align-items:start;margin:0 3vw 5vw}.pool-head h2{font-family:'Archivo Black';font-size:clamp(68px,11vw,170px);line-height:.77;letter-spacing:-.07em;text-align:right}.pool img{height:min(75vh,800px);object-position:center}.pool>p{font-size:13px;letter-spacing:.08em;margin:18px 3vw 0}
.film{background:var(--ink);color:white;padding:10vw 6vw;display:grid;grid-template-columns:4fr 8fr;gap:5vw;align-items:center}.film video{max-height:78vh;background:#000}.film-copy h2{font-size:clamp(45px,6vw,88px)}
.duo{padding:11vw 6vw;display:grid;grid-template-columns:5fr 6fr;gap:9vw;align-items:center}.vertical{max-width:480px}.vertical video{aspect-ratio:9/16;background:#111}.duo-copy h2{font-size:clamp(60px,8vw,125px);color:var(--orange)}.textlink{display:inline-block;margin-top:32px;border-bottom:2px solid currentColor;padding-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.14em}
.location{background:var(--orange);padding:9vw 6vw;display:grid;grid-template-columns:1fr 1fr;gap:5vw}.location h2{font-family:'Archivo Black';font-size:clamp(70px,10vw,150px);line-height:.78;letter-spacing:-.065em;margin-top:28px}.loc-info{align-self:end;font-size:18px;line-height:1.6}
.final{height:95svh;min-height:650px;position:relative;background:#111;color:white;overflow:hidden}.final video{position:absolute;inset:0;height:100%;object-position:center 55%}.final .shade{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12))}.final-copy{position:absolute;z-index:2;left:6vw;bottom:7vw}.final h2{font-family:'Archivo Black';font-size:clamp(72px,11vw,170px);line-height:.76;letter-spacing:-.07em;margin:28px 0 38px}
footer{background:var(--ink);color:white;padding:45px 3vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:12px}footer p{text-align:center}footer>a{text-align:right}
.floating{position:fixed;z-index:30;right:18px;bottom:18px;width:52px;height:52px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font-weight:800;font-size:11px;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.reveal{opacity:0;transform:translateY(25px);transition:.8s ease}.reveal.on{opacity:1;transform:none}
@media(max-width:800px){
 header{grid-template-columns:1fr auto;padding:16px 18px;mix-blend-mode:normal;background:rgba(17,17,15,.86);backdrop-filter:blur(10px)}header nav,header>.cta{display:none}#menu{display:block;background:none;border:0;color:white;font:700 11px 'DM Sans';letter-spacing:.15em}
 .hero{min-height:620px}.hero-top{top:88px;left:18px;right:18px}.hero-title{left:14px;right:14px;font-size:19vw;top:46%;line-height:.82}.hero-title span:last-child{text-align:left}.hero-bottom{left:18px;right:18px;bottom:26px;display:block}.hero-bottom .cta{margin-top:22px}
 .statement{padding:100px 18px 75px}.statement h1{font-size:15vw}
 .party,.film,.duo,.location{grid-template-columns:1fr;padding:80px 18px;gap:42px}.party{padding-top:0}.party-copy{padding:0}.party figure{order:-1}.party img{aspect-ratio:1/1}
 .pool{padding:70px 0 20px}.pool-head{display:block;margin:0 18px 35px}.pool-head h2{text-align:left;font-size:20vw;margin-top:25px}.pool img{height:58vh}.pool>p{margin:15px 18px 0}
 .film-copy h2{font-size:13vw}.film video{max-height:none}
 .duo{padding-top:95px}.vertical{max-width:82%;margin-left:auto}.duo-copy h2{font-size:19vw}
 .location h2{font-size:21vw}.loc-info{margin-top:20px}
 .final{height:88svh}.final-copy{left:18px;bottom:55px}.final h2{font-size:19vw}.final .shade{background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.08))}
 footer{grid-template-columns:1fr;gap:24px;padding:40px 18px}footer p,footer>a{text-align:left}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V2 CLEAN — fotografia primeiro, interface mais calma */
:root{--ink:#171714;--paper:#f4f1ea;--accent:#6b2529;--line:rgba(23,23,20,.18)}
.cta,.floating{background:var(--accent);color:#fff}
.statement{padding:10vw 7vw 8vw}
.statement h1{font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(44px,6.6vw,100px);line-height:.96;letter-spacing:-.05em;text-transform:none}
.statement h1 em{color:inherit;font-style:normal;font-weight:400}
.statement .intro{max-width:620px;margin-top:30px;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:#555149}
.party{padding-bottom:9vw}.party-copy h2,.film-copy h2,.duo-copy h2{font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(38px,4.7vw,70px);line-height:.96;letter-spacing:-.045em;text-transform:none}
.pool{background:#e8e2d7;color:var(--ink);padding-top:7vw}.pool-head h2{font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(46px,6.5vw,95px);line-height:.92;letter-spacing:-.05em;text-align:right}
.film{background:var(--ink)}
.duo-copy h2{color:var(--ink)}
.location{background:#ded7ca}
.location h2{font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(55px,7.5vw,110px);line-height:.86;letter-spacing:-.055em}
.final h2{font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(58px,8vw,118px);line-height:.82;letter-spacing:-.06em}
.promo{background:var(--accent);color:#fff;padding:7vw 6vw;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end}
.promo span{font-size:11px;font-weight:700;letter-spacing:.18em}
.promo h2{font-family:'DM Sans',sans-serif;font-size:clamp(42px,5.5vw,82px);line-height:.92;letter-spacing:-.05em;margin:24px 0 0;font-weight:600}
.promo p{max-width:430px;font-size:17px;line-height:1.55;margin-bottom:28px}
.promo .cta{background:var(--paper);color:var(--ink)}
@media(max-width:800px){
 .statement{padding:82px 18px 65px}.statement h1{font-size:12.5vw}.statement .intro{font-size:16px;margin-top:22px}
 .party-copy h2,.film-copy h2{font-size:11vw}.pool-head h2{font-size:14vw;text-align:left}.duo-copy h2{font-size:14vw}
 .location h2{font-size:16vw}.final h2{font-size:15vw}
 .promo{grid-template-columns:1fr;padding:70px 18px;gap:35px}.promo h2{font-size:13vw}
}

/* V3 — conversão, Instagram e rota */
.final-copy .wa-note{max-width:430px;margin:-12px 0 24px;font-size:15px;line-height:1.45;color:rgba(255,255,255,.9)}
.cta.availability{background:#fff;color:#171714;padding:19px 25px;border:2px solid #fff;font-size:13px;box-shadow:0 10px 35px rgba(0,0,0,.28);transition:transform .2s,background .2s}
.cta.availability:hover{transform:translateY(-2px);background:#f4f1ea}.cta.availability strong{font-size:18px;margin-left:8px}
.maps-btn{display:flex;flex-direction:column;gap:4px;margin-top:30px;background:#171714;color:#fff;padding:20px 22px;max-width:360px;transition:transform .2s}
.maps-btn:hover{transform:translateY(-2px)}.maps-btn b{font-size:12px;letter-spacing:.13em}.maps-btn span{font-size:14px;opacity:.75}
footer .socials{display:flex;flex-direction:column;gap:8px;text-align:right}
@media(max-width:800px){
 .final-copy .wa-note{max-width:320px;font-size:14px;margin:-8px 18px 20px 0}
 .cta.availability{padding:18px 19px;font-size:11px;letter-spacing:.08em}
 .maps-btn{max-width:none}
 footer .socials{text-align:left}
}
/* V4 — CTA vinho */
.cta,.cta.light,.cta.availability,header .cta,.promo .cta{background:#6b2529!important;color:#fff!important;border-color:#6b2529!important}
.cta:hover,.cta.light:hover,.cta.availability:hover,.promo .cta:hover{background:#541c20!important;color:#fff!important}

/* V6 — hero fotográfico com pôr do sol */
.hero .hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero .shade{background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.03) 42%,rgba(0,0,0,.62))}
.hero-title{font-size:clamp(64px,11.8vw,188px);opacity:.98}
@media(max-width:800px){
 .hero .hero-media{object-position:center 55%}
 .hero-title{font-size:17.2vw;top:43%}
}

.sunset-feature{padding:0 6vw 10vw;background:var(--paper)}
.sunset-feature img{width:100%;height:min(78vh,820px);object-fit:cover;object-position:center 60%}
.sunset-caption{display:flex;justify-content:space-between;gap:30px;padding-top:16px;border-top:1px solid var(--line);margin-top:16px}
.sunset-caption span{font-size:11px;font-weight:700;letter-spacing:.18em}
.sunset-caption p{max-width:460px;font-size:16px;line-height:1.5}
@media(max-width:800px){
 .sunset-feature{padding:0 18px 75px}
 .sunset-feature img{height:68vh;object-position:center 55%}
 .sunset-caption{display:block}.sunset-caption p{margin-top:12px;font-size:15px}
}

/* V9 — galeria de eventos */
.event-gallery{padding:10vw 6vw;background:var(--paper)}
.event-gallery-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:end;margin-bottom:5vw}
.event-gallery-head>span{align-self:start;font-size:11px;font-weight:700;letter-spacing:.18em}
.event-gallery-head h2{font-family:'DM Sans',sans-serif;font-size:clamp(44px,6vw,88px);font-weight:600;line-height:.92;letter-spacing:-.055em}
.event-gallery-head p{font-size:16px;line-height:1.55;color:#555149}
.event-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.event-gallery figure{margin:0;overflow:hidden}
.event-gallery img{width:100%;height:100%;object-fit:cover}
.gallery-tall{height:72vh;min-height:520px}
.gallery-wide{grid-column:1/-1;height:68vh;min-height:500px;position:relative}
.gallery-wide figcaption{position:absolute;left:18px;bottom:18px;background:rgba(17,17,15,.86);color:#fff;padding:10px 13px;font-size:10px;font-weight:700;letter-spacing:.15em}
@media(max-width:800px){
 .event-gallery{padding:80px 18px}
 .event-gallery-head{grid-template-columns:1fr;gap:18px;margin-bottom:38px}
 .event-gallery-head h2{font-size:13vw}
 .event-gallery-grid{grid-template-columns:1fr;gap:12px}
 .gallery-tall,.gallery-wide{grid-column:auto;height:65vh;min-height:0}
}

/* V10 — mais paisagem, Instagram mais visível */
.hero-title{font-size:clamp(58px,9.7vw,154px);line-height:.80;letter-spacing:-.068em}
.ig-top{font-weight:700;color:#fff}
.instagram-link{display:inline-block;margin-top:20px;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}
@media(max-width:800px){
 .hero-title{font-size:15vw;line-height:.84;top:43%}
 .hero-bottom{bottom:30px}
 .hero-bottom p{max-width:270px}
}

/* V11 — vídeo da apresentação aparece direto, sem poster da piscina */
.film .ruiva-video{width:100%;max-height:78vh;object-fit:cover;background:#111}
@media(max-width:800px){.film .ruiva-video{max-height:none}}
