:root{--navy:#052e3a;--navy2:#073d48;--text:#133d49;--secondary:#56757b;--orange:#fb6417;--cream:#f5faf7;--line:#d7e5e2;--shadow:0 16px 42px rgba(4,49,54,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;color:var(--text);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;line-height:1.55;background:#fff;-webkit-text-size-adjust:100%}button,input,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}em{font-style:normal;color:#55cbd1}section[id],article[id]{scroll-margin-top:94px}.container{width:calc(100% - 44px);max-width:1180px;margin:0 auto}.skip{position:fixed;top:-80px;left:8px;z-index:200;padding:12px;background:#fff;color:#000}.skip:focus{top:8px}:focus-visible{outline:3px solid #ff9e5c;outline-offset:4px}
.site-header{position:sticky;top:0;z-index:50;height:78px;background:#fff;border-bottom:1px solid #e7efed}.header-line{display:flex;align-items:center;justify-content:space-between;height:100%;gap:22px}.logo{display:block;flex-shrink:0}.logo img{width:112px;height:67px;object-fit:contain}.nav-desktop{display:flex;gap:33px;align-items:center;margin-left:auto}.nav-desktop a{font-size:13px;font-weight:800}.nav-desktop a:hover,.footer-contacts a:hover{color:var(--orange)}.header-cta{padding:13px 19px;background:var(--orange);color:white;border-radius:10px;font-size:13px;font-weight:800;white-space:nowrap}.header-cta:hover,.button-orange:hover{background:#df5109}.nav-mobile{display:none;position:relative}.nav-mobile summary{list-style:none;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-weight:800}.nav-mobile summary::-webkit-details-marker{display:none}.hamburger{display:flex;flex-direction:column;gap:4px;width:22px}.hamburger span{height:2px;width:22px;background:var(--navy);border-radius:2px}.nav-mobile nav{position:absolute;right:0;top:52px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);min-width:230px;border-radius:14px;padding:10px;display:flex;flex-direction:column}.nav-mobile nav a{padding:12px 16px;border-radius:8px;font-weight:700;font-size:14px}.nav-mobile nav a:hover{background:#ecf9f7}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:11px;padding:15px 22px;text-align:center;font-weight:800;line-height:1.3;font-size:14px;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-orange{background:var(--orange);color:#fff}.button-light{background:#ffffffee;color:var(--navy)}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#0c5261}
.hero{min-height:610px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(125deg,#062a34 5%,#076575 72%,#09808c 100%);color:#fff}.hero-photo{position:absolute;inset:0;opacity:1}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 57%;filter:saturate(1.1)}.hero:after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,25,39,.88) 0%,rgba(3,39,56,.70) 44%,rgba(2,41,56,.34) 83%,rgba(3,45,57,.25) 100%),linear-gradient(0deg,rgba(2,35,48,.38),transparent 55%)}.hero-ocean{position:absolute;inset:0;overflow:hidden;pointer-events:none}.bubble{border:1px solid #fff4;border-radius:50%;position:absolute}.b1{width:240px;height:240px;right:11%;top:18%}.b2{width:390px;height:390px;right:3%;top:33%}.b3{width:60px;height:60px;right:31%;top:68%}.hero-content{position:relative;z-index:1;padding:70px 0 80px}.eyebrow{font-size:12px;letter-spacing:.23em;font-weight:800;display:flex;align-items:center;gap:12px}.eyebrow-line{height:2px;width:27px;background:var(--orange)}h1{font-size:clamp(42px,6vw,82px);max-width:880px;letter-spacing:-.06em;margin:22px 0 20px}h1 em{color:#a5eef1}.hero-sub{font-size:19px;line-height:1.65;max-width:600px;color:#e5f3f3}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}.hero-price{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:38px;color:#dcf1f1;font-size:13px}.hero-price strong{font-size:28px;color:white;letter-spacing:-.05em}.price-dot{height:5px;width:5px;background:var(--orange);border-radius:50%}.hero-caption{position:absolute;bottom:16px;right:27px;z-index:1;font-size:11px;color:#d7f1f0}.sea-divider{height:61px;margin-top:-1px;background:var(--cream)}.sea-divider svg{height:100%;width:100%;display:block}
.section{padding:85px 0}.routes-section{background:var(--cream);position:relative}.heading-row,.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-label{font-size:11px;letter-spacing:.18em;font-weight:900;color:#12818a;margin-bottom:12px}h2{font-size:clamp(34px,4.7vw,59px);font-weight:900}h2 em{color:#128d97}.section-intro{max-width:340px;color:var(--secondary);font-size:16px;line-height:1.75}.routes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.route-card{min-width:0;background:#fff;border:1px solid #e0e9e7;border-radius:19px;overflow:hidden;box-shadow:var(--shadow)}.card-photo{height:226px;position:relative}.ocean-photo{background:linear-gradient(140deg,#176e7c 0%,#66b7b8 47%,#c4e7df 100%);overflow:hidden}.ocean-photo img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;z-index:1}.photo-fallback{display:flex;align-items:center;justify-content:center;text-align:center;position:absolute;inset:0;padding:24px;color:#fff;font-size:23px;font-weight:800;letter-spacing:-.02em;text-shadow:0 1px 14px #07505d8a}.photo-fallback small{font-size:13px;font-weight:500}.ocean-photo.image-failed img{display:none}.photo-num{position:absolute;z-index:2;top:16px;left:16px;padding:7px 11px;border-radius:30px;color:#fff;background:#062e3ace;font-size:10px;letter-spacing:.08em;font-weight:900}.route-content{padding:23px;display:flex;flex-direction:column;gap:15px}.route-content .place{font-size:12px;color:#0b8b8e;font-weight:700}.route-content h3{font-size:28px}.route-content>p:not(.place){font-size:14px;line-height:1.65;color:var(--secondary);min-height:70px}.price-line{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.price-line div{min-width:0}.price-line small{font-size:10px;color:#69818a;font-weight:800;display:block}.price-line strong{font-size:32px;color:var(--navy);display:block;letter-spacing:-.06em;white-space:nowrap}.price-private{text-align:right}.price-private b{font-size:12px;color:#3b5860}.route-detail{border-bottom:1px solid #e2ebea;padding:0 0 12px}.route-detail summary{font-size:13px;font-weight:900;color:#0b646b;display:flex;justify-content:space-between;align-items:center;list-style:none;padding:6px 0}.route-detail summary::-webkit-details-marker{display:none}.route-detail summary span{font-size:23px;line-height:1}.route-detail[open] summary span{transform:rotate(45deg)}.route-detail ol{margin:12px 0 0;padding-left:20px;font-size:13px;line-height:1.8;color:#49656e}.route-detail li{margin-bottom:5px}.small-note{font-size:12px;color:#68808a;margin:10px 0}.island-info{margin-top:14px;padding:15px;background:#eef9f7;border-radius:12px;font-size:12px;line-height:1.6}.island-info strong{font-size:13px}.island-info p{margin-top:9px}.route-choice{width:100%;margin-top:0}
.gallery-section{background:radial-gradient(ellipse at 96% 20%,#0c7481 0%,transparent 40%),linear-gradient(145deg,#062d3a,#054d5b);color:white;overflow:hidden}.gallery-heading h2 em{color:#81dfe4}.light-label{color:#87d5d5}.gallery-heading>p{max-width:335px;color:#bdd6d8}.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-bottom:18px}.carousel-button{border:1px solid #ffffff64;color:#fff;background:#ffffff10;width:44px;height:44px;border-radius:50%;font-size:30px;line-height:1;display:none;align-items:center;justify-content:center}.js-active .carousel-button{display:flex}.carousel-button:hover:not(:disabled){background:var(--orange);border-color:var(--orange)}.carousel-button:disabled{opacity:.28;cursor:not-allowed}.gallery-status{font-weight:800;font-size:13px;letter-spacing:.13em}.gallery-viewport{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:16px}.gallery-viewport::-webkit-scrollbar{display:none}.gallery-track{display:flex;gap:18px}.gallery-track:after{content:"";flex:0 0 calc(100% - 78%);pointer-events:none}.gallery-photo{height:330px;flex:0 0 78%;scroll-snap-align:start;position:relative;border-radius:16px;min-width:0}.gallery-photo figcaption{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:26px 19px 18px;background:linear-gradient(transparent,#052f3ac9);font-weight:800;color:white;display:flex;align-items:end;justify-content:space-between}.gallery-photo figcaption span{font-size:12px}.gallery-instruction{margin-top:19px;color:#b8d5d6;font-size:12px}.gallery-instruction a{text-decoration:underline;text-underline-offset:3px}
.booking-section{background:#ecf8f5;background-image:radial-gradient(circle at 9% 80%,#d6f1e9 0%,transparent 30%),radial-gradient(circle at 95% 5%,#cdf2eb 0%,transparent 33%)}.booking-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:8%;align-items:center}.booking-copy>p:not(.section-label){margin-top:22px;color:var(--secondary);line-height:1.8;font-size:16px;max-width:470px}.booking-note{display:flex;gap:13px;padding:20px;border:1px solid #bcded8;background:#fff9;border-radius:16px;margin-top:32px;max-width:480px}.booking-note>span{color:#12887a;font-size:20px}.booking-note strong{font-size:15px}.booking-note p{font-size:13px;margin-top:7px;color:#60777c;line-height:1.55}.booking-card{border:1px solid #d6e6df;border-radius:22px;background:white;box-shadow:var(--shadow);padding:31px}.booking-kicker{color:#15838b;font-size:11px;font-weight:900;letter-spacing:.15em}.booking-card h3{font-size:26px;margin:10px 0 22px}.field{margin-bottom:15px}.field label{font-size:13px;font-weight:800;display:block;margin-bottom:8px}.field input,.field select{width:100%;min-height:48px;line-height:1.3;border-radius:11px;border:1px solid #b9d2d1;background:#fcfefe;padding:12px;color:#143d47;font-size:15px;outline-offset:3px;min-width:0;-webkit-appearance:none;appearance:none}.field select{background-image:linear-gradient(45deg,transparent 50%,#255660 50%),linear-gradient(135deg,#255660 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:37px}.field input[type=date]{-webkit-appearance:auto;appearance:auto}.fields-inline{display:grid;grid-template-columns:1fr 1fr;gap:13px}.message-panel{margin-top:18px;border:1px solid #c8e8de;border-radius:13px;overflow:hidden;background:#f4fbf8}.message-head{padding:10px 14px;border-bottom:1px solid #c8e8de;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900}.status-pill{font-size:9px;letter-spacing:.07em;color:#147c65}.message-panel p{white-space:pre-line;padding:14px;font-size:12.5px;line-height:1.65;color:#345a61;max-height:230px;overflow-y:auto}.send-button{width:100%;margin-top:16px}.field-help{font-size:11.5px;line-height:1.5;color:#678087;margin-top:12px}
.faq-section{background:#fff}.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:8%}.faq-list{display:grid;gap:12px}.faq-list details{border:1px solid var(--line);border-radius:12px;padding:17px 20px}.faq-list summary{list-style:none;font-weight:800;font-size:15px;display:flex;justify-content:space-between}.faq-list summary:after{content:'+';font-size:24px;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list summary::-webkit-details-marker{display:none}.faq-list details p{font-size:14px;color:#5b777b;padding-top:14px;line-height:1.7}.site-footer{background:#062c36;color:white;padding:47px 0 20px}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand img{width:188px;height:99px;object-fit:contain;object-position:left center;background:#fff;border-radius:11px;padding:4px}.footer-brand p{margin-top:18px;font-size:13px;color:#b4ced0}.footer-contacts{display:flex;flex-direction:column;gap:9px}.footer-contacts p{font-size:11px;font-weight:900;letter-spacing:.15em;color:#8dbcc0}.footer-contacts a{font-size:14px}.footer-bottom{border-top:1px solid #ffffff26;margin-top:35px;padding-top:19px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a4bec0}
@media(max-width:1040px){.nav-desktop{gap:16px}.routes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-grid{gap:5%}.header-cta{font-size:12px}}
@media(max-width:760px){.site-header{height:70px}.logo img{width:100px;height:60px}.nav-desktop,.header-cta{display:none}.nav-mobile{display:block}.container{width:calc(100% - 32px)}.hero{min-height:620px}.hero-content{padding:70px 0}.hero-sub{font-size:16px;line-height:1.7}.hero-actions .button{flex:1 1 190px}.hero-price{margin-top:26px}.hero-caption{font-size:10px;bottom:12px;right:16px}.sea-divider{height:36px}.section{padding:61px 0}.heading-row,.gallery-heading{display:block}.section-intro,.gallery-heading>p{margin-top:16px}.routes-grid{grid-template-columns:1fr;gap:20px}.route-content>p:not(.place){min-height:0}.card-photo{height:230px}.booking-grid,.faq-grid{display:block}.booking-card{margin-top:28px;padding:22px}.faq-list{margin-top:25px}.gallery-track:after{flex-basis:14%}.gallery-photo{height:290px;flex-basis:86%}.footer-grid{display:block}.footer-contacts{margin-top:29px}.footer-bottom{font-size:11px}.hero-photo{opacity:1}.hero-photo img{object-position:68% center}.hero:after{background:linear-gradient(90deg,rgba(2,26,39,.78),rgba(2,29,45,.53)),linear-gradient(0deg,rgba(2,29,45,.43),transparent 72%)}}
@media(max-width:380px){.container{width:calc(100% - 26px)}h1{font-size:39px}.button{font-size:13px;padding:13px}.price-line strong{font-size:29px}.fields-inline{grid-template-columns:1fr}.booking-card{padding:16px}.footer-bottom{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Capa real de Ubatuba salva localmente: contraste preservado em todos os tamanhos. */
.hero h1,.hero-sub,.hero-price{text-shadow:0 2px 18px rgba(0,15,20,.2)}

/* Formulário de pré-reserva para Safari, Chrome, Firefox e Edge. */
button.send-button{border:0;cursor:pointer;font-family:inherit;letter-spacing:0;appearance:none;-webkit-appearance:none}
.booking-warning{margin-top:13px;border-radius:10px;background:#fff4eb;border:1px solid #f6b687;padding:13px 15px;color:#904319;font-size:13px;line-height:1.6}

/* Revisão pontual da identidade e do botão de orçamento (outubro/2026). */
.site-header{height:98px}
.logo img{width:210px;height:auto;max-height:84px;object-fit:contain;object-position:left center}
.footer-brand img{width:270px;max-width:100%;height:auto;object-fit:contain;object-position:center;background:#fff;border-radius:12px;padding:10px 12px}
.send-button{display:flex;min-height:56px;text-decoration:none;cursor:pointer}
.booking-error{font-size:13px;color:#9c3512;background:#fff3eb;border:1px solid #f3ba96;border-radius:9px;padding:10px 12px;margin-top:10px}
.booking-error[hidden]{display:none}
@media(max-width:1040px) and (min-width:761px){.logo img{width:165px}.header-line{gap:12px}.nav-desktop{gap:12px}}
@media(max-width:760px){.site-header{height:84px}.logo img{width:173px;height:auto;max-height:70px}.footer-brand img{width:246px;max-width:100%;height:auto;padding:9px 11px}}
@media(max-width:365px){.logo img{width:156px}.nav-mobile summary{padding:8px}.header-line{gap:8px}}

/* Pré-reserva: data e quantidade ocupam largura total no celular, sem sobreposição. */
@media (max-width:760px){.fields-inline{grid-template-columns:minmax(0,1fr);gap:0}.fields-inline .field{min-width:0}.field input[type=date]{width:100%;box-sizing:border-box}}

/* Roteiro 01: galeria fotográfica das oito paradas, com rolagem nativa no celular. */
.coast-section{padding:82px 0 76px;background:radial-gradient(circle at 92% 14%,rgba(114,209,202,.27),transparent 32%),linear-gradient(155deg,#f1faf7,#deefed);position:relative;overflow:hidden}
.coast-header{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:27px}
.coast-header h2{font-size:clamp(32px,4vw,49px);margin-top:12px}
.coast-header h2 em{color:#168f9c}
.coast-header>p{color:#4a7179;max-width:350px;font-size:15px;line-height:1.7}
.coast-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:15px}
.coast-toolbar-label{font-size:11px;font-weight:900;letter-spacing:.15em;color:#157883}
.coast-toolbar-actions{display:flex;align-items:center;gap:13px}
.coast-toolbar-actions>span{font-size:13px;letter-spacing:.08em;font-weight:900;font-variant-numeric:tabular-nums;min-width:66px;text-align:center}
.coast-nav{display:none;width:43px;height:43px;border-radius:50%;border:1px solid #a9d3d0;background:#fff;color:#07525f;font-size:30px;line-height:1;align-items:center;justify-content:center;box-shadow:0 4px 11px rgba(4,50,55,.05)}
.js-active .coast-nav{display:flex}
.coast-nav:hover:not(:disabled){background:#076676;color:#fff}
.coast-nav:disabled{opacity:.35;cursor:not-allowed}
.coast-viewport{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:20px}
.coast-viewport::-webkit-scrollbar{display:none}
.coast-track{display:flex;gap:17px}
.coast-track:after{content:"";flex:0 0 50%;pointer-events:none}
.coast-slide{height:355px;flex:0 0 49%;min-width:0;border-radius:19px;overflow:hidden;position:relative;scroll-snap-align:start;box-shadow:0 11px 30px rgba(3,48,56,.1);background:#166a75}
.coast-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.coast-slide:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(0,26,36,.85));pointer-events:none}
.coast-slide figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:20px 24px 24px;color:white}
.coast-slide-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:900;letter-spacing:.09em;opacity:.95}
.coast-slide figcaption strong{font-size:clamp(19px,2.2vw,26px);line-height:1.2;letter-spacing:-.025em;display:block;margin-top:10px;text-shadow:0 1px 12px #003844}
.coast-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}
.coast-bottom>span{font-size:12px;color:#55777a}
.coast-reserve{border-radius:12px;padding:14px 19px;background:#083b48;color:white;font-weight:800;font-size:13px;text-align:center}
.coast-reserve:hover{background:#fb6417}
.coast-photo-link{display:block;font-size:12px;font-weight:800;color:#0c7a82;margin:10px 0 4px}
@media(max-width:760px){.coast-section{padding:59px 0}.coast-header{display:block;margin-bottom:22px}.coast-header>p{margin-top:16px;font-size:14px}.coast-slide{height:298px;flex-basis:88%}.coast-track:after{flex-basis:12%}.coast-slide figcaption{padding:17px 19px 21px}.coast-bottom{flex-direction:column;align-items:stretch}.coast-reserve{width:100%;padding:15px}.coast-toolbar-label{font-size:10px}}
@media(max-width:360px){.coast-slide{height:262px}.coast-toolbar-actions{gap:8px}.coast-nav{width:37px;height:37px}}
