.property-concept{--concept-header:72px;--concept-nav:62px;--concept-muted:#625e56;--concept-radius:12px;background:var(--paper);line-height:1.6;color:var(--stone-900);overflow-x:clip;overflow-y:visible;scrollbar-color:var(--stone-300) var(--paper)}
.property-concept.modal-open{overflow:hidden}
html:has(.property-concept){scroll-padding-top:0}
.property-concept [hidden]{display:none!important}
.property-concept ::selection{background:var(--champagne-ink);color:var(--paper)}
.property-concept :focus-visible{outline:2px solid var(--champagne-ink);outline-offset:4px}
.property-concept button,.property-concept a{-webkit-tap-highlight-color:transparent}
.property-concept button{cursor:pointer}
.concept-image{height:auto}
.property-concept h1,.property-concept h2,.property-concept h3{letter-spacing:-.025em}
.property-concept h2{font-size:clamp(2rem,3vw,2.75rem);line-height:1.08;margin:0 0 1rem;text-wrap:balance}
.property-concept h3{font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:-.01em}
.concept-shell{width:min(1280px,calc(100% - 80px));margin-inline:auto}
.concept-header{position:sticky;top:0;z-index:100;height:var(--concept-header);background:var(--paper);border-bottom:1px solid var(--stone-300)}
.concept-header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.concept-brand{display:flex;gap:.75rem;align-items:center;min-height:44px;text-decoration:none;color:var(--obsidian)}
.concept-brand img{width:38px;height:38px;border-radius:50%}
.concept-brand strong{display:block;font-size:.9rem;line-height:1.2;font-weight:650}
.concept-brand small{display:block;color:var(--concept-muted);font-size:.6rem;letter-spacing:.1em;margin-top:4px}
.concept-header-links{display:flex;align-items:center;gap:1.7rem}
.concept-header-links a{min-height:44px;display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:550;text-decoration:none}
.concept-language{padding-inline:.75rem;border-left:1px solid var(--stone-300)}
.concept-icon{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.concept-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.concept-title{padding:34px 0 25px}
.concept-title h1{font-size:clamp(2.8rem,4.3vw,4.3rem);line-height:1.04;margin:0 0 .45rem;max-width:900px}
.concept-subtitle{display:flex;align-items:center;gap:.5rem;color:var(--concept-muted);margin:0 0 1.05rem;font-size:1rem}
.concept-subtitle .concept-icon{width:17px;height:17px;color:var(--champagne-ink)}
.concept-keyfacts{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1.2rem;list-style:none;margin:0;padding:0;font-size:.85rem}
.concept-keyfacts li{display:flex;gap:.5rem;align-items:center}
.concept-keyfacts li:not(:last-child)::after{content:"";width:3px;height:3px;border-radius:50%;background:var(--stone-300);margin-left:.7rem}
.concept-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:48px;align-items:start}
.concept-maincolumn{min-width:0}
.concept-hero{scroll-margin-top:calc(var(--concept-header) + var(--concept-nav) + 20px)}
.concept-mosaic{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;aspect-ratio:1.9;overflow:hidden;border-radius:var(--concept-radius);background:var(--stone-150)}
.concept-mosaic-photo{min-width:0;min-height:0;border:0;background:var(--stone-150);padding:0;overflow:hidden;cursor:zoom-in!important}
.concept-mosaic-photo:first-child{grid-row:1 / 3}
.concept-mosaic-photo picture,.concept-mosaic-photo img{height:100%;width:100%}
.concept-mosaic-photo img{object-fit:cover;transition:filter .25s ease}
.concept-mosaic-photo:hover img{filter:brightness(.93)}
.concept-mosaic-all{position:absolute;right:15px;bottom:15px;display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.6rem .8rem;border:1px solid rgba(11,11,10,.15);border-radius:6px;background:var(--paper);color:var(--obsidian);font-size:.76rem;font-weight:600;box-shadow:0 3px 12px rgba(11,11,10,.12)}
.concept-mosaic-all .concept-icon{width:16px;height:16px}
.concept-mobile-reserve{display:none}
.concept-nav{position:sticky;top:var(--concept-header);z-index:90;display:flex;align-items:center;gap:1.5rem;min-height:var(--concept-nav);margin-top:15px;background:var(--paper);border-bottom:1px solid var(--stone-300);overflow:auto;scrollbar-width:none}
.concept-nav::-webkit-scrollbar{display:none}
.concept-nav a{position:relative;flex:0 0 auto;display:inline-flex;min-height:var(--concept-nav);align-items:center;padding:0 .1rem;color:var(--concept-muted);text-decoration:none;font-size:.78rem;font-weight:550;white-space:nowrap}
.concept-nav a:hover,.concept-nav a[aria-current="location"]{color:var(--obsidian)}
.concept-nav a::after{position:absolute;content:"";left:0;right:0;bottom:0;height:2px;background:var(--champagne-ink);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.concept-nav a[aria-current="location"]::after{transform:scaleX(1)}
.concept-section{padding-block:42px;border-bottom:1px solid var(--stone-300);scroll-margin-top:calc(var(--concept-header) + var(--concept-nav) + 22px)}
.concept-section>p{max-width:70ch;color:var(--concept-muted);margin-bottom:1.5rem}
.concept-room-controls{display:flex;gap:.5rem;align-items:center;overflow:auto;padding:4px 4px 9px;margin:0 -4px 13px;scrollbar-width:none}
.concept-room-controls button{position:relative;flex:0 0 auto;border:1px solid var(--stone-300);border-radius:30px;background:transparent;padding:.5rem .9rem;min-height:44px;font-size:.76rem;color:var(--concept-muted);transition:background .2s ease,border-color .2s ease,color .2s ease}
.concept-room-controls button::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:5px;height:1px;background:var(--champagne);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.concept-room-controls button[aria-pressed="true"]::after{transform:scaleX(1)}
.concept-room-controls button[aria-pressed="true"]{background:var(--obsidian);border-color:var(--obsidian);color:var(--paper)}
.concept-room-controls button:hover:not([aria-pressed="true"]){border-color:var(--champagne-ink);color:var(--obsidian)}
.concept-photo-grid{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--stone-300) var(--paper)}
.concept-photo-grid button{flex:0 0 160px;scroll-snap-align:start;min-width:0;text-align:left;padding:0;border:0;background:transparent;cursor:zoom-in}
.concept-photo-grid picture,.concept-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--stone-150)}
.concept-photo-grid span{display:block;font-size:.72rem;line-height:1.4;margin-top:8px;color:var(--concept-muted)}
.concept-photo-status{margin:.6rem 0 0!important;font-size:.72rem;color:var(--concept-muted)}
.concept-overview{font-size:1.05rem;line-height:1.75}
.concept-sleeping{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.concept-sleeping figure{margin:0;min-width:0}
.concept-sleeping img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:var(--concept-radius)}
.concept-sleeping figcaption{padding-top:13px;display:flex;gap:.65rem;align-items:center}
.concept-sleeping figcaption .concept-icon{color:var(--champagne-ink)}
.concept-sleeping strong{display:block;font-weight:550;font-size:.87rem}
.concept-sleeping small{display:block;color:var(--concept-muted);font-size:.77rem;margin-top:3px}
.concept-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:25px 0 0}
.concept-amenities h3{margin:0 0 12px;font-size:.84rem}
.concept-amenities ul{display:grid;gap:12px;padding:0;margin:0;list-style:none;color:var(--concept-muted);font-size:.8rem}
.concept-amenities li{display:flex;align-items:flex-start;gap:.65rem}
.concept-amenities .concept-icon{width:20px;height:20px;color:var(--stone-900);margin-top:1px}
.concept-coffee{margin-top:28px;display:grid;grid-template-columns:1.1fr 1fr;background:var(--ivory);border-radius:var(--concept-radius);overflow:hidden}
.concept-coffee picture,.concept-coffee img{width:100%;height:100%;object-fit:cover;min-height:210px}
.concept-coffee-copy{align-self:center;padding:24px}
.concept-coffee-copy h3{font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1.12;margin:0 0 10px}
.concept-coffee-copy p{margin:0;color:var(--concept-muted);font-size:.84rem}
.concept-location-meta{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-top:-.25rem;margin-bottom:20px}
.concept-location-meta strong{font-size:.88rem;font-weight:550}
.concept-location-meta a{font-size:.76rem;color:var(--concept-muted);min-height:44px;display:inline-flex;align-items:center;gap:.4rem}
.concept-map{height:300px;border-radius:var(--concept-radius);overflow:hidden;background:var(--ivory);border:1px solid var(--stone-300)}
.concept-map iframe{width:100%;height:100%;border:0;filter:saturate(.45)}
.concept-location-note{font-size:.78rem!important;line-height:1.6;margin:15px 0 0!important}
.concept-rules{display:grid;grid-template-columns:1fr 1fr;gap:20px 36px;margin:22px 0 0}
.concept-rules .concept-icon{color:var(--champagne-ink)}
.concept-rules dt{display:flex;gap:.7rem;align-items:center;font-size:.74rem;color:var(--concept-muted);margin-bottom:4px}
.concept-rules dd{margin:0 0 0 calc(22px + .7rem);font-size:.87rem;font-weight:550}
.concept-registration{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:25px;padding-top:20px;border-top:1px solid var(--stone-300);font-size:.73rem;color:var(--concept-muted)}
.concept-registration strong{font-weight:600;color:var(--stone-900)}
.concept-faq{margin-top:20px}
.concept-faq details{border-top:1px solid var(--stone-300)}
.concept-faq details:last-child{border-bottom:1px solid var(--stone-300)}
.concept-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:62px;padding:16px 0;font-size:.87rem;font-weight:550;cursor:pointer}
.concept-faq summary::-webkit-details-marker{display:none}
.concept-faq summary .concept-icon{width:17px;height:17px;transition:transform .2s ease}
.concept-faq details[open] summary .concept-icon{transform:rotate(180deg)}
.concept-faq details p{margin:0 28px 20px 0;color:var(--concept-muted);max-width:70ch;font-size:.85rem}
.concept-final{padding:34px 0 44px}
.concept-final h2{font-size:2.4rem;max-width:500px}
.concept-final>p{color:var(--concept-muted);font-size:.9rem;max-width:65ch;margin-bottom:23px}
.concept-final-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.concept-support-link{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;gap:.5rem}
.concept-reserve-rail{height:100%;min-width:0}
.concept-reserve{position:sticky;top:calc(var(--concept-header) + 24px);border:1px solid var(--stone-300);border-radius:var(--concept-radius);padding:25px;background:var(--paper)}
.concept-reserve h2{font-family:var(--sans);font-size:1.25rem;line-height:1.4;letter-spacing:-.025em;font-weight:550;margin:0 0 10px}
.concept-reserve>p{font-size:.8rem;color:var(--concept-muted);line-height:1.65;margin:0 0 22px}
.concept-reserve-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px 0;border-block:1px solid var(--stone-300);margin-bottom:23px;font-size:.75rem;color:var(--concept-muted)}
.concept-reserve-facts strong{display:block;color:var(--stone-900);font-weight:550;margin-bottom:3px}
.concept-cta{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:50px;padding:.8rem 1.25rem;border:1px solid var(--obsidian);border-radius:7px;color:var(--paper);background:var(--obsidian);font-size:.85rem;line-height:1.3;font-weight:550;letter-spacing:0;text-transform:none;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.concept-cta:hover{color:var(--paper);background:var(--stone-900);border-color:var(--stone-900)}
.concept-cta .concept-icon{width:18px;height:18px}
.concept-reserve .concept-cta{width:100%}
.concept-reserve-note{display:flex;justify-content:center;align-items:center;gap:.4rem;margin:13px 0 0!important;font-size:.69rem!important;color:var(--concept-muted)}
.concept-reserve-note .concept-icon{width:14px;height:14px}
.concept-reserve-support{padding-top:23px;margin-top:23px;border-top:1px solid var(--stone-300);font-size:.75rem;color:var(--concept-muted)}
.concept-reserve-support p{margin:0 0 7px}
.concept-reserve-support a{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;color:var(--stone-900);font-weight:550}
.concept-explore{padding:38px 0 50px;border-top:1px solid var(--stone-300)}
.concept-explore-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:20px}
.concept-explore-heading h2{font-size:2rem;margin:0}
.concept-explore-heading a{font-size:.8rem;min-height:44px;display:inline-flex;align-items:center}
.concept-related{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.concept-related a{display:flex;gap:17px;align-items:center;text-decoration:none;min-width:0}
.concept-related picture{flex:0 0 120px;width:120px;aspect-ratio:1.2;overflow:hidden;border-radius:8px}
.concept-related img{width:120px;aspect-ratio:1.2;object-fit:cover;border-radius:8px}
.concept-related h3{margin:0 0 6px;font-family:var(--serif);font-weight:500;font-size:1.25rem}
.concept-related p{margin:0;font-size:.74rem;color:var(--concept-muted)}
.concept-guide{margin:25px 0 0;font-size:.78rem;color:var(--concept-muted);display:flex;flex-wrap:wrap;gap:8px 20px}
.concept-footer{background:var(--obsidian);color:var(--paper);padding:28px 0}
.concept-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.concept-footer p{font-size:.76rem;color:var(--stone-300);margin:0}
.concept-footer nav{display:flex;flex-wrap:wrap;gap:16px 24px}
.concept-footer a{font-size:.76rem;min-height:44px;display:inline-flex;align-items:center;color:var(--paper)}
.concept-mobile-bar{position:fixed;z-index:110;left:0;right:0;bottom:0;display:none;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--stone-300)}
.concept-mobile-bar>span{font-size:.72rem;line-height:1.35;color:var(--concept-muted);max-width:35%}
.property-concept.modal-open .concept-mobile-bar{visibility:hidden}
.concept-mobile-bar>span strong{display:block;color:var(--obsidian);font-weight:550}
.concept-mobile-bar .concept-cta{font-size:.76rem;min-height:46px;padding:.6rem 1rem;max-width:65%}
.property-concept .property-gallery-dialog{border-radius:var(--concept-radius)}
.property-concept .property-gallery-dialog :focus-visible{outline-color:var(--champagne)}
.property-concept .property-gallery-dialog .property-dialog-header h2{font-size:1.8rem}
.property-concept .property-gallery-stage figcaption{font-size:.75rem;letter-spacing:0;text-transform:none}
.property-concept .property-gallery-stage figcaption span{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}
.property-concept .property-gallery-arrow{width:48px;height:48px;display:grid;place-items:center}
.property-concept .property-gallery-arrow .concept-icon{width:20px;height:20px}
.property-concept .property-gallery-stage{position:relative}
.concept-gallery-feedback{position:absolute;z-index:2;inset:20% 15%;background:var(--obsidian);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:.85rem;color:var(--paper)}
.concept-gallery-feedback button{background:transparent;color:var(--paper);border:1px solid var(--stone-300);border-radius:6px;min-height:44px;padding:.6rem 1rem}
@media(min-width:1600px){.concept-mosaic{aspect-ratio:1.85}}
@media(max-width:1150px){.concept-layout{grid-template-columns:minmax(0,1fr) 285px;gap:30px}.concept-shell{width:calc(100% - 56px)}.concept-mosaic{aspect-ratio:1.6}.concept-reserve{padding:21px}.concept-amenities{gap:18px}}
@media(max-width:1020px){.concept-layout{grid-template-columns:1fr}.concept-reserve-rail{display:none}.concept-mobile-reserve{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.concept-mobile-reserve>p{margin:0;color:var(--concept-muted);font-size:.8rem;max-width:60%}.concept-mobile-reserve .concept-cta{flex:0 0 auto}.concept-mosaic{aspect-ratio:2.1}.concept-title h1{font-size:3.4rem}.concept-maincolumn{max-width:none}}
@media(max-width:680px){
  .property-concept{--concept-header:64px;--concept-nav:56px;padding-bottom:0}.property-concept:has(.concept-mobile-bar:not([hidden])){padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .concept-shell{width:calc(100% - 36px)}.concept-header-links{gap:9px}.concept-header-links .concept-collection-link{font-size:.73rem}.concept-header-links .concept-collection-link .concept-icon{display:none}.concept-header-links .concept-language{font-size:.73rem;padding-inline:10px}.concept-brand{gap:.6rem}.concept-brand img{width:32px;height:32px}.concept-brand strong{font-size:.79rem}.concept-brand small{font-size:.49rem;letter-spacing:.075em}.concept-header-inner{gap:10px}
  .concept-title{padding:24px 0 19px}.concept-title h1{font-size:2.7rem;line-height:1.05;margin-bottom:8px}.concept-subtitle{font-size:.84rem;line-height:1.5;margin-bottom:13px;align-items:flex-start}.concept-subtitle .concept-icon{margin-top:2px;flex-shrink:0}.concept-keyfacts{font-size:.73rem;gap:6px 10px}.concept-keyfacts li:not(:last-child)::after{margin-left:3px}.concept-keyfacts .concept-icon{width:16px;height:16px}
  .concept-mosaic{aspect-ratio:1.4;grid-template-columns:1fr;grid-template-rows:1fr;border-radius:10px;gap:0}.concept-mosaic-photo:first-child{grid-row:auto}.concept-mosaic-photo:not(:first-child){display:none}.concept-mosaic-all{right:11px;bottom:11px;font-size:.68rem;padding:.5rem .7rem;min-height:40px}
  .concept-mobile-reserve{margin-top:15px;display:block}.concept-mobile-reserve>p{display:none}.concept-mobile-reserve .concept-cta{width:100%;min-height:49px}
  .concept-nav{gap:21px;margin-top:15px;margin-right:-18px;padding-right:18px}.concept-nav a{font-size:.74rem}.concept-section{padding-block:31px}.property-concept h2{font-size:2rem;margin-bottom:12px}.concept-section>p{font-size:.87rem;margin-bottom:20px}.concept-room-controls{gap:7px}.concept-room-controls button{font-size:.72rem;padding:.5rem .8rem}.concept-photo-grid button{flex-basis:145px}.concept-photo-grid span{font-size:.68rem}
  .concept-overview{font-size:.9rem!important;line-height:1.75}.concept-sleeping{gap:12px;margin-top:20px}.concept-sleeping img{aspect-ratio:1.2;border-radius:8px}.concept-sleeping figcaption{gap:.45rem;padding-top:10px}.concept-sleeping strong{font-size:.78rem}.concept-sleeping small{font-size:.7rem}.concept-sleeping .concept-icon{width:19px;height:19px}
  .concept-amenities{grid-template-columns:1fr;gap:24px;margin-top:21px}.concept-amenities h3{font-size:.84rem;margin-bottom:13px}.concept-amenities ul{grid-template-columns:1fr 1fr;gap:13px 12px}.concept-amenities li{font-size:.77rem;gap:.6rem}.concept-coffee{grid-template-columns:1fr;margin-top:26px}.concept-coffee picture,.concept-coffee img{height:190px;min-height:0}.concept-coffee-copy{padding:20px}.concept-coffee-copy h3{font-size:1.65rem}.concept-coffee-copy p{font-size:.8rem}
  .concept-location-meta{display:block;margin-bottom:14px}.concept-location-meta strong{display:block}.concept-map{height:260px}.concept-location-note{font-size:.75rem!important}.concept-rules{gap:19px 14px}.concept-rules>div{gap:.55rem}.concept-rules .concept-icon{width:19px;height:19px}.concept-rules dt{font-size:.7rem}.concept-rules dd{font-size:.76rem}.concept-registration{font-size:.7rem;display:block}.concept-registration span{display:block;margin-bottom:8px}.concept-faq summary{font-size:.82rem;min-height:60px}.concept-faq details p{font-size:.8rem}.concept-final{padding:31px 0}.concept-final .concept-cta{width:100%}.concept-final-actions{gap:15px}.concept-final>p{font-size:.84rem}
  .concept-explore{padding:29px 0}.concept-explore-heading{display:block;margin-bottom:15px}.concept-explore-heading h2{font-size:1.85rem}.concept-related{grid-template-columns:1fr;gap:19px}.concept-related picture,.concept-related img{width:92px;flex-basis:92px}.concept-related h3{font-size:1.15rem}.concept-related p{font-size:.7rem}.concept-guide{font-size:.74rem;margin-top:19px}.concept-footer{padding:23px 0}.concept-footer-inner{display:block}.concept-footer p{font-size:.72rem;margin-bottom:12px}.concept-footer nav{gap:16px}.concept-footer a{font-size:.73rem}
  .concept-mobile-bar{display:flex}.property-concept .property-gallery-dialog{border-radius:0}.property-concept .property-gallery-stage{grid-template-columns:48px minmax(0,1fr) 48px;gap:0;padding:16px 4px}.property-concept .property-gallery-stage figcaption{display:block;padding:12px 6px 0;font-size:.7rem}.property-concept .property-gallery-stage figcaption strong{display:block;margin-top:8px}.property-concept .property-gallery-dialog .property-dialog-header h2{font-size:1.4rem}
}
@media(max-width:360px){.concept-shell{width:calc(100% - 28px)}.concept-header-links .concept-collection-link{display:none}.concept-title h1{font-size:2.4rem}.concept-keyfacts{font-size:.69rem}.concept-rules{grid-template-columns:1fr}.concept-mobile-bar>span{display:none}.concept-mobile-bar .concept-cta{width:100%;max-width:none}}
@media(prefers-reduced-motion:reduce){.property-concept *, .property-concept *::before, .property-concept *::after{transition:none!important;scroll-behavior:auto!important}}
