/* Rota do Mar Receptivo — design system. Mobile-first, sem framework. */
@font-face{font-family:Manrope;src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --navy:#082B51;--ocean:#14648C;--gold:#F5A713;--gold-hover:#E09A0B;
  --bg:#F7F9FC;--white:#fff;--ink:#14273A;--muted:#536579;--line:#E2EAF0;--tint:#EAF2F8;
  --radius:14px;--radius-lg:22px;--shadow:0 1px 2px rgba(8,43,81,.06),0 8px 24px rgba(8,43,81,.07);--shadow-lg:0 2px 4px rgba(8,43,81,.06),0 18px 40px rgba(8,43,81,.12);
  --head:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gutter:16px;--header-h:64px;--bar-h:0px;
}
@media(min-width:640px){:root{--gutter:24px}}
@media(min-width:1024px){:root{--gutter:32px;--header-h:80px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--body);overflow-x:hidden;padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom))}
@media(max-width:1023px){body{--bar-h:76px}}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--ocean);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:var(--white);color:var(--navy);padding:12px 16px;border-radius:8px;font-weight:600}
.skip-link:focus{top:12px}

/* Tipografia */
h1,h2,h3{font-family:var(--head);color:var(--navy);letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.125rem,1.4rem + 3.2vw,4rem);font-weight:800;line-height:1.08}
h2{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.5rem);font-weight:800;line-height:1.15}
h3{font-size:1.1875rem;font-weight:700;line-height:1.3}
h1 em,h2 em{font-style:normal;color:var(--ocean)}
.lead{font-size:1.0625rem;line-height:1.7;color:var(--muted);max-width:40rem;margin-top:16px}
@media(min-width:1024px){.lead{font-size:1.1875rem}}
.eyebrow{font:700 .875rem/1.5 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--ocean);margin-bottom:12px}
.fine{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:20px;max-width:46rem}

/* Layout */
.container{width:min(1200px,100% - var(--gutter)*2);margin-inline:auto}
.section{padding-block:56px}
.section-white{background:var(--white);border-block:1px solid var(--line)}
@media(min-width:768px){.section{padding-block:80px}}
@media(min-width:1024px){.section{padding-block:96px}}
.section-head{max-width:44rem;margin-bottom:32px}
@media(min-width:768px){.section-head{margin-bottom:44px}}
.center-row{display:flex;justify-content:center;margin-top:32px}

/* Botoes */
.btn{--btn-bg:transparent;--btn-fg:var(--navy);--btn-bd:transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border:2px solid var(--btn-bd);border-radius:12px;background:var(--btn-bg);color:var(--btn-fg);font:700 1rem/1.25 var(--head);letter-spacing:-.005em;text-align:center;white-space:normal;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s}
.btn svg{flex-shrink:0}
.btn svg:last-child:not(:first-child){transition:transform .2s}
.btn:hover svg:last-child:not(:first-child){transform:translateX(3px)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:12px}
.btn[disabled],.btn[aria-disabled=true]{opacity:.55;pointer-events:none}
.btn-gold{--btn-bg:var(--gold);--btn-fg:var(--navy);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 6px 16px rgba(245,167,19,.3)}
.btn-gold:hover{--btn-bg:var(--gold-hover);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 10px 22px rgba(245,167,19,.38)}
.btn-gold:active{box-shadow:0 2px 6px rgba(245,167,19,.3)}
.btn-outline{--btn-bd:#B8C8D6;--btn-fg:var(--navy);background:var(--white)}
.btn-outline:hover{--btn-bg:var(--navy);--btn-bd:var(--navy);--btn-fg:var(--white)}
.btn-ghost-light{--btn-bd:rgba(255,255,255,.35);--btn-fg:var(--white)}
.btn-ghost-light:hover{--btn-bg:var(--white);--btn-bd:var(--white);--btn-fg:var(--navy)}
.btn-ghost-light:focus-visible,.site-footer .btn:focus-visible{outline-color:var(--white)}
.btn-sm{min-height:44px;padding:10px 18px;font-size:.9375rem}
.btn-lg{min-height:56px;padding:15px 30px;font-size:1.0625rem}
.btn-block{width:100%}
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 .9375rem/1.3 var(--head);color:var(--ocean)}
.link-arrow svg{transition:transform .2s}.link-arrow:hover svg{transform:translateX(3px)}
.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;font:600 .9375rem var(--head);color:var(--ocean)}
.back-link::before{content:"←";margin-right:8px}
.chip{position:absolute;left:12px;top:12px;background:var(--white);color:var(--navy);font:700 .875rem/1 var(--head);padding:8px 12px;border-radius:99px;box-shadow:var(--shadow)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow)}

/* Cabecalho */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 4px 20px rgba(8,43,81,.08)}
.header-inner{width:min(1280px,100% - var(--gutter)*2);margin-inline:auto;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand img{height:44px;width:auto}
@media(min-width:1024px){.brand img{height:54px}}
.nav-desktop{display:none}
@media(min-width:1024px){.nav-desktop{display:flex;gap:4px}.nav-desktop a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;font:600 .9375rem var(--head);color:var(--ink)}.nav-desktop a:hover{background:var(--tint)}.nav-desktop a[aria-current=page]{color:var(--ocean);background:var(--tint)}}
.header-actions{display:flex;align-items:center;gap:10px}
.lang{position:relative}
.lang summary{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);font:700 .875rem var(--head);color:var(--navy);cursor:pointer;list-style:none}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{transition:transform .2s}
.lang[open] summary svg{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:160px;padding:6px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg)}
.lang-menu a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:8px;color:var(--ink);font:500 .9375rem var(--body)}
.lang-menu a b{font:700 .875rem var(--head);color:var(--navy);min-width:24px}
.lang-menu a:hover{background:var(--tint)}
.lang-menu a[aria-current=true]{background:var(--tint);color:var(--ocean)}
.header-cta{display:none}
@media(min-width:1024px){.header-cta{display:inline-flex}.menu-toggle{display:none!important}}
.menu-toggle{display:grid;place-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);padding:8px var(--gutter) 20px;display:grid;gap:2px;max-height:calc(100dvh - var(--header-h));overflow-y:auto}
.nav-mobile a:not(.btn){display:flex;align-items:center;min-height:52px;padding:0 4px;border-bottom:1px solid var(--line);font:700 1.0625rem var(--head);color:var(--navy)}
.nav-mobile a[aria-current=page]{color:var(--ocean)}
.nav-mobile .btn{margin-top:16px}
@media(min-width:1024px){.nav-mobile{display:none!important}}

/* Barra fixa (mobile/tablet) */
.wa-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(8,43,81,.08);transition:transform .25s}
.wa-bar.is-hidden{transform:translateY(110%)}
body.menu-open .wa-bar{display:none}
@media(min-width:1024px){.wa-bar{display:none}}

/* Hero */
.hero{padding:28px 0 8px}
.hero-grid{display:grid;gap:28px}
.hero-copy .lead{margin-top:16px}
.hero-actions{display:grid;gap:12px;margin-top:24px}
.hero-actions .btn{width:100%}
.hero-notes{display:grid;gap:10px;margin-top:24px;color:var(--ink);font-weight:500}
.hero-notes li{display:flex;align-items:center;gap:10px}
.hero-notes svg{color:var(--ocean);flex-shrink:0}
.hero-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--tint)}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 62%}
.hero-photo figcaption{position:absolute;left:12px;bottom:12px;background:rgba(8,43,81,.88);color:var(--white);font:600 .875rem/1 var(--head);padding:9px 14px;border-radius:99px}
@media(min-width:640px){.hero-actions{grid-template-columns:auto auto;justify-content:start}.hero-actions .btn{width:auto}}
@media(min-width:1024px){
  .hero{padding:56px 0 24px}
  .hero-grid{grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
  .hero-photo{justify-self:end;width:100%;max-width:480px}
  .hero-photo img{aspect-ratio:4/5;object-position:50% 50%}
  .hero-notes{grid-auto-flow:column;justify-content:start;gap:24px}
}

/* Seletor rapido */
.selector-wrap{padding:0 0 8px}
.selector{display:grid;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-lg);margin-top:24px}
.selector-head h2{font-size:1.375rem;line-height:1.2}
.selector-head .eyebrow{margin-bottom:6px}
.field{display:grid;gap:6px}
.field label{font:700 .875rem var(--head);color:var(--navy)}
.opt{font-weight:500;color:var(--muted)}
.field select,.field input{width:100%;min-height:48px;padding:10px 14px;border:1.5px solid #B8C8D6;border-radius:12px;background:var(--white);font-size:1rem;appearance:none;-webkit-appearance:none}
.field select{background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23082B51' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}
.field select:focus,.field input:focus{border-color:var(--ocean);outline:3px solid rgba(20,100,140,.25);outline-offset:0}
.selector-actions{display:grid;gap:10px}
.selector-actions .btn{width:100%}
.selector-note{font-size:.875rem;color:var(--muted);text-align:center}
@media(min-width:640px){.selector{grid-template-columns:1fr 1fr}.selector-head,.selector-actions{grid-column:1/-1}}
@media(min-width:1024px){
  .selector-wrap{margin-top:8px}
  .selector{grid-template-columns:1.2fr 1.2fr .9fr .6fr;align-items:end;padding:28px 32px;gap:16px 18px}
  .selector-head{grid-column:1/-1;display:flex;align-items:baseline;gap:16px}
  .selector-head .eyebrow{margin:0}
  .selector-actions{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;gap:20px}
  .selector-actions .btn{width:auto}
  .selector-note{text-align:left}
}

/* Beneficios */
.benefit-grid{display:grid;gap:16px}
.benefit{display:grid;grid-template-columns:56px 1fr;gap:4px 16px;align-items:start;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.benefit .icon-tile{grid-row:span 2}
.benefit p{color:var(--muted);font-size:.9375rem;line-height:1.55}
.icon-tile{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--navy)}
.icon-tile svg{color:var(--gold)}
.icon-tile img{width:34px;height:34px;object-fit:contain}
@media(min-width:640px){.benefit-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.benefit-grid{grid-template-columns:repeat(5,1fr);gap:20px}.benefit{display:block;padding:24px 20px}.benefit .icon-tile{margin-bottom:16px}.benefit h3{font-size:1.0625rem;margin-bottom:6px}}

/* Rotas */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.filters button{min-height:44px;padding:8px 18px;border:1.5px solid #B8C8D6;border-radius:99px;background:var(--white);font:700 .9375rem var(--head);color:var(--navy)}
.filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.route-grid{display:grid;gap:20px}
.route-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.route-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.route-media{position:relative;display:block;background:var(--tint)}
.route-media img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 58%}
.route-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}
.route-from{font:700 .875rem var(--head);color:var(--ocean);text-transform:uppercase;letter-spacing:.06em}
.route-body h3{font-size:1.375rem;margin-top:2px}
.route-body h3 a{display:inline-flex;align-items:center;min-height:44px}.route-body h3 a:hover{color:var(--ocean)}
.route-desc{color:var(--muted);font-size:.9375rem;line-height:1.6;margin-top:10px}
.route-time{display:flex;align-items:center;gap:8px;margin-top:12px;font:600 .9375rem var(--body);color:var(--ink)}
.route-time svg{color:var(--ocean)}
.route-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-top:auto;padding-top:18px}
@media(min-width:640px){.route-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.route-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.also{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;color:var(--muted)}
.also a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:99px;background:var(--white);font:600 .9375rem var(--head);color:var(--navy)}
.also a:hover{border-color:var(--ocean)}

/* Frota */
.fleet-grid{display:grid;gap:20px}
.fleet-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);background:var(--tint)}
.fleet-card img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 58%}
.fleet-card figcaption{position:absolute;left:12px;right:12px;bottom:12px;width:fit-content;max-width:calc(100% - 24px);background:rgba(8,43,81,.9);color:var(--white);font:600 .9375rem/1.3 var(--head);padding:10px 14px;border-radius:12px}
@media(min-width:640px){.fleet-grid{grid-template-columns:repeat(3,1fr);gap:16px}.fleet-card img{aspect-ratio:4/5}}
@media(min-width:1024px){.fleet-grid{gap:24px}}

/* Como funciona */
.steps{display:grid;gap:16px;counter-reset:s}
.step{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow)}
.step-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold);font:800 1rem var(--head);margin-bottom:14px}
.step p{color:var(--muted);margin-top:8px}
@media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr);gap:24px}}

/* Avaliacoes */
.section-head.center{margin-inline:auto;text-align:center}.section-head.center .lead{margin-inline:auto}
.reviews-meta{display:grid;gap:16px;justify-items:center;margin-bottom:28px}
.score-card{display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg)}
.score-num{font:800 2.75rem/1 var(--head);color:var(--navy);letter-spacing:-.03em}
.score-detail{display:grid;gap:4px;font:600 .9375rem var(--body);color:var(--muted)}
.score-detail .stars{display:block}
.source-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:420px}
.source-badge{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 10px;background:var(--white);border:1.5px solid #B8C8D6;border-radius:12px;font:700 .875rem var(--head);color:var(--navy);white-space:nowrap;transition:border-color .2s,transform .2s}
.source-badge:hover{border-color:var(--navy);transform:translateY(-1px)}
.source-badge .brand-logo{width:24px;height:24px}
.brand-logo{flex-shrink:0}
.review-carousel{margin-inline:calc(var(--gutter) * -1)}
.review-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px var(--gutter) 8px;scroll-padding-inline:var(--gutter)}
.review-track::-webkit-scrollbar{display:none}
.review-card{flex:0 0 84%;scroll-snap-align:start}
.review-card figure{height:100%;display:flex;flex-direction:column;gap:16px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}
.review-source{display:flex;align-items:center;gap:10px;font:600 .875rem var(--body);color:var(--muted)}
.review-source .brand-logo{width:22px;height:22px}
.review-card blockquote{margin:0;flex:1;font-size:1rem;line-height:1.65;color:var(--ink)}
.review-card figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.review-author b{display:block;font:700 1rem var(--head);color:var(--navy)}
.review-author small{display:block;color:var(--muted);font-size:.875rem}
.review-avatar{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold);font:800 1.0625rem var(--head)}
.review-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.review-dots i{width:8px;height:8px;border-radius:99px;background:#C5D3DF;transition:width .25s,background .25s}
.review-dots i.is-active{width:24px;background:var(--navy)}
@media(min-width:768px){.review-carousel{margin-inline:0}.review-track{padding-inline:2px;scroll-padding-inline:2px}.review-card{flex-basis:calc(50% - 8px)}.reviews-meta{grid-template-columns:auto auto;justify-content:center;gap:24px}.source-links{width:auto;max-width:none;grid-template-columns:auto auto}.source-badge{padding:8px 18px;font-size:.9375rem}}
@media(min-width:1024px){.review-card{flex-basis:calc(33.333% - 11px)}}
.google-fallback{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 24px}
.google-word{font:800 1.25rem var(--head);color:var(--navy);letter-spacing:-.02em}
.google-fallback h3{font-size:1.0625rem}
.google-fallback p{color:var(--muted);font-size:.9375rem}
.google-fallback>div{flex:1 1 220px}
.real-reviews{display:grid;gap:16px;margin-top:20px}
.real-review{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.real-review blockquote{margin:10px 0;color:var(--ink)}
.review-author{font:700 1rem var(--head);color:var(--navy)}
.review-rating,.real-review figcaption{color:var(--muted);font-size:.875rem}
@media(min-width:768px){.real-reviews{grid-template-columns:repeat(3,1fr)}}

/* Hoteis */
.hotel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.hotel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.photo-button{display:block;width:100%;padding:0;border:0;background:var(--tint);overflow:hidden}
.photo-button img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .4s}
.photo-button:hover img{transform:scale(1.04)}
.hotel figcaption{padding:12px 14px;font:600 .875rem/1.35 var(--head);color:var(--navy)}
@media(min-width:640px){.hotel-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(min-width:1024px){.hotel-grid{grid-template-columns:repeat(6,1fr);gap:16px}.hotel figcaption{font-size:.875rem;padding:10px 12px}}
.lightbox{width:min(92vw,720px);max-height:92dvh;padding:12px;border:0;border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-lg)}
.lightbox::backdrop{background:rgba(8,43,81,.72)}
.lightbox img{width:100%;max-height:74dvh;object-fit:contain;border-radius:var(--radius)}
.lightbox p{padding:12px 4px 4px;font:600 1rem var(--head);color:var(--navy)}
.lightbox-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:var(--navy);color:var(--white);font-size:1.5rem;line-height:1}

/* FAQ */
.faq-grid{display:grid;gap:28px}
.faq-list{display:grid;gap:10px}
.faq-list details{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 18px;font:700 1rem/1.35 var(--head);color:var(--navy);cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{flex-shrink:0;color:var(--ocean);transition:transform .2s}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list details p{padding:0 18px 18px;color:var(--muted)}
.faq-grid .btn{margin-top:20px}
@media(min-width:1024px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.faq-grid>div:first-child{position:sticky;top:calc(var(--header-h) + 24px)}}

/* CTA final */
.final-cta{background:var(--navy);color:var(--white);padding:64px 0;text-align:center}
.final-inner{display:grid;justify-items:center}
.final-mark{width:64px;height:64px;margin-bottom:16px}
.final-cta h2{color:var(--white);max-width:20ch}
.final-cta h2 em{color:var(--gold)}
.final-cta .eyebrow{color:#9CC7E0}
.final-cta .lead{color:#C8D9E8;margin:16px auto 28px}
.final-hours{display:flex;align-items:center;gap:8px;margin-top:18px;color:#C8D9E8;font-size:.9375rem}
@media(min-width:768px){.final-cta{padding:88px 0}}

/* Rodape */
.site-footer{background:#061F3B;color:#C8D9E8;padding-top:48px;font-size:.9375rem}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px}
.footer-brand,.footer-contact{grid-column:1/-1}
.footer-logo{display:inline-flex;background:var(--white);border-radius:14px;padding:10px 16px;margin-bottom:16px}
.footer-logo img{height:44px;width:auto}
.footer-brand p{max-width:42ch;line-height:1.65}
.footer-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.footer-actions .btn{flex:1 1 200px;white-space:nowrap}
.footer-col h2{font:700 .875rem var(--head);letter-spacing:.1em;text-transform:uppercase;color:#9CC7E0;margin:0 0 10px}
.footer-col>a{display:flex;align-items:center;min-height:44px;color:#E6EEF6;transition:color .2s,transform .2s}
.footer-col>a:hover{color:var(--gold);transform:translateX(3px)}
.footer-contact ul{display:grid;gap:14px}
.footer-contact li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;color:#E6EEF6}
.footer-contact li>svg{color:var(--gold);margin-top:2px}
.footer-link{display:inline-flex;align-items:center;min-height:24px;color:#E6EEF6;overflow-wrap:anywhere;transition:color .2s}
.footer-link:hover{color:var(--gold)}
.footer-contact address{font-style:normal;line-height:1.6}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding:20px 0 28px;border-top:1px solid rgba(255,255,255,.12);font-size:.875rem;color:#9FB6CB}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr 1.3fr}.footer-brand{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}.footer-brand>p{flex:1 1 320px;order:2}.footer-logo{margin:0;order:1}.footer-actions{margin:0;order:3;flex:0 0 auto;flex-wrap:nowrap}.footer-actions .btn{flex:0 0 auto}.footer-contact{grid-column:auto}}
@media(min-width:1024px){.footer-grid{grid-template-columns:1.5fr .8fr 1.1fr 1.4fr;gap:40px}.footer-brand{display:block;grid-column:auto}.footer-brand>p{margin-top:0}.footer-logo{margin-bottom:16px}.footer-actions{margin-top:20px;flex-wrap:wrap}.footer-actions .btn{flex:1 1 150px}}

/* Paginas internas */
.page-hero{background:var(--white);border-bottom:1px solid var(--line);padding:40px 0 36px}
@media(min-width:1024px){.page-hero{padding:64px 0 56px}}
.dest-list{display:grid;gap:12px}
.dest-row{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.dest-n{font:800 1.25rem var(--head);color:var(--ocean);grid-row:span 2}
.dest-row h2{font-size:1.25rem}
.dest-row p{color:var(--muted)}
.dest-row .btn{grid-column:1/-1;margin-top:8px}
@media(min-width:768px){.dest-row{grid-template-columns:auto 1fr auto;padding:22px 28px}.dest-n{grid-row:auto}.dest-row .btn{grid-column:auto;margin-top:0}}
.about-grid,.contact-grid,.route-detail-grid{display:grid;gap:32px}
.about-copy>p+p,.about-copy>.lead+p{margin-top:16px}
.about-copy p{color:var(--muted)}
.about-copy .btn{margin-top:28px}
.about-photo,.route-detail-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.about-photo img,.route-detail-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 60%}
.about-photo figcaption{position:absolute;left:12px;bottom:12px;background:rgba(8,43,81,.88);color:var(--white);font:600 .875rem/1 var(--head);padding:9px 14px;border-radius:99px}
.checklist{display:grid;gap:10px;margin:20px 0 24px}
.checklist li{display:flex;gap:10px;align-items:flex-start;color:var(--ink)}
.checklist svg{color:var(--ocean);flex-shrink:0;margin-top:3px}
.route-detail-copy .route-time{margin-top:18px}
.route-detail-copy .fine{margin-top:16px}
.contact-main .btn{margin-top:24px}
.contact-list{display:grid;gap:10px;margin-top:28px}
.contact-list a{display:grid;gap:2px;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);font:700 1rem var(--head);color:var(--navy);overflow-wrap:anywhere}
.contact-list span{font:600 .875rem var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.contact-aside{display:grid;gap:16px;align-content:start}
.contact-aside .checklist{margin:14px 0 0}
.contact-aside address{font-style:normal;margin:10px 0;color:var(--muted)}
.contact-aside p{color:var(--muted)}
.contact-aside .link-arrow{margin-top:6px}
@media(min-width:1024px){.about-grid,.contact-grid,.route-detail-grid{grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.about-photo img,.route-detail-photo img{aspect-ratio:4/5;object-position:50% 50%}.contact-grid{align-items:start}}

/* Animacao discreta */
.reveal.is-pending{opacity:0;transform:translateY(14px)}
.reveal{transition:opacity .5s ease,transform .5s ease}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.reveal.is-pending{opacity:1;transform:none}}
