@font-face { font-family:"Inter"; font-style:normal; font-weight:400 700; font-display:swap; src:url("../fonts/inter-latin.woff2") format("woff2"); }
@font-face { font-family:"Playfair Display"; font-style:normal; font-weight:500 600; font-display:swap; src:url("../fonts/playfair-display-latin.woff2") format("woff2"); }
/* Brown values are provisional. All colour and radius decisions live here. */
:root {
 --color-brown-primary:#6B4A2B; --color-brown-dark:#3D2B1F; --color-brown-light:#E8D9C6;
 --color-sand:#EFE6D8; --color-cream:#F9F7F2; --color-charcoal:#24201D; --color-white:#FFFFFF; --color-muted:#6D625A;
 --ink-rgb:36,32,29; --white-rgb:255,255,255; --brown-rgb:61,43,31;
 --border:rgba(var(--ink-rgb),.18); --border-dark:rgba(var(--white-rgb),.32);
 --scrim:rgba(var(--ink-rgb),.72); --scrim-heavy:rgba(var(--ink-rgb),.82); --scrim-clear:rgba(var(--ink-rgb),.24);
 --color-whatsapp:#075E54; --color-whatsapp-hover:#128C7E;
 --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-circle:50%;
 --font-body:"Inter","Segoe UI",Arial,sans-serif; --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
 --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-6:48px; --space-8:64px; --space-12:96px;
 --content-width:1200px;
}
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { margin:0; color:var(--color-charcoal); background:var(--color-cream); font-family:var(--font-body); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-family:var(--font-display); font-weight:500; }
h1,h2 { text-wrap:balance; }
h2 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.18; letter-spacing:-.025em; }
h3 { font-size:26px; line-height:1.3; letter-spacing:-.01em; }
em { font-weight:inherit; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
picture { display:contents; }
ul,ol { margin:0; padding:0; }
a,button,summary { touch-action:manipulation; }
button:disabled { cursor:default; opacity:.5; }
:focus-visible { outline:2px solid var(--color-brown-primary); outline-offset:4px; }
.site-header :focus-visible,.hero-section :focus-visible,.why-section :focus-visible,.final-cta :focus-visible,.site-footer :focus-visible { outline-color:var(--color-brown-light); }
.nav-submenu :focus-visible,.hero-search :focus-visible { outline-color:var(--color-brown-primary); }
.container { width:calc(100% - 48px); max-width:var(--content-width); margin-inline:auto; min-width:0; }
.section { padding-block:var(--space-12); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:48px; }
.section-heading>div { min-width:0; max-width:760px; }
.section-heading>p { max-width:320px; color:var(--color-muted); font-size:15px; }
.section-heading>.text-link { flex:0 0 auto; }
.eyebrow { margin-bottom:16px; color:var(--color-brown-primary); font-size:11px; font-weight:600; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.icon { width:20px; height:20px; flex:0 0 20px; }
.skip-link { position:fixed; z-index:200; left:16px; top:8px; padding:12px 24px; border-radius:var(--radius-sm); background:var(--color-white); color:var(--color-charcoal); transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:14px 24px; border:1px solid transparent; border-radius:var(--radius-sm); font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; transition:background-color .2s,border-color .2s; }
.button--primary { background:var(--color-brown-primary); color:var(--color-white); }
.button--primary:hover { background:var(--color-brown-dark); }
.button--secondary { border-color:var(--color-brown-primary); color:var(--color-brown-primary); }
.button--secondary:hover { background:var(--color-brown-primary); color:var(--color-white); }
.button--light { border-color:var(--border-dark); color:var(--color-white); background:var(--scrim-clear); }
.button--light:hover { background:var(--color-brown-dark); border-color:var(--color-white); }
.hero-copy .button--primary { border-color:var(--color-brown-light); }
.button-row { display:flex; flex-wrap:wrap; gap:16px; }
.text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; min-width:44px; color:var(--color-brown-primary); font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.04em; text-underline-offset:5px; }
.text-link:hover { text-decoration:underline; }
.text-link .icon { width:18px; height:18px; flex-basis:18px; }
.site-header { position:sticky; top:0; z-index:100; background:var(--color-brown-dark); color:var(--color-white); border-bottom:1px solid var(--border-dark); }
.header-inner { max-width:1440px; margin-inline:auto; padding:12px 32px; display:flex; gap:24px; align-items:center; justify-content:space-between; }
.brand { display:inline-flex; gap:12px; align-items:center; flex:0 0 auto; min-height:64px; }
.brand-logo { width:56px; height:56px; object-fit:contain; background:var(--color-white); border-radius:var(--radius-sm); }
.brand-wordmark { display:block; font-family:var(--font-display); font-size:18px; font-weight:500; line-height:1.3; }
.brand-wordmark>span { display:block; margin-top:4px; font-family:var(--font-body); font-size:9px; font-weight:500; letter-spacing:.28em; }
.header-menu { min-width:0; }
.menu-toggle { display:none; }
.primary-nav { display:flex; gap:16px; align-items:center; flex-wrap:nowrap; white-space:nowrap; }
.nav-label-compact,.drawer-heading { display:none; }
.nav-list { list-style:none; display:flex; gap:2px; align-items:center; }
.nav-list>li { min-width:0; }
.nav-list>li>a,.nav-dropdown>summary { display:flex; min-height:44px; min-width:44px; gap:4px; align-items:center; padding:8px; font-size:12px; font-weight:500; cursor:pointer; }
.nav-dropdown>summary { list-style:none; }
.nav-dropdown>summary::-webkit-details-marker { display:none; }
.nav-dropdown>summary .icon { width:12px; height:12px; flex-basis:12px; transition:transform .2s; }
.nav-dropdown[open]>summary .icon { transform:rotate(180deg); }
.nav-list>li>a:hover,.nav-dropdown>summary:hover { text-decoration:underline; text-underline-offset:6px; }
.nav-dropdown { position:relative; }
.nav-submenu { position:absolute; z-index:110; top:calc(100% + 8px); left:0; min-width:240px; padding:8px; list-style:none; background:var(--color-white); color:var(--color-charcoal); border:1px solid var(--border); border-radius:var(--radius-md); }
.nav-submenu a { display:flex; align-items:center; min-height:44px; padding:10px 16px; font-size:13px; border-radius:var(--radius-sm); }
.nav-submenu a:hover { background:var(--color-sand); }
.external-arrow { margin-left:4px; font-size:14px; }
.header-plan { padding-inline:16px; font-size:11px; white-space:nowrap; border-color:var(--color-brown-light); }
.header-plan .icon { width:16px; flex-basis:16px; }
/* Frames share a grid cell. Search remains outside every rotating frame. */
.hero-section { position:relative; isolation:isolate; overflow:hidden; background:var(--color-charcoal); color:var(--color-white); min-height:calc(100svh - 89px); }
.hero-slide::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,var(--scrim-heavy),var(--scrim) 50%,var(--scrim-clear)); pointer-events:none; }
.hero-shell { display:grid; grid-template-columns:minmax(0,7fr) minmax(320px,5fr); align-items:center; gap:64px; min-height:inherit; padding-block:88px 128px; }
.hero-story { display:grid; align-items:center; min-width:0; }
.hero-slide { isolation:isolate; grid-area:1/1; opacity:0; pointer-events:none; transition:opacity .8s ease; }
.hero-slide.is-active { opacity:1; pointer-events:auto; }
.hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--image-position,center); }
.hero-copy { position:relative; z-index:2; }
.hero-copy .eyebrow { color:var(--color-white); margin-bottom:24px; }
.hero-heading { font-size:clamp(3.2rem,5.25vw,4.75rem); line-height:1.07; letter-spacing:-.035em; font-weight:500; }
.hero-description { max-width:450px; margin-block:24px 32px; font-size:16px; }
.hero-search { position:relative; z-index:3; padding:32px; color:var(--color-charcoal); background:var(--color-cream); border:1px solid var(--color-brown-light); border-radius:var(--radius-lg); }
.hero-search h2 { font-size:30px; line-height:1.25; margin-bottom:24px; }
.hero-search .eyebrow { font-size:10px; }
.hero-search form { display:grid; gap:18px; }
.field { min-width:0; }
.field label { display:block; margin-bottom:8px; font-size:12px; font-weight:600; }
.optional-label { font-weight:400; color:var(--color-muted); }
.field select,.date-field { display:block; width:100%; min-height:54px; min-width:0; padding:13px 12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--color-white); color:var(--color-charcoal); font-size:16px; }
.date-field { display:flex; gap:10px; align-items:center; position:relative; padding-right:12px; }
.date-field>.icon { color:var(--color-brown-primary); }
.date-prompt { display:none; font-size:14px; line-height:1.45; padding-right:12px; }
.date-field input { min-width:0; width:100%; border:0; color:var(--color-charcoal); background:transparent; font-size:16px; }
.date-input-wrap { position:relative; flex:1; min-width:0; }
.date-field input { display:block; min-height:28px; color-scheme:light; }
.date-field input::-webkit-calendar-picker-indicator { cursor:pointer; min-width:24px; min-height:24px; }
.date-field.is-enhanced:not(:focus-within) .date-prompt { position:absolute; inset:0 32px 0 0; display:flex; align-items:center; background:var(--color-white); pointer-events:none; padding-right:0; }
.date-field>.icon { cursor:pointer; }
.date-field:focus-within { outline:2px solid var(--color-brown-primary); outline-offset:3px; }
.search-note { font-size:11px; line-height:1.7; color:var(--color-muted); }
.hero-controls { position:absolute; z-index:4; bottom:28px; left:0; right:0; }
.carousel-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; }
.hero-controls .carousel-controls { padding:0; }
.slide-indicators,.slide-arrows { display:flex; align-items:center; gap:8px; }
.slide-indicator { min-height:44px; min-width:44px; padding:8px; border:1px solid var(--border); border-radius:var(--radius-sm); background:transparent; color:var(--color-brown-primary); font-size:12px; }
.slide-indicator[aria-pressed="true"] { background:var(--color-brown-primary); border-color:var(--color-brown-primary); color:var(--color-white); }
.control-button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:transparent; color:var(--color-brown-primary); }
.control-button:hover { background:var(--color-sand); }
.control-button--previous .icon { transform:rotate(180deg); }
.hero-controls .control-button,.hero-controls .slide-indicator { color:var(--color-white); border-color:var(--border-dark); background:var(--scrim); }
.hero-controls .slide-indicator[aria-pressed="true"] { color:var(--color-brown-dark); background:var(--color-brown-light); border-color:var(--color-brown-light); }
.hero-controls .control-button:hover { background:var(--color-brown-dark); }
.package-filters { display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; padding:4px 4px 14px; margin-inline:-4px; }
.package-filters button { flex:0 0 auto; padding:12px 16px; min-height:48px; border:1px solid var(--border); border-radius:var(--radius-sm); background:transparent; color:var(--color-brown-primary); font-size:12px; font-weight:500; }
.package-filters button[aria-pressed="true"] { background:var(--color-brown-primary); color:var(--color-white); border-color:var(--color-brown-primary); }
.result-count { font-size:13px; color:var(--color-muted); margin-block:16px 32px; }
.package-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:40px 24px; }
.tour-card,.package-grid>.activity-card { grid-column:span 4; min-width:0; display:flex; flex-direction:column; }
.card-image-link,.activity-image-link { display:block; position:relative; overflow:hidden; border-radius:var(--radius-md); }
.card-image,.activity-image { width:100%; aspect-ratio:3/2; object-fit:cover; object-position:var(--image-position,center); transition:transform .35s; }
.card-copy,.activity-copy { display:flex; flex-direction:column; flex:1; padding-top:24px; }
.card-meta { font-size:11px; font-weight:500; color:var(--color-muted); margin-bottom:12px; }
.card-meta>span { margin-inline:8px; }
.card-copy h3,.activity-copy h3 { margin-bottom:12px; }
.card-copy h3 a:hover,.article-copy h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.card-route { font-size:11px; color:var(--color-brown-primary); line-height:1.7; margin-bottom:12px; }
.card-description,.activity-copy p { font-size:14px; color:var(--color-muted); margin-bottom:20px; }
.card-link,.activity-copy .text-link { border-top:1px solid var(--border); padding-top:16px; margin-top:auto; }
.no-results { padding-block:32px; color:var(--color-muted); }
.no-results a,.form-note a { text-decoration:underline; text-underline-offset:4px; }
.form-note { font-size:14px; color:var(--color-muted); }
.how-section { background:var(--color-white); border-block:1px solid var(--border); }
.center-heading { max-width:760px; margin-inline:auto; text-align:center; }
.center-heading h2 { margin-bottom:24px; }
.center-heading h2 em { color:var(--color-brown-primary); }
.center-heading>p:not(.eyebrow) { max-width:580px; margin-inline:auto; color:var(--color-muted); font-size:15px; }
.steps-grid { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:48px; margin-top:64px; }
.steps-grid::before { content:""; position:absolute; top:40px; left:16.66%; right:16.66%; height:1px; background:var(--color-brown-light); }
.step { position:relative; min-width:0; text-align:center; }
.step-icon { position:relative; display:flex; align-items:center; justify-content:center; width:80px; height:80px; margin:0 auto 28px; border:1px solid var(--color-brown-light); border-radius:var(--radius-circle); background:var(--color-cream); color:var(--color-brown-primary); }
.step-icon .icon { width:28px; height:28px; flex-basis:28px; }
.step-number { color:var(--color-brown-primary); margin-bottom:12px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; }
.step h3 { margin-bottom:16px; }
.step-copy>p:not(.step-number) { color:var(--color-muted); font-size:15px; }
.steps-cta { margin-top:48px; text-align:center; }
.editorial-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:64px; align-items:center; }
.about-visual,.about-copy { grid-column:span 6; min-width:0; }
.about-image { width:100%; height:600px; object-fit:cover; object-position:var(--image-position,center); border-radius:var(--radius-lg); }
.about-visual figcaption { font-size:11px; color:var(--color-muted); margin-top:16px; }
.about-copy { padding-left:24px; }
.about-copy h2 { margin-bottom:32px; }
.about-copy>p:not(.eyebrow) { color:var(--color-muted); font-size:16px; margin-bottom:24px; }
.trekking-section { background:var(--color-sand); }
.destination-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:300px 300px; gap:24px; }
.destination-tile { position:relative; min-width:0; display:block; overflow:hidden; border-radius:var(--radius-lg); background:var(--color-charcoal); color:var(--color-white); }
.destination-tile--1 { grid-column:span 7; grid-row:span 2; }
.destination-tile--2,.destination-tile--3 { grid-column:span 5; }
.destination-tile--4 { grid-column:1/-1; min-height:330px; }
.destination-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--image-position,center); transition:transform .35s; }
.destination-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,var(--scrim-heavy),var(--scrim) 40%,var(--scrim-clear) 90%); }
.destination-content { position:absolute; z-index:2; bottom:24px; left:32px; right:32px; }
.destination-content .eyebrow { color:var(--color-white); font-size:10px; margin-bottom:12px; }
.destination-content h3 { font-size:34px; margin-bottom:8px; }
.destination-tile--1 .destination-content h3 { font-size:44px; }
.destination-content>p:not(.eyebrow) { font-size:13px; margin-bottom:8px; }
.destination-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.06em; }
.carousel-track { --carousel-card-width:calc((100% - 48px)/3); display:grid; grid-auto-flow:column; grid-template-columns:repeat(var(--carousel-count,6),var(--carousel-card-width)) var(--carousel-tail,0px); gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:4px 4px 24px; margin-inline:-4px; min-width:0; }
.carousel-track>* { min-width:0; scroll-snap-align:start; }
.carousel-track::after { content:""; width:var(--carousel-tail,0px); }
.activity-card { display:flex; flex-direction:column; min-width:0; }
.journal-track { --carousel-card-width:calc((100% - 24px)/2); }
.article-card { min-width:0; display:flex; flex-direction:column; }
.article-copy { display:flex; flex:1; flex-direction:column; padding-top:24px; }
.article-copy h3 { margin-bottom:16px; font-size:28px; }
.article-copy p { font-size:14px; color:var(--color-muted); margin-bottom:24px; }
.article-copy .text-link { margin-top:auto; border-top:1px solid var(--border); padding-top:16px; }
.review-track { --carousel-card-width:80%; margin-top:40px; }
.review-track blockquote { margin:0; padding:40px; background:var(--color-sand); border-radius:var(--radius-lg); }
.review-track blockquote p { font-family:var(--font-display); font-size:28px; }
.review-track cite { display:block; margin-top:24px; color:var(--color-muted); font-size:13px; font-style:normal; }
.why-section { background:var(--color-brown-dark); color:var(--color-white); }
.why-section .eyebrow,.why-section .section-heading>p,.why-section .text-link { color:var(--color-white); }
.why-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:48px; margin-bottom:40px; }
.why-item { grid-column:span 4; min-width:0; border-top:1px solid var(--border-dark); padding-top:32px; }
.large-number { display:block; font-family:var(--font-display); font-size:40px; line-height:1; margin-bottom:24px; color:var(--color-brown-light); }
.why-item h3 { margin-bottom:16px; }
.why-item p { font-size:15px; }
.faq-section { background:var(--color-white); }
.faq-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:64px; }
.faq-grid>div:first-child { grid-column:span 4; min-width:0; }
.faq-grid h2 { font-size:38px; margin-bottom:24px; }
.faq-list { grid-column:span 8; min-width:0; border-top:1px solid var(--border); }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item>summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:24px; min-height:72px; cursor:pointer; font-size:16px; font-weight:500; list-style:none; }
.faq-item>summary::-webkit-details-marker { display:none; }
.faq-item>summary .icon { transition:transform .25s; }
.faq-item[open]>summary .icon { transform:rotate(45deg); }
.faq-answer { padding:0 40px 24px 0; color:var(--color-muted); font-size:15px; }
.final-cta { position:relative; overflow:hidden; background:var(--color-charcoal); color:var(--color-white); }
.cta-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--image-position,center); }
.final-cta::after { content:""; position:absolute; inset:0; background:var(--scrim); }
.final-cta-copy { position:relative; z-index:2; max-width:920px; padding-block:120px; text-align:center; }
.final-cta-copy .eyebrow { color:var(--color-white); }
.final-cta-copy h2 { font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.12; }
.final-cta-copy>p:not(.eyebrow) { max-width:480px; margin:24px auto 32px; font-size:16px; }
.final-cta-copy .button-row { justify-content:center; }
.site-footer { background:var(--color-charcoal); color:var(--color-white); padding:80px 0 32px; }
.footer-top { display:grid; grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr)); gap:32px; }
.footer-brand,.footer-column { min-width:0; }
.footer-logo { width:80px; height:80px; padding:4px; background:var(--color-white); border-radius:var(--radius-md); margin-bottom:24px; }
.footer-brand-name { font-family:var(--font-display); font-size:24px; line-height:1.3; margin-bottom:16px; }
.footer-brand>p:not(.footer-brand-name) { font-size:14px; margin-bottom:16px; }
.footer-brand>a { display:flex; align-items:center; min-height:44px; font-size:12px; overflow-wrap:anywhere; }
.footer-whatsapp { gap:12px; }
.footer-title { font-size:12px; font-weight:600; margin-bottom:16px; }
.footer-column ul { list-style:none; }
.footer-column a { display:inline-flex; align-items:center; min-height:44px; min-width:44px; font-size:12px; line-height:1.5; padding-block:8px; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.footer-bottom { margin-top:48px; padding-top:24px; border-top:1px solid var(--border-dark); display:flex; gap:16px; flex-wrap:wrap; align-items:center; justify-content:space-between; font-size:11px; }
.footer-bottom a { min-height:44px; display:inline-flex; align-items:center; gap:8px; }
.whatsapp-float { position:fixed; z-index:90; left:24px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 16px; border-radius:var(--radius-md); border:1px solid var(--color-white); background:var(--color-whatsapp); color:var(--color-white); font-size:12px; font-weight:500; transition:transform .2s,background-color .2s; }
.whatsapp-float .icon { width:24px; height:24px; flex-basis:24px; }
.whatsapp-float:hover { background:var(--color-whatsapp-hover); transform:translateY(-2px); }
body.has-field-focus .whatsapp-float { visibility:hidden; }
/* JS marks only observed, below-viewport groups. Everything is visible by default. */
[data-reveal] { transition:opacity .4s ease,transform .4s ease; transition-delay:var(--reveal-delay,0ms); }
[data-reveal].reveal-pending { opacity:0; transform:translateY(12px); }
[data-reveal]:focus-within { opacity:1; transform:none; }
@media (hover:hover) and (pointer:fine) { .tour-card:hover .card-image,.article-card:hover .card-image,.destination-tile:hover .destination-image,.activity-card:hover .activity-image { transform:scale(1.03); } }
@media (max-width: 1199px) {
 .hero-section { min-height:calc(100svh - 81px); }
 .hero-shell { gap:40px; grid-template-columns:minmax(0,6fr) minmax(310px,5fr); padding-block:72px 120px; }
 .hero-heading { font-size:60px; }
 .hero-search { padding:28px; }
 .editorial-grid,.faq-grid { gap:40px; }
 .about-copy { padding-left:0; } .about-image { height:520px; }
 .steps-grid,.why-grid { gap:32px; }
 .footer-top { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
 .footer-brand { grid-column:1/-1; max-width:480px; margin-bottom:24px; }
}
@media (min-width: 1024px) and (max-width: 1359px) {
 .header-inner { padding-inline:16px; gap:16px; }
 .brand { gap:8px; } .brand-logo { width:44px; height:44px; }
 .brand-wordmark { font-size:15px; } .brand-wordmark>span { font-size:8px; }
 .primary-nav { gap:10px; } .nav-list { gap:0; }
 .nav-list>li>a,.nav-dropdown>summary { padding-inline:5px; font-size:11px; }
 .nav-label-full { display:none; } .nav-label-compact { display:inline; }
 .header-plan { padding-inline:12px; font-size:10px; letter-spacing:.04em; } .header-plan .icon { display:none; }
}
@media (max-width: 1023px) {
 .header-inner { position:relative; padding:12px 24px; flex-wrap:wrap; gap:0; }
 .brand { min-height:56px; } .brand-logo { width:52px; height:52px; }
 .header-menu { width:100%; }
 .menu-toggle { position:absolute; top:18px; right:24px; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:44px; padding:8px 12px; border:1px solid var(--border-dark); border-radius:var(--radius-sm); font-size:12px; cursor:pointer; list-style:none; }
 .menu-toggle::-webkit-details-marker { display:none; }
 .primary-nav { flex-direction:column; align-items:stretch; gap:24px; white-space:normal; border-top:1px solid var(--border-dark); margin-top:12px; padding:16px 0 8px; }
 .nav-list { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
 .nav-list>li>a,.nav-dropdown>summary { justify-content:space-between; padding-inline:8px; font-size:16px; min-height:48px; }
 .nav-label-full { display:inline; } .nav-label-compact { display:none; }
 .nav-submenu { position:static; min-width:0; width:100%; margin-top:4px; border:0; border-left:1px solid var(--border-dark); background:transparent; color:var(--color-white); padding:0 0 0 8px; }
 .nav-submenu a { font-size:14px; white-space:normal; } .nav-submenu a:hover { background:var(--color-charcoal); }
 .nav-submenu :focus-visible { outline-color:var(--color-brown-light); }
 .header-plan { align-self:stretch; padding-inline:24px; }
 .menu-enhanced .navigation-panel { position:fixed; z-index:120; top:0; bottom:0; left:0; width:min(88vw,380px); max-width:100%; padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px)); overflow-y:auto; overscroll-behavior:contain; background:var(--color-brown-dark); border-right:1px solid var(--border-dark); animation:drawer-enter .22s ease-out; transition:transform .22s ease; }
 .menu-enhanced .drawer-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:14px; }
 .drawer-brand { display:block; font-family:var(--font-display); font-size:17px; line-height:1.3; margin-bottom:8px; }
 .drawer-close .icon { transform:rotate(180deg); }
 .drawer-close { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:1px solid var(--border-dark); border-radius:var(--radius-sm); background:transparent; color:var(--color-white); }
 .menu-enhanced.is-closing .navigation-panel { transform:translateX(-104%); }
 .menu-backdrop { position:fixed; z-index:115; inset:0; background:var(--scrim); animation:backdrop-enter .22s ease-out; }
 .menu-enhanced .primary-nav { padding-bottom:24px; }
}
@keyframes drawer-enter { from { transform:translateX(-104%); } to { transform:translateX(0); } }
@keyframes backdrop-enter { from { opacity:0; } to { opacity:1; } }
@media (max-width: 899px) {
 .section-heading { align-items:flex-start; flex-direction:column; gap:24px; }
 .section-heading>p { max-width:540px; }
 .hero-shell { grid-template-columns:minmax(0,1fr); gap:48px; }
 .hero-heading { font-size:64px; max-width:650px; }
 .hero-description { max-width:540px; }
 .hero-search { width:100%; max-width:540px; }
 .hero-search form { gap:16px; }
 .hero-slide::before { background:var(--scrim); }
 .tour-card,.package-grid>.activity-card { grid-column:span 6; }
 .steps-grid { gap:24px; } .step h3 { font-size:24px; }
 .about-image { height:460px; }
 .destination-grid { grid-template-rows:260px 260px; }
 .destination-tile--1 { grid-column:span 6; }
 .destination-tile--2,.destination-tile--3 { grid-column:span 6; }
 .destination-content { left:24px; right:24px; bottom:20px; }
 .destination-content h3,.destination-tile--1 .destination-content h3 { font-size:30px; }
 .carousel-track { --carousel-card-width:calc((100% - 24px)/2); }
 .why-grid { gap:24px; } .why-item h3 { font-size:24px; }
 .faq-grid>div:first-child { grid-column:span 5; } .faq-list { grid-column:span 7; }
 .faq-grid h2 { font-size:32px; }
}
@media (max-width: 767px) {
 html { scroll-padding-top:96px; } body { font-size:16px; }
 .container { width:calc(100% - 32px); } .section { padding-block:64px; }
 .header-inner { padding-inline:16px; } .menu-toggle { right:16px; }
 .brand-wordmark { font-size:16px; } .brand-wordmark>span { font-size:9px; }
 .brand-logo { width:48px; height:48px; }
 h2 { font-size:34px; } h3 { font-size:25px; }
 .hero-shell { padding-block:56px 128px; gap:40px; }
 .hero-heading { font-size:54px; line-height:1.08; }
 .hero-copy .eyebrow { font-size:10px; margin-bottom:24px; }
 .hero-description { font-size:16px; margin-block:24px; }
 .hero-search { padding:24px; max-width:none; }
 .hero-search h2 { font-size:28px; }
 .hero-controls { bottom:28px; }
 .hero-controls .carousel-controls { gap:12px; }
 .package-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:86%; gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:4px 4px 24px; margin-inline:-4px; scrollbar-width:thin; }
 .tour-card,.package-grid>.activity-card { grid-column:auto; scroll-snap-align:start; }
 .card-copy h3 { font-size:25px; } .card-copy { padding-top:20px; }
 .card-image { aspect-ratio:4/3; }
 .section-heading { margin-bottom:32px; gap:16px; }
 .steps-grid { grid-template-columns:minmax(0,1fr); gap:36px; margin-top:40px; }
 .steps-grid::before { top:36px; bottom:72px; left:35px; right:auto; width:1px; height:auto; }
 .step { display:grid; grid-template-columns:72px minmax(0,1fr); gap:24px; text-align:left; }
 .step-icon { width:72px; height:72px; margin:0; }
 .step-copy { padding-top:8px; }
 .step h3 { margin-bottom:12px; }
 .steps-cta { margin-top:36px; }
 .editorial-grid { gap:32px; } .about-visual,.about-copy { grid-column:span 12; }
 .about-image { height:auto; aspect-ratio:4/5; } .about-copy h2 { margin-bottom:24px; }
 .about-copy>p:not(.eyebrow) { font-size:15px; }
 .destination-grid { grid-template-rows:none; gap:20px; }
 .destination-tile--1,.destination-tile--2,.destination-tile--3,.destination-tile--4 { grid-column:span 12; grid-row:auto; min-height:340px; }
 .destination-tile--1 { min-height:480px; }
 .destination-content h3,.destination-tile--1 .destination-content h3 { font-size:34px; }
 .carousel-track { --carousel-card-width:86%; }
 .activity-image { aspect-ratio:4/3; } .activity-copy { padding-top:20px; }
 .carousel-controls { gap:12px; }
 .carousel-controls .slide-indicators { gap:4px; }
 .carousel-controls .slide-indicator { min-width:44px; }
 .why-grid { gap:32px; margin-bottom:32px; } .why-item { grid-column:span 12; padding-top:24px; }
 .large-number { margin-bottom:20px; font-size:36px; }
 .faq-grid { gap:32px; } .faq-grid>div:first-child,.faq-list { grid-column:span 12; }
 .faq-grid h2 { max-width:460px; margin-bottom:16px; }
 .faq-item>summary { font-size:15px; padding-block:20px; }
 .faq-answer { padding-right:0; }
 .article-copy h3 { font-size:26px; }
 .final-cta-copy { padding-block:88px; }
 .final-cta-copy h2 { font-size:42px; }
 .final-cta-copy>p:not(.eyebrow) { font-size:15px; }
 .site-footer { padding-block:64px 112px; }
 .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
 .footer-brand { margin:0; padding-bottom:24px; border-bottom:1px solid var(--border-dark); }
 .footer-title { margin-bottom:12px; }
 .footer-bottom { margin-top:32px; align-items:flex-start; flex-direction:column; gap:8px; }
 .whatsapp-float { left:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); min-width:52px; min-height:52px; padding:12px; }
 .whatsapp-float>span { display:none; }
}
@media (max-width: 479px) {
 .nav-list { grid-template-columns:minmax(0,1fr); }
 .brand-wordmark { font-size:15px; } .brand { gap:8px; }
 .hero-heading { font-size:46px; }
 .hero-copy .button-row { gap:12px; }
 .hero-copy .button-row>.button { width:100%; }
 .slide-arrows,.slide-indicators { gap:4px; }
 .hero-controls .carousel-controls { flex-wrap:nowrap; gap:8px; }
 .hero-controls .slide-indicator { min-width:44px; padding:6px; }
 .final-cta-copy .button-row>.button { width:100%; }
 .step { grid-template-columns:64px minmax(0,1fr); gap:20px; }
 .step-icon { width:64px; height:64px; } .steps-grid::before { left:31px; top:32px; }
}
@media (min-width:1024px) { .header-menu:not([open])>.menu-toggle { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid var(--border-dark); border-radius:var(--radius-sm); cursor:pointer; list-style:none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } [data-reveal].reveal-pending { opacity:1; transform:none; } }

/* Shared designer attribution and chat links. */
.footer-bottom{flex-wrap:wrap;align-items:center}.footer-designer{font-size:12px}.footer-designer a{text-decoration:underline;text-underline-offset:4px}.footer-utility{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.footer-chat-status{margin-top:12px;font-size:12px}@media(max-width:767px){.footer-utility{gap:20px}.footer-designer{line-height:1.8}}
