@font-face{font-family:Bricolage;src:url(bricolage-latin.woff2) format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Public;src:url(public-sans-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}

:root{color-scheme:light;--paper:#f3e7d3;--surface:#fbf3e7;--ink:#24201b;--heading:#3b2a4f;--muted:#62544e;--line:#cdb89d;--deep:#291c34;--night:#211728;--dune:#d9b27c;--amber:#ffbe86;--rust:#c8431f;--rust-pressed:#9d3218;--link:#7a2e8a;--oasis:#1f6b5a;--focus:#7a2e8a;--white:#fff6e9;--body:Public,system-ui,sans-serif;--display:Bricolage,Public,system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--shell:min(1240px,calc(100% - 104px));--header-h:73px}
:root{--reading:1.0625rem;--label:.875rem;--caption:.8125rem;--target:2.75rem;--control-line:#886f67}
:root[data-theme=dark]{color-scheme:dark;--paper:#17121f;--surface:#241b30;--ink:#ede3d2;--heading:#f3e4cf;--muted:#c6b7cb;--line:#51415e;--link:#dfb0ec;--oasis:#a4e1c9;--focus:#ffd2a4;--control-line:#9c86a9}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:24px}
main:focus{outline:none}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--reading)/1.6 var(--body);overflow-wrap:break-word}
img{display:block;width:100%;height:auto}
svg{vertical-align:middle}
button{font:inherit;color:inherit}
a{color:var(--link);text-underline-offset:4px}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
h1,h2,h3,p,figure,ul,ol,dl{margin:0}
h1,h2,h3{font-family:var(--display);font-optical-sizing:auto;color:var(--heading);line-height:1.04;letter-spacing:-.038em}
h1,h2{font-weight:730}
h3{font-weight:680}
ul[role=list],nav ul{list-style:none;padding:0}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}
.shell{width:var(--shell);margin-inline:auto}
.section-space{padding-block:clamp(64px,6.1vw,96px)}
.eyebrow{font:650 .75rem/1.35 var(--mono);letter-spacing:.105em;text-transform:uppercase}
.eyebrow.with-line{display:flex;align-items:center;gap:11px}
.eyebrow.with-line::before{content:"";display:block;width:24px;height:1px;flex:none;background:currentColor;opacity:.72}
.icon{width:19px;height:19px;flex:none}
.visually-hidden,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}
.skip:focus{position:absolute;z-index:12;top:9px;left:12px;background:#fff6e9;color:#2d1f37;--focus:#ffcc9e;padding:10px 16px}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;font-size:var(--label);font-weight:700;padding:12px 18px;border:1px solid transparent;transition:background .18s,color .18s,border-color .18s}
.button .icon,.text-link .icon{transition:transform .22s}
.button:hover .icon,.text-link:hover .icon{transform:translateX(3px)}
.button.reserve{background:var(--rust);color:#fff}
.button.reserve:hover{background:var(--rust-pressed)}
.text-link{display:inline-flex;gap:9px;align-items:center;min-height:var(--target);text-underline-offset:5px;font-size:var(--label);font-weight:700}
.text-link .icon{width:16px;height:16px}

.site-header{position:relative;z-index:5;background:var(--deep);color:var(--white);border-bottom:1px solid #ffffff24;--focus:#ffcc9e}
.site-header.over-hero{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,#211627ed,#211627ad)}
.header-inner{min-height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:var(--target);color:inherit;text-decoration:none;justify-self:start;font:770 33px/.9 var(--display);letter-spacing:-.053em;width:max-content}
.brand i{color:var(--amber);font-style:normal}
.brand-mark{width:34px;height:34px;color:var(--amber);flex:none}
.main-nav{display:flex;align-items:center;gap:clamp(19px,2.65vw,42px)}
.main-nav a{position:relative;color:#fff2e6;font-weight:650;font-size:var(--label);text-decoration:none;padding-block:15px}
.main-nav a::after{content:"";display:block;position:absolute;height:1px;background:var(--amber);inset:auto 0 9px;transform-origin:left;transform:scaleX(0);transition:transform .18s}
.main-nav a:hover::after,.main-nav a.section-active::after,.main-nav a[aria-current=page]::after{transform:scaleX(1)}
.header-actions{justify-self:end;display:flex;align-items:center;gap:9px}
.language-switch{position:relative}
.language-switch summary,.icon-button{min-height:var(--target);display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #b49b9d;background:#2014233b;color:#fff4e8;padding-inline:11px;transition:background .18s}
.language-switch summary{min-width:var(--target);font:650 var(--caption)/1.2 var(--mono);list-style:none}
.language-switch summary .icon{width:15px;height:15px}
.language-switch summary .chevron{width:12px;height:12px}
.language-switch summary:hover,.icon-button:hover,.language-switch[open] summary{background:#fff4e520}
.language-switch ul{list-style:none;margin:0;padding:6px;min-width:158px;position:absolute;right:0;top:calc(100% + 9px);background:#2e203a;border:1px solid #fff4e54a;box-shadow:0 10px 26px #0e071858}
.language-switch a{color:var(--white);min-height:var(--target);display:flex;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;font-size:var(--label)}
.language-switch a:hover,.language-switch a:focus-visible{background:#fff3e61e}
.language-switch a>span:first-child{color:#ffbd86;font:650 var(--caption)/1 var(--mono)}
.language-dot{background:var(--amber);width:5px;height:5px;border-radius:50%;margin-left:auto}
.icon-button{width:var(--target);padding:0;cursor:pointer}
.icon-button .icon{width:18px;height:18px}
.theme-toggle .sun,[data-theme=dark] .theme-toggle .moon,.menu-toggle .xmark,.menu-toggle[aria-expanded=true] .bars{display:none}
[data-theme=dark] .theme-toggle .sun,.menu-toggle[aria-expanded=true] .xmark{display:block}
.menu-toggle{display:none}

.hero{min-height:650px;isolation:isolate;position:relative;overflow:hidden;background:#362038;color:var(--white);--focus:#ffcc9e}
.hero-picture,.hero-picture img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-picture{z-index:-2}
.hero-picture img{object-fit:cover;object-position:50% 49%;animation:hero-pan 1.25s cubic-bezier(.2,.65,.2,1) both}
.hero-shade{z-index:-1;background:linear-gradient(90deg,#180d20a1 0%,#23101d55 42%,transparent 79%),linear-gradient(0deg,#1c101cbb 0%,transparent 28%,transparent 80%,#20132742)}
.hero-inner{min-height:inherit;position:relative;display:grid;align-content:center;gap:26px;padding-block:calc(var(--header-h) + 51px) 17px}
.hero-copy{max-width:800px}
.hero-kicker{margin-bottom:20px;color:#ffce9e;animation:rise .5s both}
.hero h1{color:var(--white);font-size:clamp(70px,7.2vw,110px);font-weight:735;letter-spacing:-.048em;line-height:.91;margin-left:-.045em;animation:rise .65s .03s both}
.hero h1 span{display:block}
.hero h1 span:nth-child(2){color:var(--amber);margin-top:5px}
.hero-description{max-width:43ch;font-size:1.125rem;line-height:1.6;margin-top:25px;color:#f9e9db;animation:rise .65s .09s both}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px;animation:rise .65s .15s both}
.hero-button{background:var(--amber);color:#25172a;min-height:53px;padding-inline:19px;gap:22px}
.hero-button:hover{background:#ffdab9}
.hero-link{min-height:var(--target);display:inline-flex;align-items:center;gap:9px;color:#fff3e7;text-decoration:none;font-size:var(--label);font-weight:700;border-bottom:1px solid #fff2e37a;padding-block:5px}
.hero-link .icon{width:16px;height:16px}
.hero-link:hover{border-color:var(--amber);color:var(--amber)}
/* The day links on the cover and the atlas share the selected route. */
.hero-route{
 display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);
 align-items:center;gap:12px;padding:8px;color:#fff0e0;background:#24182df2;border:1px solid #e7c2a14d;
}
.hero-route-prompt{display:flex;align-items:center;gap:12px;padding-inline:12px;font:710 clamp(17px,2vw,25px)/1.05 var(--display)}
.hero-route-prompt>.field-icon{width:28px;height:28px;color:var(--amber)}
.hero-route-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.hero-route-days a{
 min-height:3.625rem;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:7px 9px;
 color:#fff1e3;text-decoration:none;border:1px solid #b7928c;
 transition:background .18s,border-color .18s;
}
.hero-route-days a span{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:1rem;font-weight:750;line-height:1.3}
.hero-route-days a small{font-size:var(--label);color:#e8cfc4;line-height:1.35}
.hero-route-days a .field-icon{width:15px;height:15px;color:var(--amber)}
.hero-route-days a:hover,.hero-route-days a[aria-current=true]{border-color:var(--amber);background:#ffcb9920}
.hero-route-days a[aria-current=true]{box-shadow:inset 0 -2px 0 var(--amber)}
.hero-route-days a[aria-current=true] span{color:#ffd5af}
.seal{color:#ffe0bd;stroke:currentColor;stroke-width:.75;position:absolute;bottom:133px;right:9px;width:124px;height:124px;opacity:.86;transform:rotate(-15deg);pointer-events:none}
.seal text{font:700 10px/1 var(--mono);letter-spacing:.1em}
@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-pan{from{transform:scale(1.037)}to{transform:scale(1)}}

.section-intro,.compare-intro{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.85fr);gap:clamp(18px,4.3vw,70px);align-items:end;margin-bottom:32px}
.section-intro .eyebrow,.faq-layout .eyebrow,.article-kicker,.article-options>.eyebrow,.related .eyebrow,.legal-content>.eyebrow{color:var(--link);margin-bottom:13px}
.section-intro h2,.compare-intro h2,.faq-layout h2{font-size:clamp(39px,4.2vw,66px);letter-spacing:-.042em}
.section-intro>p{color:var(--muted);max-width:42ch;padding-bottom:2px;font-size:1rem}
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.destination{--card-accent:#a63c20;background:var(--surface);min-width:0;border:1px solid var(--line)}
.destination-2{--card-accent:#644679}
.destination-3{--card-accent:#1f6b5a}
[data-theme=dark] .destination-1{--card-accent:#ffb382}
[data-theme=dark] .destination-2{--card-accent:#deb0ed}
[data-theme=dark] .destination-3{--card-accent:#a8d8c7}
.destination-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.destination-media,.product-media{position:relative;overflow:hidden;background:#54333b}
.destination-media{aspect-ratio:16/9}
.destination-media img,.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.25,1)}
.destination-link:hover img{transform:scale(1.045)}
.destination-nr{position:absolute;top:12px;left:12px;display:grid;place-items:center;width:34px;height:32px;color:#fff4e9;background:#271a30dd;font:650 12px/1 var(--mono);border:1px solid #ffe4d46b}
.destination-content{position:relative;flex:1;min-height:150px;padding:20px 55px 22px 22px;border-top:3px solid var(--card-accent)}
.destination-content>.eyebrow{color:var(--card-accent);margin-bottom:8px}
.destination-content h3{font-size:clamp(24px,2.2vw,35px);margin-bottom:9px}
.destination-content p:last-of-type{font-size:.9375rem;line-height:1.55;color:var(--muted)}
.destination-arrow{display:grid;place-items:center;position:absolute;width:37px;height:37px;right:13px;top:20px;border:1px solid var(--line);color:var(--card-accent);transition:background .2s,color .2s,border-color .2s}
.destination-arrow .icon{width:16px;height:16px}
.destination-link:hover .destination-arrow{background:var(--card-accent);border-color:var(--card-accent);color:#fff6e9}
[data-theme=dark] .destination-link:hover .destination-arrow{color:var(--night)}
[data-reveal].is-visible{animation:lift .46s ease-out both}
.destination:nth-child(2).is-visible{animation-delay:.07s}
.destination:nth-child(3).is-visible{animation-delay:.14s}
@keyframes lift{from{opacity:.62;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.compare-section{position:relative}
.compare-home{isolation:isolate;overflow:hidden;background:var(--deep);color:var(--white);--focus:#ffcc9e}
.compare-home h2{color:var(--white)}
.compare-home .eyebrow{color:var(--amber)}
.compare-intro .eyebrow{margin-bottom:13px}
.contours{width:min(810px,70%);height:510px;position:absolute;z-index:-1;top:-175px;right:-147px;color:#f3c7a0;stroke:currentColor;stroke-width:.7;opacity:.2;pointer-events:none}
.compare-notice{font-size:.9375rem;line-height:1.55;display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-left:2px solid #d7a743;background:#fff3de0c;color:#ffe5c1}
.compare-notice .icon{color:#f6c567;width:18px;height:18px;margin-top:1px}
.filter-row{display:flex;flex-wrap:wrap;gap:8px}
.filter-row button{min-height:var(--target);padding:8px 14px;font-size:var(--label);font-weight:650;cursor:pointer;background:transparent;border:1px solid var(--control-line);transition:color .16s,background .16s,border-color .16s}
.filter-row button:hover{border-color:currentColor}
.compare-home .filter-row button{color:#f9e7d9;border-color:#b49b9d}
.compare-home .filter-row button:hover{border-color:#ffbe86}
.compare-home .filter-row button[aria-pressed=true]{color:#2c1d36;background:var(--amber);border-color:var(--amber)}
.filter-status{margin-block:9px 12px;color:#f0dccb;font-size:var(--label);font-weight:650}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.product-card{--focus:#7a2e8a;min-width:0;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
[data-theme=dark] .product-card{--focus:#ffd2a4}
.compare-home .product-card{border-color:#a9866b}
.product-media{width:100%;aspect-ratio:3/2}
.product-tag{position:absolute;bottom:0;left:0;max-width:100%;padding:7px 10px;background:#2b1b32f5;color:#fff3e5;font:650 .75rem/1.3 var(--mono);letter-spacing:.065em}
.product-content{display:flex;flex-direction:column;padding:16px;gap:12px;flex:1;min-width:0}
.product-top h3{font-size:clamp(20px,2vw,28px);line-height:1.05;margin-bottom:8px}
.rating{font-size:var(--caption);color:var(--muted);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rating .field-icon{color:#a45915;width:15px;height:15px}
[data-theme=dark] .rating .field-icon{color:#f3bd75}
.rating strong{color:var(--ink);font-size:var(--label)}
.commercial-price,.commercial-reviews{min-width:0}
.commercial-source{margin-top:4px;color:var(--muted);font-size:var(--caption);line-height:1.45}
.commercial-source time{display:inline-block;font-weight:700;color:var(--heading)}
.commercial-label{margin-bottom:4px;color:var(--link);font-size:var(--caption);font-weight:700;line-height:1.35}
.product-top .commercial-reviews{margin-top:5px}
.product-action .commercial-price{padding-top:8px;border-top:1px solid var(--line)}

.product-facts{display:flex;flex-direction:column;gap:7px}
.chips{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px}
.chip{display:inline-flex;min-height:27px;align-items:center;gap:5px;padding:4px 7px;font-size:var(--caption);font-weight:700;line-height:1.35;color:#3b2636;background:#efe2c9;border:1px solid #cdbb9a}
.chip .icon{width:13px;height:13px}
.chip-local{color:#134b3b;background:#e2eee2;border-color:#acc9b9}
.chip-english{color:#57340e;background:#ffe7af;border-color:#e7c580}
.chip-neutral{color:#412d48;background:#eee3ed;border-color:#d0c0d1}
.duration,.included{font-size:var(--label);line-height:1.5;color:var(--muted)}
.duration{display:flex;gap:5px;align-items:center}
.duration .icon{width:15px;height:15px}
.product-action{display:grid;gap:8px;align-content:end;margin-top:auto}
.price{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;color:var(--muted);font-size:var(--caption)}
.price strong{font:750 24px/1.08 var(--display);letter-spacing:-.04em;color:var(--heading)}
.product-action .button{min-height:var(--target);gap:7px;padding-inline:11px;font-size:var(--label)}
.product-action .button .icon{width:16px;height:16px}
.compare-foot{margin-top:19px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px 26px;flex-wrap:wrap}
.compare-foot>p{max-width:64ch;font-size:var(--label);color:var(--muted)}
.compare-home .compare-foot>p{color:#e2cec4}
.compare-home .compare-foot .text-link{color:#ffcc9e}
.filter-empty{padding:18px 0}

.faq-section{padding-block:clamp(32px,5.5vw,84px)}
.faq-layout{display:grid;grid-template-columns:minmax(0,.73fr) minmax(0,1.27fr);gap:clamp(22px,6vw,84px)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:grid;grid-template-columns:28px minmax(0,1fr) 22px;gap:10px;align-items:center;min-height:58px;padding:13px 4px;list-style:none;font-size:1rem;font-weight:700;color:var(--heading)}
.faq-list summary:hover{color:var(--link)}
.faq-nr{font:650 11px/1 var(--mono);color:var(--link);opacity:.85}
.faq-list summary .icon{transition:transform .18s}
.faq-list details[open] summary .icon{transform:rotate(45deg)}
.faq-list details>p{padding:0 31px 16px 42px;font-size:1rem;color:var(--muted)}
.faq-follow{margin:-9px 16px 9px 42px}
.root-picker{border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;justify-content:space-between;padding-block:17px 28px}
.root-picker .eyebrow{color:var(--link);display:flex;align-items:center;gap:7px}
.root-picker>div{display:flex;flex-wrap:wrap;gap:9px}
.root-picker a{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;min-height:var(--target);border:1px solid var(--control-line);font-size:var(--label);text-decoration:none;color:var(--heading)}
.root-picker a:hover{border-color:var(--link)}
.root-picker a span{font:700 11px/1 var(--mono);color:var(--link)}
.root-picker a .icon{width:14px;height:14px;color:var(--link)}

.site-footer{background:var(--deep);color:var(--white);--focus:#ffcc9e}
.footer-main{display:grid;grid-template-columns:1.55fr 1fr 1fr .65fr;gap:20px;padding-block:50px 37px}
.footer-brand p{color:#e1cbbf;font-size:14px;margin-top:12px;max-width:26ch}
.footer-main .eyebrow{color:var(--amber);margin-bottom:9px}
.footer-main ul{padding:0;list-style:none}
.footer-main li a{display:inline-flex;align-items:center;min-height:36px;color:#f9e8db;text-decoration:none;font-size:var(--label)}
.footer-main li a:hover{text-decoration:underline}
.footer-language a[aria-current=true]{font-weight:700}
.footer-base{border-top:1px solid #fff3e443;padding-block:12px;display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:center;color:#ecd3c2}
.footer-base small,.footer-base span{font:600 11px/1.2 var(--mono)}
.footer-base span{text-align:center;letter-spacing:.08em}
.to-top{display:grid;place-items:center;width:var(--target);height:var(--target);border:1px solid #b49b9d;color:var(--white)}
.to-top:hover{background:#fff4e51a}

.breadcrumbs{font-size:var(--caption);color:var(--muted);padding-block:12px}
.breadcrumbs ol{display:flex;gap:5px 0;flex-wrap:wrap;list-style:none;padding:0}
.breadcrumbs li{display:flex;align-items:center}
.breadcrumbs li+li::before{content:"/";color:var(--muted);padding-inline:9px}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:30px;color:var(--link)}
.article-top{padding-bottom:25px}
.article-hero{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(0,.81fr);gap:clamp(18px,5vw,72px);align-items:center;padding-block:26px 20px}
.article-hero h1,.legal-content h1{font-size:clamp(2.5625rem,5vw,4.625rem);line-height:1.03;letter-spacing:-.047em;max-width:17ch}
.quick-answer{margin-top:19px;border-left:3px solid #d59a34;padding:11px 0 11px 14px;max-width:55ch}
.quick-answer .eyebrow{display:flex;align-items:center;gap:7px;color:var(--link);margin-bottom:6px}
.quick-answer .icon{width:15px;height:15px}
.answer-text{font-size:clamp(var(--reading),1.43vw,1.25rem);line-height:1.58}
.answer-sources{display:flex;flex-wrap:wrap;gap:0 14px;padding:0;list-style:none}
.answer-sources .text-link{min-height:var(--target);text-underline-offset:3px}
.compare-notice .answer-sources a{color:#ffe5c1}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:11px;color:var(--muted);font-size:var(--label);line-height:1.5}
.byline a{display:inline-flex;align-items:center;min-height:36px;font-weight:700}
.editorial-date{display:inline-flex;flex-wrap:wrap;gap:3px 8px;align-items:center;padding:5px 8px;border:1px solid var(--line);background:var(--surface)}
.editorial-date span{font-weight:700;color:var(--link)}
.article-art{align-self:center;position:relative;margin-top:10px}
.article-art::before{content:"";position:absolute;z-index:-1;inset:9px -9px -9px 9px;border:1px solid var(--line);pointer-events:none}
.article-art img{aspect-ratio:3/2;object-fit:cover;background:#54333b}
.article-art figcaption{position:absolute;bottom:0;right:0;background:#302137;color:#fff2e2;padding:5px 8px;font:600 .75rem/1.35 var(--mono);letter-spacing:.04em}
.article-flow{max-width:1060px;padding-bottom:clamp(45px,6vw,90px)}
.article-product{margin-bottom:29px}
.lead-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
.lead-card .product-media{height:100%;min-height:220px;aspect-ratio:3/2}
.lead-card .product-content{padding:clamp(16px,3vw,31px);gap:10px}
.lead-card .product-top h3{font-size:clamp(24px,3vw,37px);margin-bottom:7px}
.lead-card .chip{font-size:var(--label)}
.lead-card .product-action{grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:8px 14px}
.lead-card .product-action .button{padding-inline:14px}
.product-source{grid-column:1/-1;display:inline-flex;align-items:center;gap:5px;min-height:var(--target);font-size:var(--label)}
.product-source .icon{width:13px;height:13px}
.snapshot-note{color:var(--muted);font-size:var(--label);margin-top:8px}
.jump-nav{display:flex;gap:1px 15px;flex-wrap:wrap;align-items:center;border-block:1px solid var(--line);padding:6px 0;margin-bottom:38px}
.jump-nav>span{font-size:var(--label);font-weight:700;color:var(--heading);margin-right:6px}
.jump-nav a{display:inline-flex;align-items:center;min-height:var(--target);padding-block:4px;font-size:.9375rem;line-height:1.4}
.article-options{margin-bottom:50px}
.article-options h2,.related h2,.sources h2{font-size:clamp(31px,4vw,52px);margin-bottom:19px}
.steps{border-top:1px solid var(--line);margin-bottom:20px}
.step{display:grid;grid-template-columns:43px minmax(0,1fr);gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}
.step>span{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);color:var(--link);font:650 12px/1 var(--mono)}
.step h3{font-size:clamp(22px,2.6vw,29px);margin-bottom:6px}
.step p{max-width:68ch;color:var(--muted)}
.article-options .text-link{margin-left:14px}
.article-faq{border-bottom:1px solid var(--line)}
.article-faq .faq-layout h2{font-size:clamp(32px,3.8vw,54px)}
.ticket-note{border:1px solid var(--line);background:var(--surface);padding:clamp(18px,4vw,33px);margin-bottom:34px}.ticket-note .eyebrow{color:var(--link);margin-bottom:9px}.ticket-note h2{font-size:clamp(26px,4vw,43px)}.ticket-note p:not(.eyebrow){max-width:60ch;color:var(--muted);margin:10px 0 13px}.sources{padding-block:32px;border-bottom:1px solid var(--line)}
.sources h2{font-size:27px;margin-bottom:12px}
.sources ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0 21px}
.sources a{min-height:var(--target);font-size:var(--label)}
.related{padding-top:33px}
.related-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.related-link{color:var(--heading);background:var(--surface);border:1px solid var(--line);padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:7px;text-decoration:none;min-height:52px;font-weight:650;font-size:14px}
.related-link:hover{border-color:var(--link);color:var(--link)}
.related-link .icon{width:16px;height:16px;color:var(--link)}
.legal-content{min-height:54vh;max-width:1050px;padding-bottom:64px}
.legal-content>.eyebrow{margin-top:30px}
.legal-lead{font-size:19px;max-width:53ch;margin:20px 0}
.legal-content>p:not(.eyebrow){max-width:66ch}
.legal-content>p+p{margin-bottom:15px}
.legal-content .root-picker{width:100%}
.legal-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0}

@media(max-width:1090px){
 :root{--shell:calc(100% - 76px)}
 .header-inner{gap:16px}
 .main-nav{gap:21px}
 .hero{min-height:620px}
 .product-grid{gap:10px}
 .product-content{padding:13px}
}
@media(max-width:880px){
 :root{--shell:calc(100% - 48px);--header-h:65px}
 .header-inner{grid-template-columns:1fr auto;gap:0 15px}
 .header-actions{grid-row:1;grid-column:2}
 .main-nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;gap:0 17px;padding-block:6px 11px}
 .main-nav a{padding-block:10px}
 .enhanced .menu-toggle{display:flex}
 html:not(.enhanced) .over-hero{position:relative;background:var(--deep)}
 html:not(.enhanced) .hero-inner{padding-top:40px}
 .enhanced .main-nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - var(--header-h));overflow:auto;background:var(--deep);padding:10px 24px 16px;border-bottom:1px solid #fff4e54a}
 .enhanced .main-nav.is-open{display:grid;gap:0}
 .enhanced .main-nav a{padding:11px 4px;border-bottom:1px solid #fff4e529;min-height:var(--target)}
 .enhanced .main-nav a[aria-current=page],.enhanced .main-nav a.section-active{border-color:var(--amber)}
 .enhanced .main-nav a::after{display:none}
 .hero{min-height:590px}
 .hero h1{font-size:clamp(62px,10vw,87px)}
 .hero-inner{padding-top:calc(var(--header-h) + 47px)}
 .seal{width:96px;height:96px;right:4px;bottom:121px}
 .section-intro,.compare-intro{grid-template-columns:1.3fr 1fr;gap:20px}
 .destination-grid{gap:10px}
 .destination-content{padding:14px 13px 17px;min-height:0}
 .destination-content h3{padding-right:23px}
 .destination-arrow{width:29px;height:29px;top:31px;right:8px;border:0}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .product-content{padding:16px}

 .article-hero{gap:25px}
 .article-hero h1{font-size:clamp(2.5rem,6vw,3.875rem)}
 .faq-layout{gap:25px}
}
@media(max-width:640px){
 :root{--shell:calc(100% - 36px);--header-h:60px}
 .brand{font-size:28px;gap:7px}
 .brand-mark{width:29px;height:29px}
 .header-actions{gap:5px}
 .language-switch summary{padding-inline:8px}
 .language-switch summary .icon:not(.chevron){display:none}
 .hero{min-height:610px}
 .hero-inner{align-content:space-between;gap:28px;padding-block:calc(var(--header-h) + 51px) 14px}
 .hero-picture img{object-position:75% center}
 .hero-shade{background:linear-gradient(90deg,#170e22bb 0%,#24101b67 58%,#24101b30),linear-gradient(0deg,#1b0e1cd1 1%,transparent 30%,#2e14253c 95%)}
 .hero h1{font-size:clamp(48px,12.2vw,76px);line-height:.94}
 .hero-kicker{margin-bottom:16px}
 .hero-description{font-size:var(--reading);max-width:34ch;margin-top:18px}
 .hero-actions{gap:10px 19px;margin-top:20px}
 .hero-button{min-height:48px;gap:10px;padding-inline:12px}
 .seal{display:none}
 .hero-route{grid-template-columns:1fr;gap:8px;padding:8px}
 .hero-route-prompt{font-size:17px;padding:2px 4px}
 .hero-route-prompt>.field-icon{width:20px;height:20px}
 .section-space{padding-block:53px}
 .section-intro,.compare-intro{grid-template-columns:1fr;gap:10px;margin-bottom:20px}
 .section-intro .eyebrow,.compare-intro .eyebrow,.faq-layout .eyebrow{margin-bottom:9px}
 .destination-grid{grid-template-columns:1fr;gap:12px}
 .destination-content{padding:14px 48px 15px 15px}
 .destination-content h3{padding-right:0;font-size:27px;margin-bottom:6px}
 .destination-arrow{top:16px;right:9px;border:1px solid var(--line);width:35px;height:35px}
 .compare-notice{padding:10px}
 .filter-row button{padding-inline:10px}
 .product-grid{gap:10px}
 .product-content{padding:11px;gap:9px}
 .product-top h3{font-size:23px}
 .product-tag{padding:5px 7px}
 .price strong{font-size:23px}
 .contours{width:100%;right:-110px;opacity:.16}

 .faq-section{padding-block:34px 47px}
 .faq-layout{grid-template-columns:1fr;gap:17px}
 .faq-list summary{min-height:56px;padding:11px 0;grid-template-columns:23px minmax(0,1fr) 20px}
 .faq-list details>p{padding-left:33px;padding-right:8px}
 .faq-follow{margin-left:33px}
 .root-picker{align-items:flex-start;flex-direction:column;gap:12px}
 .footer-main{grid-template-columns:1fr 1fr;gap:22px;padding-block:32px 24px}
 .footer-brand{grid-column:1/-1}
 .footer-brand p{margin-top:9px;max-width:none}
 .footer-main li a{min-height:var(--target)}
 .footer-base span{font-size:.6875rem;letter-spacing:0}
 .article-top{padding-bottom:12px}
 .article-hero{display:block;padding-block:12px 9px}
 .article-hero h1{font-size:clamp(2.5rem,10vw,3.375rem);letter-spacing:-.046em}
 .quick-answer{padding-block:8px;margin-top:13px}
 .article-meta{margin-top:9px}
 .article-art{display:none}
 .article-product{margin-bottom:20px}
 .lead-card{grid-template-columns:minmax(0,1fr)}
 .lead-card .product-media{height:clamp(137px,39vw,185px);min-height:0;aspect-ratio:auto}
 .lead-card .product-content{padding:13px}
 .lead-card .product-top h3{font-size:26px}
 .lead-card .product-action .button{min-height:44px}
 .jump-nav{gap:0 14px;margin-bottom:28px}
 .jump-nav>span{width:100%;padding-block:6px 3px}
 .article-options{margin-bottom:34px}
 .article-options .text-link{margin:10px 0 0}
 .step{grid-template-columns:33px minmax(0,1fr);gap:8px;padding:13px 0}
 .step>span{width:29px;height:29px}
 .related-list,.legal-map{grid-template-columns:1fr}
}
@media(max-width:520px){
 .hero-route-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .hero-route-days a{padding-inline:7px}
 .hero-route-days a .field-icon{width:13px;height:13px}
}
@media(max-width:449px){
 .compare-home .product-grid{grid-template-columns:1fr}
 .compare-home .product-media{max-height:195px}
 .compare-home .product-content{padding:14px}
 .compare-home .product-action{grid-template-columns:1fr auto;align-items:center}
 .compare-home .product-action .button{padding-inline:11px}
 .section-intro h2,.compare-intro h2,.faq-layout h2{font-size:41px}
}
@media(max-width:349px){
 :root{--shell:calc(100% - 24px)}
 .header-inner{column-gap:7px}
 .site-header .brand{font-size:24px;gap:5px}
 .site-header .brand-mark{width:25px;height:25px}
 .hero h1{font-size:43px}
 .hero-actions{gap:4px 13px}
 .header-actions{gap:4px}
 .language-switch summary{gap:3px;padding-inline:5px}
 .compare-home .product-action,.lead-card .product-action{grid-template-columns:1fr;justify-items:start}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media print{
 .site-header,.site-footer,.hero-actions,.filter-row,.jump-nav,.root-picker,.hero-route{display:none!important}
 body{background:#fff;color:#111}
 .hero{min-height:auto;background:#fff;color:#111}
 .hero-inner{padding:0;display:block}
 .hero-picture,.hero-shade,.seal{display:none}
 .hero h1,.hero h1 span:nth-child(2),.hero-description,.hero-kicker{color:#111}
 .product-card,.destination,.step{break-inside:avoid}
}

/* Modelos de página: passeio, escolha, roteiro */
.model-sub{margin:26px 0 14px;font-size:clamp(22px,2.6vw,29px)}
.model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice h2{font-size:clamp(26px,3vw,36px);margin-bottom:16px}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.choice-item{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;background:var(--surface);border:1px solid var(--line)}
.choice-item h3{font-size:20px;line-height:1.15}
.choice-item dl{display:grid;gap:6px;margin:0}
.choice-item dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:5px;font-size:var(--label)}
.choice-item dt{color:var(--muted)}
.choice-item dd{margin:0;font-weight:700;text-align:right}
.choice-item p{color:var(--muted);font-size:var(--label)}
.choice-item .button{margin-top:auto}
.choice-picks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.choice-picks li{padding:14px 0;border-bottom:1px solid var(--line)}
.choice-picks strong{color:var(--heading);font-size:1.0625rem}
.choice-picks p{max-width:68ch;color:var(--muted);margin:4px 0 2px}
.day-plan{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.day-step{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}
.day-nr{color:var(--link);font:650 12px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.day-step h3{font-size:clamp(22px,2.6vw,29px);margin-bottom:6px}
.day-step p{max-width:68ch;color:var(--muted)}
.day-links{list-style:none;margin:6px 0 0;padding:0}
@media (max-width:900px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.model-grid{grid-template-columns:1fr}.day-step{grid-template-columns:1fr;gap:4px}}
