:root{--surface:#fffdf9;--surface-soft:#f7f1e8;--surface-alt:#e8dfd1;--surface-card:#fffdf9;--surface-accent:#efe3d5;--contact-surface:#f0e6d9;--ink:#332a27;--muted:#695b52;--wine:#632b3b;--wine-dark:#48202c;--button-ink:#fff;--line:#d9cabc;--rose:#efe3e5;--paper:#faf7f2;--field:#fffdfb;--focus:#9a6835;--hero:#f7f1e8;--hero-clear:rgba(247,241,232,0);--unavailable:#f2eeea;--unavailable-ink:#756b68;--calendar-free:#f7edf1;--calendar-unknown:#fff3df;--warn:#f6dfc8;--warn-ink:#602a0b;color-scheme:light}
:root[data-theme="dark"]{--surface:#191715;--surface-soft:#211e1c;--surface-alt:#2a2521;--surface-card:#25211f;--surface-accent:#34292a;--contact-surface:#211c1d;--ink:#f4eee7;--muted:#c7b8ac;--wine:#efbac9;--wine-dark:#f6d1db;--button-ink:#301c22;--line:#57483f;--rose:#3a2d31;--paper:#191715;--field:#211d1c;--focus:#e8bd82;--hero:#030303;--hero-clear:rgba(3,3,3,0);--unavailable:#24211f;--unavailable-ink:#a99a90;--calendar-free:#34262d;--calendar-unknown:#362c20;--warn:#463020;--warn-ink:#f6d1a4;color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--surface:#191715;--surface-soft:#211e1c;--surface-alt:#2a2521;--surface-card:#25211f;--surface-accent:#34292a;--contact-surface:#211c1d;--ink:#f4eee7;--muted:#c7b8ac;--wine:#efbac9;--wine-dark:#f6d1db;--button-ink:#301c22;--line:#57483f;--rose:#3a2d31;--paper:#191715;--field:#211d1c;--focus:#e8bd82;--hero:#030303;--hero-clear:rgba(3,3,3,0);--unavailable:#24211f;--unavailable-ink:#a99a90;--calendar-free:#34262d;--calendar-unknown:#362c20;--warn:#463020;--warn-ink:#f6d1a4;color-scheme:dark}}
body,.home-page{background:var(--paper);color:var(--ink)}
.new-header{background:var(--surface-soft);color:var(--wine);border-color:var(--line);gap:18px}
.new-header nav{gap:22px}
.brand-lockup{display:block;flex-shrink:0}
.brand-lockup .brand-image{width:190px;height:auto;max-width:100%;display:block}
.scheduler-aside .brand-image{width:185px}.footer .brand-image{width:180px}
.marquee{color:var(--button-ink)}.marquee i{color:inherit}.admin-nav button{color:var(--ink)}
.button,.pill.light,.featured .button{background:var(--wine);border-color:var(--wine);color:var(--button-ink)}
.button:hover,.pill.light:hover,.featured .button:hover{background:var(--wine-dark);color:var(--button-ink)}
.button.outline{background:transparent;color:var(--wine)}.button.outline:hover{background:var(--rose)}
.product-story{background:var(--hero);color:var(--ink)}
.product-figure picture{display:block;width:100%;height:100%}.product-figure img{mix-blend-mode:normal}
.story-intro h1 span,.location-heading .eyebrow,.location-heading h2 em{color:var(--wine)}
.overline,.story-panel>p:not(.overline),.story-bottom,.scroll-hint,.product-note{color:var(--muted)}
.story-progress i{background:var(--line)}.story-progress i:after{background:var(--wine)}
.intro-section,.pricing,.faq,.footer,.legal{background:var(--surface)}.flow,.regions{background:var(--surface-soft)}
.location-section{background:var(--surface-alt);color:var(--ink)}
.location-heading>p,.visualization-note,.location-grid figcaption span,.location-bottom p,.real-box-copy>p:not(.eyebrow),.real-box .current-features span{color:var(--muted)}
.location-bottom,.current-features,.region-list,.region-list li,.faq details{border-color:var(--line)}
.location-heading h2{font-size:clamp(2.3rem,4vw,3.8rem)}.location-section{padding-top:75px;padding-bottom:75px}.location-grid{max-width:940px}.location-grid h3{font-size:1.75rem}
.price-card,.travel-card,.booking-card{background:var(--surface-card);border-color:var(--line);color:var(--ink)}
.price-card.featured{background:var(--surface-accent);color:var(--ink);border-color:var(--line)}
.price-card.featured .eyebrow{color:var(--wine)}.price-card.featured .card-desc,.price-card.featured .card-fineprint{color:var(--muted)}
.contact,.scheduler-section,.standalone-booking{background:var(--contact-surface)}
.scheduler,.scheduler-content{background:var(--surface-card)}
.scheduler-aside{background:var(--surface-alt);color:var(--ink)}
.scheduler-aside .new-brand{color:var(--wine)}
.scheduler-price span,.scheduler-aside>p:not(.scheduler-price),.selected-date span,.scheduler-steps,.scheduler-heading>p:last-child,.scheduler-small,.calendar-note,.calendar-legend,.request-summary dt{color:var(--muted)}
.scheduler-steps [aria-current],.scheduler-steps .complete{color:var(--wine)}.selected-date{border-color:var(--line)}
input,select,textarea,.booking-main input,.booking-main textarea,.booking-main select{background:var(--field);color:var(--ink);border-color:var(--line)}
.calendar-arrow,.scheduler-notice,.scheduler-content .inquiry-estimate,.offer-preview{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.calendar-day{background:var(--field);color:var(--ink);border-color:var(--line)}.calendar-day.available{background:var(--calendar-free)}.calendar-day.unknown{background:var(--calendar-unknown);border-color:var(--line)}
.calendar-day:hover:not(:disabled){background:var(--rose)}
.calendar-day.unavailable,.calendar-day.past,.calendar-day.outside_range,.calendar-day.unavailable:hover{background:var(--unavailable);color:var(--unavailable-ink)}
.calendar-day.selected,.calendar-day.selected:hover{background:var(--wine);color:var(--button-ink);border-color:var(--wine)}
.calendar-table th,.calendar-retry,.owner-day-details{color:var(--muted)}.legend-dot{background:var(--calendar-free);border-color:var(--line)}.legend-dot.unknown{background:var(--calendar-unknown)}.legend-dot.unavailable{background:var(--unavailable)}
.owner-day-details:not(:empty){background:var(--surface-soft);border-color:var(--wine)}
.badge{background:var(--surface-alt);color:var(--ink)}.badge.warn{background:var(--warn);color:var(--warn-ink)}.badge.ok{background:#dbe8d7;color:#294924}
.booking-main dialog{background:var(--surface);color:var(--ink)}.empty{color:var(--muted)}.record-meta,.request-summary dd{overflow-wrap:anywhere}
.inquiry-estimate,.amounts .total,.request-summary>div,.admin-nav{border-color:var(--line)}
.distance-error{color:var(--wine)}.skip{background:var(--surface-card);color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--focus)}
.theme-picker{position:relative;flex-shrink:0;color:var(--wine)}
.theme-picker summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;cursor:pointer;list-style:none;background:var(--surface)}
.theme-picker summary::-webkit-details-marker{display:none}.theme-picker summary:after{display:none}.theme-picker summary svg{display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-picker summary .theme-icon-system{display:block}
:root[data-theme-preference="light"] .theme-icon-system,:root[data-theme-preference="dark"] .theme-icon-system{display:none}
:root[data-theme-preference="light"] summary .theme-icon-light,:root[data-theme-preference="dark"] summary .theme-icon-dark{display:block}
.theme-menu{position:absolute;z-index:100;right:0;top:54px;width:190px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-card);box-shadow:0 12px 35px #0003;display:grid;gap:4px}
.theme-menu button{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;border:0;border-radius:7px;text-align:left;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.theme-menu button[aria-pressed="true"]{background:var(--rose);color:var(--wine);font-weight:600}.theme-menu button[aria-pressed="true"]:after{content:'✓'}.theme-menu button:hover{background:var(--surface-alt)}
.package-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:45px}.package-extras article{padding-top:22px;border-top:1px solid var(--line)}.package-extras h3{font:1.45rem/1.3 var(--serif);margin-bottom:12px}.package-extras p{font-size:.9375rem;color:var(--muted)}
@media(max-width:760px){.new-header{padding:20px;gap:10px}.new-header nav{gap:8px}.new-header .brand-image{width:132px}.new-header .pill{padding:11px 12px;gap:5px}.story-panel{background:linear-gradient(180deg,var(--hero-clear),var(--hero) 22%)}.package-extras{grid-template-columns:1fr;gap:24px}.location-section{padding-top:60px;padding-bottom:60px}.theme-menu{right:0}.scheduler-aside .brand-image{width:162px}}
@media(max-width:380px){.new-header{padding-inline:14px}.new-header .brand-image{width:110px}.new-header .pill{font-size:.75rem;padding-inline:9px}.new-header nav{gap:6px}}
@media(prefers-reduced-motion:reduce){.story-panel{background:none}}
