:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem,0.7rem + 0.25vw,0.875rem);
  --text-sm: clamp(0.875rem,0.8rem + 0.35vw,1rem);
  --text-base: clamp(1rem,0.95rem + 0.25vw,1.125rem);
  --text-lg: clamp(1.125rem,1rem + 0.75vw,1.5rem);
  --text-xl: clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl: clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-hero: clamp(3.25rem,0.7rem + 7vw,7rem);
  --color-bg:#f6f2ed;
  --color-surface:#fcfaf7;
  --color-surface-2:#f8f5f0;
  --color-divider:#d8cec1;
  --color-text:#221d18;
  --color-text-muted:#6f675f;
  --color-text-inverse:#fcfbf8;
  --color-primary:#0a6c70;
  --color-primary-hover:#07555a;
  --color-gold:#bc8b35;
  --shadow-sm:0 1px 2px rgba(34,29,24,.06);
  --shadow-md:0 12px 32px rgba(34,29,24,.1);
  --radius-lg:1rem;
  --radius-xl:1.5rem;
  --radius-full:9999px;
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'Manrope', Arial, sans-serif;
  --content-default:1120px;
}
[data-theme="dark"] {
  --color-bg:#151311; --color-surface:#1c1917; --color-surface-2:#24201d; --color-divider:#302b27; --color-text:#f3ece4; --color-text-muted:#b5aaa0; --color-text-inverse:#161310; --color-primary:#64afb3; --color-primary-hover:#7dc4c7; --color-gold:#d6a85c; --shadow-sm:0 1px 2px rgba(0,0,0,.2); --shadow-md:0 12px 32px rgba(0,0,0,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background:linear-gradient(180deg,var(--color-bg),var(--color-surface));min-height:100dvh}
img,svg{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3{line-height:1.05}
p{max-width:70ch}
.container{width:min(calc(100% - 2rem),var(--content-default));margin-inline:auto}
.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--color-primary);color:var(--color-text-inverse);padding:.75rem 1rem;border-radius:9999px;z-index:100}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 74%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.brand{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;font-weight:800}
.brand-mark{width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--color-primary),color-mix(in srgb,var(--color-gold) 48%,var(--color-primary)));color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}
.brand-text strong{display:block;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.18em}
.brand-text span{display:block;font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}
.nav-toggle,.theme-toggle{min-width:44px;min-height:44px;display:inline-grid;place-items:center;border-radius:9999px;border:1px solid color-mix(in srgb,var(--color-text) 12%,transparent);background:color-mix(in srgb,var(--color-surface) 90%,transparent)}
.nav-toggle{display:none}
.nav-menu{display:flex;align-items:center;gap:.5rem}
.nav-menu a{min-height:44px;display:inline-flex;align-items:center;padding:0 1rem;border-radius:9999px;font-size:var(--text-sm);color:var(--color-text-muted)}
.nav-menu a:hover,.nav-menu a.active{color:var(--color-text);background:color-mix(in srgb,var(--color-primary) 9%,transparent)}
.nav-actions{display:flex;align-items:center;gap:.75rem}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1.25rem;border-radius:9999px;font-size:var(--text-sm);font-weight:700;border:none;cursor:pointer}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn-primary:hover{background:var(--color-primary-hover)}
.btn-secondary{border:1px solid color-mix(in srgb,var(--color-text) 12%,transparent);background:color-mix(in srgb,var(--color-surface) 88%,transparent)}
.page-section{padding-block:clamp(3rem,8vw,6rem)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.24em;color:var(--color-primary);font-weight:800}.eyebrow::before{content:"";width:2rem;height:1px;background:currentColor;opacity:.5}
.hero-grid,.contact-grid,.split-layout,.mosaic,.package-card{display:grid;gap:1.5rem}
.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center}
.hero{min-height:calc(100dvh - 5rem);display:grid;align-items:center;padding-top:3rem}
.hero-copy h1,.page-hero h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:600;max-width:11ch;margin-bottom:1.25rem}
.page-hero h1{font-size:var(--text-2xl);max-width:14ch}
.hero-copy p,.page-hero p{color:var(--color-text-muted);margin-bottom:2rem;font-size:var(--text-lg);max-width:34rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.surface-card,.stat-card,.floating-card,.gallery-card,.destination-card,.package-card,.contact-panel,.contact-card,.story-panel,.page-hero,.mosaic-main,.mosaic-side{background:color-mix(in srgb,var(--color-surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);box-shadow:var(--shadow-md)}
.stat-card{padding:1.25rem;border-radius:1.5rem;box-shadow:var(--shadow-sm)}
.stat-card strong{display:block;font-size:var(--text-xl);font-family:var(--font-display)}
.stat-card span,.destination-meta,.package-meta,.contact-card p,.contact-panel p,.package-card p,.destination-card p,.floating-card p,.gallery-card p,.page-hero p{color:var(--color-text-muted);font-size:var(--text-sm)}
.hero-main-card{overflow:hidden;border-radius:2rem;position:relative;background:color-mix(in srgb,var(--color-surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);box-shadow:var(--shadow-md)}
.hero-main-card img{width:100%;aspect-ratio:4/5;object-fit:cover}.hero-caption{position:absolute;inset:auto 1.25rem 1.25rem 1.25rem;padding:1rem;border-radius:1rem;background:color-mix(in srgb,var(--color-bg) 65%,transparent);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}
.hero-caption strong{display:block;font-size:var(--text-lg);margin-bottom:.25rem}.hero-caption span{color:var(--color-text-muted);font-size:var(--text-sm)}
.hero-side-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1rem}.floating-card,.gallery-card,.page-hero,.contact-panel,.contact-card,.story-panel{padding:2rem;border-radius:1.5rem}.floating-card small,.gallery-card small,.contact-card small{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--color-primary);margin-bottom:.75rem;font-weight:800}.floating-card h3,.gallery-card h3,.destination-card h3,.package-card h3,.contact-card h3{font-size:var(--text-lg);margin-bottom:.75rem}.gallery-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:calc(1.5rem - 1.25rem);margin-top:1rem}
.split-layout{grid-template-columns:.92fr 1.08fr}.story-panel{position:sticky;top:6.25rem;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 12%,var(--color-surface)),color-mix(in srgb,var(--color-gold) 10%,var(--color-surface)))}.story-panel h2,.section-heading h2,.contact-panel h2,.contact-card h3,.page-hero h2{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:1rem}.story-panel p,.section-heading p{color:var(--color-text-muted);margin-bottom:1.5rem}.story-list,.package-pillars,.package-highlights,.contact-list,.footer-links{display:grid;gap:.75rem;list-style:none}.story-list li{padding-bottom:1rem;border-bottom:1px solid var(--color-divider);color:var(--color-text-muted)}.story-list strong{display:block;color:var(--color-text);margin-bottom:.25rem}
.destinations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.destination-card{border-radius:1.75rem;overflow:hidden}.destination-card img{width:100%;aspect-ratio:16/11;object-fit:cover}.destination-body{padding:1.5rem}.destination-meta,.package-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em}.destination-link{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--color-primary)}
.mosaic{grid-template-columns:1.15fr .85fr;margin-top:3rem}.mosaic-main,.mosaic-side{border-radius:2rem;overflow:hidden;position:relative;min-height:23rem}.mosaic-main img,.mosaic-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mosaic-overlay{position:absolute;inset:auto 1.25rem 1.25rem 1.25rem;background:color-mix(in srgb,var(--color-bg) 65%,transparent);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:1.5rem;padding:1.25rem}.mosaic-overlay strong{display:block;font-size:var(--text-lg);margin-bottom:.5rem}.mosaic-overlay span{color:var(--color-text-muted);font-size:var(--text-sm)}
.packages-wrap{display:grid;gap:1.25rem}.package-card{padding:1.5rem;border-radius:1.75rem;grid-template-columns:1.2fr .9fr;align-items:center}.package-pillars li,.package-highlights li,.contact-list li{padding-left:1.25rem;position:relative;color:var(--color-text-muted);font-size:var(--text-sm)}.package-pillars li::before,.package-highlights li::before,.contact-list li::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--color-primary);position:absolute;left:0;top:.55rem;box-shadow:0 0 0 .3rem color-mix(in srgb,var(--color-primary) 12%,transparent)}.package-aside{padding:1.5rem;border-radius:.75rem;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 9%,transparent),color-mix(in srgb,var(--color-gold) 8%,transparent));border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}.package-price{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:.5rem}
.contact-grid{grid-template-columns:.95fr 1.05fr}.contact-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 13%,var(--color-surface)),color-mix(in srgb,#33638a 8%,var(--color-surface)))}.contact-form{display:grid;gap:1rem;margin-top:1.5rem}.field{display:grid;gap:.5rem}.field label{font-size:var(--text-sm);font-weight:700}.field input,.field textarea,.field select{width:100%;padding:1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--color-text) 12%,transparent);background:color-mix(in srgb,var(--color-surface-2) 90%,transparent)}.field textarea{min-height:9rem;resize:vertical}.contact-email{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.75rem 1rem;border-radius:9999px;background:color-mix(in srgb,var(--color-primary) 9%,transparent);font-weight:700;word-break:break-all}.form-note,.success-message{font-size:var(--text-sm);color:var(--color-text-muted)}.success-message{display:none;color:var(--color-primary);font-weight:700}
.site-footer{padding:2rem 0 2.5rem;border-top:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:center}.footer-copy p,.footer-links a{color:var(--color-text-muted);font-size:var(--text-sm)}.footer-links{display:flex;flex-wrap:wrap;gap:1rem}
.page-hero{margin-top:2rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:1024px){.hero-grid,.split-layout,.contact-grid,.mosaic,.package-card{grid-template-columns:1fr}.story-panel{position:static}.hero-main-card img{aspect-ratio:16/12}}
@media (max-width:860px){.nav-toggle{display:inline-grid}.nav-menu{position:absolute;top:calc(100% + .75rem);left:1rem;right:1rem;display:none;flex-direction:column;align-items:stretch;padding:1rem;border-radius:1.5rem;background:color-mix(in srgb,var(--color-surface) 96%,transparent);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);box-shadow:var(--shadow-md)}.nav-menu.is-open{display:flex}.nav-menu a{width:100%;justify-content:flex-start}.nav-actions .btn-secondary{display:none}.hero-stats,.destinations-grid,.hero-side-grid{grid-template-columns:1fr}}
@media (max-width:640px){.container{width:min(calc(100% - 1.25rem),var(--content-default))}.brand-text span{display:none}.hero{min-height:auto;padding-top:2rem}.hero-copy p,.page-hero p{font-size:var(--text-base)}.hero-actions,.footer-grid,.footer-links{flex-direction:column;align-items:stretch}.btn{width:100%}.story-panel,.contact-panel,.contact-card,.package-card,.floating-card,.gallery-card,.destination-body,.page-hero{padding:1.25rem}.mosaic-main,.mosaic-side{min-height:18rem}}
