:root{
  --navy:#0C2340; --navy-deep:#081a31; --lime:#9BE22B; --sand:#8F5524;
  --bg:#F2F5F1; --bg-alt:#E4EBE5; --fg:#0C2340; --muted:#3F5169; --line:#C5D0C8;
  --on-navy:#F2F5F1; --on-navy-muted:#B7C5D6; --line-navy:#2A4466;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:40px; --s6:48px; --s8:64px; --s10:80px; --s12:96px; --s16:128px;
  --gutter:16px; --max:1200px; --head:92px;
  --display:"Bricolage Grotesque","Trebuchet MS","Segoe UI",system-ui,sans-serif;
  --text:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#0A1B31;--bg-alt:#0F2744;--fg:#EEF3EF;--muted:#B0BFD0;--line:#26405F;--sand:#E0A56B}
}
:root[data-theme="dark"]{--bg:#0A1B31;--bg-alt:#0F2744;--fg:#EEF3EF;--muted:#B0BFD0;--line:#26405F;--sand:#E0A56B}
@media (min-width:768px){:root{--gutter:40px}}
@media (max-width:639px){:root{--head:88px}}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 16px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--text);font-size:1.125rem;line-height:1.6;font-weight:400}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;text-wrap:balance}
p{margin:0}
ul,dl{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px;box-shadow:0 0 0 6px var(--navy)}
.skip{position:absolute;left:-999px;top:8px;background:var(--lime);color:var(--navy);padding:8px 16px;font-weight:700;z-index:50}
.skip:focus{left:8px}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.small{font-size:1rem;line-height:1.55}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 24px;border-radius:6px;font:700 1rem/1.2 var(--text);text-decoration:none;border:2px solid transparent;transition:background-color .2s,color .2s,transform .2s}
.btn-lime{background:var(--lime);color:var(--navy)}
.btn-lime:hover{background:#B5F04F;transform:translateY(-1px)}
.btn-navy{background:var(--navy);color:var(--on-navy)}
.btn-navy:hover{background:var(--navy-deep);transform:translateY(-1px)}
.btn-line{border-color:currentColor;color:inherit}
.btn-line:hover{background:rgba(127,127,127,.14)}
.ico{width:20px;height:20px;flex:none;fill:currentColor}
.btn-lg{min-height:60px;padding:14px 32px;font-size:1.125rem}
.textlink{font-weight:600;text-underline-offset:4px;text-decoration-thickness:2px}

/* cabeçalho */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);height:var(--head)}
.brand img{width:80px;height:80px;display:block}
.nav{display:none;gap:var(--s4)}
.nav a{text-decoration:none;font-weight:600;font-size:1rem;padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--lime)}
.head-actions{display:flex;align-items:center;gap:var(--s2)}
.head-actions .btn{display:none;min-height:48px;padding:8px 20px}
@media (min-width:640px){.head-actions .btn{display:inline-flex}}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;font-weight:600;font-size:1rem;padding:10px 8px;min-height:44px;display:flex;align-items:center}
.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;right:0;top:100%;min-width:200px;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:var(--s1)}
.menu li a{display:block;padding:12px 16px;text-decoration:none;font-weight:600;font-size:1rem}
@media (min-width:900px){.nav{display:flex}.menu{display:none}}
@media (max-width:899px){.head-actions{gap:var(--s1)}}

/* abertura */
.hero{display:grid;background:var(--navy);color:var(--on-navy)}
.hero-photo{order:-1;margin:0;overflow:hidden;height:min(62svh,560px)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;animation:settle 2s cubic-bezier(.2,.7,.2,1) both}
.hero-copy{padding:var(--s6) var(--gutter) var(--s8);display:flex;flex-direction:column;justify-content:center;gap:var(--s4)}
.hero h1{font-size:clamp(1.75rem,1rem + 2vw,2.75rem);line-height:1.08;letter-spacing:-.012em;animation:rise .9s .25s cubic-bezier(.2,.7,.2,1) both}
.hero .lead{max-width:42ch;color:var(--on-navy-muted);animation:rise .9s .4s cubic-bezier(.2,.7,.2,1) both}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}
.facts{display:grid;grid-template-columns:auto auto auto;justify-content:start;border-top:1px solid var(--line-navy);margin-top:var(--s1)}
.facts div{padding:var(--s2) var(--s3) 0 0}
.facts div+div{padding-left:var(--s3);border-left:1px solid var(--line-navy)}
.facts dt{font-size:1rem;color:var(--on-navy-muted)}
.facts dd{margin:0;font-weight:700;line-height:1.3;white-space:nowrap}
@media (max-width:560px){
  .facts{grid-template-columns:auto 1fr}
  .facts dd{font-size:1rem}
  .facts div:nth-child(3){grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--line-navy);margin-top:var(--s2)}
  .facts div:nth-child(2){padding-right:0}
}
@media (min-width:960px){
  .hero{grid-template-columns:minmax(0,6fr) minmax(0,6fr);height:clamp(600px,calc(100svh - var(--head)),780px)}
  .hero-photo{order:2;height:auto;position:relative}
  .hero-photo img{position:absolute;inset:0}
  .hero-copy{padding:var(--s8) var(--s6) var(--s8) max(var(--gutter),calc((100vw - var(--max))/2))}
}
@keyframes settle{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* seções */
.section{padding:var(--s8) 0}
@media (min-width:900px){.section{padding:112px 0}}
.alt{background:var(--bg-alt)}
.sec-title{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.75rem);line-height:1.1;letter-spacing:-.01em}
.sec-intro{margin-top:var(--s2);max-width:56ch;color:var(--muted)}

/* passeios */
.modes{display:grid;gap:var(--s4);margin-top:var(--s6)}
.mode{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s5) var(--s4)}
.mode h3{font-size:1.5rem;line-height:1.2}
.mode-a{background:var(--navy);color:var(--on-navy)}
.mode-b{background:var(--bg-alt);border-top:4px solid var(--sand)}
.price{font-family:var(--display);font-weight:700;font-size:clamp(3rem,2rem + 4vw,5rem);line-height:1;color:var(--lime);letter-spacing:-.02em}
.price small{display:block;margin-top:var(--s1);font:500 1rem/1.4 var(--text);color:var(--on-navy-muted);letter-spacing:0}
.statement{font-family:var(--display);font-weight:700;font-size:clamp(2rem,1.3rem + 2.4vw,3rem);line-height:1.05;letter-spacing:-.015em;max-width:12ch}
.note{display:block;margin-top:4px;font-size:1rem;color:var(--on-navy-muted)}
.rows li{padding:var(--s2) 0;border-top:1px solid var(--line-navy)}
.mode-b .rows li{border-top-color:var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line-navy)}
.mode-b .rows li:last-child{border-bottom-color:var(--line)}
.mode .btn{align-self:flex-start;margin-top:auto}
@media (min-width:900px){.modes{grid-template-columns:1fr 1fr;gap:var(--s6)}.mode{padding:var(--s6)}}

/* roteiro / galeria */
.crew figure{margin:0}
.crew img{width:100%;object-fit:cover}
.gal{margin-top:var(--s5)}
.gal-tabs{display:flex;gap:var(--s4);overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.gal-tabs::-webkit-scrollbar{display:none}
.gal-tabs button{font:600 1rem/1.2 var(--text);padding:12px 0;min-height:48px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}
.gal-tabs button:hover{color:var(--fg)}
.gal-tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--sand)}
.gal-stage{display:grid;gap:var(--s2);margin-top:var(--s3);transition:opacity .18s ease}
.gal-stage.fade,.gal-thumbs.fade{opacity:0}
.tile{position:relative;display:block;width:100%;padding:0;border:0;background:var(--navy);cursor:pointer;overflow:hidden;color:#fff}
.tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tile:hover img{transform:scale(1.03)}
.tile.nocover{background:var(--navy-deep)}
.gal-main{aspect-ratio:4/5}
.gal-main img{position:absolute;inset:0}
.gal-side{display:none}
.badge-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(8,26,49,.78);display:grid;place-items:center;pointer-events:none}
.badge-play svg{width:28px;height:28px;fill:#fff;margin-left:3px}
.gal-sm .badge-play,.gal-th .badge-play{width:40px;height:40px;margin:-20px 0 0 -20px}
.gal-sm .badge-play svg,.gal-th .badge-play svg{width:20px;height:20px}
.badge-zoom{position:absolute;right:var(--s2);bottom:var(--s2);width:44px;height:44px;border-radius:50%;background:rgba(8,26,49,.78);display:grid;place-items:center;pointer-events:none}
.badge-zoom svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gal-thumbs{display:flex;gap:var(--s1);margin-top:var(--s2);overflow-x:auto;padding:4px 4px var(--s1);scroll-snap-type:x proximity;transition:opacity .18s}
.gal-th{flex:0 0 96px;height:72px;scroll-snap-align:start;opacity:.72;outline:3px solid transparent;outline-offset:2px;transition:opacity .2s,outline-color .2s}
.gal-th:hover,.gal-th.on{opacity:1}
.gal-th.on{outline-color:var(--sand)}
.gal-note{margin-top:var(--s2);max-width:64ch;color:var(--muted)}
.gal-stage.n1 .gal-main{aspect-ratio:auto}
.gal-stage.n1 .gal-main{width:fit-content;max-width:100%;justify-self:start}
.gal-stage.n1 .gal-main img{position:static;width:auto;height:auto;max-width:100%;max-height:min(78vh,720px)}
.gal-empty{margin-top:var(--s4);color:var(--muted)}
.stops{display:grid;gap:var(--s3);margin-top:var(--s6)}
.stop h3{font-size:1.375rem;line-height:1.2}
.stop p{margin-top:4px;color:var(--muted)}
@media (min-width:900px){
  .gal-stage{grid-template-columns:repeat(12,1fr);column-gap:var(--s3);align-items:stretch}
  .gal-main{grid-column:1/13;aspect-ratio:16/9}
  .gal-stage.n2 .gal-main,.gal-stage.n3 .gal-main{grid-column:1/9;aspect-ratio:4/3}
  .gal-stage.n1 .gal-main{grid-column:1/8;aspect-ratio:auto}
  .gal-side{display:grid;grid-column:9/13;grid-template-rows:1fr 1fr;gap:var(--s3)}
  .gal-stage.n2 .gal-side{grid-template-rows:1fr}
  .gal-sm{position:relative;min-height:0}
  .gal-sm img{position:absolute;inset:0}
  .gal-thumbs:not(.many){display:none}
  .gal-th{flex-basis:112px;height:80px}
  .stops{grid-template-columns:repeat(4,1fr);gap:var(--s4)}
  .stop{padding-top:var(--s2);border-top:1px solid var(--line)}
}
.js .unveil{opacity:0;clip-path:inset(8% 0 0 0);transition:opacity .9s ease,clip-path 1.1s cubic-bezier(.2,.7,.2,1)}
.js .unveil.in{opacity:1;clip-path:inset(0)}
.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease var(--d,0s),transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* visualização ampliada */
dialog.lb{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(6,16,32,.97);color:#fff}
dialog.lb[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);animation:lbin .25s ease both}
dialog.lb::backdrop{background:rgba(6,16,32,.97)}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lb-top{grid-column:1/4;display:flex;align-items:center;justify-content:space-between;padding:var(--s2) var(--gutter);padding-top:calc(var(--s2) + env(safe-area-inset-top,0px));font-size:1rem;color:var(--on-navy-muted)}
.lb-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-navy);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:background-color .2s}
.lb-btn:hover{background:rgba(255,255,255,.16)}
.lb-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lb-nav{align-self:center;margin:0 var(--s1)}
.lb-stage{display:grid;place-items:center;min-height:0;padding:0 0 var(--s3)}
.lb-stage img,.lb-stage video{max-width:100%;max-height:calc(100dvh - 120px);object-fit:contain;background:#000}
.lb-stage video{width:min(100%,1100px)}
@media (max-width:639px){
  dialog.lb[open]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
  .lb-top{grid-column:1/3}
  .lb-stage{grid-column:1/3;grid-row:2;padding:0 var(--s1)}
  .lb-prev{grid-row:3;justify-self:start;margin:0 var(--gutter) calc(var(--s2) + env(safe-area-inset-bottom,0px))}
  .lb-next{grid-row:3;grid-column:2;justify-self:end;margin:0 var(--gutter) calc(var(--s2) + env(safe-area-inset-bottom,0px))}
}

/* avaliações */
.rev-wrap{display:grid;gap:var(--s5)}
.rev-intro{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}
.rev-list{display:grid;gap:var(--s3)}
.rev-list:empty{display:none}
.rev-card{margin:0;padding:var(--s2);background:#fff;border:1px solid var(--line);color:#0C2340}
.rev-card.feat{border-top:4px solid var(--sand);padding:var(--s3)}
.rev-img{display:none;width:100%;height:auto}
.rev-txt .who{font-weight:700;font-size:1.125rem}
.rev-txt .stars{display:flex;gap:2px;margin-top:4px}
.rev-txt .stars svg{width:20px;height:20px;fill:#F5B301}
.rev-txt .txt{margin-top:var(--s1);line-height:1.55}
.rev-orig{margin-top:var(--s1);min-height:44px;padding:8px 0;background:none;border:0;font:600 1rem/1.2 var(--text);color:#0C2340;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;cursor:pointer}
.rev-card.so-img .rev-img{display:block}.rev-card.so-img .rev-txt{display:none}
@media (min-width:700px){.rev-img{display:block}.rev-txt{display:none}}
@media (min-width:900px){
  .rev-wrap{grid-template-columns:4fr 8fr;column-gap:var(--s10);align-items:start}
  .rev-intro{position:sticky;top:calc(var(--head) + var(--s3))}
}


/* lancha */
.crew{background:var(--navy);color:var(--on-navy)}
.crew .sec-intro,.crew figcaption{color:var(--on-navy-muted)}
.crew-grid{display:grid;gap:var(--s6)}
.crew .fig-main img{aspect-ratio:2/3;object-position:50% 40%}
.crew-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s5)}
.crew-pair img{aspect-ratio:3/4}
@media (min-width:900px){
  .crew-grid{grid-template-columns:repeat(12,1fr);column-gap:var(--s4);align-items:center}
  .crew .fig-main{grid-column:1/6}
  .crew-text{grid-column:7/13}
  .crew-pair figure:nth-child(2){transform:translateY(var(--s5))}
  .crew-pair{margin-bottom:var(--s5)}
}

/* embarque */
.dock-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s3)}
.dock-photo{margin:var(--s5) 0 0}
.dock-photo img{aspect-ratio:4/3;object-position:50% 53%}
.dock-info{display:grid;gap:var(--s3);margin-top:var(--s5)}
.dock-info .btn{margin-top:var(--s2)}
.dock-info dt{font-size:1rem;color:var(--muted)}
.dock-info dd{margin:4px 0 0;font-weight:600;max-width:34ch}
@media (min-width:900px){
  .dock-photo img{aspect-ratio:21/9}
  .dock-info{grid-template-columns:repeat(3,1fr);column-gap:var(--s6)}
}

/* dúvidas */
.faq-grid{display:grid;gap:var(--s5);align-items:start}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s2);align-items:center;padding:var(--s3) 0;font-weight:600;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:600 1.75rem/1 var(--display);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 var(--s6) var(--s3) 0;color:var(--muted);animation:rise .35s both}
@media (min-width:900px){.faq-grid{grid-template-columns:4fr 7fr;column-gap:var(--s10)}}

/* final */
.final{background:var(--navy);color:var(--on-navy);padding:var(--s10) 0}
.final-grid{display:grid;gap:var(--s5);align-items:center}
.final h2{font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem);line-height:1.1;max-width:18ch}
.final p{color:var(--on-navy-muted);max-width:46ch}
.final h2+p{margin-top:var(--s2)}
.final-act{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2)}
.final-act .btn{width:100%}
@media (min-width:900px){.final{padding:var(--s12) 0}.final-grid{grid-template-columns:7fr 5fr;column-gap:var(--s10)}.final-act .btn{width:auto;min-width:320px}}
.foot{background:var(--navy-deep);color:var(--on-navy-muted);padding:var(--s5) 0 calc(var(--s5) + 8px);font-size:1rem}
.foot .wrap{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);align-items:center;justify-content:space-between}
.foot img{width:64px;height:64px}
.foot a{color:var(--on-navy);text-underline-offset:4px}
.foot-links{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4)}
/* barra fixa no celular */
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);transform:translateY(110%);visibility:hidden;transition:transform .35s ease,visibility 0s .35s}
.cta-bar.show{transform:none;visibility:visible;transition-delay:0s}
.cta-bar .btn{width:100%}
@media (max-width:899px){.foot{padding-bottom:calc(var(--s5) + 80px)}}
@media (min-width:900px){.cta-bar{display:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .unveil,.js .reveal{opacity:1;clip-path:none;transform:none}
}
