@font-face{font-family:tactic;src:url(assets/tactic-regular.otf)}@font-face{font-family:tactic;src:url(assets/tactic-ultra.otf);font-weight:900}
:root{--blue:#165cff;--red:#df0024;--ink:#101524;--paper:#f2f5fc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:tactic,Arial,sans-serif;color:var(--ink);background:#fff}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:900;letter-spacing:-.045em;line-height:.98}h2{font-size:clamp(42px,5.7vw,82px)}h3{font-size:clamp(27px,3vw,43px)}p{line-height:1.5}em{font-style:normal;color:#8fbdff}header{height:92px;display:flex;justify-content:space-between;align-items:center;position:absolute;z-index:3;top:0;left:0;right:0;padding:15px 5vw;color:#fff}header img{width:170px;max-height:62px;object-fit:contain}nav{display:flex;align-items:center;gap:32px}nav a{text-decoration:none;font-weight:900}nav .navcta{padding:14px 21px;background:var(--red);border-radius:40px}.hero{position:relative;min-height:800px;height:100svh;color:#fff;display:flex;align-items:end;overflow:hidden;background:#17203c}.hero-media{position:absolute;inset:0}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,11,28,.9) 0%,rgba(5,11,28,.57) 53%,rgba(5,11,28,.1)),linear-gradient(0deg,rgba(5,11,28,.6),transparent 45%)}.hero-copy{position:relative;z-index:1;padding:0 6vw 10vh;max-width:1050px}.eyebrow{font-weight:900;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}.hero h1{font-size:clamp(58px,7.3vw,116px)}.hero h1 em{color:#a8c8ff}.hero-copy>p:not(.eyebrow):not(.zone){font-size:clamp(18px,1.6vw,23px);max-width:530px;margin:26px 0}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--blue);color:white;border-radius:50px;padding:18px 25px;text-decoration:none;font-weight:900;font-size:17px;transition:background .2s}.button:hover,.button:focus-visible{background:var(--red)}.textlink{font-weight:900;text-decoration:none}.zone{margin-top:25px;font-size:14px}.hero-side{position:absolute;right:5vw;bottom:11vh;text-align:right;font-size:12px;letter-spacing:.14em;font-weight:900}.pause{position:absolute;right:5vw;top:110px;background:#101524b8;color:#fff;border:1px solid #ffffff91;padding:9px 14px;border-radius:50px;z-index:2;font-size:12px}.headline-b,.intro-b{display:none}.marquee{background:var(--red);color:#fff;overflow:hidden;white-space:nowrap;transform:rotate(-1deg) scale(1.02);position:relative;z-index:1}.marquee div{display:flex;width:max-content;animation:marquee 27s linear infinite}.marquee span{font-weight:900;font-size:19px;letter-spacing:.04em;padding:18px 0}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:120px 6vw}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:var(--paper)}.blue{color:var(--blue)}.intro em{color:var(--blue)}.intro-text>p:not(.eyebrow){font-size:21px;max-width:510px;margin:30px 0}.underline{font-weight:900;text-underline-offset:6px}.photo-stack{position:relative}.main-photo{width:100%;height:540px;object-fit:cover;border-radius:14px;transform:rotate(3deg) translateY(var(--shift,0px));box-shadow:18px 18px 0 var(--blue)}.stamp{position:absolute;right:-30px;bottom:-30px;background:var(--red);color:white;border-radius:50%;width:150px;height:150px;display:grid;place-content:center;text-align:center;font-weight:900;transform:rotate(-12deg)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}.section-head>p{max-width:330px;font-size:19px}.occasions{background:#101a35;color:white}.occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.occasion-grid article{position:relative;min-height:620px;border-radius:18px;overflow:hidden;display:flex;align-items:end}.occasion-grid article:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#081022ee,transparent 90%)}.occasion-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.occasion-grid article div{position:relative;z-index:1;padding:40px;max-width:560px}.occasion-grid span{font-size:14px;font-weight:900}.occasion-grid h3{margin:20px 0}.occasion-grid p{max-width:390px;font-size:18px}.light-button{margin-top:25px;background:white;color:var(--ink);padding:14px 20px;border:0;border-radius:25px;font-weight:900}.experience{background:white}.interactive{display:grid;grid-template-columns:1fr 1fr;background:#eef3ff;border-radius:20px;overflow:hidden;min-height:540px}.interactive-image{overflow:hidden}.interactive-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.08) translateY(var(--shift,0px))}.interactive-content{padding:50px;display:flex;flex-direction:column;justify-content:center}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.tabs button{border:1px solid #b5c5e7;background:transparent;padding:12px 17px;border-radius:30px;font-weight:900}.tabs button[aria-selected=true]{background:var(--blue);border-color:var(--blue);color:white}.big-number{font-size:100px;line-height:1;font-weight:900;color:var(--blue)}.big-number span{display:inline-block;font-size:15px;max-width:95px;line-height:1.1;margin-left:15px;color:var(--ink)}.interactive h3{margin:20px 0}.interactive p{font-size:18px;max-width:430px}.steps{background:var(--blue);color:white}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps-grid article{border-top:1px solid #ffffff8a;padding-top:25px}.steps-grid span{font-size:14px}.steps-grid h3{font-size:27px;margin:35px 0 15px}.steps-grid p{font-size:17px;max-width:260px}.place{display:grid;grid-template-columns:1.05fr 1fr;gap:8vw;align-items:center;background:#0e1422;color:white}.place-photo{height:670px;overflow:hidden;border-radius:16px}.place-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.1) translateY(var(--shift,0px))}.place-copy>p:not(.eyebrow){font-size:20px;margin:27px 0}.requirements{border-top:1px solid #ffffff55}.requirements p{padding:15px 0;border-bottom:1px solid #ffffff55;color:#d1dbf1}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}details{border-bottom:1px solid #bbc5d8;padding:22px 0}summary{cursor:pointer;font-weight:900;font-size:21px}details p{padding-top:15px;color:#45516b}.contact{background:#e8f0ff;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-copy>p:not(.eyebrow){max-width:450px;margin:25px 0;font-size:20px}.contact-note{padding:20px;border-left:4px solid var(--red);font-weight:900}form{background:white;padding:35px;border-radius:18px;box-shadow:0 18px 45px #18356a14}form h3{font-size:31px}form>p{font-size:14px;margin:12px 0 20px;color:#4d5972}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{font-weight:900;font-size:14px;display:grid;gap:7px}input,select,textarea{width:100%;border:1px solid #cbd4e5;border-radius:8px;background:#fff;padding:13px;color:#172033;min-width:0}label.wide{grid-column:1/-1}[hidden]{display:none!important}.submit{width:100%;margin-top:25px}.fine{font-size:12px!important;line-height:1.4}footer{background:#0a101d;color:#fff;padding:45px 6vw;display:flex;align-items:center;justify-content:space-between;gap:20px}footer img{width:150px}footer a{font-weight:900}body.variant-b .headline-a,body.variant-b .intro-a{display:none}body.variant-b .headline-b,body.variant-b .intro-b{display:block}body.variant-b .hero{align-items:center}body.variant-b .hero-copy{padding-top:100px;padding-bottom:0}body.variant-b .shade{background:linear-gradient(90deg,#07142bec,#0a1d4480 58%,#16317220)}body.variant-b .marquee{background:var(--blue)}body.variant-b .intro{background:#fff}body.variant-b .steps{background:#101a35}body.variant-b .occasions{background:#1e55d8}body.variant-b .experience{background:#e8f0ff}body.variant-b .contact{background:#122f69;color:white}body.variant-b form{color:var(--ink)}:focus-visible{outline:3px solid #f2b500;outline-offset:3px}
@media(max-width:750px){header{height:75px;padding:12px 5vw}header img{width:120px}nav a:not(.navcta){display:none}nav .navcta{font-size:13px;padding:12px}.hero{height:88svh;min-height:700px}.hero-copy{padding:0 6vw 65px}.hero h1{font-size:clamp(48px,12vw,78px)}.hero-side{display:none}.hero-copy>p:not(.eyebrow):not(.zone){font-size:17px}.pause{top:85px}.section{padding:75px 6vw}.intro,.interactive,.place,.faq,.contact{grid-template-columns:1fr}.intro{gap:55px}.main-photo{height:360px}.stamp{width:115px;height:115px;right:-5px;bottom:-35px}.section-head{display:block}.section-head>p{margin-top:20px}.occasion-grid{grid-template-columns:1fr}.occasion-grid article{min-height:490px}.occasion-grid article div{padding:28px}.interactive-image{height:350px}.interactive-content{padding:30px}.steps-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.place-photo{height:380px}.place{gap:45px}.faq{gap:30px}.contact{gap:40px}form{padding:24px}.fields{grid-template-columns:1fr 1fr}footer{align-items:start;flex-direction:column}}
@media(max-width:390px){.fields{grid-template-columns:1fr}label.wide{grid-column:auto}.hero h1{font-size:47px}.steps-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.variant-b) .marquee div{animation:none}body:not(.variant-b) .move{--shift:0px!important}body:not(.variant-b) *{transition:none!important}}
html,body{overflow-x:clip}.hero{min-height:680px}.hero h1{font-size:clamp(55px,6.2vw,92px)}.hero-copy{padding-bottom:8vh}.hero-side{bottom:8vh}
@media(max-width:750px){.hero{min-height:680px}.hero h1{font-size:clamp(46px,11vw,70px)}}
.extra-video{display:block}body.variant-b .intro{direction:rtl}body.variant-b .intro>*{direction:ltr}body.variant-b .occasion-grid article:first-child{transform:translateY(30px)}body.variant-b .place{grid-template-columns:1fr 1.05fr}body.variant-b .place-photo{order:2}@media(max-width:750px){body.variant-b .occasion-grid article:first-child{transform:none}body.variant-b .place{grid-template-columns:minmax(0,1fr)}body.variant-b .place-photo{order:0}}
.moments{background:#f3f6fe}.gallery-viewport{position:relative}.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:14px}.gallery-track figure{margin:0;flex:0 0 38%;scroll-snap-align:start}.gallery-track img{width:100%;height:400px;object-fit:cover;border-radius:12px}.gallery-track figcaption{font-weight:900;margin-top:12px}.gallery-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.gallery-controls button{width:52px;height:52px;border:0;border-radius:50%;background:#165cff;color:#fff;font-size:24px}.gallery-controls button:hover{background:#df0024}@media(max-width:750px){.gallery-track figure{flex-basis:85%}.gallery-track img{height:330px}}
.hero-media>.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media video{position:absolute;inset:0;opacity:0}.hero-media.playing video{opacity:1}.hero-media .shade{z-index:1}header img,footer img{mix-blend-mode:screen;width:125px;max-height:65px;object-fit:contain}

/* O hero cresce quando o conteúdo não cabe na altura da janela. */
.hero { height: auto; min-height: max(680px, 100svh); }
.hero-copy,
body.variant-b .hero-copy {
  padding-top: 130px;
  padding-bottom: clamp(48px, 8vh, 90px);
}
.hero h1 {
  font-size: clamp(42px, min(6.2vw, 10vh), 92px);
}
@media (max-width: 750px) {
  .hero { min-height: max(680px, 100svh); }
  .hero-copy,
  body.variant-b .hero-copy { padding-top: 110px; padding-bottom: 55px; }
  .hero h1 { font-size: clamp(39px, min(11vw, 9vh), 70px); }
}

/* Mantém cabeça e visor no enquadramento do vídeo da versão A. */
body:not(.variant-b):not(.immersive) .hero-media video {
  object-position: 68% top;
}

/* Logo vetorial com maior legibilidade no cabeçalho. */
header img { width: 150px; max-height: 74px; }
footer img { width: 160px; max-height: 80px; }
@media (max-width: 750px) {
  header img { width: 125px; max-height: 60px; }
}

/* Formulário confortável e sem sobreposição em telas pequenas. */
@media (max-width: 750px) {
  #consulta { scroll-margin-top: 24px; }
  form { min-width: 0; padding: 24px 20px; }
  form h3 { font-size: 28px; }
  .fields { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .fields label, .fields label.wide { min-width: 0; grid-column: auto; }
  .fields input, .fields select, .fields textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 52px;
    font-size: 16px;
    font-weight: 400;
  }
  .fields input[type="date"] { -webkit-appearance: none; appearance: none; }
  .fields textarea { min-height: 100px; }
  .submit { min-height: 54px; }
}

/* Textos de apoio e controles com leitura mais leve. */
form label, summary, .contact-note, .requirements strong, .gallery-track figcaption, .interactive .tabs button { font-weight: 400; }
.interactive-content h3, .steps-grid h3, form h3 { font-weight: 400; letter-spacing: -.02em; line-height: 1.12; }

/* Títulos de seção mais leves para facilitar a leitura. */
h2, h3 { font-weight: 400; letter-spacing: -.02em; line-height: 1.1; }

/* Production integration: keep the supplied visual design. */
@font-face{font-family:tactic;src:url(assets/tactic-regular.otf);font-display:swap}@font-face{font-family:tactic;src:url(assets/tactic-ultra.otf);font-weight:900;font-display:swap}
.hero-media .pause{top:100px;z-index:2}.hero-media:has(.pause) .pause{pointer-events:auto}.hero-copy{pointer-events:none}.hero-copy a{pointer-events:auto}
.skip-link{position:absolute;left:20px;top:-100px;z-index:20;background:white;padding:15px}.skip-link:focus{top:10px}
nav{gap:22px}.footer-links{display:flex;gap:16px 24px;flex-wrap:wrap;max-width:620px}.footer-links a{font-size:14px}.vrwaf-fallback{display:block;margin-top:15px;color:var(--blue);font-weight:900;overflow-wrap:anywhere}
body.motion-paused .marquee div{animation-play-state:paused}body.motion-paused .move{--shift:0px!important}
@media(max-width:750px){nav{gap:12px}nav a.language-link{display:block;font-size:13px}.hero-media .pause{top:auto;bottom:15px;right:6vw}header img{width:105px}.hero-copy{padding-bottom:85px!important}.footer-links{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body .marquee div{animation:none}body .move{--shift:0px!important}body *{transition:none!important}}
