/* Altas Horas Beach: um dia sem pressa, da manhã às altas horas */
@font-face{font-family:"Young Serif";src:url(fonts/young-serif.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url(fonts/albert-sans.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/dm-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/dm-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --canvas:#EDF3F0;--manha2:#E1EDE9;--areia:#F1E9DB;--areia2:#EADFCB;--panel:#FBFCFA;
  --accent:#B24314;--accent-hover:#953710;--accent-muted:rgba(178,67,20,.16);
  --text-primary:#12343B;--text-secondary:#46636A;--linha:rgba(18,52,59,.13);--borda-forte:#7E959A;
  --ouro:#D9822B;--creme:#FFF6EA;
  --noite:#0D1F2B;--noite2:#091721;--noite-panel:#142B39;--noite-text:#F3EEE6;--noite-sec:#A9BCC4;--lua:#F2D49B;
  --display:"Young Serif",Georgia,serif;--texto:"Albert Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"DM Mono",ui-monospace,Consolas,monospace;
  --ease-out:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.65,0,.35,1);
  --tshadow:0 1px 2px rgba(5,14,20,.92),0 3px 14px rgba(5,14,20,.6),0 10px 44px rgba(5,14,20,.55);
  --raio:20px;--wrap:1180px
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:72px;background:var(--noite2)}
@media (max-width:560px){html{scroll-padding-top:64px}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font:400 1.0625rem/1.65 var(--texto);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
svg{display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400}
p,blockquote,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,output{font:inherit;color:inherit}
main:focus{outline:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.wrap{width:min(100% - 2*clamp(16px,5vw,56px),var(--wrap));margin-inline:auto}
.pular{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:12px;background:var(--text-primary);color:var(--canvas);font-weight:600;text-decoration:none;transition:top .25s var(--ease-out)}
.pular:focus{top:16px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.noite :focus-visible,.rodape :focus-visible,.hero :focus-visible{outline-color:var(--lua)}
.grao{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;border:1.5px solid transparent;font:600 1rem/1.15 var(--texto);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .18s var(--ease-out),background-color .25s var(--ease-out),border-color .25s var(--ease-out),color .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.btn svg{width:20px;height:20px;flex:none}
.btn:active{transform:scale(.97)}
.btn:focus-visible{border-radius:999px}
.btn-pri{background:var(--accent);color:#FFF8F0;box-shadow:0 10px 26px -12px rgba(178,67,20,.7)}
.btn-pri:hover{background:var(--accent-hover)}
.btn-vidro{background:rgba(255,246,234,.12);color:var(--creme);border-color:rgba(255,246,234,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-vidro:hover{background:rgba(255,246,234,.22)}
.btn-linha{background:transparent;color:var(--text-primary);border-color:var(--borda-forte)}
.btn-linha:hover{border-color:var(--text-primary);background:rgba(18,52,59,.05)}
.btn-linha svg{transition:transform .25s var(--ease-out)}
.btn-linha:hover svg{transform:translateX(3px)}
.link-seta{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.link-seta svg{width:18px;height:18px;transition:transform .25s var(--ease-out)}
.link-seta:hover svg{transform:translateX(3px)}

/* navegação */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background-color .4s var(--ease-out),box-shadow .4s var(--ease-out)}
.nav-in{display:flex;align-items:center;gap:clamp(12px,2vw,28px);height:72px;padding-inline:clamp(16px,4vw,40px)}
.marca{position:relative;display:block;width:clamp(150px,14vw,190px);flex:none}
.marca img{width:100%;height:auto;transition:opacity .35s var(--ease-out)}
.marca .logo-escuro{position:absolute;inset:0;opacity:0}
.links{display:flex;gap:clamp(14px,1.8vw,28px);margin-left:auto}
.links a{position:relative;display:inline-block;padding:8px 2px;font-weight:500;font-size:.96rem;text-decoration:none;color:var(--creme);text-shadow:0 1px 10px rgba(5,14,20,.55);transition:color .3s}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.links a:hover::after{transform:scaleX(1)}
.btn-nav{min-height:42px;padding:9px 18px;font-size:.95rem}
.hora-nav{display:none;align-items:center;gap:6px;font:500 .78rem/1 var(--mono);letter-spacing:.06em;color:var(--creme)}
.hora-nav svg{width:16px;height:16px}
.hora-nav .i-lua,.noturno .hora-nav .i-sol{display:none}
.noturno .hora-nav .i-lua{display:block}
.nav.solid{background:rgba(237,243,240,.88);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 var(--linha)}
.nav.solid .logo-claro{opacity:0}
.nav.solid .logo-escuro{opacity:1}
.nav.solid .links a,.nav.solid .hora-nav{color:var(--text-primary);text-shadow:none}
.tema-noite .nav.solid{background:rgba(9,23,33,.86);box-shadow:0 1px 0 rgba(243,238,230,.08)}
.tema-noite .nav.solid .logo-claro{opacity:1}
.tema-noite .nav.solid .logo-escuro{opacity:0}
.tema-noite .nav.solid .links a,.tema-noite .nav.solid .hora-nav{color:var(--noite-text)}

/* o relógio de sol na lateral */
.relogio{--alt:min(54vh,500px);position:fixed;left:clamp(14px,1.5vw,26px);top:50%;z-index:40;display:none;width:46px;height:var(--alt);transform:translateY(-50%);pointer-events:none;color:var(--creme);transition:color .5s var(--ease-out)}
.passou-topo .relogio{color:var(--text-primary)}
.tema-noite .relogio{color:var(--noite-text)}
.trilho{position:absolute;left:22px;top:0;bottom:0;width:1.5px;background:repeating-linear-gradient(180deg,currentColor 0 1px,transparent 1px 10px);opacity:.35}
.astro{position:absolute;left:11px;top:0;width:24px;height:24px;transform:translateY(calc(var(--t,0)*(var(--alt) - 24px)));will-change:transform}
.astro svg{position:absolute;inset:0;width:24px;height:24px;transition:opacity .6s var(--ease-out)}
.astro .i-sol{color:#E39B45;filter:drop-shadow(0 0 6px rgba(227,155,69,.6))}
.astro .i-lua{color:var(--lua);opacity:0}
.noturno .astro .i-sol{opacity:0}
.noturno .astro .i-lua{opacity:1}
.leitura{position:absolute;left:0;top:calc(100% + 14px);font:500 .74rem/1 var(--mono);letter-spacing:.06em;white-space:nowrap}
@media (min-width:1300px) and (min-height:620px){.relogio{display:block}}

/* topo */
.hero{position:relative;height:100svh;min-height:600px;max-height:1100px;overflow:hidden;isolation:isolate;background:#35545B;color:var(--creme)}
.hero-media{position:absolute;inset:0;z-index:-1}
.poster,.hero-media video{position:absolute;inset:0;width:100%;height:100%}
.poster{background:#35545B url(topo-inicio.webp) 50% 58%/cover no-repeat}
.hero-media video{object-fit:cover;object-position:50% 58%;opacity:0;transition:opacity .7s var(--ease-out)}
.hero.playing .v-intro{opacity:1}
.hero.looping .v-loop{opacity:1}
.hero.looping .v-intro{opacity:0;transition-delay:.3s}
.hero-still .hero-media video{display:none}
.hero.fallback .poster{animation:respira 18s ease-in-out infinite alternate}
@keyframes respira{from{transform:scale(1.02)}to{transform:scale(1.09)}}
.veu{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,27,.5) 0%,rgba(8,20,27,0) 20%),linear-gradient(0deg,rgba(8,20,27,.84) 0%,rgba(8,20,27,.56) 30%,rgba(8,20,27,0) 62%),radial-gradient(ellipse 62% 58% at 18% 84%,rgba(8,20,27,.5) 0%,rgba(8,20,27,0) 72%)}
.hero-wrap{position:relative;height:100%;display:flex;align-items:flex-end;padding-bottom:clamp(56px,10vh,112px)}
.hero-copy{--k1:1;--k2:1;--k3:1;position:relative;max-width:700px}
/* sombra que acompanha o bloco de texto: garante a leitura sobre a cortina, a espuma e o céu claro */
.hero-copy::before{content:"";position:absolute;z-index:-1;left:-18%;right:-22%;top:-34%;bottom:-18%;pointer-events:none;background:rgba(8,20,27,.66);-webkit-mask-image:radial-gradient(farthest-side at 44% 54%,#000 72%,transparent 100%);mask-image:radial-gradient(farthest-side at 44% 54%,#000 72%,transparent 100%)}
.hero-motion .hero-copy{--k1:0;--k2:0;--k3:0}
.coreo-falhou .hero-copy{--k1:1!important;--k2:1!important;--k3:1!important}
.chip{display:inline-flex;align-items:center;gap:10px;padding:9px 15px;border-radius:999px;background:rgba(8,20,27,.62);border:1px solid rgba(255,246,234,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 .78rem/1 var(--mono);letter-spacing:.1em;color:var(--creme);opacity:var(--k1);transform:translateY(calc((1 - var(--k1))*12px))}
.chip svg{width:16px;height:16px;color:#F6C177}
.hero h1{margin-top:20px;font:400 clamp(2.7rem,5.4vw,5rem)/1.02 var(--display);letter-spacing:-.015em;color:#FFF8EE;text-shadow:var(--tshadow);text-wrap:balance}
.hero h1 .w{position:relative;display:inline-block;white-space:nowrap;--kw:clamp(0,(var(--k2) - var(--th,0))*3.2,1)}
.hero h1 .n{display:inline-block;opacity:var(--kw);transform:translateY(calc((1 - var(--kw))*10px))}
.hero h1 .s{position:absolute;left:0;top:0;opacity:calc((1 - var(--kw))*min(1,var(--k2)*5));filter:blur(9px);pointer-events:none}
.hero .sub{margin-top:18px;max-width:36ch;font-size:clamp(1.06rem,1.3vw,1.24rem);line-height:1.55;color:#FFF3E3;text-shadow:var(--tshadow);--ks:clamp(0,var(--k3)*2.2,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;--kb:clamp(0,(var(--k3) - .35)*2.4,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.nota-google{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:.94rem;color:#FFF3E3;text-decoration:none;text-shadow:var(--tshadow);--kn:clamp(0,(var(--k3) - .6)*3,1);opacity:var(--kn)}
.nota-google b{font-weight:600}
.nota-google:hover span:last-child{text-decoration:underline}
.estrelas{position:relative;display:inline-flex;flex:none}
.estrelas svg{width:16px;height:16px}
.estrelas .vazias,.estrelas .cheias{display:flex;gap:2px}
.estrelas .vazias{color:rgba(255,246,234,.35)}
.estrelas .cheias{position:absolute;left:0;top:0;width:91%;overflow:hidden;color:#F6C177}
.pausa{position:absolute;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:3;display:none;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,246,234,.5);background:rgba(8,20,27,.52);color:var(--creme);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .16s var(--ease-out),background-color .25s}
.pausa:hover{background:rgba(8,20,27,.6)}
.pausa:active{transform:scale(.94)}
.pausa svg{width:18px;height:18px}
.hero-motion .pausa{display:grid}
.pausa .i-play,.held .pausa .i-pause{display:none}
.held .pausa .i-play{display:block}

/* seções */
.secao{position:relative;padding-block:clamp(84px,11vw,148px);overflow:hidden}
.manha{background:var(--canvas)}
.manha2{background:linear-gradient(180deg,var(--canvas) 0%,var(--manha2) 100%)}
.areia{background:var(--areia)}
.areia2{background:var(--areia2)}
.hora{display:inline-flex;align-items:center;gap:10px;font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.hora::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.hora b{font-weight:500;letter-spacing:.06em;color:var(--text-primary)}
h2{margin-top:16px;font:400 clamp(2.1rem,4.3vw,3.55rem)/1.07 var(--display);letter-spacing:-.012em;text-wrap:balance}
.lede{margin-top:18px;max-width:52ch;font-size:clamp(1.05rem,1.3vw,1.2rem);color:var(--text-secondary)}
.secao p:not(.hora):not(.lede):not(.tag):not(.selo){max-width:50ch}
.selo{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.66);border:1px solid var(--linha);font-weight:500;font-size:.95rem}
.selo svg{width:18px;height:18px;color:var(--accent)}
.sol-ambiente{position:absolute;right:-22vmax;top:-34vmax;width:72vmax;height:72vmax;border-radius:50%;background:radial-gradient(circle,rgba(246,193,119,.3) 0%,rgba(246,193,119,0) 62%);pointer-events:none;animation:deriva 72s ease-in-out -24s infinite alternate}
@keyframes deriva{to{transform:translate3d(-16vmax,12vmax,0)}}
.secao:not(.vivo) .sol-ambiente{animation-play-state:paused}

/* revelação ao rolar */
.js [data-reveal] .r{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--i,0)*90ms)}
.js [data-reveal].in .r{opacity:1;transform:none}
.js [data-reveal].done .r{transition-delay:0s}
.coreo-falhou [data-reveal] .r{opacity:1;transform:none}

/* ondas do logo entre as seções */
.ondas{position:relative;z-index:1;display:grid;place-items:center;height:0}
.ondas svg{width:min(200px,46vw);height:auto;margin-top:-1px;transform:translateY(-50%);fill:none;stroke:var(--text-secondary);stroke-width:2.2;stroke-linecap:round;opacity:.55}
.ondas path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-out)}
.ondas path:nth-child(2){transition-delay:.18s}
.ondas path:nth-child(3){transition-delay:.36s}
.ondas.in path,.no-js .ondas path{stroke-dashoffset:0}

/* suítes */
.cab{max-width:780px}
.suites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px);margin-top:clamp(36px,5vw,60px)}
.suite{perspective:1100px}
.suite-in{position:relative;height:100%;display:flex;flex-direction:column;background:var(--panel);border-radius:var(--raio);overflow:hidden;box-shadow:0 1px 0 rgba(18,52,59,.05),0 26px 60px -34px rgba(18,52,59,.5);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s var(--ease-out)}
.suite-in.tilting{transition:transform .12s linear}
.fotos{position:relative;aspect-ratio:4/3;overflow:hidden;background:#D7E2DE}
.fotos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .6s var(--ease-out),transform 1.4s var(--ease-out)}
.fotos img.on{opacity:1;transform:none}
.brilho{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at calc(50% + var(--gx,0%)) calc(50% + var(--gy,0%)),rgba(255,255,255,.34),rgba(255,255,255,0) 55%);opacity:0;transition:opacity .4s var(--ease-out)}
.tilting .brilho{opacity:1}
.miniaturas{display:flex;flex-wrap:wrap;gap:8px;padding:16px 22px 0}
.miniaturas button{min-height:36px;padding:7px 14px;border-radius:999px;border:1px solid var(--borda-forte);background:transparent;font-weight:500;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:background-color .25s var(--ease-out),color .25s,border-color .25s}
.miniaturas button:hover{border-color:var(--text-primary);color:var(--text-primary)}
.miniaturas button[aria-pressed="true"]{background:var(--text-primary);border-color:var(--text-primary);color:var(--canvas)}
.info{display:flex;flex-direction:column;flex:1;padding:18px 22px 26px}
.info h3{font:400 1.75rem/1.1 var(--display)}
.tag{margin-top:6px;color:var(--text-secondary)}
.itens{display:grid;gap:8px;margin-top:16px}
.itens li{position:relative;padding-left:22px}
.itens li::before{content:"";position:absolute;left:0;top:.8em;width:11px;height:1.5px;background:var(--text-primary);opacity:.55}
.info .btn{align-self:flex-start;margin-top:auto}
.itens{margin-bottom:24px}

/* café */
.cafe-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,5vw,76px);align-items:center}
.cafe-fotos{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:14px;height:clamp(420px,46vw,620px)}
.cafe-fotos figure{overflow:hidden;border-radius:var(--raio);background:#D7E2DE}
.cafe-fotos img,.pratos img,.piscina-fotos img{width:100%;height:100%;object-fit:cover}
.cf-a{grid-row:1/3}
.cafe-txt h2{margin-top:16px}
.cafe-txt p:not(.hora):not(.selo){margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.2rem);color:var(--text-secondary)}

/* piscina */
.piscina-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,76px);align-items:center}
.piscina-txt p:not(.hora){margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.2rem);color:var(--text-secondary)}
.pilulas{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pilulas li{padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--linha);font-weight:500;font-size:.93rem}
.piscina-fotos{position:relative;height:clamp(460px,50vw,660px)}
.piscina-fotos figure{position:absolute;overflow:hidden;border-radius:var(--raio);background:#CFE0E6}
.pf-a{left:0;top:0;width:60%;height:84%}
.pf-b{right:0;bottom:0;width:50%;height:70%;border:7px solid var(--manha2);border-radius:26px;box-shadow:0 30px 60px -30px rgba(18,52,59,.55)}

/* almoço */
.almoco-cab{max-width:760px}
.almoco-cab p:not(.hora):not(.selo){margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.2rem);color:var(--text-secondary)}
.almoco-cab .selo{background:rgba(255,255,255,.55)}
.pratos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(170px,17vw,240px);gap:14px;margin-top:clamp(34px,5vw,56px)}
.pratos figure{position:relative;overflow:hidden;border-radius:var(--raio);background:#E3D7C2}
.pratos img{transition:transform 1.2s var(--ease-out)}
.pratos figure:hover img{transform:scale(1.04)}
.p1{grid-column:1/3;grid-row:1/3}
.p2{grid-column:3/4;grid-row:1/3}
.pratos figcaption{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:999px;background:rgba(18,52,59,.72);color:var(--creme);font:500 .74rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

/* avaliações */
.aval-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,76px);align-items:start}
.placar{display:flex;align-items:center;gap:20px;margin-top:28px}
.placar .num{font:400 clamp(4.4rem,9vw,7rem)/.9 var(--display);font-variant-numeric:tabular-nums}
.placar p{margin-top:8px;color:var(--text-secondary)}
.placar p b{font-weight:600;color:var(--text-primary)}
.estrelas.grande svg{width:24px;height:24px}
.estrelas.grande .vazias{color:rgba(18,52,59,.18)}
.estrelas.grande .cheias{color:var(--ouro)}
.aval-nota .link-seta{margin-top:26px}
.citacoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.citacoes li{padding:26px 24px 22px;border-radius:var(--raio);background:var(--panel);box-shadow:0 22px 50px -36px rgba(60,40,20,.55)}
.citacoes li:nth-child(even){margin-top:30px}
.citacoes blockquote{position:relative;font:400 clamp(1.2rem,1.7vw,1.4rem)/1.32 var(--display)}
.citacoes blockquote::before{content:"“";display:block;height:.5em;margin-bottom:6px;font-size:2.6em;line-height:1;color:var(--ouro)}
.citacoes span{display:block;margin-top:14px;font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}

/* como chegar e perguntas */
.chegar-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,96px);align-items:start}
.chegar-txt p:not(.hora){margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.18rem);color:var(--text-secondary)}
.rota{position:relative;max-width:440px;margin:30px 0 34px;padding-bottom:26px}
.rota svg{width:100%;height:auto;overflow:visible}
.rota .caminho{fill:none;stroke:var(--text-primary);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s var(--ease-out) .3s}
.rota circle{fill:var(--text-primary)}
.rota .destino{fill:var(--accent)}
.in .rota .caminho,.no-js .rota .caminho{stroke-dashoffset:0}
.rota span{position:absolute;font:500 .74rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.r-a{left:0;bottom:0}
.r-km{left:46%;top:-6px;color:var(--text-primary)!important}
.r-b{right:0;bottom:0;color:var(--text-primary)!important}
.perguntas h3{margin-bottom:10px;font:400 1.65rem/1.2 var(--display)}
.qa{border-bottom:1px solid rgba(18,52,59,.18)}
.qa button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:56px;padding:16px 0;border:0;background:none;text-align:left;font-weight:500;font-size:1.06rem;line-height:1.35;cursor:pointer}
.qa button span{position:relative;width:16px;height:16px;flex:none}
.qa button span::before,.qa button span::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease-out)}
.qa button span::after{transform:rotate(90deg)}
.qa.open button span::after{transform:rotate(0)}
.resp{display:none;padding-bottom:18px;color:var(--text-secondary)}
.qa.open .resp{display:block;animation:surge .4s var(--ease-out)}
@keyframes surge{from{opacity:0;transform:translateY(-6px)}}

/* pôr do sol: segure e o dia vira noite */
.poente-sec{--p:0;background:linear-gradient(180deg,var(--areia) 0%,#F4DCC4 45%,#EDBE98 100%)}
.poente-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-areas:"txt janela" "acao janela";gap:28px clamp(30px,5vw,76px);align-items:start}
.poente-txt{grid-area:txt;align-self:end}
.poente-txt p:not(.hora){margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.2rem);color:#4A4F52}
.janela{grid-area:janela;position:relative;aspect-ratio:5/4;overflow:hidden;border-radius:30px;isolation:isolate;box-shadow:0 40px 80px -42px rgba(90,40,15,.75)}
.janela > *{position:absolute}
.ceu,.ceu-noite{inset:0}
.ceu{background:linear-gradient(180deg,#F8D6A8 0%,#F3A472 48%,#E57C4C 76%,#D66A42 100%)}
.ceu-noite{background:linear-gradient(180deg,#0B1C2A 0%,#1A3350 44%,#4D4467 74%,#A5677A 100%);opacity:var(--p)}
.estrelinhas{inset:0 0 42% 0;opacity:clamp(0,(var(--p) - .5)*2.4,1);background-image:radial-gradient(1.4px 1.4px at 10% 22%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 22% 48%,#fff 50%,transparent 52%),radial-gradient(1.6px 1.6px at 34% 14%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 47% 36%,#fff 50%,transparent 52%),radial-gradient(1.3px 1.3px at 58% 10%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 66% 52%,#fff 50%,transparent 52%),radial-gradient(1.5px 1.5px at 78% 26%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 88% 44%,#fff 50%,transparent 52%),radial-gradient(1.2px 1.2px at 94% 12%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 16% 70%,#fff 50%,transparent 52%),radial-gradient(1.2px 1.2px at 72% 76%,#fff 50%,transparent 52%)}
.sol-poente{left:50%;top:20%;width:clamp(74px,9vw,112px);aspect-ratio:1;border-radius:50%;margin-left:calc(clamp(74px,9vw,112px)/-2);background:radial-gradient(circle at 50% 45%,#FFFBEF 0%,#FFE6B0 34%,#FFBE6E 70%,#F7924B 100%);box-shadow:0 0 0 7px rgba(255,236,196,.22),0 0 90px 34px rgba(255,170,92,.6);transform:translateY(calc(var(--p)*260%))}
.mar{left:0;right:0;bottom:0;height:40%;overflow:hidden;background:linear-gradient(180deg,#2E6B77 0%,#1E4D59 100%)}
.mar::after{content:"";position:absolute;inset:0;background:#081520;opacity:calc(var(--p)*.72)}
.mar i{position:absolute;display:block}
.reflexo{left:50%;top:0;width:46%;height:100%;transform:translateX(-50%);background:radial-gradient(ellipse 50% 100% at 50% 0%,rgba(255,216,150,.85) 0%,rgba(255,200,130,.35) 45%,rgba(255,200,130,0) 72%);opacity:calc(1 - var(--p)*1.25)}
.onda{left:-20%;width:140%;height:1.5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0 22px,transparent 22px 58px);-webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 30%,#000 70%,transparent 92%);mask-image:linear-gradient(90deg,transparent 8%,#000 30%,#000 70%,transparent 92%);animation:marola 9s ease-in-out infinite alternate}
.o1{top:34%}
.o2{top:64%;opacity:.7;animation-delay:-4s}
@keyframes marola{to{transform:translateX(9%)}}
.polaroid{right:5%;bottom:7%;z-index:3;width:24%;padding:7px 7px 24px;background:#FFFDF8;border-radius:4px;box-shadow:0 18px 40px -16px rgba(0,0,0,.55);transform:rotate(4deg)}
.polaroid img{width:100%;aspect-ratio:9/14;object-fit:cover}
.poente-acao{grid-area:acao}
.segurar{display:inline-flex;align-items:center;gap:14px;min-height:64px;padding:10px 24px 10px 10px;border-radius:999px;border:1.5px solid rgba(18,52,59,.45);background:rgba(255,251,246,.78);font-weight:600;font-size:1.02rem;color:var(--text-primary);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .2s var(--ease-out),background-color .3s}
.segurar:hover{background:#FFFBF6}
.segurando .segurar{transform:scale(.97)}
.anel{position:relative;width:44px;height:44px;flex:none}
.anel svg:first-child{position:absolute;inset:0;width:44px;height:44px;transform:rotate(-90deg)}
.anel circle{fill:none;stroke-width:3}
.anel .trilha{stroke:rgba(18,52,59,.16)}
.anel .carga{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p))}
.mini-sol{position:absolute;left:11px;top:11px;width:22px;height:22px;color:var(--ouro)}
.pronto{min-height:1.4em;margin-top:16px;font:400 clamp(1.25rem,1.8vw,1.5rem)/1.3 var(--display);opacity:0;transform:translateY(8px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.anoiteceu .pronto{opacity:1;transform:none}
.crepusculo{height:clamp(110px,14vw,180px);background:linear-gradient(180deg,#EDBE98 0%,#9C6E77 40%,#2A3446 78%,var(--noite) 100%)}

/* noite */
.noite{background:var(--noite);color:var(--noite-text)}
.noite .hora{color:var(--noite-sec)}
.noite .hora b{color:var(--lua)}
.noite p:not(.hora){color:var(--noite-sec)}
.ceu-estrelas{position:absolute;inset:0;pointer-events:none;opacity:.8;background-image:radial-gradient(1.3px 1.3px at 8% 14%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 18% 62%,#fff 50%,transparent 52%),radial-gradient(1.5px 1.5px at 27% 30%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 39% 8%,#fff 50%,transparent 52%),radial-gradient(1.2px 1.2px at 51% 70%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 63% 20%,#fff 50%,transparent 52%),radial-gradient(1.4px 1.4px at 74% 54%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 83% 12%,#fff 50%,transparent 52%),radial-gradient(1.2px 1.2px at 92% 40%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 96% 82%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 4% 88%,#fff 50%,transparent 52%);animation:cintila 7s ease-in-out -3s infinite alternate}
.ceu-estrelas::after{content:"";position:absolute;right:clamp(24px,8vw,120px);top:clamp(40px,8vw,90px);width:clamp(56px,6vw,84px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 36%,#FFF6DF 0%,#F2D49B 60%,#E2BC7C 100%);box-shadow:0 0 60px 14px rgba(242,212,155,.28)}
@keyframes cintila{from{opacity:.5}to{opacity:.95}}
.noite-sec:not(.vivo) .ceu-estrelas{animation-play-state:paused}
.noite-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,96px);align-items:center}
.noite-txt p:not(.hora){margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.2rem)}
.noite-txt .btn{margin-top:30px}
.eventos li{display:flex;align-items:baseline;gap:18px;padding:20px 0;border-bottom:1px solid rgba(243,238,230,.14);font:400 clamp(1.3rem,2.1vw,1.7rem)/1.25 var(--display)}
.eventos li:first-child{border-top:1px solid rgba(243,238,230,.14)}
.eventos span{font:500 .78rem/1 var(--mono);letter-spacing:.1em;color:var(--lua)}

/* reserva */
.reservar-sec{background:linear-gradient(180deg,var(--noite) 0%,var(--noite2) 100%);padding-top:clamp(40px,6vw,80px)}
.reserva-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,96px);align-items:start}
.reserva-txt p:not(.hora){margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.2rem)}
.reserva{display:grid;gap:22px;padding:clamp(20px,3vw,34px);border-radius:26px;background:var(--noite-panel);border:1px solid rgba(243,238,230,.12);box-shadow:0 40px 80px -50px rgba(0,0,0,.8)}
.reserva fieldset{min-width:0;margin:0;padding:0;border:0}
.reserva legend,.campo > span,.contador > span{display:block;margin-bottom:10px;padding:0;font:500 .74rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--noite-sec)}
.opcoes{display:flex;flex-wrap:wrap;gap:8px}
.opcoes label{position:relative;cursor:pointer}
.opcoes input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.opcoes span{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:999px;border:1.5px solid rgba(243,238,230,.4);color:var(--noite-text);font-weight:500;transition:background-color .25s var(--ease-out),color .25s,border-color .25s}
.opcoes label:hover span{border-color:var(--noite-text)}
.opcoes input:checked + span{background:var(--noite-text);border-color:var(--noite-text);color:var(--noite)}
.opcoes input:focus-visible + span{outline:3px solid var(--lua);outline-offset:3px}
.datas,.pessoas{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.datas input{width:100%;min-height:50px;padding:10px 14px;border-radius:14px;border:1.5px solid rgba(243,238,230,.4);background:rgba(255,255,255,.04);color:var(--noite-text);font-weight:500;color-scheme:dark}
.datas input:focus-visible{outline:3px solid var(--lua);outline-offset:2px}
.aviso{margin-top:-8px;color:#F7B9A0;font-size:.95rem}
.ctrl{display:flex;align-items:center;justify-content:space-between;padding:4px;border-radius:999px;border:1.5px solid rgba(243,238,230,.4)}
.ctrl button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:rgba(243,238,230,.1);color:var(--noite-text);cursor:pointer;transition:background-color .2s}
.ctrl button:hover{background:rgba(243,238,230,.2)}
.ctrl button:disabled{opacity:.35;cursor:default}
.ctrl button svg{width:18px;height:18px}
.ctrl output{font:500 1.2rem/1 var(--mono);color:var(--noite-text)}
.balao{position:relative;padding:14px 16px 16px;border-radius:18px 18px 18px 6px;background:#E3F5DD;color:#173A2A}
.balao-rot{display:block;margin-bottom:8px;font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#3F6B50}
.balao p{max-width:none!important;line-height:1.5}
#previa{color:#173A2A}
.btn-largo{width:100%}

/* rodapé */
.rodape{padding:clamp(56px,8vw,96px) 0 30px;background:var(--noite2);color:var(--noite-sec)}
.rodape-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px}
.rodape-marca img{width:200px}
.rodape-marca p{margin-top:18px;max-width:34ch}
.rodape h3{margin-bottom:16px;font:500 .76rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--noite-text)}
.rodape ul{display:grid;gap:8px}
.rodape ul a{display:inline-flex;align-items:center;gap:10px;min-height:36px;color:var(--noite-text);text-decoration:none}
.rodape ul a:hover{text-decoration:underline}
.rodape svg{width:18px;height:18px}
.rodape .link-seta{margin-top:16px;color:var(--noite-text)}
.rodape-fim{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:50px;padding-top:24px;border-top:1px solid rgba(243,238,230,.1);font-size:.88rem}

/* botão flutuante no celular */
.flutuante{position:fixed;right:16px;bottom:16px;z-index:45;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.flutuante.on{opacity:1;transform:none;pointer-events:auto}

/* telas médias */
@media (max-width:1100px){
  .links{gap:16px}
  .links a{font-size:.9rem}
}
@media (max-width:980px){
  .links{display:none}
  .btn-nav{margin-left:auto}
  .hora-nav{display:inline-flex}
}
@media (min-width:901px){.flutuante{display:none}}

/* celular e tablet em pé */
@media (max-width:900px){
  .suites,.cafe-grid,.piscina-grid,.aval-grid,.chegar-grid,.noite-grid,.reserva-grid,.rodape-grid{grid-template-columns:1fr}
  .cafe-txt{order:-1}
  .cafe-fotos{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .cf-a{grid-row:auto;grid-column:1/3;aspect-ratio:4/3}
  .cf-b,.cf-c{aspect-ratio:1}
  .piscina-fotos{height:clamp(420px,110vw,620px)}
  .pratos{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(150px,40vw,240px)}
  .p1{grid-column:1/3;grid-row:auto}
  .p2{grid-column:auto;grid-row:span 2}
  .citacoes li:nth-child(even){margin-top:0}
  .poente-grid{grid-template-columns:1fr;grid-template-areas:"txt" "janela" "acao"}
  .eventos{margin-top:8px}
  .rodape-grid{gap:34px}
}
@media (max-width:720px),(orientation:portrait) and (max-width:1024px){
  .poster{background-image:url(topo-m-inicio.webp);background-position:50% 50%}
  .hero-media video{object-position:50% 50%}
  .hero{min-height:560px;max-height:none}
  .hero-wrap{padding-bottom:max(84px,12svh)}
  .veu{background:linear-gradient(180deg,rgba(8,20,27,.5) 0%,rgba(8,20,27,0) 22%),linear-gradient(0deg,rgba(8,20,27,.9) 0%,rgba(8,20,27,.66) 36%,rgba(8,20,27,0) 70%)}
  .hero h1{font-size:clamp(2.45rem,10.6vw,3.6rem)}
  .pausa{top:84px;bottom:auto;right:16px}
}
@media (max-width:560px){
  .nav-in{height:64px}
  .marca{width:148px}
  .btn-nav{padding:8px 14px;min-height:40px}
  .hero .ctas .btn{flex:1 1 auto}
  .citacoes{grid-template-columns:1fr}
  .datas,.pessoas{grid-template-columns:1fr}
  .piscina-fotos{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .piscina-fotos figure{position:relative;inset:auto;width:auto;height:auto;aspect-ratio:4/5;border:0}
  .polaroid{width:30%}
}
@media (max-width:380px){
  .hora-nav{display:none}
}
@media (max-width:560px) and (max-height:700px){
  .hero .btn-vidro{display:none}
  .hero .sub{margin-top:14px}
  .hero .ctas{margin-top:20px}
}
@media (max-height:560px) and (orientation:landscape){
  .hero{min-height:480px}
  .hero-wrap{padding-bottom:40px}
  .hero .sub{display:none}
}
@media (pointer:coarse){
  .btn{min-height:48px}
  .miniaturas button{min-height:44px}
  .links a{padding-block:12px}
}

/* pausa do topo e aba escondida param tudo */
.held *,.held *::before,.held *::after,.paused *,.paused *::before,.paused *::after{animation-play-state:paused!important}

/* movimento reduzido: tudo no estado final */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .js [data-reveal] .r{opacity:1;transform:none}
  .hero-copy{--k1:1!important;--k2:1!important;--k3:1!important}
  .ondas path,.rota .caminho{stroke-dashoffset:0}
  .sol-ambiente,.ceu-estrelas,.onda{animation:none}
  .suite-in{transform:none!important}
}
