/* Quiet Atlas photography: contained images, continuous scrims and readable type. */
:root{--atlas-ease:cubic-bezier(.22,1,.36,1);--atlas-paper:#faf6ee;--atlas-navy:#0e1a2b;--atlas-gold:#a9874b;--atlas-type-shadow:0 1px 2px rgba(8,12,20,.55),0 10px 34px rgba(8,12,20,.6);--atlas-scrim:linear-gradient(180deg,rgba(14,26,43,.42),rgba(14,26,43,.48) 50%,rgba(14,26,43,.68)),linear-gradient(90deg,rgba(14,26,43,.67),rgba(14,26,43,.62) 48%,rgba(14,26,43,.38))}

/* The image, scrim and content each have an explicit nonnegative stacking layer. */
.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.zxd-hero,.page-hero{position:relative;isolation:isolate}
.zx-hero-bg,.zl-hero .bg,.seo-hero__media,.zp-hero .bg,.zxv-hero .bg,.atlas-hero-photo{position:absolute;inset:0!important;z-index:0;overflow:hidden;opacity:1!important;pointer-events:none}
.zx-hero-bg picture,.zl-hero .bg picture,.seo-hero__media picture,.zp-hero .bg picture,.zxv-hero .bg picture,.atlas-hero-photo picture{display:block;width:100%;height:100%}
.zx-hero-bg img,.zl-hero .bg img,.seo-hero__media img,.zp-hero .bg img,.zxv-hero .bg img,.atlas-hero-photo img{display:block;width:100%!important;height:100%!important;object-fit:cover;opacity:1!important;filter:none!important}
.zx-hero::after,.zl-hero::after,.seo-hero::after,.zp-hero::after,.zxv-hero::after{content:"";position:absolute;inset:0;z-index:1;background:var(--atlas-scrim)!important;pointer-events:none}
.page-hero:has(.atlas-hero-photo),.zxd-hero:has(.atlas-hero-photo),.zp-hero.flat:has(.atlas-hero-photo){background:var(--atlas-navy)}
.page-hero:has(.atlas-hero-photo)::before,.zxd-hero:has(.atlas-hero-photo)::before,.zp-hero.flat:has(.atlas-hero-photo)::before{content:"";position:absolute;inset:0;z-index:1;background:var(--atlas-scrim);pointer-events:none}
.page-hero:has(.atlas-hero-photo) .page-hero-inner,.zxd-hero:has(.atlas-hero-photo) .zxd-hero-inner,.zp-hero.flat:has(.atlas-hero-photo) .container{position:relative;z-index:2}
:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.zxd-hero:has(.atlas-hero-photo),.page-hero:has(.atlas-hero-photo)) :is(h1,p){background:none;box-shadow:none;color:#fffdf8!important;opacity:1!important;text-shadow:var(--atlas-type-shadow)}
:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero) h1 em{color:#e8d3a5!important}
:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.zxd-hero:has(.atlas-hero-photo),.page-hero:has(.atlas-hero-photo)) :is(.zl-breadcrumbs,.breadcrumb,.seo-breadcrumbs,.zxd-kicker,.last-updated-inline){background:none;box-shadow:none;max-width:100%;color:#fffdf8!important;filter:drop-shadow(0 1px 2px rgba(8,12,20,.65))}
:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.zxd-hero:has(.atlas-hero-photo),.page-hero:has(.atlas-hero-photo)) :is(.zl-breadcrumbs,.breadcrumb,.seo-breadcrumbs) :is(a,span,li,ol){color:#fffdf8!important;opacity:1!important}
.zx-hero .quote-qualifier{color:#fffdf8!important;background:none;box-shadow:none;opacity:1!important}
:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.zxd-hero,.page-hero) .btn-dark-ghost,.zx-hero .zx-hero-tags>span{background:rgba(255,255,255,.08)!important;color:#fffdf8!important;border:1px solid rgba(211,180,126,.72)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);filter:drop-shadow(0 1px 2px rgba(8,12,20,.5));box-shadow:none!important}
.zxd-hero:has(.atlas-hero-photo) .zxd-finder{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border:0;border-radius:0;padding-inline:0}
.zxd-hero:has(.atlas-hero-photo) .zxd-finder :is(label,.planning-caption,.zxd-finder-note){color:#fffdf8!important;opacity:1!important;text-shadow:var(--atlas-type-shadow)}
/* The finder action must size as a button rather than stretch into an ellipse. */
.zxd-finder-grid{align-items:end;grid-auto-rows:auto}
.zxd-finder .btn{align-self:end;justify-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:48px;height:auto;aspect-ratio:auto;border-radius:8px;padding:12px 20px;line-height:1.4;white-space:normal}

/* Every photograph is clipped by its own frame, including transformed images. */
.atlas-photo{display:block;position:relative;overflow:hidden;isolation:isolate;background:#b3a085;contain:paint}
.atlas-photo picture,.atlas-photo img{display:block;width:100%;height:100%;object-fit:cover}
.atlas-photo img{transition:transform 1000ms var(--atlas-ease);color:transparent}
.atlas-band{margin:clamp(32px,6vw,88px) 0;width:100%;height:clamp(180px,31.25vw,560px);margin-inline:0;position:relative;overflow:hidden;isolation:isolate}
.atlas-band::after{content:none}
.atlas-band img{transform:translate3d(0,clamp(-12px,var(--atlas-band-y,0px),12px),0) scale(1.08)}
.atlas-after{padding:clamp(32px,6vw,84px) 0;border-top:1px solid rgba(169,135,75,.28)}
.atlas-gallery,.atlas-destinations{display:flex;gap:clamp(12px,2vw,24px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--atlas-gold) transparent;padding:0 var(--gutter,24px) 18px;max-width:100%;touch-action:pan-x pan-y}
.atlas-gallery>.atlas-photo{flex:0 0 clamp(220px,32vw,500px);aspect-ratio:4/5;scroll-snap-align:start;border-radius:2px}
.atlas-gallery-controls{display:flex;justify-content:flex-end;gap:10px;padding:10px var(--gutter,24px) 0}
.atlas-control{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid var(--atlas-gold);border-radius:50%;background:var(--surface,#fffdf8);color:var(--ink,#16202e);font:24px/1 serif;cursor:pointer}
.atlas-control:focus-visible,.atlas-destination:focus-visible{outline:3px solid var(--atlas-gold);outline-offset:4px}
.atlas-control:hover{background:var(--atlas-navy);color:#fffdf8}
.atlas-destination{flex:0 0 clamp(240px,28vw,410px);position:relative;isolation:isolate;scroll-snap-align:start;color:#fffdf8;aspect-ratio:3/4;overflow:hidden;text-decoration:none}
.atlas-destination .atlas-photo{position:absolute;inset:0;z-index:0}
.atlas-destination::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 20%,rgba(14,26,43,.2) 45%,rgba(14,26,43,.88));pointer-events:none}
.atlas-destination>span{position:absolute;left:24px;right:24px;bottom:24px;padding:0;background:none;font:clamp(25px,3vw,40px)/1.15 var(--serif,serif);text-shadow:var(--atlas-type-shadow);z-index:2}
.atlas-rail-frame,.atlas-rail-window{margin:0 0 36px;max-width:100%;min-width:0}
/* Text wraps until the doubled track is ready; no-script never clips a place name. */
.atlas-type{font:clamp(28px,7vw,180px)/1.25 var(--serif,serif);color:var(--gold-deep,#876a39);padding:36px max(20px,env(safe-area-inset-left));max-width:100%;pointer-events:none;overflow-wrap:normal}
.atlas-type>div{white-space:normal;width:auto;transform:none}
.atlas-type.atlas-type-ready{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.atlas-type-ready>div{display:flex;width:max-content;white-space:nowrap;animation:atlas-marquee 70s linear infinite}
.atlas-type-copy{flex:none;padding-right:1.2em}
@keyframes atlas-marquee{to{transform:translate3d(-50%,0,0)}}
.atlas-ribbon{display:flex;gap:12px;overflow:auto;scroll-snap-type:x mandatory;padding:12px var(--gutter,24px);max-width:100%;scrollbar-width:thin}
.atlas-ribbon>.atlas-photo{flex:0 0 clamp(170px,21vw,320px);aspect-ratio:1/1;scroll-snap-align:start}
.atlas-ribbon-track{display:flex;gap:12px;width:max-content;will-change:transform}
.atlas-ribbon-track>.atlas-photo{flex:none;width:clamp(170px,21vw,320px);aspect-ratio:1}
.atlas-related-photo{display:block;flex:none;width:100%;aspect-ratio:16/9;margin:0 0 14px;overflow:hidden;background:#b3a085}
.atlas-related-photo img{height:100%;width:100%;object-fit:cover}
.zl-link-grid a:has(.atlas-related-photo),.seo-link-grid a:has(.atlas-related-photo){display:block}
.atlas-step-photo{display:block;aspect-ratio:4/3;overflow:hidden;margin:0 0 22px;background:#b3a085}
.atlas-step-photo img{width:100%;height:100%;object-fit:cover}
/* Each story has its own grid. A photograph can never occupy the copy column. */
@media(min-width:1100px){.atlas-story-step{display:grid!important;grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);gap:clamp(32px,5vw,72px);align-items:start}.atlas-story-step>.atlas-story-visual{position:sticky;top:calc(120px + env(safe-area-inset-top));grid-column:1;grid-row:1;margin:0;width:100%;height:auto;aspect-ratio:4/5;max-height:640px;min-width:0}.atlas-story-copy{grid-column:2;min-width:0}.atlas-story-copy>:first-child{margin-top:0}.zx-steps:has(.atlas-story-step){grid-template-columns:1fr!important}.zx-steps>.atlas-story-step{padding-block:24px}}
.zs-rail,.zs-short-grid,.zs-short-grid--stay{display:flex!important;gap:16px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;padding:0 0 18px!important;max-width:100%;scrollbar-width:thin;overscroll-behavior-x:contain}
.zs-rail>.zs-short,.zs-short-grid>.zs-short,.zs-short-grid--stay>.zs-short{flex:0 0 clamp(220px,26vw,340px)!important;width:auto!important;min-width:0;scroll-snap-align:start}
.zs-short-grid>.zs-short-player{flex:0 0 clamp(220px,26vw,340px)}
p.section-sub{opacity:1!important}
.founder-photo{max-width:100%!important;height:auto!important}
.zx-typo-scroll{max-width:100%;margin-inline:0!important;padding-inline:0!important;min-width:0}
.zs-short-media,.zs-short-media img{max-width:100%;width:100%}
/* Fixed/sticky surfaces preserve the device safe area; the conversion palette stays intact. */
.site-header{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.zxd-chipbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.zx-hero{min-height:100svh}
main small,main .small{font-size:max(14px,.875rem)}
@media(max-width:767px){:root{--atlas-scrim:linear-gradient(180deg,rgba(14,26,43,.48),rgba(14,26,43,.6) 58%,rgba(14,26,43,.74)),linear-gradient(90deg,rgba(14,26,43,.59),rgba(14,26,43,.46))}.atlas-band{height:clamp(180px,69vw,420px)}.atlas-band img{transform:none}.atlas-gallery>.atlas-photo,.atlas-destination{flex-basis:76vw}.atlas-ribbon>.atlas-photo{flex-basis:56vw}.atlas-ribbon-track>.atlas-photo{width:56vw}.atlas-type{padding-block:24px}}
@media(hover:hover) and (pointer:fine){.atlas-photo:hover img,.atlas-destination:focus-visible img,.atlas-related-photo:hover img{transform:scale(1.035)}}
@supports(overflow:clip){.atlas-photo,.atlas-band,.atlas-destination,.atlas-related-photo,.atlas-step-photo,.atlas-type-ready{overflow:clip}}
@supports not (backdrop-filter:blur(1px)){:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.zxd-hero,.page-hero) .btn-dark-ghost,.zx-hero .zx-hero-tags>span{background:rgba(255,255,255,.16)!important}}
@media(prefers-reduced-motion:no-preference){html.atlas-motion .atlas-photo.atlas-wipe img{animation:atlas-reveal 780ms var(--atlas-ease) both;animation-delay:var(--atlas-delay,0ms)}html.atlas-motion .atlas-hero-push img{animation:atlas-push 16s var(--atlas-ease) both}html.atlas-motion img.atlas-image-wipe{animation:atlas-reveal 780ms var(--atlas-ease) both}@keyframes atlas-reveal{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes atlas-push{from{transform:scale(1)}to{transform:scale(1.035)}}}
/* A preference change also restores readable static type without a reload. */
@media(prefers-reduced-motion:reduce),(prefers-reduced-data:reduce){.atlas-photo img,.atlas-hero-photo img,.atlas-ribbon-track,.atlas-type-ready>div{animation:none!important;transition:none!important;transform:none!important;clip-path:none!important;will-change:auto}.atlas-type.atlas-type-ready{overflow:visible;-webkit-mask-image:none;mask-image:none}.atlas-type-ready>div{display:block;width:auto;white-space:normal}.atlas-type-copy{padding:0}.atlas-type-copy[aria-hidden="true"]{display:none}}
html:not(.atlas-motion) :is(.zx-hero-bg,.zl-hero .bg,.seo-hero__media,.zp-hero .bg,.zxv-hero .bg,.atlas-hero-photo) img{animation:none!important;transform:none!important}
html.atlas-disabled .atlas-after,html.atlas-disabled .atlas-band,html.atlas-disabled .atlas-hero-photo,html.atlas-disabled .atlas-related-photo,html.atlas-disabled .atlas-step-photo{display:none!important}
/* Minimum readable supporting type, including legacy inline microcopy. */
.eyebrow,.section-kicker,.mini-label,.seo-kicker,.zl-kick,.zp-kick,.legal-eyebrow,.zx-eyebrow,.zx-kicker,.zxv-kicker,.zxd-kicker,.zs-video-kicker,.last-updated-inline,.page-updated,.quote-qualifier,.planning-caption,.zxd-finder-note,.zxd-tier,.zxd-flag,.zs-short-caption,.zx-scrollcue,.optional-tag,.intake-step,.intake-helper,.intake-footnote,.footer-social-label{font-size:14px!important}
.site-header .header-actions>.btn,.footer-actions>.btn,.btn>.wa-txt,.zx-hero-tags>span,.founder-badge>span,.zx-founder-badge>span,.marquee-row>span,.zx-marquee>span,.breadcrumb,.seo-breadcrumbs,.zl-breadcrumbs,.zxd-field>label,.zxd-chip>span,.zxd-meta>span,.listing-caption>a,.zxv-card>.zxv-link,.zp-ct>.k,.footer-col>h2,.footer-col>a,.footer-legal>a,.footer-bottom p,.footer-bottom span,.footer-launch-links>a,.footer-launch-links>span,.lead-dialog-bar>span,.lead-tools>p,.consent-manage{font-size:14px!important}
main [style*="font-size:.72rem"],main [style*="font-size:12px"],main [style*="font-size:.75rem"]{font-size:14px!important}
/* Fallback colours remain available in Safari 16.0 before color-mix support. */
@supports not (background:color-mix(in srgb,white,black)){.seo-note{background:rgba(169,135,75,.07)}.seo-kicker::before{box-shadow:0 0 0 4px rgba(27,91,73,.18)}}
main :is(th,td){font-size:14px!important}
.site-header .primary-nav a{min-width:44px;min-height:44px;justify-content:center}
main :is(p,li,td,label) a:not(.btn),.lead-dialog label a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;max-width:100%;overflow-wrap:anywhere;vertical-align:middle}
@media(min-width:1100px){.container.seo-copy.atlas-story-step{width:calc(100% - 2 * var(--gutter,24px));max-width:1120px}}

/* Editorial bylines inside photo heroes share the continuous scrim. */
:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.page-hero) .seo-byline{background:none;border:0;box-shadow:none;padding-inline:0;color:#fffdf8;text-shadow:var(--atlas-type-shadow)}
:is(.zx-hero,.zl-hero,.seo-hero,.zp-hero,.zxv-hero,.page-hero) .seo-byline :is(a,strong,span){color:#fffdf8}
.legal-page .legal-document a,.legal-page .legal-inline-button{min-height:44px;min-width:44px}
/* Venue-card photo labels use the same glass treatment as photographic hero pills. */
.zxd-media{isolation:isolate}
.zxd-media::after{z-index:1;background:linear-gradient(180deg,rgba(14,26,43,.88),rgba(14,26,43,.76) 30%,rgba(14,26,43,.12) 52%,rgba(14,26,43,.8) 80%,rgba(14,26,43,.9))}
.zxd-media :is(.zxd-tier,.zxd-flag){z-index:2;color:#fffdf8;background:rgba(255,255,255,.08);border:1px solid rgba(211,180,126,.72);box-shadow:none;text-shadow:var(--atlas-type-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@supports not (backdrop-filter:blur(1px)){.zxd-media :is(.zxd-tier,.zxd-flag){background:rgba(255,255,255,.16)}}
/* Keep the stays title on two deliberate mobile lines while its italic font loads. */
@media(max-width:767px){main:has(#stays-guided-brief) .zp-hero h1{min-height:2.12em}main:has(#stays-guided-brief) .zp-hero h1 em{display:block}}

/* Hero actions sit directly on the continuous scrim; each button keeps its own surface. */
.zx-hero .zx-intent{background:none;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}

/* Lazy venue preview preserves the existing full-card photograph and scrim. */
[data-explore-grid]>a:first-child .atlas-explore-photo{position:absolute;inset:0;z-index:0;display:block}
.atlas-explore-photo img{width:100%;height:100%;object-fit:cover;display:block}
[data-explore-grid]>a:first-child::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,20,.78),rgba(8,12,20,.96));pointer-events:none}
[data-explore-grid]>a:first-child>span{position:relative;z-index:2}
