:root{
  --bg:#f3eee5; --surface:#fbf8f2; --sand:#e8dfd0; --ink:#1c1a16; --muted:#6a6357;
  --line:rgba(28,26,22,.12); --sun:#e4572e; --sun-d:#c9461f; --forest:#14392f; --forest-2:#1d4a3e;
  --peach:#f9dcc3; --cream-on-dark:#f3eee5;
  --r:14px; --r-lg:22px; --wrap:1240px; --gut:clamp(16px,4vw,40px);
  --f-body:"Satoshi",system-ui,sans-serif; --f-disp:"Archivo",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* preview ribbon */
.ribbon{background:var(--peach);color:var(--ink);font-size:13px;font-weight:500;text-align:center;padding:8px var(--gut);margin:10px var(--gut) 0;border-radius:10px}

/* header */
.hd{position:sticky;top:0;z-index:50;background:var(--bg);transition:box-shadow .3s}
.hd.scrolled{box-shadow:0 1px 0 var(--line)}
.hd-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:72px}
.nav{display:flex;gap:26px;font-weight:500;font-size:15px}
.nav a{white-space:nowrap}
.nav a:not(.btn):not(.lang){position:relative;padding:4px 0}
.nav a:not(.btn):not(.lang)::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--sun);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav a:not(.btn):not(.lang):hover::after{transform:scaleX(1)}
.nav-r{justify-content:flex-end;align-items:center}
.logo{display:flex;flex-direction:row;align-items:center;gap:10px;line-height:1;text-align:left;color:var(--forest)}
.logo-mk{width:46px;height:28px;flex:none}
.logo-tx{display:flex;flex-direction:column;gap:3px}
.logo b{font-family:'Barlow',var(--f-body);font-weight:600;font-size:27px;letter-spacing:-.025em;line-height:.9}
.logo b i{font-style:normal;color:var(--sun)}
.logo small{font-family:'Barlow',var(--f-body);font-weight:700;font-size:9px;letter-spacing:.38em;text-transform:uppercase;color:#5d574c;padding-left:1px}
.ft .logo{color:inherit}.ft .logo small{color:#f9dcc3}
.lang{font-weight:700;font-size:14px;border:1.5px solid var(--ink);border-radius:999px;padding:4px 11px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;border-radius:10px;padding:12px 20px;transition:background .2s,transform .15s,color .2s;cursor:pointer;border:0;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-sun{background:var(--sun);color:#fff}.btn-sun:hover{background:var(--sun-d)}
.btn-ink{background:var(--ink);color:var(--bg)}.btn-ink:hover{background:#000}
.btn-line{border:1.5px solid currentColor;background:transparent}.btn-line:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn-wa{background:#1f8a4c;color:#fff}.btn-wa:hover{background:#18723e}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;justify-self:end;align-items:center;justify-content:center}
.burger span{display:block;width:22px;height:2px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--ink)}
.burger span::before{top:-7px}.burger span::after{top:7px}
.mnav{display:none}

/* hero */
.hero{padding:10px var(--gut) 0}
.hero-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:min(86vh,820px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:#3b4b4a}
.hero-card video,.hero-card .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-card video{opacity:0;transition:opacity .8s ease}
.hero-card video.on{opacity:1}
.hero-card::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(0,0,0,.32),transparent 70%),linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.05) 45%,rgba(0,0,0,.5) 100%)}
.hero-top{position:relative;z-index:2;text-align:center;padding:clamp(40px,7vw,80px) 16px 0}
.disp{font-family:var(--f-disp);text-transform:uppercase;line-height:.84;letter-spacing:-.01em}
.hero h1{font-size:clamp(64px,12.5vw,190px);display:flex;flex-wrap:wrap;justify-content:center;gap:0 .16em}
.hero h1 .c{font-stretch:62%;font-weight:800}
.hero h1 .w{font-stretch:125%;font-weight:900}
.hero-sub{max-width:560px;margin:22px auto 0;font-size:clamp(16px,1.6vw,19px);font-weight:500;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.bar{position:relative;z-index:2;margin:0 auto clamp(18px,3vw,32px);width:min(980px,calc(100% - 32px));background:var(--surface);color:var(--ink);border-radius:16px;display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:stretch;padding:8px;gap:4px;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.bar a.seg{display:flex;flex-direction:column;justify-content:center;padding:10px 18px;border-radius:10px;transition:background .2s}
.bar a.seg:hover{background:var(--sand)}
.bar a.seg+a.seg{border-left:1px solid var(--line)}
.bar .k{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.bar .v{font-weight:700;font-size:16px}
.bar .btn{padding:0 26px}

.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:26px 0 8px}
.trust div{display:flex;align-items:center;gap:12px;font-weight:500;font-size:15px}
.trust svg{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;background:var(--sand);color:var(--forest)}

/* sections */
.sec{padding:clamp(70px,9vw,120px) 0}
.eyebrow{display:inline-block;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--sun);margin-bottom:14px}
.h2{font-family:var(--f-disp);font-weight:800;font-stretch:100%;font-size:clamp(34px,4.6vw,62px);line-height:1;letter-spacing:-.025em}
.lead{font-size:clamp(16px,1.4vw,18px);color:var(--muted);max-width:620px;margin-top:18px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.ph{position:relative}
.ph::after{content:"foto provisória";position:absolute;top:10px;left:10px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.85);color:var(--ink);padding:3px 7px;border-radius:5px;pointer-events:none}

/* services */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:52px}
.svc-card{background:var(--surface);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.svc-card .im{aspect-ratio:16/10;overflow:hidden}
.svc-card .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.svc-card:hover .im img{transform:scale(1.04)}
.svc-card .bd{padding:28px 30px 32px;display:flex;flex-direction:column;gap:12px;flex:1}
.tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--peach);padding:5px 10px;border-radius:999px}
.svc-card h3{font-family:var(--f-disp);font-weight:800;font-size:clamp(24px,2.4vw,32px);line-height:1.05;letter-spacing:-.02em}
.svc-card p{color:var(--muted)}
.svc-card .btn{align-self:flex-start;margin-top:auto}

/* sun chaser */
.sun{background:var(--forest);color:var(--cream-on-dark);border-radius:var(--r-lg);margin:0 var(--gut);padding:clamp(56px,8vw,100px) 0}
.sun .lead{color:rgba(243,238,229,.75)}
.sun-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
.sun-fig{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.sun-fig img{width:100%;height:100%;object-fit:cover}
.sun-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(0,0,0,.6));display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.sun-fig .k{font-family:var(--f-disp);font-stretch:62%;font-weight:800;text-transform:uppercase;font-size:clamp(34px,4vw,54px);line-height:.85}
.sun-fig .v{font-weight:500;font-size:14px;text-align:right}
.sun-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end}

/* routes */
.rt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1.5px solid var(--line);background:transparent;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.routes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.route{background:var(--surface);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:opacity .3s,transform .3s}
.route[hidden]{display:none}
.route .im{aspect-ratio:4/3;overflow:hidden;position:relative}
.route .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.route:hover .im img{transform:scale(1.05)}
.route .reg{position:absolute;right:10px;top:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--bg);padding:4px 8px;border-radius:5px}
.route .bd{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.route h3{font-family:var(--f-disp);font-weight:800;font-size:21px;line-height:1.1;letter-spacing:-.015em}
.route .sub{font-size:14px;font-weight:500;color:var(--muted)}
.route p{font-size:14.5px}
.route .len{font-size:13px;font-weight:700;color:var(--forest)}
.route ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;font-size:13px;color:var(--muted);counter-reset:s}
.route ol li{counter-increment:s}
.route ol li+li::before{content:"→";margin:0 6px;color:var(--sun)}
.route .acts{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:8px}
.route .acts .btn{font-size:14px;padding:10px 14px}

/* guides */
.guides{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.guide{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.guide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.9)}
.guide::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.65))}
.guide>*{position:relative;z-index:2}
.guide .n{font-family:var(--f-disp);font-stretch:62%;font-weight:800;font-size:110px;line-height:.8}
.guide h3{font-family:var(--f-disp);font-stretch:62%;font-weight:800;font-size:40px;line-height:.95;text-transform:uppercase}
.guide .soon{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--sun);padding:4px 9px;border-radius:999px}

/* madeira */
.md{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.md-im{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.md-im img{width:100%;height:100%;object-fit:cover}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;border-top:1px solid var(--line);padding-top:26px}
.facts b{display:block;font-family:var(--f-disp);font-weight:800;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.02em;line-height:1}
.facts span{display:block;font-size:14px;color:var(--muted);margin-top:8px}

/* experiences */
.exps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.exp{display:flex;flex-direction:column;gap:12px}
.exp .im{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1}
.exp .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.exp:hover .im img{transform:scale(1.05)}
.exp h3{font-family:var(--f-disp);font-weight:800;font-size:20px;letter-spacing:-.01em}
.exp p{font-size:14.5px;color:var(--muted)}
.exp a{font-weight:700;font-size:14px;border-bottom:1.5px solid var(--sun);align-self:flex-start}

/* booking */
.bk{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,5vw,70px);background:var(--sand);border-radius:var(--r-lg);padding:clamp(28px,5vw,64px)}
.steps{list-style:none;margin-top:30px;display:grid;gap:14px;counter-reset:st}
.steps li{display:flex;gap:14px;align-items:center;font-weight:500;counter-increment:st}
.steps li::before{content:counter(st);flex:none;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-weight:700;font-size:14px}
form.f{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--surface);border-radius:var(--r);padding:clamp(20px,3vw,32px)}
.f label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.f .full{grid-column:1/-1}
.f input,.f select{height:48px;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;font-size:16px;font-weight:500;width:100%}
.f input:focus,.f select:focus{outline:none;border-color:var(--ink)}
.seg2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.seg2 label{position:relative}
.seg2 input{position:absolute;inset:0;opacity:0;pointer-events:none}
.seg2 span{display:flex;align-items:center;justify-content:center;height:48px;border:1.5px solid var(--line);border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}
.seg2 input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.seg2 input:focus-visible+span{outline:2px solid var(--sun);outline-offset:2px}
.f .btn{height:52px;font-size:16px}

/* about */
.ab{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.ab-im{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/2}
.ab-im img{width:100%;height:100%;object-fit:cover}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px;margin-top:40px}
.gal div{border-radius:var(--r);overflow:hidden}
.gal div:nth-child(1){grid-row:span 2}
.gal div:nth-child(4){grid-column:span 2}
.gal img{width:100%;height:100%;object-fit:cover}

/* faq */
.fq{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(30px,5vw,80px);align-items:start}
.fq-l{position:sticky;top:100px}
.fq details{border-bottom:1px solid var(--line)}
.fq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:700;font-size:17px;position:relative}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.fq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.fq details p{padding:0 30px 22px 0;color:var(--muted)}

/* end cta */
.end{position:relative;margin:0 var(--gut);border-radius:var(--r-lg);overflow:hidden;color:#fff;text-align:center;padding:clamp(90px,13vw,170px) 20px}
.end img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.end::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);z-index:1}
.end>div{position:relative;z-index:2}
.end h2{font-size:clamp(52px,9vw,128px)}
.end h2 .c{font-stretch:62%;font-weight:800}.end h2 .w{font-stretch:125%;font-weight:900}
.end p{font-size:18px;font-weight:500;margin:18px 0 28px}
.end .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.end .btn-line{color:#fff}.end .btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}

/* footer */
.ft{padding:70px 0 30px}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.ft h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:14px}
.ft ul{list-style:none;display:grid;gap:8px;font-weight:500}
.ft ul a:hover{color:var(--sun)}
.ft .logo{justify-content:flex-start}
.ft-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:50px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}*{transition:none!important}}

/* responsive */
@media (max-width:1100px){
  .routes,.guides,.exps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1180px){
  .hd-in{grid-template-columns:auto 1fr auto;height:64px}
  .nav,.nav-r .lang,.nav-r .btn{display:none}
  .hd .logo{justify-content:flex-start}
  .burger{display:flex}
  .mnav{display:block;position:fixed;inset:64px 0 0;background:var(--bg);padding:24px var(--gut);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:49}
  .mnav.open{opacity:1;transform:none;pointer-events:auto}
  .mnav a{display:block;font-family:var(--f-disp);font-weight:800;font-size:32px;padding:10px 0;border-bottom:1px solid var(--line)}
  .mnav .row{display:flex;gap:10px;margin-top:24px}
  .mnav .row a{font-family:var(--f-body);font-size:16px;border:0;padding:12px 20px}
}
@media (max-width:900px){
  .bar{grid-template-columns:1fr;padding:6px}
  .bar a.seg+a.seg{border-left:0;border-top:1px solid var(--line)}
  .bar .btn{display:none}
  .trust{grid-template-columns:1fr 1fr}
  .svc,.sun-grid,.sun-head,.md,.bk,.ab,.fq{grid-template-columns:1fr}
  .fq-l{position:static}
  .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .gal div:nth-child(4){grid-column:span 1}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .hero-card{min-height:88svh}
  .routes,.guides,.exps{grid-template-columns:1fr}
  .routes{grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  .route{scroll-snap-align:start}
  .exps{grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  .exp{scroll-snap-align:start}
  .guides{grid-template-columns:1fr 1fr}
  .guide{aspect-ratio:3/4;padding:16px}
  .guide .n{font-size:72px}.guide h3{font-size:17px}
  .trust{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  form.f{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
}

/* série "Be Madeiran For One Day" — card carrossel nas rotas */
.bmd{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--forest);color:var(--cream-on-dark);border-radius:var(--r-lg);padding:clamp(24px,4vw,48px);margin-top:40px;overflow:hidden}
.bmd .eyebrow{color:var(--peach)}
.bmd-h{font-family:var(--f-disp);font-weight:800;font-stretch:62%;font-size:clamp(44px,5.6vw,78px);line-height:.92;text-transform:uppercase;letter-spacing:-.01em}
.bmd-tag{font-weight:700;margin-top:14px;color:var(--sun)}
.bmd .bmd-tag{color:var(--peach)}
.bmd-p{margin-top:14px;color:rgba(243,238,229,.78);font-size:15.5px}
.bmd-ck{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:22px;font-size:14px;font-weight:500}
.bmd-ck li{display:flex;gap:8px;align-items:flex-start}
.bmd-ck li::before{content:"";flex:none;width:16px;height:16px;margin-top:3px;border-radius:50%;background:var(--sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.bmd-c{min-width:0}
.bmd-track{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 6px;outline:none}
.bmd-track::-webkit-scrollbar{display:none}
.bmd-track:focus-visible{outline:2px solid var(--sun);outline-offset:4px;border-radius:var(--r)}
.bmd-slide{scroll-snap-align:start;background:var(--surface);color:var(--ink);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;opacity:.55;transform:scale(.96);transform-origin:left center;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.bmd-slide.on{opacity:1;transform:none}
.bmd-slide .im{position:relative;aspect-ratio:16/9;overflow:hidden}
.bmd-slide .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.bmd-slide.on:hover .im img{transform:scale(1.04)}
.bmd-slide .num{position:absolute;right:12px;bottom:6px;font-family:var(--f-disp);font-stretch:62%;font-weight:800;font-size:64px;line-height:1;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.bmd-slide .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.cpt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sun)}
.bmd-slide h4{font-family:var(--f-disp);font-weight:800;font-size:24px;line-height:1.05;letter-spacing:-.015em}
.bmd-slide .len,.bmp .len{font-size:13px;font-weight:700;color:var(--forest)}
.bmd-slide ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;font-size:13px;color:var(--muted)}
.bmd-slide ol li+li::before{content:"→";margin:0 6px;color:var(--sun)}
.bmd-slide .acts{display:flex;gap:8px;margin-top:auto;padding-top:8px;flex-wrap:wrap}
.bmd-slide .acts .btn{font-size:14px;padding:10px 16px}
.bmd-all{background:var(--sun);color:#fff;justify-content:flex-end;padding:26px;min-height:100%;position:relative}
.bmd-all .n{font-family:var(--f-disp);font-stretch:62%;font-weight:800;font-size:clamp(110px,12vw,170px);line-height:.8}
.bmd-all .t{font-family:var(--f-disp);font-stretch:125%;font-weight:900;font-size:clamp(26px,2.6vw,36px);text-transform:uppercase;line-height:1;margin-top:14px}
.bmd-all .s{font-size:14.5px;margin-top:10px;max-width:280px;opacity:.9}
.bmd-all .go{position:absolute;top:22px;right:22px;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--sun);display:grid;place-items:center;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.bmd-all:hover .go{transform:translateX(4px) rotate(-45deg)}
.bmd-nav{display:flex;align-items:center;gap:14px;margin-top:18px}
.bmd-nav button{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(243,238,229,.4);background:transparent;color:var(--cream-on-dark);display:grid;place-items:center;cursor:pointer;transition:background .2s,opacity .2s}
.bmd-nav button:hover:not(:disabled){background:var(--cream-on-dark);color:var(--forest)}
.bmd-nav button:disabled{opacity:.3;cursor:default}
.bmd-prev svg{transform:rotate(180deg)}
.bmd-dots{display:flex;gap:6px;flex:1;justify-content:center}
.bmd .bmd-dots button{width:8px;height:8px;border:0;padding:0;border-radius:999px;background:rgba(243,238,229,.35);transition:width .3s,background .3s}
.bmd .bmd-dots button[aria-current="true"]{width:26px;background:var(--sun)}

/* página da série */
.bmp-hero{background:var(--forest);color:var(--cream-on-dark);border-radius:var(--r-lg);margin:12px var(--gut) 0;padding:clamp(40px,7vw,90px) 0}
.bmp-hero .eyebrow{color:var(--peach)}
.bmp-hero .h2{font-stretch:62%;text-transform:uppercase;font-size:clamp(52px,8vw,112px);line-height:.9}
.bmp-hero .bmd-tag{color:var(--peach);font-size:18px}
.bmp-hero .lead{color:rgba(243,238,229,.78)}
.bmp-hero .bmd-ck{max-width:560px}
.back{display:table;font-weight:700;font-size:14px;margin-bottom:26px;border-bottom:1.5px solid var(--sun)}
.bmp-list{display:grid;gap:clamp(40px,6vw,80px)}
.bmp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;scroll-margin-top:100px}
.bmp:nth-child(even) .im{order:2}
.bmp .im{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;position:relative}
.bmp .im img{width:100%;height:100%;object-fit:cover}
.bmp .bd{display:flex;flex-direction:column;gap:10px}
.bmp .num{font-family:var(--f-disp);font-stretch:62%;font-weight:800;font-size:72px;line-height:.8;color:var(--sun)}
.bmp h2{font-family:var(--f-disp);font-weight:800;font-size:clamp(28px,3.2vw,42px);line-height:1.02;letter-spacing:-.02em}
.bmp p{color:var(--muted)}
.bmp dl{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.bmp dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:14.5px}
.bmp dt{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--forest);padding-top:2px}
.bmp .btn{align-self:flex-start;margin-top:10px}
.bmp-note{background:var(--sand);border-radius:var(--r);padding:20px 24px;font-weight:500}

@media (max-width:900px){
  .bmd,.bmp{grid-template-columns:1fr}
  .bmp:nth-child(even) .im{order:0}
  .bmd-track{grid-auto-columns:88%}
}
@media (max-width:560px){
  .bmd{padding:22px 16px;margin-left:calc(var(--gut) * -1 + 8px);margin-right:calc(var(--gut) * -1 + 8px)}
  .bmd-ck{grid-template-columns:1fr}
  .bmd-track{grid-auto-columns:90%;gap:12px}
  .bmd-slide{transform:none}
  .bmp dl div{grid-template-columns:1fr;gap:2px}
  .guide h3{font-size:24px}
}
@media (prefers-reduced-motion:reduce){.bmd-slide{transform:none}}

.incl{position:absolute;top:10px;right:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--sun);color:#fff;padding:5px 10px;border-radius:999px}

/* guias: card categoria → carrossel → página do item */
button.guide{font:inherit;text-align:left;border:0;cursor:pointer;width:100%}
.gbtn img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gbtn:hover img{transform:scale(1.05)}
.guide .cnt{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.92);color:var(--ink);padding:4px 9px;border-radius:999px}
.gopen{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:700;font-size:14px}
.gopen i{font-style:normal;width:26px;height:26px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font-size:18px;line-height:1;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.gbtn[aria-expanded="true"]{outline:3px solid var(--sun);outline-offset:3px}
.gbtn[aria-expanded="true"] .gopen i{transform:rotate(45deg)}
.gbtn:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.gpanel{background:var(--forest);color:var(--cream-on-dark);border-radius:var(--r-lg);padding:clamp(22px,3.5vw,40px);margin-top:22px;scroll-margin-top:90px;animation:gpIn .55s cubic-bezier(.2,.7,.2,1)}
.gpanel-static{margin-top:0;animation:none}
.gpanel[hidden]{display:none}
@keyframes gpIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.gp-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.gpanel .eyebrow{color:var(--peach)}
.gpanel .bmd-h{font-size:clamp(34px,4vw,56px)}
.gpanel .bmd-p{max-width:620px}
.gp-x{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(243,238,229,.4);background:transparent;color:var(--cream-on-dark);font-size:24px;line-height:1;cursor:pointer}
.gp-x:hover{background:var(--cream-on-dark);color:var(--forest)}
.gpanel .bmd-track{grid-auto-columns:calc((100% - 32px) / 3)}
.gslide .im{aspect-ratio:4/3}
.gslide h4{font-size:21px}
.gslide .bd{gap:6px}
.gt,.gcard .gt{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-weight:700;font-size:14px;color:var(--sun)}
.gpanel:not([hidden]) .gslide{animation:gsIn .6s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i) * 70ms + 120ms)}
@keyframes gsIn{from{opacity:0;transform:translateX(48px)}}
.gpanel .bmd-all .n{font-size:clamp(90px,9vw,130px)}
.incl.d1{background:#2f7d4f}.incl.d2{background:#d08a1c}.incl.d3{background:#b3261e}
.gcat{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gcard{background:var(--surface);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.gcard .im{position:relative;aspect-ratio:4/3;overflow:hidden}
.gcard .im img,.gslide .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gcard:hover .im img{transform:scale(1.05)}
.gcard .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.gcard h4{font-family:var(--f-disp);font-weight:800;font-size:22px;line-height:1.05;letter-spacing:-.015em}
/* página do item */
.gi-hero{padding:clamp(30px,5vw,60px) 0 0}
.gi-hero .h2{font-size:clamp(44px,7vw,96px)}
.gi-meta{display:flex;flex-wrap:wrap;gap:10px 34px;margin:22px 0 30px}
.gi-meta dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.gi-meta dd{font-weight:700;font-size:17px}
.gi-im{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:21/9}
.gi-im img{width:100%;height:100%;object-fit:cover}
.gi-im .incl{top:16px;right:16px;font-size:12px}
.gi{display:grid;gap:clamp(30px,5vw,60px)}
.gi-txt .lead{max-width:820px;font-size:clamp(18px,1.8vw,22px);color:var(--ink)}
.gi-blk{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.gi-blk .im{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.gi-blk .im img{width:100%;height:100%;object-fit:cover}
.gi-blk p{font-size:17px;color:var(--muted);margin-bottom:22px}
.gi-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--sand);border-radius:var(--r-lg);padding:clamp(24px,4vw,44px)}
.gi-cta h2{font-family:var(--f-disp);font-weight:800;font-size:clamp(26px,3vw,38px);letter-spacing:-.02em;line-height:1.05}
.gi-cta p{color:var(--muted);margin-top:8px;max-width:520px}
.gi-cta .row{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){
  .gpanel .bmd-track{grid-auto-columns:calc((100% - 16px) / 2)}
  .gcat{grid-template-columns:1fr 1fr}
  .gi-blk{grid-template-columns:1fr}
  .gi-im{aspect-ratio:16/10}
}
@media (max-width:560px){
  .gpanel{padding:20px 16px}
  .gpanel .bmd-track{grid-auto-columns:82%}
  .gcat{grid-template-columns:1fr}
  .gopen{font-size:13px}
  .gi-cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.gpanel,.gslide{animation:none!important}}
.gpanel .bmd-slide{opacity:1;transform:none}
.bmd-nav .bmd-dots button{width:8px;height:8px;border:0;padding:0;border-radius:999px;background:rgba(243,238,229,.35);transition:width .3s,background .3s}.bmd-nav .bmd-dots button[aria-current="true"]{width:26px;background:var(--sun)}

/* cartas em leque (guias) */
.cf{position:relative;outline:none}
.cf:focus-visible{outline:2px solid var(--sun);outline-offset:6px;border-radius:var(--r)}
.cf-stage{position:relative;perspective:1400px;transform-style:preserve-3d;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;overflow:visible;padding-top:20px}
.cf.dragging .cf-stage{cursor:grabbing}
.cf-card{position:absolute;left:50%;top:20px;width:min(340px,74%);display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border-radius:var(--r);overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.22);transition:transform .75s cubic-bezier(.2,.85,.2,1),opacity .5s ease,filter .5s ease,box-shadow .5s ease;will-change:transform;-webkit-user-drag:none}
.cf-card img{pointer-events:none;-webkit-user-drag:none}
.cf-card.on{box-shadow:0 34px 70px rgba(0,0,0,.5)}
.cf.dragging .cf-card{transition:none}
.cf.intro .cf-card{transition:none}
.cf.pop .cf-card{transition-delay:calc(var(--i) * 70ms)}
.cf-card.bmd-all{background:var(--sun);color:#fff;justify-content:flex-end;padding:26px}
.cf-card .gt{transition:gap .25s}
.cf-card.on .gt{gap:10px}
.gpanel:not([hidden]) .gslide{animation:none}
.gpanel .cf .bmd-nav{margin-top:6px}
@media (max-width:560px){.cf-card{width:76%}}
@media (prefers-reduced-motion:reduce){.cf-card{transition:none}}
.gpanel{overflow:hidden}
.cf-card .im{position:relative;overflow:hidden;aspect-ratio:4/3}.cf-card .im img{width:100%;height:100%;object-fit:cover}.cf-card .bd{padding:16px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}.cf-card h4{font-family:var(--f-disp);font-weight:800;font-size:21px;line-height:1.05;letter-spacing:-.015em}

/* guias: card salta para fora → baralho por cima da página */
.gx{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:hidden}
.gx[hidden]{display:none}
.gx-bg{position:absolute;inset:0;background:rgba(14,32,26,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .35s ease}
.gx.show .gx-bg{opacity:1}
.gx-in{position:relative;width:min(1100px,100%);padding:0 16px;color:var(--cream-on-dark);opacity:0;transition:opacity .35s ease}
.gx.show .gx-in{opacity:1}
.gx-top{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:760px;margin:0 auto}
.gx-top h3{font-family:var(--f-disp);font-stretch:62%;font-weight:800;font-size:clamp(34px,5vw,58px);text-transform:uppercase;line-height:1}
.gx-x{flex:none;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(243,238,229,.5);background:transparent;color:var(--cream-on-dark);font-size:26px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.gx-x:hover{background:var(--cream-on-dark);color:var(--forest)}
.gx .bmd-nav{max-width:760px;margin:4px auto 0}
.gfly{position:fixed;z-index:210;margin:0;pointer-events:none;box-shadow:0 30px 70px rgba(0,0,0,.5);transform-origin:center}
@media (max-height:700px){.gx .cf-card .im{aspect-ratio:16/10}}
.gx .cf:focus,.gx .cf:focus-visible{outline:none}
.ph[data-ph]::after{content:attr(data-ph)}
.gi-im.ph::after,.gi-im[data-ph]::after{z-index:2}
.gi-cap{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5}
.gi-cap b{color:var(--sun-d);font-weight:700}
.gi-cap a{text-decoration:underline;text-underline-offset:2px}
.gi-blk.solo{grid-template-columns:1fr;max-width:760px}
.gchips{margin-bottom:28px}
.gcard[hidden]{display:none}
/* home: madeirense, sol, extras, rotas perto, tempo */
.bmd-more{margin-top:22px}
a.sun-fig{display:block;color:inherit}
.sun-go{position:absolute;top:18px;right:18px;z-index:3;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--sun);display:grid;place-items:center;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
a.sun-fig:hover .sun-go{transform:translateX(4px) rotate(-45deg)}
a.sun-fig img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
a.sun-fig:hover img{transform:scale(1.04)}
.sxs,.rcs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.sx,.rc{background:var(--surface);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.sx .im,.rc .im{position:relative;aspect-ratio:16/10;overflow:hidden}
.sx .im img,.rc .im img{width:100%;height:100%;object-fit:cover}
.sx .bd,.rc .bd{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.sx h3,.rc h3{font-family:var(--f-disp);font-weight:800;font-size:22px;letter-spacing:-.015em;line-height:1.1}
.sx p,.rc p{font-size:14.5px;color:var(--muted)}
.sx .btn,.rc .btn{align-self:flex-start;margin-top:auto;font-size:14px;padding:10px 16px}
.rcs-wrap .h2{font-size:clamp(28px,3.4vw,44px)}
.wx{position:absolute;left:10px;bottom:10px;z-index:2;font-size:12.5px;font-weight:700;background:rgba(255,255,255,.92);color:var(--ink);padding:4px 9px;border-radius:999px;opacity:0;transition:opacity .4s}
.wx.on{opacity:1}
.wx-l{position:static;background:none;padding:0;font-size:17px;opacity:1}
.wx-l:empty::before{content:"…"}
@media (max-width:900px){.sxs,.rcs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sxs,.rcs{grid-template-columns:1fr}}
.gi-hero + .sec{padding-top:clamp(24px,3.5vw,40px)}
.fac{margin-top:26px}
.fac ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.fac li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:500}
.st{display:inline-block;font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px;color:#fff;background:#2f7d4f;margin-right:8px}
.st-restricted{background:#d08a1c}.st-closed{background:#b3261e}
.st-link{font-size:13.5px;font-weight:700;color:var(--sun);text-decoration:underline;text-underline-offset:2px}
.stb{position:absolute;left:10px;top:38px;z-index:2;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;padding:4px 9px;border-radius:999px}
.stb.st-restricted{background:#d08a1c}.stb.st-closed{background:#b3261e}

/* galeria na página do sítio */
.pgal{display:grid;gap:12px}
.pgal:focus{outline:none}.pgal:focus-visible .gal-im{outline:3px solid var(--sun);outline-offset:3px}
.gal-im{overflow:hidden}
.gal-t{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gal-t::-webkit-scrollbar{display:none}
.gal-s{position:relative;flex:0 0 100%;height:100%;margin:0;scroll-snap-align:start}
.gal-s img{width:100%;height:100%;object-fit:cover}
.gal-cr{position:absolute;right:12px;bottom:12px;font-size:11px;font-weight:600;color:#fff;background:rgba(0,0,0,.45);padding:3px 8px;border-radius:999px;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gal-b{position:absolute;top:50%;z-index:3;width:46px;height:46px;margin-top:-23px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .2s,background .2s}
.gal-b:hover{background:#fff;transform:scale(1.06)}
.gal-b svg{width:18px;height:18px}
.gal-p{left:16px}.gal-p svg{transform:rotate(180deg)}
.gal-n{right:16px}
.gal-c{position:absolute;left:16px;top:16px;z-index:3;font-size:12.5px;font-weight:700;color:var(--ink);background:rgba(255,255,255,.92);padding:4px 10px;border-radius:999px;font-variant-numeric:tabular-nums}
.gal-s.ph::after,.gal-s[data-ph]::after{z-index:2}
.gal-im .gal-c{top:auto;bottom:16px}
.gal-im .gal-cr{bottom:16px}
.gal-dots{display:flex;justify-content:center;gap:8px}
.gal-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--line,#d8cfbf);cursor:pointer;transition:width .25s,background .25s}
.gal-dot[aria-current]{width:24px;border-radius:999px;background:var(--sun)}
@media (max-width:700px){.gal-b{width:38px;height:38px;margin-top:-19px}.gal-p{left:10px}.gal-n{right:10px}}
.carn{margin-top:22px;padding:18px 20px;border-radius:var(--r-lg);background:var(--forest);color:var(--cream-on-dark)}
.carn .eyebrow{color:var(--sun)}
.carn p{margin:6px 0 0;font-size:16.5px}

.gi-blk .pgal{min-width:0}
.gi-blk .gal-im .gal-b{width:40px;height:40px;margin-top:-20px}
.gi-blk .gal-cr{max-width:60%}

/* tempo: ícones animados (modelo C) */
.wx{display:inline-flex;align-items:center;gap:5px;padding:2px 10px 2px 4px}
.wx svg{width:26px;height:26px;overflow:visible;flex:none}
.wx-l{gap:8px;padding:0}.wx-l svg{width:36px;height:36px}
.wx-l .wxd{font-weight:500;color:var(--muted)}
.wx .sunc{fill:var(--sun)}.wx .ray{stroke:var(--sun);stroke-width:2.2;stroke-linecap:round}
.wx .cl{fill:#fff;stroke:#5f6a66;stroke-width:1.6}.wx .cl2{fill:#dfe3e0;stroke:#5f6a66;stroke-width:1.6}
.wx .drop{stroke:#3f6f86;stroke-width:2.2;stroke-linecap:round}.wx .fogl{stroke:#8f877b;stroke-width:2.2;stroke-linecap:round}.wx .bolt{fill:var(--sun)}
@media (prefers-reduced-motion:no-preference){
  .wx .rays{transform-origin:16px 16px;animation:wxspin 14s linear infinite}.wx .rays-s{transform-origin:12px 12px}
  .wx .drift{animation:wxdrift 4s ease-in-out infinite alternate}
  .wx .drop{animation:wxfall 1.1s linear infinite}.wx .drop:nth-of-type(2){animation-delay:.35s}.wx .drop:nth-of-type(3){animation-delay:.7s}
  .wx .fogl{animation:wxslide 3.2s ease-in-out infinite alternate}.wx .fogl:nth-of-type(2){animation-delay:.6s}
  .wx .bolt{animation:wxflash 2.6s steps(1) infinite}
}
@keyframes wxspin{to{transform:rotate(360deg)}}
@keyframes wxdrift{from{transform:translateX(-1.5px)}to{transform:translateX(2px)}}
@keyframes wxfall{0%{transform:translateY(-2px);opacity:0}30%{opacity:1}100%{transform:translateY(5px);opacity:0}}
@keyframes wxslide{from{transform:translateX(-2px)}to{transform:translateX(3px)}}
@keyframes wxflash{0%,70%{opacity:1}72%{opacity:.15}76%{opacity:1}80%{opacity:.2}84%,100%{opacity:1}}

/* mapas */
.lmap-wrap{display:grid;gap:14px}
.lmap{height:clamp(280px,40vw,420px);border-radius:var(--r-lg);overflow:hidden;background:var(--sand);z-index:0}
.lpin{background:none;border:0}
.lpin span{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--sun);border:2.5px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.3);color:#fff;font:800 13px/1 var(--f-body)}
.lpin b{transform:rotate(45deg)}
.route a.im{display:block}
.leaflet-tooltip{font-family:var(--f-body);font-weight:700;font-size:13px;border-radius:8px}

/* páginas das rotas */
.rp-lead{max-width:62ch;margin-top:14px}
.rp-path p{font-size:18px;line-height:1.7;margin-top:8px}
.rp-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,50px);align-items:start}
.rp-grid .lmap{height:clamp(320px,42vw,520px)}
.rp-stops{counter-reset:s;list-style:none;padding:0;margin:14px 0 0;display:grid;gap:14px}
.rp-stops li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;column-gap:12px;row-gap:2px}
.rp-stops li::before{content:counter(s);grid-row:span 3;width:28px;height:28px;border-radius:50%;background:var(--sun);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.rp-stops b{font-size:17px}.rp-stops span{color:var(--muted);font-size:15px;grid-column:2}
.rp-col{display:grid;gap:12px;max-width:760px}
.stars i{font-style:normal;color:var(--line)}.stars i.on{color:var(--sun)}
.route h3 a{color:inherit;text-decoration:none}
@media (max-width:860px){.rp-grid{grid-template-columns:1fr}}

.bmp-map{height:260px;margin:4px 0 6px}

/* menu sanduíche em todos os ecrãs */
.hd-in{grid-template-columns:1fr auto 1fr}
.burger{display:inline-flex;gap:12px;width:auto;justify-self:start;padding:0 4px;font:700 15px/1 var(--f-body);color:var(--ink)}
.burger b{font-weight:600}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.burger span::before,.burger span::after{transition:transform .25s,top .25s}
.mnav{display:block;position:fixed;left:0;right:0;bottom:0;top:72px;background:var(--bg);padding:28px var(--gut) 48px;overflow:auto;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .25s,transform .25s;z-index:49}
.mnav.open{opacity:1;transform:none;pointer-events:auto}
.mnav nav{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px}
.mnav nav a{display:flex;gap:14px;align-items:baseline;font-family:var(--f-disp);font-weight:800;font-size:clamp(24px,3.2vw,38px);letter-spacing:-.015em;padding:12px 0;border-bottom:1px solid var(--line)}
.mnav nav a i{font-style:normal;font:700 13px/1 var(--f-body);color:var(--sun);min-width:22px}
.mnav nav a:hover{color:var(--sun)}
.mnav .row{max-width:1100px;margin:28px auto 0;display:flex;gap:10px}
.mnav .row a{font-family:var(--f-body);font-size:16px;border:0;padding:12px 20px}
@media (max-width:860px){.burger b{display:none}.mnav{top:64px}.mnav nav{grid-template-columns:1fr}.hd-in{grid-template-columns:auto 1fr auto}.hd .logo{justify-content:center}.logo-mk{width:38px;height:23px}.logo b{font-size:23px}}

/* preços */
.route .len small,.gi-meta small{font-weight:500;color:var(--muted);font-size:13px}
.sun-fig .pr{display:block;font-size:13px;font-weight:700;margin-top:4px;opacity:.9}
.route-cu{grid-column:1/-1;background:var(--forest);color:var(--cream-on-dark)}
.route-cu .bd{padding:clamp(24px,4vw,40px);display:grid;grid-template-columns:1fr auto;gap:10px 40px;align-items:center}
.route-cu .eyebrow{color:var(--sun)}
.route-cu h3{font-size:clamp(26px,3vw,36px)}
.route-cu p{grid-column:1;color:var(--cream-on-dark);opacity:.85;max-width:60ch}
.route-cu .len{grid-column:1;color:var(--cream-on-dark)}
.route-cu .acts{grid-column:2;grid-row:1/span 4}
@media (max-width:700px){.route-cu .bd{grid-template-columns:1fr}.route-cu .acts{grid-column:1;grid-row:auto}}
@media (max-width:560px){.route-cu{grid-column:auto}}

/* formulário: autocompletar, zona, total */
.ac{position:relative}
.ac-list{position:absolute;left:0;right:0;top:100%;z-index:20;margin:4px 0 0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.12);max-height:280px;overflow:auto}
.ac-list li{padding:9px 10px;border-radius:8px;cursor:pointer;display:grid;gap:2px;font-weight:500}
.ac-list li b{font-weight:700;font-size:14.5px}
.ac-list li span{font-size:12.5px;color:var(--muted)}
.ac-list li:hover,.ac-list li[aria-selected="true"]{background:var(--sand)}
.zhelp{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:6px;line-height:1.45}
.tot{background:var(--sand);border-radius:12px;padding:14px 16px;display:grid;gap:8px}
.tot-h{display:flex;justify-content:space-between;align-items:baseline;font-weight:700}
.tot-v{font-family:var(--f-disp);font-stretch:62%;font-weight:850;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
.tot-l{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}
.tot-l li{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.tot small{font-size:12px;color:var(--muted)}

/* popup de urgência */
.urg{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:70;width:min(340px,calc(100vw - 32px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--sun);border-radius:var(--r);padding:18px 20px 18px;box-shadow:0 10px 30px rgba(28,26,22,.12);display:grid;gap:6px;opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.urg.show{opacity:1;transform:none}
.urg[hidden]{display:none}
.urg .eyebrow{color:var(--sun-d)}
.urg h3{font-family:var(--f-disp);font-weight:800;font-size:20px;line-height:1.1;letter-spacing:-.01em;padding-right:28px}
.urg p{font-size:14px;color:var(--muted)}
.urg .urg-free{font-weight:700;color:var(--ink)}
.urg .btn{justify-self:start;margin-top:4px}
.urg-x{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}
.urg-x:hover{background:var(--ink);color:var(--surface)}
@media (max-width:560px){.urg{left:12px;right:12px;width:auto;bottom:12px;padding:14px 16px}.urg h3{font-size:18px}.urg p:not(.urg-free){display:none}}
.mnav nav a{font-size:clamp(18px,1.6vw,22px);padding:11px 0;letter-spacing:-.005em}
.mnav nav a i{font-size:12px}
.mnav nav{max-width:860px}
.mnav .row{max-width:860px}

/* seletor de idioma EN · PT · FR · DE */
.lsw{position:relative}
.lsw summary{list-style:none;cursor:pointer}
.lsw summary::-webkit-details-marker{display:none}
.lsw-b{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;line-height:1.35;border:1.5px solid var(--ink);border-radius:999px;padding:4px 11px;color:var(--ink);user-select:none}
.lsw-b::after{content:"";width:5px;height:5px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.lsw[open] .lsw-b::after{transform:rotate(225deg) translateY(-1px)}
.lsw-m{position:absolute;right:0;top:calc(100% + 10px);z-index:60;margin:0;padding:6px;list-style:none;min-width:172px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px rgba(28,26,22,.14)}
.lsw-m a{display:flex;gap:10px;align-items:baseline;padding:9px 12px;border-radius:9px;font-weight:500;font-size:15px;white-space:nowrap}
.lsw-m a b{min-width:24px;font-weight:700;color:var(--sun-d)}
.lsw-m a:hover{background:var(--sand)}
.lsw-m a[aria-current="true"]{background:var(--forest);color:var(--cream-on-dark)}
.lsw-m a[aria-current="true"] b{color:inherit}
.mnav .mlang{max-width:860px;margin:18px auto 0;display:flex;gap:8px;flex-wrap:wrap}
.mnav .mlang a{display:inline-block;font-family:var(--f-body);font-size:15px;font-weight:700;letter-spacing:.02em;border:1.5px solid var(--ink);border-radius:999px;padding:8px 18px}
.mnav .mlang a[aria-current="true"]{background:var(--forest);border-color:var(--forest);color:var(--cream-on-dark)}
@media (max-width:1180px){.nav.nav-r{display:flex}.nav-r .lang{display:none}}

/* galeria de fotos nas páginas de rota (25/10) */
.rp-gal{margin:0 auto clamp(28px,4vw,48px);max-width:980px;width:100%}.rp-gal .gal-im{position:relative;aspect-ratio:3/2;border-radius:var(--r-lg)}

/* 01/11 carrossel da autocaravana no cartão */
.cv-gal{gap:0}.cv-gal .gal-im{position:relative}.cv-gal .gal-dots{padding:14px 0 0}
.svc-card:hover .cv-gal .im img{transform:none}
