@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500;1,600&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root { font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
[hidden] { display:none !important; }
.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; }
:focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
h1,h2,h3,p { margin-top:0; }
body[data-theme="editorial"] { --heading:"Cormorant Garamond",Georgia,serif;--body:"DM Sans",Arial,sans-serif;--bg:#f7f3ea;--surface:#ebe9df;--surface-2:#e1e4d9;--ink:#213b34;--muted:#5e6e65;--line:#d2d3c8;--accent:#a45d43;--on-accent:#fff;--footer:#1b302a;--footer-ink:#f7f3ea;--nav-bg:rgba(247,243,234,.96);font-family:var(--body); }
body[data-theme="editorial"][data-palette="olive"] { --bg:#f4f2e5;--surface:#e8e9d8;--surface-2:#dfe6d6;--ink:#343e27;--muted:#687057;--line:#d1d6c3;--accent:#788a4f;--footer:#273523;--nav-bg:rgba(244,242,229,.96); }
body[data-theme="editorial"][data-palette="stone"] { --bg:#f3f2ed;--surface:#e7e9e8;--surface-2:#dce2e2;--ink:#333d45;--muted:#677278;--line:#ccd2d2;--accent:#907662;--footer:#233139;--nav-bg:rgba(243,242,237,.96); }
body[data-theme="editorial"][data-palette="terra"] { --bg:#fbf1e8;--surface:#f2e3d8;--surface-2:#eadad2;--ink:#45332e;--muted:#80685f;--line:#e1cec1;--accent:#b85f42;--footer:#342622;--nav-bg:rgba(251,241,232,.96); }
body[data-theme="editorial"][data-palette="blue"] { --bg:#eff4f2;--surface:#dfeae8;--surface-2:#d7e8e6;--ink:#143e49;--muted:#58737a;--line:#c5d8d5;--accent:#547d82;--footer:#15353f;--nav-bg:rgba(239,244,242,.96); }
body[data-theme="editorial"][data-mode="dark"] { --bg:#182b26;--surface:#253b33;--surface-2:#30473e;--ink:#f7f3ea;--muted:#c1cdc2;--line:#486055;--accent:#e4a18a;--on-accent:#182b26;--footer:#10201b;--footer-ink:#f7f3ea;--nav-bg:rgba(24,43,38,.96); }
body[data-theme="editorial"][data-palette="olive"][data-mode="dark"] { --bg:#222d1f;--surface:#31402a;--surface-2:#3f4b32;--ink:#f4f2e5;--muted:#c5ceb4;--line:#58664b;--accent:#becb8a;--footer:#172416;--nav-bg:rgba(34,45,31,.96); }
body[data-theme="editorial"][data-palette="stone"][data-mode="dark"] { --bg:#1d2a30;--surface:#293b41;--surface-2:#354950;--ink:#f3f2ed;--muted:#c2ccce;--line:#52646a;--accent:#c6a98e;--footer:#132128;--nav-bg:rgba(29,42,48,.96); }
body[data-theme="editorial"][data-palette="terra"][data-mode="dark"] { --bg:#31231f;--surface:#45322b;--surface-2:#543e34;--ink:#fbf1e8;--muted:#dbbfb0;--line:#735449;--accent:#e99a77;--footer:#251a17;--nav-bg:rgba(49,35,31,.96); }
body[data-theme="editorial"][data-palette="blue"][data-mode="dark"] { --bg:#102b34;--surface:#1e3c44;--surface-2:#2a4b53;--ink:#eff4f2;--muted:#b4ced0;--line:#4d6d72;--accent:#9fc9c7;--footer:#0b2027;--nav-bg:rgba(16,43,52,.96); }
body[data-theme="expedition"] { --heading:"Space Grotesk",Arial,sans-serif;--body:"DM Sans",Arial,sans-serif;--bg:#f1f3ec;--surface:#e3e9dd;--surface-2:#d7e2d5;--ink:#102a2c;--muted:#536c67;--line:#c5d2c7;--accent:#4d7058;--on-accent:#fff;--footer:#112427;--footer-ink:#eff4ea;--nav-bg:rgba(241,243,236,.96);font-family:var(--body); }
body[data-theme="expedition"][data-palette="olive"] { --bg:#f2f3e4;--surface:#e3e8d0;--surface-2:#d8dec4;--ink:#27341f;--muted:#5f6d50;--line:#c8d2b8;--accent:#68813b;--footer:#202c1b;--nav-bg:rgba(242,243,228,.96); }
body[data-theme="expedition"][data-palette="stone"] { --bg:#eef2f3;--surface:#e1e9eb;--surface-2:#d6e1e4;--ink:#1b323c;--muted:#5d717a;--line:#c3d1d5;--accent:#4d7985;--footer:#182a30;--nav-bg:rgba(238,242,243,.96); }
body[data-theme="expedition"][data-palette="terra"] { --bg:#f5efe7;--surface:#eae1d5;--surface-2:#e2d4c5;--ink:#3f302b;--muted:#796658;--line:#d8c7b8;--accent:#a65f41;--footer:#33231e;--nav-bg:rgba(245,239,231,.96); }
body[data-theme="expedition"][data-palette="blue"] { --bg:#eaf1f6;--surface:#dce8f0;--surface-2:#d1e0e9;--ink:#17344b;--muted:#5a7789;--line:#bed2df;--accent:#416f98;--footer:#11283c;--nav-bg:rgba(234,241,246,.96); }
body[data-theme="expedition"][data-mode="dark"] { --bg:#101c20;--surface:#1c2c2f;--surface-2:#263b3c;--ink:#f2f1e9;--muted:#b0c0ba;--line:#3b5152;--accent:#d5ebaf;--on-accent:#101c20;--footer:#0b1518;--footer-ink:#f2f1e9;--nav-bg:rgba(16,28,32,.96); }
body[data-theme="expedition"][data-palette="olive"][data-mode="dark"] { --bg:#172118;--surface:#263629;--surface-2:#344b37;--ink:#f2f3e4;--muted:#bbcbb6;--line:#47634b;--accent:#d4e893;--footer:#101a12;--nav-bg:rgba(23,33,24,.96); }
body[data-theme="expedition"][data-palette="stone"][data-mode="dark"] { --bg:#142229;--surface:#233640;--surface-2:#2f4651;--ink:#f0f4f4;--muted:#b4c8cf;--line:#45606b;--accent:#a8dbe0;--footer:#0d1a20;--nav-bg:rgba(20,34,41,.96); }
body[data-theme="expedition"][data-palette="terra"][data-mode="dark"] { --bg:#261e1a;--surface:#3a2d25;--surface-2:#4b392e;--ink:#f7f1e6;--muted:#d4c2ae;--line:#685444;--accent:#ecb583;--footer:#1c1512;--nav-bg:rgba(38,30,26,.96); }
body[data-theme="expedition"][data-palette="blue"][data-mode="dark"] { --bg:#0c2030;--surface:#18354a;--surface-2:#24465f;--ink:#eff5f7;--muted:#b0cad8;--line:#3e6379;--accent:#a7d7fa;--footer:#081825;--nav-bg:rgba(12,32,48,.96); }

.utility { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:34px;padding:3px clamp(20px,5vw,86px);border-bottom:1px solid var(--line);font:700 10px/1.2 var(--body);letter-spacing:.17em;text-transform:uppercase; }
.utility-controls { display:flex;align-items:center;gap:15px; }
.region-select select { border:0;background:transparent;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.08em;cursor:pointer; }
.region-select option { background:var(--bg);color:var(--ink); }
.appearance-wrap { position:relative; }
.appearance-toggle { display:flex;gap:5px;align-items:center;border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase; }
.appearance-toggle::first-letter { font-size:16px; }
.appearance-panel { position:absolute;z-index:60;right:0;top:calc(100% + 12px);width:260px;padding:19px;border:1px solid var(--line);background:var(--bg);box-shadow:0 14px 40px rgba(0,0,0,.16);opacity:0;transform:translateY(-7px);visibility:hidden;pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s ease-out;letter-spacing:normal;text-transform:none; }
.appearance-open .appearance-panel { opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto; }
.appearance-panel > strong { display:block;margin-bottom:10px;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase; }
.palette-options { display:grid;grid-template-columns:1fr 1fr;gap:5px; }
.palette-options button { display:flex;align-items:center;gap:8px;padding:7px;border:1px solid transparent;background:transparent;color:var(--ink);font-size:12px;text-align:left; }
.palette-options button[aria-pressed="true"] { border-color:var(--accent); }
.swatch { display:block;width:15px;height:15px;border-radius:50%; }
.swatch-coast { background:#6f8c72; }.swatch-olive { background:#9daa69; }.swatch-stone { background:#869ca2; }.swatch-terra { background:#ce8665; }.swatch-blue { background:#5d8fac; }
.mode-switch { display:flex;justify-content:space-between;width:100%;margin-top:12px;padding:10px 0 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px;font-weight:700; }
.site-header { position:sticky;z-index:40;top:0;background:var(--nav-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(14px); }
.header-inner { display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:80px;padding:10px clamp(20px,5vw,86px); }
.brand { display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap; }
.brand-editorial { font:600 34px/.9 var(--heading);letter-spacing:-.045em; }.brand-editorial em { font-weight:500; }.brand-editorial small { margin-left:9px;font:700 9px/1.2 var(--body);letter-spacing:.18em;text-transform:uppercase; }
.brand-expedition { align-items:center;gap:10px;font:700 20px/1 var(--heading);letter-spacing:-.07em;text-transform:uppercase; }
.compass { display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:20px;font-weight:400; }
.main-nav { display:flex;align-items:center;gap:clamp(14px,2vw,32px);font:700 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase; }
.main-nav a:not(.nav-cta) { padding:14px 0;position:relative;white-space:nowrap; }
.main-nav a:not(.nav-cta):after { content:"";position:absolute;bottom:8px;left:0;right:100%;height:1px;background:var(--accent);transition:right .2s ease-out; }
.main-nav a:not(.nav-cta):hover:after,.main-nav a[aria-current="page"]:after { right:0; }
.nav-cta { display:inline-flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--ink);white-space:nowrap;transition:background .2s ease-out,color .2s ease-out; }
.nav-cta:hover { background:var(--ink);color:var(--bg); }
.mobile-only,.mobile-toggle { display:none !important; }
.site-footer { padding:70px clamp(20px,5vw,86px) 30px;background:var(--footer);color:var(--footer-ink); }
.footer-intro { display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:55px;border-bottom:1px solid rgba(255,255,255,.22); }
.footer-brand { font:500 clamp(48px,5.2vw,78px)/.9 var(--heading);letter-spacing:-.05em; }
.footer-intro p { max-width:460px;margin:17px 0 0;font-size:15px;line-height:1.6; }
.footer-intro .demo-note { font-size:11px;opacity:.7; }
.footer-cta { display:inline-flex;align-items:center;gap:25px;padding:14px 0;border-bottom:1px solid currentColor;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap; }
.footer-cta span,.text-link span,.solid-link span,.cta-outline span { transition:transform .2s ease-out; }
.footer-cta:hover span,.text-link:hover span,.solid-link:hover span,.cta-outline:hover span { transform:translateX(5px); }
.footer-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:45px 0 55px; }
.footer-grid h3 { margin-bottom:16px;font:700 10px/1 var(--body);letter-spacing:.2em;text-transform:uppercase; }
.footer-grid a,.footer-grid span { display:block;margin-bottom:5px;opacity:.75;font-size:12px;line-height:1.7; }
.footer-grid a:hover { opacity:1;text-decoration:underline; }
.footer-bottom { display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);opacity:.7;font-size:11px; }
.footer-bottom a:hover { text-decoration:underline; }

.eyebrow { display:flex;align-items:center;gap:12px;color:var(--accent);font:700 11px/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase; }
body[data-theme="editorial"] .eyebrow:before { content:"";width:32px;height:1px;background:currentColor; }
body[data-theme="expedition"] .eyebrow:before { content:"◈";font-size:18px;letter-spacing:0; }
.eyebrow span { color:inherit; }
.section { padding:105px clamp(20px,6vw,105px);scroll-margin-top:90px; }
#collections { scroll-margin-top:90px; }
.section-heading { display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:34px; }
.section-heading h2 { max-width:900px;margin:0; }
.section-heading p { max-width:320px;margin:0;color:var(--muted);font-size:14px;line-height:1.7; }
.text-link { display:inline-flex;align-items:center;gap:20px;align-self:flex-start;margin-top:20px;padding-bottom:9px;border-bottom:1px solid var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.text-link span { color:var(--accent);font-size:20px;line-height:.5; }
.solid-link { display:inline-flex;align-items:center;justify-content:space-between;gap:24px;align-self:flex-start;padding:17px 20px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s ease-out; }
.solid-link:hover { transform:translateY(-3px); }
.image-shell { display:block;overflow:hidden;background:var(--surface); }
.image-shell img { height:100%;object-fit:cover;transition:transform .25s ease-out; }
a:hover .image-shell img { transform:scale(1.045); }
.closing-cta { display:flex;align-items:end;justify-content:space-between;gap:35px;padding:96px clamp(20px,6vw,105px);background:var(--surface-2); }
.closing-cta h2 { max-width:950px;margin-bottom:15px; }
.closing-cta p:not(.eyebrow) { max-width:480px;margin:0;color:var(--muted);font-size:15px;line-height:1.65; }
.cta-outline { display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 20px;border:1px solid var(--ink);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background .2s ease-out,color .2s ease-out; }
.cta-outline:hover { background:var(--ink);color:var(--bg); }
.micro-copy { margin:10px 0 0;color:var(--muted);font-size:11px; }
.planner { display:grid;grid-template-columns:1.2fr 1fr .85fr auto;align-items:stretch;background:var(--bg);border:1px solid var(--line);box-shadow:0 17px 35px rgba(0,0,0,.09); }
.planner .field { display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-right:1px solid var(--line); }
.planner label { color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase; }
.planner input,.planner select { min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px; }
.planner select option { color:#162b27;background:#f6f4ef; }
.planner button { min-width:165px;padding:15px 23px;border:0;background:var(--ink);color:var(--bg);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s ease-out; }
.planner button:hover { background:var(--accent);color:var(--on-accent); }
.planner-shell { position:relative;z-index:3;margin:0 clamp(20px,6vw,105px); }

/* Editorial compositions */
body[data-theme="editorial"] h1,body[data-theme="editorial"] h2,body[data-theme="editorial"] h3 { font-family:var(--heading);font-weight:500;letter-spacing:-.043em; }
body[data-theme="editorial"] h1 { font-size:clamp(60px,6.5vw,105px);line-height:.89; }
body[data-theme="editorial"] h2 { font-size:clamp(48px,5vw,78px);line-height:.96; }
body[data-theme="editorial"] h3 { font-size:30px;line-height:1.08; }
.e-home-hero { display:grid;grid-template-columns:49% 51%;height:620px; }
.e-home-copy { display:flex;flex-direction:column;justify-content:center;padding:65px clamp(25px,6vw,105px); }
.e-home-copy h1 { max-width:650px;margin:19px 0 25px; }
.e-home-copy h1 em { color:var(--accent);font-weight:500; }
.e-home-copy > p:not(.eyebrow) { max-width:460px;color:var(--muted);font-size:15px;line-height:1.75; }
.e-home-photo { position:relative;overflow:hidden; }
.e-home-photo img { position:absolute;inset:0;height:100%;object-fit:cover; }
.e-home-photo span { position:absolute;left:25px;right:25px;bottom:25px;padding:13px 16px;background:var(--bg);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase; }
body[data-theme="editorial"] .planner-shell { margin-top:-26px; }
.e-destinations .section-heading { margin-bottom:36px; }
.e-destination-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.editorial-destination:nth-child(2) { padding-top:40px; }
.editorial-destination .image-shell { height:clamp(290px,30vw,430px); }
.card-caption { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line); }
.card-caption strong { font:500 31px/.9 var(--heading);letter-spacing:-.04em; }
.card-caption span { color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.e-collections { display:grid;grid-template-columns:.95fr 1.05fr;background:var(--surface); }
.e-collections-photo { min-height:590px; }
.e-collections-photo img { height:100%;min-height:590px;object-fit:cover; }
.e-collections-copy { display:flex;flex-direction:column;justify-content:center;padding:70px clamp(25px,6vw,95px); }
.e-collections-copy h2 { max-width:580px;margin:17px 0 25px; }
.e-collections-copy > p:not(.eyebrow) { max-width:450px;color:var(--muted);font-size:14px;line-height:1.7; }
.collection-links { border-top:1px solid var(--line); }
.collection-link { display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);transition:padding-left .2s ease-out; }
.collection-link:hover { padding-left:8px; }
.collection-index { color:var(--accent);font-size:10px;font-weight:700; }
.collection-link strong { font:500 29px/.95 var(--heading);letter-spacing:-.04em; }
.collection-link small { display:none;color:var(--muted);font-size:11px; }
.collection-link > span:last-child { color:var(--accent); }
.e-process { background:var(--bg); }
.steps,.values-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.steps article,.values-grid article { padding:24px 0;border-top:1px solid var(--line); }
.steps article > span,.values-grid article > span { display:block;margin-bottom:42px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.15em; }
.steps h3,.values-grid h3 { margin-bottom:9px; }
.steps p,.values-grid p { max-width:300px;color:var(--muted);font-size:13px;line-height:1.65; }
.inner-hero { position:relative;overflow:hidden; }
.e-inner-hero { display:grid;grid-template-columns:53% 47%;height:570px; }
.e-inner-hero > div { display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:75px clamp(25px,6vw,105px); }
.e-inner-hero h1 { max-width:700px;margin:20px 0; }
.e-inner-hero p:not(.eyebrow) { max-width:500px;color:var(--muted);font-size:16px;line-height:1.7; }
.e-inner-hero > img { height:570px;object-fit:cover; }
.service-section .section-heading { margin-bottom:55px; }
.e-service-list { border-top:1px solid var(--line); }
.e-service-list article { display:grid;grid-template-columns:55px 1fr 225px;align-items:center;gap:35px;min-height:205px;padding:22px 0;border-bottom:1px solid var(--line); }
.service-number { align-self:start;padding-top:12px;color:var(--accent);font-size:11px;font-weight:700; }
.e-service-list h3 { margin-bottom:9px;font-size:43px; }
.e-service-list p { margin-bottom:12px;color:var(--muted);font-size:14px;line-height:1.6; }
.e-service-list small { color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.e-service-list img { height:155px;object-fit:cover; }
.pricing-layout { display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,6vw,100px); }
.price-card { display:flex;flex-direction:column;align-items:flex-start;padding:45px;background:var(--surface); }
.price-card small,.a-price-layout small { color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase; }
.price-card strong { display:block;margin:20px 0 24px;font:500 clamp(100px,11vw,160px)/.8 var(--heading);letter-spacing:-.08em; }
.price-card p { max-width:320px;color:var(--muted);font-size:13px;line-height:1.7; }
.price-card a { margin-top:auto;padding:12px 0;border-bottom:1px solid var(--accent);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.price-details h2 { max-width:640px;margin-bottom:25px; }
.price-details > p { max-width:500px;color:var(--muted);font-size:14px;line-height:1.6; }
.price-details ul { margin:28px 0;padding:0;list-style:none;border-top:1px solid var(--line); }
.price-details li { padding:13px 0;border-bottom:1px solid var(--line);font-size:13px; }
.caution { padding:16px;border-left:2px solid var(--accent);background:var(--surface);color:var(--muted);font-size:12px;line-height:1.6; }
.faq-section { background:var(--surface); }
.faq-section h2 { margin-bottom:33px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { padding:21px 0;list-style:none;cursor:pointer;font-size:17px;font-weight:600; }
.faq-list summary:after { content:"+";float:right;color:var(--accent);font-size:24px;font-weight:400; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list details p { max-width:700px;color:var(--muted);font-size:14px;line-height:1.65; }
.about-story .section-heading { margin-bottom:45px; }
.story-grid { display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:clamp(30px,6vw,100px); }
.story-grid img { height:580px;object-fit:cover; }
.story-grid p { color:var(--muted);font-size:14px;line-height:1.8; }
.story-grid .large-intro { color:var(--ink);font:500 clamp(32px,3.8vw,58px)/1.02 var(--heading);letter-spacing:-.04em; }
.values-section { background:var(--surface); }

/* Expedition compositions */
body[data-theme="expedition"] h1,body[data-theme="expedition"] h2,body[data-theme="expedition"] h3 { font-family:var(--heading);font-weight:500;letter-spacing:-.075em; }
body[data-theme="expedition"] h1 { font-size:clamp(58px,6.4vw,103px);line-height:.9; }
body[data-theme="expedition"] h2 { font-size:clamp(47px,5vw,78px);line-height:.93; }
body[data-theme="expedition"] h3 { font-size:27px;line-height:1.1; }
body[data-theme] .footer-grid h3 { font:700 10px/1 var(--body);letter-spacing:.2em; }
.a-home-hero { position:relative;display:flex;align-items:center;min-height:650px;overflow:hidden;background:var(--surface); }
.a-home-hero:after,.a-inner-hero:after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,18,.91) 0%,rgba(4,17,18,.7) 43%,rgba(4,17,18,.13) 100%);pointer-events:none; }
.a-hero-image { position:absolute;inset:0;height:100%;object-fit:cover; }
.a-hero-grid { position:absolute;z-index:1;inset:0;opacity:.14;background-image:linear-gradient(to right,#d5ebaf 1px,transparent 1px),linear-gradient(to bottom,#d5ebaf 1px,transparent 1px);background-size:90px 90px;pointer-events:none; }
.a-hero-content { position:relative;z-index:2;max-width:1120px;padding:75px clamp(20px,6vw,105px);color:#f2f1e9; }
.a-hero-content h1 { max-width:920px;margin:25px 0; }
.a-hero-content h1 em { color:#d5ebaf;font-style:normal; }
.a-hero-content > p:not(.eyebrow) { max-width:485px;color:#e4e9e2;font-size:15px;line-height:1.7; }
.a-hero-content .solid-link { margin-top:20px; }
.hero-coordinate { position:absolute;z-index:2;right:clamp(20px,6vw,105px);bottom:25px;color:#e4e9e2;font-size:10px;font-weight:700;letter-spacing:.2em; }
body[data-theme="expedition"] .planner-shell { margin-top:-1px; }
.planner-atlas { background:var(--surface);box-shadow:none; }
.planner-atlas button { background:var(--accent);color:var(--on-accent); }
.planner-atlas button:hover { background:var(--ink);color:var(--bg); }
.a-destination-grid { display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:13px; }
.atlas-destination { position:relative;display:block;min-height:420px;overflow:hidden;background:var(--surface); }
.atlas-destination img { position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .25s ease-out,filter .25s ease-out; }
.atlas-destination:hover img { transform:scale(1.045);filter:saturate(1); }
.atlas-destination:after { content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(5,16,18,.85)); }
.atlas-number { position:absolute;z-index:1;top:18px;left:18px;padding:6px 9px;border:1px solid #e7ece7;color:#fff;font-size:10px;letter-spacing:.15em; }
.atlas-caption { position:absolute;z-index:1;right:20px;bottom:22px;left:20px;color:#fff; }
.atlas-caption strong { display:block;font:500 clamp(29px,3vw,42px)/1 var(--heading);letter-spacing:-.07em; }
.atlas-caption small { display:block;margin-top:8px;color:#d5ebaf;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase; }
.a-collections { background:var(--surface); }
.a-collections h2 { max-width:900px;margin:22px 0 35px; }
body[data-theme="expedition"] .collection-link { grid-template-columns:60px 1fr 250px 25px;min-height:93px; }
body[data-theme="expedition"] .collection-link strong { font:500 clamp(25px,3vw,39px)/1 var(--heading);letter-spacing:-.065em; }
body[data-theme="expedition"] .collection-link small { display:block; }
.a-process { display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:90px clamp(20px,6vw,105px); }
.a-process h2 { max-width:690px;margin:20px 0 0; }
.process-list { align-self:end;border-top:1px solid var(--line); }
.process-list p { display:grid;grid-template-columns:140px 1fr;gap:15px;margin:0;padding:20px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.5; }
.process-list b { color:var(--accent);font-size:11px;letter-spacing:.11em;text-transform:uppercase; }
body[data-theme="expedition"] .closing-cta { background:var(--accent);color:var(--on-accent); }
body[data-theme="expedition"] .closing-cta .eyebrow,body[data-theme="expedition"] .closing-cta p:not(.eyebrow) { color:var(--on-accent); }
body[data-theme="expedition"] .closing-cta .cta-outline { border-color:var(--on-accent); }
body[data-theme="expedition"] .closing-cta .cta-outline:hover { background:var(--on-accent);color:var(--accent); }
.a-inner-hero { display:flex;align-items:center;min-height:570px;background:var(--surface); }
.a-inner-hero > img { position:absolute;inset:0;height:100%;object-fit:cover; }
.a-inner-hero > div { position:relative;z-index:2;max-width:1000px;padding:95px clamp(20px,6vw,105px);color:#fff; }
.a-inner-hero h1 { max-width:990px;margin:20px 0; }
.a-inner-hero p:not(.eyebrow) { max-width:490px;color:#e1e8e2;font-size:15px;line-height:1.7; }
.a-services > h2 { margin-bottom:35px; }
.a-service-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }
.a-service-grid article { display:flex;flex-direction:column;min-height:450px;padding:14px;border:1px solid var(--line);background:var(--surface); }
.a-service-grid article > span { margin-bottom:15px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.13em; }
.a-service-grid img { height:160px;object-fit:cover;filter:saturate(.7); }
.a-service-grid h3 { margin:20px 0 9px; }
.a-service-grid p { color:var(--muted);font-size:12px;line-height:1.6; }
.a-service-grid small { margin-top:auto;padding-top:18px;color:var(--accent);font-size:10px;line-height:1.4;text-transform:uppercase; }
.a-price-layout { display:grid;grid-template-columns:.8fr 1.2fr;gap:70px; }
.a-price-layout > div:first-child { display:flex;flex-direction:column;align-items:flex-start;padding:45px;border:1px solid var(--line);background:var(--surface); }
.a-price-layout strong { display:block;margin:24px 0;font:500 clamp(90px,10vw,140px)/.8 var(--heading);letter-spacing:-.1em; }
.a-price-layout p { max-width:300px;color:var(--muted);font-size:13px;line-height:1.65; }
.a-price-layout .solid-link { margin-top:auto; }
.a-price-layout h2 { margin-bottom:26px; }
.a-price-layout ul { padding:0;list-style:none;border-top:1px solid var(--line); }
.a-price-layout li { display:flex;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px; }
.a-price-layout li b { color:var(--accent);font-size:10px; }
.a-pricing > .caution { margin-top:25px; }
.a-about { display:grid;grid-template-columns:1.25fr .75fr;gap:60px; }
.a-about-statement { padding-top:20px;border-top:1px solid var(--line); }
.a-about-statement small { color:var(--accent);font-size:10px;letter-spacing:.15em; }
.a-about-statement h2 { max-width:850px;margin:25px 0; }
.a-about-copy { align-self:end;color:var(--muted);font-size:15px;line-height:1.8; }
body[data-theme="expedition"] .values-section { background:var(--surface); }
body[data-theme="expedition"] .values-grid article > span { margin-bottom:65px; }

/* Gallery, contact and legal pages */
.simple-hero { padding:90px clamp(20px,6vw,105px) 75px;background:var(--surface); }
.simple-hero h1 { max-width:1000px;margin:24px 0; }
.simple-hero > p:not(.eyebrow) { max-width:600px;color:var(--muted);font-size:16px;line-height:1.7; }
.gallery-filters { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px; }
.gallery-filters button { padding:10px 17px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s ease-out,color .2s ease-out; }
.gallery-filters button[aria-pressed="true"],.gallery-filters button:hover { background:var(--ink);color:var(--bg); }
.gallery-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:15px; }
body[data-theme="expedition"] .gallery-grid { grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:235px; }
body[data-theme="expedition"] .gallery-item { min-height:0; }
body[data-theme="expedition"] .gallery-item:first-child { grid-row:span 2; }
.gallery-item { position:relative;display:block;min-height:330px;padding:0;border:0;background:var(--surface);color:#fff;overflow:hidden;text-align:left; }
.gallery-item:nth-child(1),.gallery-item:nth-child(4) { min-height:430px; }
.gallery-item img { position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .25s ease-out; }
.gallery-item:hover img { transform:scale(1.045); }
.gallery-item:after { content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.gallery-item > span { position:absolute;z-index:1;left:20px;bottom:20px; }
.gallery-item small { display:block;margin-bottom:7px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase; }
.gallery-item strong { display:block;font:500 38px/.95 var(--heading);letter-spacing:-.06em; }
.gallery-dialog { position:fixed;max-width:min(92vw,1000px);max-height:92vh;padding:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink); }
.gallery-dialog::backdrop { background:rgba(0,0,0,.82); }
.gallery-dialog img { max-height:75vh;object-fit:contain; }
.gallery-dialog p { margin:10px 0 0;font:500 30px/1 var(--heading); }
.gallery-dialog button { position:absolute;top:17px;right:17px;width:37px;height:37px;border:0;background:var(--bg);color:var(--ink);font-size:26px; }
.contact-page { display:grid;grid-template-columns:.9fr 1.1fr;min-height:730px; }
body[data-theme="expedition"] .contact-intro { background-image:linear-gradient(to right,rgba(140,170,145,.09) 1px,transparent 1px),linear-gradient(to bottom,rgba(140,170,145,.09) 1px,transparent 1px);background-size:80px 80px; }
.contact-intro { display:flex;flex-direction:column;align-items:flex-start;padding:90px clamp(25px,6vw,105px);background:var(--surface); }
.contact-intro h1 { margin:22px 0; }
.contact-intro > p:not(.eyebrow) { max-width:500px;color:var(--muted);font-size:15px;line-height:1.7; }
.contact-details { display:flex;flex-direction:column;gap:9px;margin-top:auto;padding-top:65px;font-size:13px;line-height:1.5; }
.contact-details strong { margin-bottom:8px;color:var(--accent);font-size:10px;letter-spacing:.17em;text-transform:uppercase; }
.contact-details small { color:var(--muted);font-size:10px; }
.contact-form-wrap { padding:90px clamp(25px,6vw,105px); }
.form-kicker { margin-bottom:35px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.2em; }
.contact-fields { display:grid;grid-template-columns:1fr 1fr;gap:19px; }
.contact-field { display:flex;flex-direction:column;gap:9px; }
.contact-field > span { color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%;min-width:0;padding:13px 12px;border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--ink);font-size:13px;outline:0; }
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus { border-color:var(--accent); }
.contact-field select option { color:#162b27;background:#f6f4ef; }
.contact-notes { margin-top:20px; }
.contact-form-wrap .demo-note { margin:14px 0 18px;color:var(--muted);font-size:11px;line-height:1.5; }
.contact-submit { padding:16px 23px;border:0;background:var(--ink);color:var(--bg);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s ease-out; }
.contact-submit:hover { background:var(--accent);color:var(--on-accent); }
.contact-result { margin-top:22px;padding:22px;border-left:2px solid var(--accent);background:var(--surface); }
.contact-result h2 { margin-bottom:9px;font-size:38px !important; }
.contact-result p { color:var(--muted);font-size:13px;line-height:1.5; }
.contact-result pre { max-height:220px;overflow:auto;padding:12px;background:var(--bg);color:var(--ink);font:12px/1.6 monospace;white-space:pre-wrap;overflow-wrap:anywhere; }
.contact-result button { padding:8px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:11px;font-weight:700; }
.legal-layout { display:grid;grid-template-columns:250px 1fr;gap:clamp(40px,7vw,120px); }
.legal-layout nav { position:sticky;top:115px;align-self:start;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line); }
.legal-layout nav a { padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700; }
.legal-layout nav a:hover { color:var(--accent); }
.legal-layout article { padding-bottom:55px;margin-bottom:55px;border-bottom:1px solid var(--line);scroll-margin-top:125px; }
.legal-layout h2 { max-width:780px;margin:20px 0; }
.legal-layout article > p:not(.eyebrow) { max-width:750px;color:var(--muted);font-size:14px;line-height:1.75; }
.legal-points { display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:30px; }
.legal-points > div { padding:17px;border:1px solid var(--line); }
.legal-points strong { font-size:13px; }
.legal-points p { margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.6; }
.legal-layout ul { padding-left:18px; }
.legal-layout li { margin-bottom:10px;font-size:13px; }
.legal-layout li a { border-bottom:1px solid var(--accent); }

@media (max-width:1120px) {
  .brand-editorial small { display:none; }
  .main-nav { gap:13px;font-size:10px; }
  .a-service-grid { grid-template-columns:repeat(2,1fr); }
  .e-service-list article { grid-template-columns:45px 1fr 170px; }
}
@media (max-width:850px) {
  .header-inner { min-height:70px; }
  .mobile-toggle { display:block !important;border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
  .main-nav { position:absolute;top:100%;left:0;right:0;z-index:45;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 25px 25px;border-bottom:1px solid var(--line);background:var(--bg);opacity:0;transform:translateY(-8px);visibility:hidden;pointer-events:none;transition:opacity .2s ease-out,transform .2s ease-out,visibility .2s ease-out; }
  .menu-open .main-nav { opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto; }
  .main-nav a:not(.nav-cta) { padding:15px 0;border-bottom:1px solid var(--line); }
  .main-nav a:not(.nav-cta):after { display:none; }
  .nav-cta { align-self:start;margin-top:18px; }
  .mobile-only { display:block !important; }
  .e-home-hero { grid-template-columns:1fr;height:auto; }
  .e-home-copy { min-height:500px;padding:65px 35px; }
  .e-home-photo { height:440px; }
  .planner,.a-destination-grid { grid-template-columns:repeat(2,1fr); }
  .planner .field:nth-child(2) { border-right:0; }
  .planner button { min-height:64px; }
  .a-destination-grid .atlas-destination:first-child { grid-column:1/-1; }
  .e-collections { grid-template-columns:1fr; }
  .e-collections-photo,.e-collections-photo img { min-height:380px;height:380px; }
  .e-collections-copy { padding:65px 35px; }
  .e-inner-hero { grid-template-columns:1fr;height:auto; }
  .e-inner-hero > img { min-height:380px;height:380px; }
  .a-process,.a-price-layout,.a-about { grid-template-columns:1fr;gap:40px; }
  .a-price-layout > div:first-child { min-height:400px; }
  .contact-page { grid-template-columns:1fr; }
  .contact-details { margin-top:20px;padding-top:25px; }
  .legal-layout { grid-template-columns:1fr; }
  .legal-layout nav { position:static;flex-direction:row;flex-wrap:wrap;gap:18px; }
  .legal-layout nav a { border:0; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
  .utility { padding:3px 20px; }.utility > span { display:none; }.utility-controls { width:100%;justify-content:space-between; }
  .header-inner { padding:10px 20px; }
  .brand-editorial { font-size:30px; }.brand-expedition { font-size:16px; }
  .section { padding:72px 21px; }.section-heading { display:block; }.section-heading p { margin-top:17px; }
  .e-home-copy { min-height:490px;padding:65px 23px; }.e-home-copy h1 { font-size:clamp(61px,15vw,80px); }.e-home-photo { height:340px; }
  .planner-shell { margin-left:20px !important;margin-right:20px !important; }.planner { grid-template-columns:1fr; }.planner .field { padding:15px;border-right:0;border-bottom:1px solid var(--line); }.planner button { min-height:56px; }
  .e-destination-grid,.steps,.values-grid,.gallery-grid,.legal-points,body[data-theme="expedition"] .gallery-grid { grid-template-columns:1fr; }
  .editorial-destination:nth-child(2) { padding-top:0; }.editorial-destination .image-shell { height:330px; }
  .e-collections-copy { padding:65px 22px; }
  .closing-cta,.footer-intro { display:block; }.closing-cta { padding:75px 22px; }.cta-outline { margin-top:30px;white-space:normal; }
  .e-inner-hero > div { padding:75px 22px; }.e-inner-hero > img { min-height:310px;height:310px; }
  .e-service-list article { grid-template-columns:30px 1fr;gap:10px; }.e-service-list img { grid-column:2;height:150px; }.e-service-list h3 { font-size:34px; }
  .pricing-layout,.story-grid { grid-template-columns:1fr; }.price-card { min-height:360px;padding:28px; }.story-grid img { height:350px; }
  .a-home-hero { min-height:600px; }.a-home-hero:after,.a-inner-hero:after { background:linear-gradient(90deg,rgba(4,17,18,.8),rgba(4,17,18,.35)); }.a-hero-content { padding:65px 22px; }.a-hero-content h1 { font-size:clamp(54px,13vw,70px); }.hero-coordinate { display:none; }
  .a-destination-grid,.a-service-grid { grid-template-columns:1fr; }.a-destination-grid .atlas-destination:first-child { grid-column:auto; }.atlas-destination { min-height:350px; }
  body[data-theme="expedition"] .collection-link { grid-template-columns:35px 1fr 20px; }.collection-link small { display:none !important; }
  .a-process { padding:75px 22px; }.process-list p { grid-template-columns:100px 1fr; }
  .a-inner-hero > div { padding:75px 22px; }.a-inner-hero h1 { font-size:clamp(55px,13vw,74px); }
  .a-service-grid article { min-height:390px; }.a-price-layout > div:first-child { padding:28px; }.a-about { padding:75px 22px; }
  .simple-hero { padding:75px 22px 55px; }.gallery-item,.gallery-item:nth-child(1),.gallery-item:nth-child(4) { min-height:330px; }
  body[data-theme="expedition"] .gallery-grid { grid-auto-rows:330px; }body[data-theme="expedition"] .gallery-item:first-child { grid-row:auto; }
  .contact-intro,.contact-form-wrap { padding:70px 22px; }.contact-fields { grid-template-columns:1fr; }
  .site-footer { padding:65px 22px 30px; }.footer-cta { margin-top:30px;white-space:normal; }.footer-grid { gap:20px; }.footer-bottom { display:block; }.footer-bottom span { display:block;margin-bottom:8px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition-duration:.01ms !important;animation-duration:.01ms !important; }
}
