/* Loom refinements: quieter glass, clear arrivals, and room to explore. */
html{scroll-padding-top:84px}
.brand-header,.brand-header.scrolled{left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:1220px;height:48px;grid-template-columns:1fr 180px 1fr;gap:20px;transition:height .35s ease,width .35s ease,max-width .35s ease,background .35s ease}
.brand-header .center-brand{flex-direction:row;gap:9px;width:auto;justify-content:center}
.brand-header .logo-art,.brand-header.scrolled .logo-art{height:30px;width:24px;mask-size:43px 43px}
.brand-header .logo-wordmark,.brand-header.scrolled .logo-wordmark{font-size:8px;letter-spacing:.11em;white-space:nowrap}
.brand-header .desktop-nav{gap:clamp(14px,2vw,32px)}
.brand-header .desktop-nav a{font-size:9px;min-height:44px;display:flex;align-items:center}
.brand-header:not(.nav-arriving):focus-within{height:84px;max-width:1800px}
.brand-header:not(.nav-arriving):focus-within .center-brand{flex-direction:column;gap:3px}
.brand-header:not(.nav-arriving):focus-within .logo-art{height:49px;width:43px;mask-size:72px 72px}
.brand-header:not(.nav-arriving):focus-within .logo-wordmark{font-size:9px}
@media(hover:hover) and (pointer:fine){
 .brand-header:not(.nav-arriving):hover{height:84px;max-width:1800px}
 .brand-header:not(.nav-arriving):hover .center-brand{flex-direction:column;gap:3px}
 .brand-header:not(.nav-arriving):hover .logo-art{height:49px;width:43px;mask-size:72px 72px}
 .brand-header:not(.nav-arriving):hover .logo-wordmark{font-size:9px}
}
.nav-arrival{animation:arrive-gently .65s both}
@keyframes arrive-gently{from{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
body:not(.booking-page) .booking-dock{width:min(580px,calc(100% - 48px));max-width:1090px;transition:width .4s ease,background .3s ease;bottom:18px}
body:not(.booking-page) .dock-mobile-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 20px;width:100%;text-align:left;min-height:50px}
body:not(.booking-page) .dock-mobile-toggle>span:first-child{display:flex;flex-direction:column;gap:3px}
body:not(.booking-page) .dock-mobile-toggle b{font-family:var(--serif);font-weight:400;font-size:23px}
body:not(.booking-page) .dock-mobile-toggle small{font-size:9px;color:var(--cedar)}
body:not(.booking-page) .dock-mobile-action{font-size:9px;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:14px}
body:not(.booking-page) .dock-mobile-action>b{font:20px var(--sans)}
body:not(.booking-page) .booking-dock form{display:none}
body:not(.booking-page) .booking-dock.dock-active,body:not(.booking-page) .booking-dock.expanded{width:calc(100% - 48px)}
body:not(.booking-page) .booking-dock.dock-active form,body:not(.booking-page) .booking-dock.expanded form{display:grid}
body:not(.booking-page) .booking-dock.dock-active .dock-mobile-toggle,body:not(.booking-page) .booking-dock.expanded .dock-mobile-toggle{display:none}
.map-pin[hidden],.place-row[hidden],.booking-stay-card[hidden],.place-list[hidden],.selected-place[hidden]{display:none!important}
.ranch-map-viewport{max-height:none;overflow:hidden;min-height:0}
.ranch-map-viewport.zoomed{max-height:78svh;overflow:auto}
.ranch-map-canvas>img{display:block}
.ranch-filter-status{font-size:10px;color:var(--moss);line-height:1.6;margin:0 0 12px}
.ranch-place-list{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}
.ranch-place-list button{font-size:10px;line-height:1.5;padding:8px 11px;border:1px solid var(--line);border-radius:2px}
.ranch-place-list button[aria-pressed=true]{background:var(--cedar);color:var(--bone)}
.area-teaser{align-items:center}
.teaser-map-shell{padding:32px;min-width:0}
.area-teaser-map{height:auto;max-height:620px;overflow:hidden;background:var(--bone);text-align:center}
.area-teaser-map>img,.area-teaser-map:hover>img{display:block;width:auto;height:auto;max-width:100%;max-height:620px;min-height:0;object-fit:contain;transform:none;margin:0 auto}
.teaser-map-canvas{position:relative;max-width:100%;width:auto;line-height:0;margin:auto}
.teaser-map-canvas img{width:100%;height:auto;display:block}
.teaser-map-viewport{max-height:620px;overflow:hidden}
.teaser-map-viewport.zoomed{overflow:auto}
.teaser-map-link{display:flex;align-items:center;justify-content:space-between;padding:16px 0 0;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.teaser-map-shell .map-toolbar>span{color:var(--bone)}
.teaser-map-shell .ranch-zoom{color:var(--bone);border-color:rgba(243,238,229,.35);min-width:32px;min-height:32px}
.teaser-map-shell .teaser-map-link{color:var(--bone)}
.area-directory .place-copy{display:none}
.area-directory .place-row{padding:16px 0}
.area-directory .place-select h3{font-size:25px}
.area-directory .selected-place{scroll-margin-top:90px}
.area-directory .map-zone-summary{padding:0 3px 12px;margin-bottom:12px;border:0}
.map-zone-summary>p:not(.eyebrow){font-size:12px}
.area-directory .related-map-places{margin-top:18px;padding-top:14px}
.area-directory .related-map-places>button{font-size:21px}
.guide-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);background:var(--bone);color:var(--cedar);border:1px solid rgba(243,238,229,.5);padding:28px 36px 36px;overflow:auto}
.guide-dialog::backdrop{background:rgba(16,22,18,.62);backdrop-filter:blur(9px)}
.guide-dialog .guide-back{display:inline-flex;align-items:center;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;padding:12px 0;margin-bottom:24px}
.guide-dialog .dialog-close{top:15px;right:15px;color:var(--cedar);background:transparent}
.guide-dialog h2{font-size:46px;line-height:1.04;margin:12px 0 22px}
.guide-dialog p{font-size:14px;line-height:1.85;margin-bottom:17px}
.guide-dialog .eyebrow{font-size:9px}
.guide-dialog address{font-size:12px;line-height:1.7;margin:20px 0;font-style:normal}
.guide-dialog .guide-note{color:var(--stone);font-size:12px}
.guide-dialog .place-links{margin-top:25px;gap:18px;font-size:11px;line-height:1.7}
.guide-external-note{font-size:11px!important;color:var(--stone);border-top:1px solid var(--line);padding-top:18px;margin-top:25px}
.coffee-note{margin-top:22px!important;font-size:12px!important;line-height:1.8}
.coffee-note button{text-decoration:underline;text-underline-offset:4px;font-weight:500}
.place-links>[data-open-guide]{font-size:inherit;border-bottom:1px solid var(--line);padding-bottom:4px}
@media(max-width:1000px) and (min-width:801px){.brand-header{grid-template-columns:1fr 145px 1fr;padding:0 20px;gap:12px}.brand-header .desktop-nav a{font-size:8px}.brand-header .desktop-nav{gap:13px}.brand-header .logo-wordmark{font-size:7px}}
@media(max-width:800px){
 .brand-header,.brand-header.scrolled{height:58px;width:calc(100% - 28px);padding:0 20px;display:grid;grid-template-columns:1fr 110px 1fr;gap:8px}
 .brand-header .center-brand{flex-direction:column;gap:2px}.brand-header .logo-art,.brand-header.scrolled .logo-art{height:32px;width:28px;mask-size:47px 47px}.brand-header .logo-wordmark,.brand-header.scrolled .logo-wordmark{font-size:6px}
 .brand-header:not(.nav-arriving):focus-within,.brand-header.menu-open{height:74px}
 .brand-header:not(.nav-arriving):focus-within .logo-art{height:38px;width:33px;mask-size:56px 56px}.brand-header:not(.nav-arriving):focus-within .logo-wordmark{font-size:6px}
 .brand-header .menu-toggle{min-width:44px;min-height:44px;justify-self:end}.brand-header .mobile-wordmark{font-size:9px}
 .teaser-map-shell{padding:0 28px 35px}.teaser-map-shell .map-toolbar{margin-top:12px}.teaser-map-viewport{max-height:580px}
 .guide-dialog{padding:22px 25px 28px}.guide-dialog h2{font-size:38px}
}
@media(max-width:600px){
 body:not(.booking-page) .booking-dock,body:not(.booking-page) .booking-dock.expanded,body:not(.booking-page) .booking-dock.dock-active{width:calc(100% - 24px);bottom:12px}
 body:not(.booking-page) .dock-mobile-toggle{padding:10px 16px;min-height:55px;gap:10px}
 body:not(.booking-page) .dock-mobile-toggle b{font-size:21px}body:not(.booking-page) .dock-mobile-toggle small{font-size:8px}
 body:not(.booking-page) .booking-dock.expanded .dock-mobile-toggle{display:flex}
 body:not(.booking-page) .booking-dock.expanded form{grid-template-columns:1fr 1fr}
 .teaser-map-shell .map-toolbar>span{font-size:8px;max-width:160px}
 .area-teaser-map>img{max-height:580px}
}
@media(prefers-reduced-motion:reduce){.brand-header,.booking-dock{transition:none!important}.nav-arrival{animation:none}}
.motion-paused .nav-arrival{animation:none}

.area-opening [data-open-guide]{text-decoration:underline;text-underline-offset:4px}.before-go>div>.text-link{display:flex;font-size:11px;margin-top:16px}.selected-place>p:not(.eyebrow){font-size:13px;line-height:1.85}.selected-place address{font-size:11px}.selected-place .place-links{font-size:11px}.ranch-map-canvas,.illustrated-map-canvas{min-width:0;margin-inline:auto}
@media(max-width:800px){.brand-header .center-brand{position:static;left:auto;top:auto;transform:none;height:auto;min-height:0;grid-column:2;grid-row:1;justify-self:center}.brand-header .mobile-wordmark{grid-column:1;grid-row:1}.brand-header .menu-toggle{grid-column:3;grid-row:1}}

/* Real destination media, kept compact within the existing field guide. */
.place-media{margin:18px 0 22px}
.place-media img,.place-media video{display:block;width:100%;height:auto;border-radius:3px;background:var(--cedar);filter:none}
.place-media-portrait video{width:auto;max-width:100%;max-height:360px;margin:0 auto;object-fit:contain}
.place-media figcaption{font:9px/1.5 var(--sans);color:var(--stone);margin-top:7px}
.illustrated-area-map .area-art-pin[data-area-zone="crystal"]{width:auto;height:28px;padding:0 9px;gap:5px;display:flex;border-radius:20px;white-space:nowrap}
.area-art-pin[data-area-zone="crystal"] .pin-label{font-size:9px;line-height:1}
@media(max-width:800px){.place-media-portrait video{max-height:300px}.illustrated-area-map .area-art-pin[data-area-zone="crystal"]{height:25px;padding:0 7px}.area-art-pin[data-area-zone="crystal"] .pin-label{font-size:8px}}
