:root{--canvas:#F1F2EC;--panel:#FBFBF7;--accent:#FF642B;--accent-hover:#ED5520;--accent-muted:#FFE0D2;--road:#B4532A;--sea:#0B6E6C;--t2:#4C5A52;--t1:#13221B;--line:#D9DCD2}
*{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip}
body{margin:0;background:var(--canvas);color:var(--t1);font:400 17px/1.55 Figtree,system-ui,sans-serif}
h1,h2,h3{font-family:Archivo,sans-serif;font-stretch:118%;font-weight:800;line-height:1.08;margin:0 0 .4em}
h2{font-size:clamp(28px,4vw,42px)}
h3{font-size:20px;font-weight:700}
a{color:var(--sea)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.label{font-weight:500;color:var(--t2);font-size:14px;margin-bottom:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:5px;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font:600 16px Figtree,sans-serif;transition:background .2s}
.btn-y{background:var(--accent);color:var(--t1)}.btn-y:hover{background:var(--accent-hover)}
.btn-o{border-color:currentColor;color:inherit;background:transparent}
.previa{background:var(--t1);color:#fff;font-size:13px;text-align:center;padding:6px}
.nota{background:#FFF0E7;border:1px dashed #D96A35;font-size:13px;padding:2px 6px;border-radius:4px;color:#753A22}
nav{position:sticky;top:0;z-index:20;background:rgba(241,242,236,.94);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:24px;height:62px}
.logo{font-family:Archivo;font-stretch:125%;font-weight:800;font-size:19px;text-decoration:none;color:var(--t1)}
nav .links{display:flex;gap:20px;margin-left:auto}nav .links a{color:var(--t1);text-decoration:none;font-weight:500}
.logo,nav .links a{white-space:nowrap}
@media(max-width:1100px){nav .links{gap:14px}nav .links a{font-size:15px}}
@media(max-width:960px){nav .links .opt{display:none}}
@media(max-width:760px){nav .links{display:none}nav .btn{margin-left:auto}}
/* topo */
.hero{position:relative;height:300vh}
.stage{position:sticky;top:62px;height:calc(100vh - 62px);overflow:hidden}
.stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 100%;transform-origin:68% 80%}
.stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,25,22,.78) 0%,rgba(10,25,22,.45) 38%,rgba(10,25,22,0) 62%),linear-gradient(0deg,rgba(10,25,22,.5),rgba(10,25,22,0) 40%)}
.band{position:absolute;left:max(20px,calc(50vw - 570px));bottom:8vh;z-index:2;color:#fff;max-width:560px;text-shadow:0 1px 3px rgba(0,0,0,.5);opacity:0;transform:translateY(16px);transition:opacity .35s,transform .35s}
.band.on{opacity:1;transform:none}
.band h1,.band h2{font-size:clamp(30px,4.4vw,50px)}
.band p{font-size:19px;margin:0 0 18px}
.band .btn-o{color:#fff}
.car{margin-top:18px;max-width:min(560px,90vw)}
.track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 220px;scroll-snap-align:start;background:rgba(251,251,247,.96);color:var(--t1);border-radius:6px;overflow:hidden;text-decoration:none;text-shadow:none}
.slide img{position:static;width:100%;height:96px;object-fit:cover;display:block}.slide span{display:flex;flex-direction:column;padding:10px 12px}
.slide b{font-size:15px}.slide em{font-style:normal;font-family:Archivo;font-weight:700;font-size:18px;color:var(--sea)}
.carnav{display:flex;gap:8px;margin-top:10px}.carnav button{width:44px;height:40px;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.25);color:#fff;font-size:22px;border-radius:5px;cursor:pointer}
.band:not(.on){pointer-events:none}
.car.big{position:absolute;z-index:3;right:5mm;top:50%;transform:translateY(-50%);width:min(700px,48vw);max-width:none;margin:0}
.car.big .slide{flex:0 0 100%;border-radius:8px}
.car.big .slide img{height:auto;aspect-ratio:7/4}
.car.big .slide span{padding:16px 20px;flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px}
.car.big .slide b{font-size:20px}.car.big .slide em{font-size:26px}
.car.big .carnav{justify-content:flex-end}
@media(max-width:1000px){.band{max-width:44vw}}
@media(max-width:720px){.car.big{position:relative;top:auto;right:auto;transform:none;width:auto;margin:0 20px;bottom:auto}.stage{height:auto!important;min-height:92vh;padding-bottom:24px}.band.b1{position:relative!important;top:auto!important;left:auto;padding:6vh 20px 10px;max-width:none}.band.b3{display:none!important}}
.facts{background:var(--t1);color:var(--canvas)}.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
.facts b{display:block;font-family:Archivo;font-stretch:112%;font-size:18px}.facts span{font-size:14px;color:#AEB8B1}
@media(max-width:600px){.facts .wrap{grid-template-columns:1fr}}
.mcgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}@media(max-width:860px){.mcgrid{grid-template-columns:1fr}}
.mcard{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}
.tidechart{width:100%;height:auto;display:block;margin-bottom:14px}
.mdays{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:560px){.mdays{grid-template-columns:1fr}}
.mlist{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.mlist span{font-size:13px;padding:3px 8px;border-radius:4px;background:#fff;border:1px solid var(--line)}
.mlist .m-baixa{background:#DDEFED;border-color:#9FD3CF}.msug{font-size:14px;color:var(--sea);font-weight:600}
.cdays{display:flex;flex-direction:column;gap:12px}.cday{display:grid;grid-template-columns:80px 60px 1fr;gap:2px 10px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:14px}
.cday b{grid-row:span 3}.ctemp{font-family:Archivo;font-weight:800;font-size:26px;grid-row:span 3}
.gal [data-src]{cursor:zoom-in}
#lb{position:fixed;inset:0;z-index:50;background:rgba(10,20,16,.92);display:flex;align-items:center;justify-content:center}#lb[hidden]{display:none}
#lb img{max-width:90vw;max-height:84vh;border-radius:6px}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;cursor:pointer;width:56px;height:56px}
.lbx{top:12px;right:12px}.lbp{left:8px}.lbn{right:8px}
.sobregrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}@media(max-width:860px){.sobregrid{grid-template-columns:1fr}}
.sobregrid .ph{border-radius:8px;overflow:hidden;aspect-ratio:4/3}.sobregrid .ph img{width:100%;height:100%;object-fit:cover}
.wafix{position:fixed;right:5mm;bottom:5mm;z-index:40;width:58px;height:58px;border-radius:50%;background:#1F8F4E;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.map3d{width:100%;height:620px;border-radius:8px;overflow:hidden;background:#cfe0dc}
@media(max-width:860px){.map3d{height:460px}}
.mpin{display:flex;align-items:center;gap:6px;background:none;border:0;padding:0;cursor:pointer;font:600 14px Figtree}
.mpin i{width:16px;height:16px;border-radius:50%;background:var(--sea);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.mpin span{background:rgba(251,251,247,.95);color:var(--t1);padding:3px 8px;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.mpin:not(.q):not(.on):not(:hover):not(:focus-visible) span{display:none}
.mpin.on i{background:var(--road);width:20px;height:20px}.mpin.on span{background:var(--accent)}
.mpin.q i{background:var(--t1);border-radius:3px}
.kmline{color:var(--sea);font-weight:600}
.tag{position:absolute;right:16px;bottom:16px;z-index:2;color:#fff;font-size:12px;background:rgba(0,0,0,.45);padding:4px 8px;border-radius:4px}
@media(max-width:720px){.hero{height:auto}.stage{position:relative;top:0;height:92vh}.band{opacity:1;transform:none;display:none}.band.b3{display:block}.band.b1{display:block;bottom:auto;top:8vh}}
section{padding:90px 0}
/* frota */
.switch{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:10px 0 28px;background:var(--panel)}
.switch button{border:0;background:none;padding:10px 18px;font:500 15px Figtree;cursor:pointer}
.switch button.on{background:var(--accent-muted);font-weight:600}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.grid3{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.card .ph{aspect-ratio:5/3.4;overflow:hidden}.card .ph img{width:100%;height:100%;object-fit:cover}
.card .bd{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .sub{color:var(--t2);font-size:15px}
.price{font-family:Archivo;font-weight:700;font-size:22px;margin-top:auto}
.junto{font-size:14px;color:var(--t2);border-top:1px solid var(--line);padding-top:8px}
/* passeios */
#duvidas,#privativo{scroll-margin-top:76px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1000px){.grid4{grid-template-columns:1fr 1fr}}@media(max-width:560px){.grid4{grid-template-columns:1fr}}
.privativo{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--t1);color:var(--canvas);border-radius:8px;padding:24px 28px}
.privativo p{margin:0;color:#D4DAD5;max-width:640px}
@media(max-width:760px){.privativo{flex-direction:column;align-items:flex-start}}
.rows{display:flex;flex-direction:column;gap:28px}
.row{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}
.row:nth-child(even) .ph{order:2}
.row .ph{border-radius:8px;overflow:hidden;aspect-ratio:16/10}.row .ph img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.row{grid-template-columns:1fr;gap:14px}.row:nth-child(even) .ph{order:0}}
/* mapa */
.mapa{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mapgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}
@media(max-width:860px){.mapgrid{grid-template-columns:1fr}}
svg.map{width:100%;height:auto;background:#E7EFE6;border-radius:8px}
.pin{cursor:pointer}.pin circle{fill:var(--sea);stroke:#fff;stroke-width:3;transition:r .2s}.pin.on circle{fill:var(--road);r:11}
.pin text{font:600 15px Figtree;fill:var(--t1)}
#road{fill:none;stroke:var(--road);stroke-width:5;stroke-linecap:round;stroke-dasharray:6 0}
.ficha{background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:22px;min-height:220px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.chip{font-size:14px;padding:4px 10px;border-radius:4px;background:#fff;border:1px solid var(--line)}
.chip.no{text-decoration:line-through;color:#8a8f88}
/* regras */
.regras{background:var(--t1);color:var(--canvas)}
.regras .label{color:#AEB8B1}
.g22{display:grid;grid-template-columns:1fr 1fr;gap:36px 48px;margin-top:20px}
@media(max-width:760px){.g22{grid-template-columns:1fr}}
.g22 .n{font-family:Archivo;font-weight:800;font-size:40px;color:var(--accent);line-height:1}
.g22 h3{margin:8px 0 6px}.g22 p{margin:0;color:#D4DAD5}
/* clientes */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:10px}
.gal div{background:#DDE1D8;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--t2);font-size:14px;text-align:center;padding:10px}
.gal .big{grid-column:span 2;grid-row:span 2}
@media(max-width:760px){.gal{grid-template-columns:1fr 1fr}}
/* duvidas */
.faq{columns:2;column-gap:40px}@media(max-width:760px){.faq{columns:1}}
details{break-inside:avoid;border-bottom:1px solid var(--line);padding:14px 0}
summary{font-weight:600;cursor:pointer}details p{margin:8px 0 0;color:var(--t2)}
/* reserva */
.res{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}
@media(max-width:860px){.res{grid-template-columns:1fr}}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form .full{grid-column:1/-1}
label{font-size:14px;font-weight:500;display:flex;flex-direction:column;gap:5px}
input,select,textarea{font:16px Figtree;padding:10px;border:1px solid #B9BFB4;border-radius:5px;background:#fff}
input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.resumo{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px;align-self:start;position:sticky;top:80px}
.resumo pre{white-space:pre-wrap;font:15px/1.5 Figtree;background:var(--canvas);padding:12px;border-radius:5px}
footer{background:var(--t1);color:#D4DAD5;padding:48px 0;font-size:15px}
footer .logo{color:#fff}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* páginas separadas */
.pagina h1{font-size:clamp(32px,5vw,52px)}
nav .links a[aria-current]{font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:6px}
#reserva,#reservar,#privativo{scroll-margin-top:76px}
.escolha2{display:grid;grid-template-columns:repeat(3,1fr);padding:0;background:var(--t1)}
.esc2{position:relative;display:block;min-height:min(72vh,640px);overflow:hidden;color:#fff;text-decoration:none}
.esc2+.esc2{border-left:1px solid rgba(255,255,255,.22)}
.esc2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.esc2:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,25,22,.88) 0%,rgba(10,25,22,.4) 42%,rgba(10,25,22,0) 70%)}
.esc2 .tx{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:32px 32px 40px}
.esc2:first-child .tx{padding-left:max(20px,calc(50vw - 570px))}
.esc2 .n{display:block;margin-bottom:12px;font:600 14px ui-monospace,Consolas,monospace;color:var(--accent)}
.esc2 h2{font-size:clamp(26px,2.6vw,38px);margin:0 0 10px;min-height:2.16em;display:flex;align-items:flex-end}
.esc2 p{margin:0 0 20px;max-width:440px;min-height:6.2em;color:#E2E7E3}
.esc2 .ir{font-weight:600;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.45);background:linear-gradient(var(--accent),var(--accent)) left bottom/0 2px no-repeat;transition:background-size .35s}
.esc2:hover .ir,.esc2:focus-visible .ir{background-size:100% 2px}
.esc2:hover img,.esc2:focus-visible img{transform:scale(1.04)}
.esc2:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
@media(max-width:1000px){.esc2 .tx,.esc2:first-child .tx{padding:24px 20px 30px}.esc2 p{font-size:15px}}
@media(max-width:760px){.escolha2{grid-template-columns:1fr}.esc2{min-height:58vh}.esc2+.esc2{border-left:0;border-top:1px solid rgba(255,255,255,.22)}.esc2 .tx,.esc2:first-child .tx{padding:28px 20px 32px}.esc2 p,.esc2 h2{min-height:0}}

/* detalhes e privativos */
.voltar{display:inline-block;margin-bottom:18px;font-weight:600;text-decoration:none}
.meta{color:var(--t2);font-weight:500}
.intro{max-width:820px}.intro p{margin:0 0 12px}
.det{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start;margin-top:12px}
@media(max-width:860px){.det{grid-template-columns:1fr}}
.galdet{grid-template-columns:repeat(3,1fr);grid-auto-rows:110px}.galdet .big{grid-column:1/-1;grid-row:span 3}
.itens{list-style:none;padding:0;margin:14px 0 20px;border-top:1px solid var(--line)}
.itens li{padding:9px 0;border-bottom:1px solid var(--line)}
.acoes{display:flex;gap:10px;flex-wrap:wrap}
.selo{display:inline-block;margin-left:6px;padding:1px 8px;background:var(--accent);color:var(--t1);font-size:12px;font-weight:600;border-radius:3px;vertical-align:1px}
.roteiro{margin-top:56px;padding-top:28px;border-top:2px solid var(--t1)}
.paradas{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line)}
.paradas>li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.paradas .num{font:600 15px ui-monospace,Consolas,monospace;color:var(--road);padding-top:3px}
.paradas h3{margin:0}.paradas .tempo{font-size:14px;color:var(--sea);font-weight:600;margin:2px 0 8px}
.paradas p{margin:0 0 8px}.paradas ul{margin:0;padding-left:18px;color:var(--t2)}
.dica{margin-top:18px;padding:12px 16px;border-left:3px solid var(--accent);background:#FFF0E7}
.card .ph{display:block}
.card .bd .btn-o{color:var(--t1);margin-top:auto}/*sem-valor*/
.aviso-quad{padding:10px 14px;border-left:3px solid var(--accent);background:#FFF0E7;font-size:15px;font-weight:600}
.aviso-quad[hidden]{display:none}
.semfoto{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#E4E2D3;color:#13221B;font:800 22px/1.1 Archivo,sans-serif}.semfoto small{font:500 14px Figtree,sans-serif;color:#5b6358}

/* Brand and responsive navigation */
nav .wrap{max-width:1520px;height:88px;gap:20px}
nav .logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
nav .logo img{width:68px;height:68px;object-fit:contain;border-radius:50%}
nav .logo span{max-width:172px;white-space:normal;font-size:16px;line-height:1.2}
nav .links{gap:16px;align-items:center}
nav .links a{font-size:15px}
nav .btn{flex-shrink:0}
.stage{top:88px;height:calc(100vh - 88px)}
footer .logo{white-space:normal}
@media(max-width:1320px){nav .wrap{gap:14px}nav .links{gap:12px}nav .links .opt{display:none}}
@media(max-width:1050px){
 nav .wrap{height:auto;min-height:88px;flex-wrap:wrap;gap:8px 14px;padding-top:8px;padding-bottom:0}
 nav .btn{margin-left:auto}
 nav .links{display:flex;order:3;width:100%;margin:0;overflow-x:auto;gap:20px;padding:9px 0 12px}
 nav .links a{flex-shrink:0;min-height:32px;display:inline-flex;align-items:center}
 nav .links .opt{display:inline-flex}
 .stage{top:149px;height:calc(100vh - 149px)}
}
@media(max-width:480px){nav .logo img{width:54px;height:54px}nav .logo span{font-size:13px;max-width:146px}nav .wrap{min-height:76px;padding-left:12px;padding-right:12px}nav .btn{padding:0 12px}.stage{top:137px;height:calc(100vh - 137px)}}

/* Beach explorer */
.mapgrid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}
.map-panel{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.map-tools{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--canvas)}
.map-tools button,.beach-list button{font:500 14px Figtree,system-ui,sans-serif;cursor:pointer;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--t1);padding:9px 12px;min-height:42px}
.map-tools button[aria-pressed=true],.beach-list button[aria-pressed=true]{background:var(--sea);color:white;border-color:var(--sea)}
.map-tools button:last-child{margin-left:auto}
.map3d{height:540px;border-radius:0}
.beach-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.beach-list button:hover{border-color:var(--sea)}
.map-sidebar{min-width:0}.ficha{min-height:0;padding:22px}.ficha h3{font-size:26px}
.map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.map-actions .btn{padding:10px 14px}
.map-note{font-size:13px;color:var(--t2);margin-bottom:0}.kmline{color:var(--sea);font-size:15px}
.mpin{min-height:30px;gap:5px}.mpin i{width:18px;height:18px;flex-shrink:0;border-width:3px}
.mpin:not(.q):not(.on):not(:hover):not(:focus-visible) span{display:block}
.mpin span{font-size:12px;padding:3px 6px;background:#fff;white-space:nowrap}
.mpin.on{z-index:3}.mpin.on span{background:var(--accent);font-weight:700}.mpin:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:860px){.mapgrid{grid-template-columns:1fr}.map3d{height:440px}.map-tools button{font-size:13px;padding:8px}.map-actions .btn{width:100%}}

/* Crop the supplied logo to its orange circular emblem. */
nav .logo-crop{display:block;position:relative;width:68px;height:68px;flex:0 0 68px;border-radius:50%;overflow:hidden}
nav .logo .logo-crop img{position:absolute;width:154%;height:151%;max-width:none;left:-27%;top:-25%;object-fit:fill;border-radius:0}
@media(max-width:480px){nav .logo-crop{width:54px;height:54px;flex-basis:54px}}

/* Centered map without the destination sidebar. */
#mapa .mapgrid{display:block;max-width:1100px;margin:0 auto}#mapa .map3d{height:580px}@media(max-width:860px){#mapa .map3d{height:460px}}

/* Tide and weather forecast */
#mares .mcgrid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px;align-items:start}
#mares .mcard{padding:26px;border-radius:14px;background:#FBFBF7}
.forecast-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.forecast-heading h3{font-size:21px;margin:0}.forecast-heading>span{font-size:12px;color:var(--t2);white-space:nowrap}
.tide-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.tide-tabs button{font:inherit;cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:8px;padding:10px 8px;color:var(--t2)}.tide-tabs b,.tide-tabs span{display:block}.tide-tabs b{font-size:15px}.tide-tabs span{font-size:12px;margin-top:2px}.tide-tabs button[aria-pressed=true]{background:var(--sea);border-color:var(--sea);color:#fff}.tide-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tide-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--t2);margin-bottom:14px}.tidechart{margin:0 0 20px}
.tide-events{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tide-event{border:1px solid var(--line);border-radius:8px;padding:12px 8px;text-align:center}.tide-event span{display:block;font-size:12px;color:var(--t2)}.tide-event strong{display:block;font-size:22px;font-weight:600;letter-spacing:-.5px;margin-top:4px}.tide-event.baixa{background:#edf5f1;border-color:#c6ded3;color:var(--sea)}
.tide-advice{margin-top:20px;padding:15px 16px;border-left:3px solid var(--sea);background:#f0f2e9;border-radius:0 6px 6px 0}.tide-advice b{font-size:14px}.tide-advice p{font-size:13px;color:var(--t2);margin:4px 0 0}
.weather-day{padding:17px 0;border-bottom:1px solid var(--line)}.weather-day:first-child{padding-top:0}.weather-day:last-child{border-bottom:0;padding-bottom:0}.weather-top{display:flex;align-items:center;justify-content:space-between}.weather-top b{font-size:15px}.weather-date{margin-left:9px;font-size:12px;color:var(--t2)}.weather-icon{font:30px/1 Georgia,serif;color:var(--sea)}.weather-reading{display:flex;align-items:center;gap:18px;margin:9px 0 12px}.weather-reading strong{font-size:40px;font-weight:600;line-height:1;letter-spacing:-2px}.weather-reading>span{font-size:13px;color:var(--t2);line-height:1.6}.weather-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--t2)}.weather-meta b{color:var(--t1);font-weight:500;margin-left:5px}
@media(max-width:860px){#mares .mcgrid{grid-template-columns:1fr}#mares .mcard{padding:20px}.tide-events{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-heading{flex-wrap:wrap}.tide-caption{font-size:11px}}

/* Single-line brand beside the logo. */
nav .logo span{max-width:none;white-space:nowrap;font-size:16px;line-height:1.2}
@media(min-width:1051px) and (max-width:1450px){nav .links .opt{display:none}nav .wrap{gap:12px}nav .links{gap:10px}nav .links a{font-size:14px}}
@media(max-width:600px){nav .logo span{font-size:clamp(11px,3.1vw,15px)}nav .logo{gap:7px}nav .logo-crop{width:46px;height:46px;flex-basis:46px}nav .wrap>.btn{font-size:13px;padding:0 10px;min-height:38px}}
@media(max-width:380px){nav .wrap>.btn{order:2;margin-left:0;margin-bottom:6px}nav .logo span{font-size:12px}}

/* Electric bicycle introduction */
.bike-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:24px}.bike-photo{margin:0}.bike-photo img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;border-radius:12px}.bike-copy h1{font-size:clamp(32px,4vw,48px)}.bike-description{margin:28px 0;padding:0 0 0 22px;border-left:3px solid var(--sea)}.bike-description p{font-size:clamp(18px,2vw,23px);line-height:1.6;margin:0 0 14px}.bike-description cite{font-style:normal;font-size:15px;color:var(--t2)}
@media(max-width:760px){.bike-intro{grid-template-columns:1fr;gap:28px}.bike-photo img{max-height:520px}.bike-description{margin:22px 0;padding-left:16px}}

.art-caption{position:absolute;bottom:10px;right:10px;background:rgba(251,251,247,.92);color:#13221B;font-size:11px;padding:3px 7px;border-radius:3px}

/* Frame the transfer photo around the complete vehicle. */
.transfer-photo{aspect-ratio:4/3;overflow:hidden;border-radius:12px}.transfer-photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center bottom}

.card .ph:has(.vehicle-art){aspect-ratio:8/5}.card .ph .vehicle-art{object-fit:contain;background:#e9eee7}

/* Balanced brand proportions and orange identity. */
nav .wrap{height:76px;min-height:76px;gap:18px}
nav .logo{gap:9px}nav .logo-crop{width:48px;height:48px;flex-basis:48px}nav .logo span{font-size:14px;white-space:nowrap;max-width:none}
@media(max-width:1050px){nav .wrap{height:auto;min-height:76px;gap:6px 12px;padding-top:8px}nav .links{padding-top:5px;padding-bottom:8px}}
@media(max-width:600px){nav .logo-crop{width:40px;height:40px;flex-basis:40px}nav .logo span{font-size:clamp(10px,2.75vw,13px)}nav .logo{gap:6px}}

/* Dedicated carousel panel, independent of the background. */
.showcase{background:#132D25;color:#fff;padding:54px 24px 58px}
.showcase-inner{max-width:1360px;margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:64px}
.showcase-copy{max-width:540px}.showcase-label{font-size:13px;color:#FFB18E;letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px}
.showcase h1{font-size:clamp(32px,3.6vw,52px);line-height:1.12;margin-bottom:22px}
.showcase-copy>p:not(.showcase-label){font-size:18px;line-height:1.65;color:#dce5df}
.showcase-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.showcase-links .btn-o{color:#fff}
.showcase-copy .showcase-note{font-size:13px!important;color:#b2c2b8!important;margin-top:24px}
.feature-frame{min-width:0;background:var(--panel);color:var(--t1);border:10px solid var(--panel);border-radius:14px;box-shadow:0 14px 38px rgba(0,0,0,.22);overflow:hidden;touch-action:pan-y}
.feature-top{display:flex;justify-content:space-between;align-items:center;padding:7px 10px 14px;font-size:13px;gap:16px}
.feature-top>span:first-child{font-weight:600;color:var(--sea)}#feature-counter{font-variant-numeric:tabular-nums;color:var(--t2);font-size:12px}
#feature-image{display:block;width:100%;height:auto;aspect-ratio:25/17;object-fit:cover;border-radius:6px;background:#d8e2da}
.feature-body{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 10px 12px}
.feature-body h2{font:700 clamp(19px,2vw,25px)/1.16 Archivo,sans-serif;margin:0 0 7px}.feature-body p{font-size:14px;color:var(--t2);margin:0}.feature-body .btn{flex-shrink:0;font-size:14px;padding:0 14px}
.card[id],.row[id],#mares,#mapa{scroll-margin-top:145px}
@media(max-width:1050px){.showcase-inner{gap:30px}.showcase{padding:38px 20px 42px}.showcase h1{font-size:36px}.feature-body{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.showcase-inner{grid-template-columns:1fr;gap:30px}.showcase-copy{max-width:none}.showcase h1{font-size:34px;max-width:530px}.showcase-copy>p:not(.showcase-label){font-size:16px}.feature-frame{border-width:8px}.feature-body{flex-direction:row;align-items:center;padding:16px 5px 9px}.feature-body h2{font-size:19px}.feature-body .btn{font-size:13px}.feature-top{padding:6px 5px 12px}}
@media(max-width:380px){.feature-body{flex-direction:column;align-items:flex-start}.feature-body .btn{width:100%}}

/* Preserve the church photograph behind the carousel. */
.showcase{background-color:#132D25;background-image:linear-gradient(90deg,rgba(10,25,22,.8) 0%,rgba(10,25,22,.62) 40%,rgba(10,25,22,.18) 100%),url('/assets/hero-igreja.webp');background-size:cover;background-position:center 65%;background-repeat:no-repeat}
@media(max-width:760px){.showcase{background-image:linear-gradient(180deg,rgba(10,25,22,.78) 0%,rgba(10,25,22,.6) 55%,rgba(10,25,22,.3) 100%),url('/assets/hero-igreja.webp');background-position:65% center}}

/* Church photograph supplied by the owner: carousel left, copy right. */
.showcase{background-image:linear-gradient(90deg,rgba(10,25,22,.12) 0%,rgba(10,25,22,.28) 48%,rgba(10,25,22,.67) 100%),url('/assets/igreja-trancoso-fundo.png');background-position:center center}
.showcase-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"carousel copy";gap:56px}
.feature-frame{grid-area:carousel}.showcase-copy{grid-area:copy;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.showcase-copy .btn{text-shadow:none}.showcase-label{color:#ffd0bc}
@media(max-width:1050px){.showcase-inner{gap:28px}}
@media(max-width:760px){.showcase-inner{grid-template-columns:1fr;grid-template-areas:"copy" "carousel";gap:30px}.showcase{background-image:linear-gradient(180deg,rgba(10,25,22,.62) 0%,rgba(10,25,22,.42) 55%,rgba(10,25,22,.2) 100%),url('/assets/igreja-trancoso-fundo.png');background-position:72% center}}

.escolha2{grid-template-columns:repeat(3,1fr)}.esc2:first-child .tx{padding-left:32px}.rodape-links{margin:6px 0 0}.rodape-links a{color:inherit}
@media(max-width:1000px){.escolha2{grid-template-columns:repeat(2,1fr)}.esc2:nth-child(odd){border-left:0}.esc2:nth-child(n+3){border-top:1px solid rgba(255,255,255,.22)}}
@media(max-width:760px){.escolha2{grid-template-columns:1fr}.esc2:nth-child(n+2){border-top:1px solid rgba(255,255,255,.22)}.esc2:first-child .tx{padding-left:20px}}
@media(min-width:1001px){.esc2:nth-child(3n+1){border-left:0}.esc2:nth-child(n+4){border-top:1px solid rgba(255,255,255,.22)}}

.escolha2{grid-template-columns:repeat(3,1fr)}
@media(min-width:761px){nav .links .opt{display:inline-flex}}

.esc2-destaque{box-shadow:inset 0 0 0 4px var(--accent);z-index:1}.esc2-selo{position:absolute;top:20px;left:20px;z-index:2;background:var(--accent);color:#fff;font:700 13px/1 Figtree,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border-radius:2px;animation:selo 2.4s ease-in-out infinite}.esc2-destaque h2{color:#fff}.esc2-destaque .ir{background-size:100% 2px}
@keyframes selo{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}@media(prefers-reduced-motion:reduce){.esc2-selo{animation:none}}

.exec-grid{display:grid;grid-template-columns:1fr minmax(0,420px) 1fr;gap:24px;align-items:stretch;justify-content:center}.exec-foto{margin:0;border-radius:10px;overflow:hidden;min-height:340px}.exec-foto img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.exec-grid{grid-template-columns:1fr}.exec-foto{min-height:0;height:240px}.exec-foto:last-child{order:2}}
.exec-foto:first-child img{object-position:50% 60%}.exec-foto:last-child img{object-position:58% 50%}
.exec-grid{align-items:center}.exec-foto{min-height:0;height:auto}.exec-foto img{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
@media(max-width:900px){.exec-foto{height:auto}}

.moto-foto{margin:40px 0 0}.moto-foto img{display:block;width:100%;max-width:820px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}.moto-foto figcaption{margin-top:10px;color:var(--t2);font-size:15px}

.frota-fotos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0 0;align-items:start}.frota-foto{margin:0}.frota-foto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.frota-foto figcaption{margin-top:10px;color:var(--t2);font-size:15px}
@media(max-width:700px){.frota-fotos{grid-template-columns:1fr}}
.frota-foto img[src*="bicicleta-igreja"]{aspect-ratio:auto;max-height:560px;object-fit:contain;background:var(--panel)}

.bike-intro{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.bike-photos{display:flex;gap:12px;align-items:flex-start}.bike-photos figure{margin:0;min-width:0}.bike-photos img{display:block;width:100%;height:auto;border-radius:10px}.bike-photos figcaption{margin-top:8px;color:var(--t2);font-size:15px}
@media(max-width:760px){.bike-intro{grid-template-columns:1fr}}
.bike-photos img{aspect-ratio:6/7;object-fit:cover;max-height:none}
#lb video{max-width:90vw;max-height:84vh;border-radius:6px;background:#000}#lb img[hidden],#lb video[hidden]{display:none}
.gal .gv{position:relative}.gal .gv::after{content:"";width:52px;height:52px;border-radius:50%;background:rgba(0,0,0,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") 55% 50%/26px no-repeat}
.tf-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tf-duo .transfer-photo{aspect-ratio:3/4}
.dev-nexus{font-size:.82rem;opacity:.75;margin-top:14px}.dev-nexus a{text-underline-offset:3px}
