/* Château La Châteline Public Website v4.10.0007 — Enterprise UX layer */
:root{
  --enterprise-line:color-mix(in srgb,var(--ink) 12%,transparent);
  --enterprise-line-strong:color-mix(in srgb,var(--ink) 19%,transparent);
  --enterprise-shadow:0 24px 70px rgba(11,35,28,.12);
  --enterprise-shadow-soft:0 12px 36px rgba(11,35,28,.08);
  --enterprise-header:82px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--enterprise-header) + 18px)}
body.public-v4-10-0007{margin:0;background:var(--page-bg);color:var(--ink);overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.public-v4-10-0007 img,body.public-v4-10-0007 video{max-width:100%}
body.public-v4-10-0007 main{isolation:isolate}
body.public-v4-10-0007 :is(.hero-premium,.builder-hero,.stay-hero-v20-005,.promo-card,.image-banner,.split-media,.stay-media,.news-media){overflow:hidden}
body.public-v4-10-0007 :is(.hero-shade,.builder-hero-overlay,.stay-hero-overlay,.promo-shade){pointer-events:none}
body.public-v4-10-0007 :is(.hero-inner,.builder-hero-content,.stay-hero-layout,.promo-card>div:last-child){position:relative;z-index:2}
body.public-v4-10-0007 :is(h1,h2,h3,p,strong,small,span,a,button,label){overflow-wrap:break-word}
body.public-v4-10-0007 :is(.btn,.main-nav a,.card-actions a,.pill-link){text-wrap:balance}
body.public-v4-10-0007 :focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,#fff);outline-offset:3px}

/* Header */
.public-v4-10-0007 .site-header{min-height:var(--enterprise-header);padding:10px clamp(18px,3vw,42px);border-bottom:1px solid transparent;transition:background .22s,border-color .22s,box-shadow .22s;z-index:120}
.public-v4-10-0007.header-solid .site-header,.public-v4-10-0007 .site-header.scrolled{background:color-mix(in srgb,var(--card) 96%,transparent);border-bottom-color:var(--enterprise-line);box-shadow:0 10px 38px rgba(10,31,25,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.public-v4-10-0007 .brand-lockup{min-width:0;gap:12px}
.public-v4-10-0007 .brand-lockup img{object-fit:contain;filter:none}
.public-v4-10-0007 .brand-lockup span{min-width:0}
.public-v4-10-0007 .brand-lockup strong{line-height:1.1;letter-spacing:-.02em}
.public-v4-10-0007 .main-nav{gap:4px}
.public-v4-10-0007 .main-nav>a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;font-size:12px;font-weight:750;letter-spacing:.01em}
.public-v4-10-0007 .main-nav>a:not(.nav-book):hover{background:color-mix(in srgb,var(--brand) 7%,transparent)}
.public-v4-10-0007 .main-nav .nav-book{padding-inline:17px;box-shadow:0 9px 25px color-mix(in srgb,var(--brand) 18%,transparent)}

/* Hero and overlay safety */
.public-v4-10-0007 :is(.hero-premium,.builder-hero){min-height:clamp(620px,var(--hero-height),940px);background-color:var(--brand);background-position:center;background-size:cover}
.public-v4-10-0007 :is(.hero-premium,.builder-hero)>:is(img,video,.hero-media){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
.public-v4-10-0007 .hero-shade,.public-v4-10-0007 .builder-hero-overlay{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(90deg,rgba(5,20,16,.72) 0%,rgba(5,20,16,.46) 46%,rgba(5,20,16,.14) 78%,rgba(5,20,16,.06) 100%)!important;opacity:1!important;transform:none!important}
.public-v4-10-0007 .hero-inner,.public-v4-10-0007 .builder-hero-content{width:min(var(--content-width),calc(100% - 40px));margin-inline:auto;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:clamp(132px,18vh,210px) 0 clamp(88px,12vh,130px);max-width:none}
.public-v4-10-0007 .hero-inner>* ,.public-v4-10-0007 .builder-hero-content>*{max-width:min(760px,100%)}
.public-v4-10-0007 .hero-inner h1,.public-v4-10-0007 .builder-hero h1{font-size:clamp(52px,6.2vw,94px);line-height:.96;letter-spacing:-.055em;margin:.15em 0 .22em;color:#fff;text-wrap:balance}
.public-v4-10-0007 .hero-inner p,.public-v4-10-0007 .builder-hero p{font-size:clamp(16px,1.35vw,21px);line-height:1.62;color:rgba(255,255,255,.86);margin:0;max-width:660px}
.public-v4-10-0007 .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.public-v4-10-0007 .hero-actions .btn{min-height:48px;padding:12px 20px}
.public-v4-10-0007 .scroll-cue{z-index:3}

/* Content rhythm */
.public-v4-10-0007 .section{width:min(var(--page-content-width,var(--content-width)),calc(100% - 40px));padding-top:var(--page-section-spacing,88px);padding-bottom:var(--page-section-spacing,88px)}
.public-v4-10-0007 .section-heading{max-width:820px;margin-bottom:clamp(30px,4vw,50px)}
.public-v4-10-0007 .section-heading h2{font-size:clamp(38px,4.6vw,66px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.public-v4-10-0007 .section-heading p{font-size:clamp(15px,1.2vw,18px);line-height:1.68;max-width:720px;color:color-mix(in srgb,var(--ink) 70%,transparent)}
.public-v4-10-0007 .eyebrow,.public-v4-10-0007 .micro{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850}
.public-v4-10-0007 .surface-soft,.public-v4-10-0007 .builder-block.surface-soft{background:var(--surface)}
.public-v4-10-0007 .surface-dark,.public-v4-10-0007 .builder-block.surface-dark{background:color-mix(in srgb,var(--brand) 92%,#051a14);color:#fff}

/* Stats replace the removed hero trust bar, with deliberate spacing */
.public-v4-10-0007 .stats-wrap{background:var(--card);border-bottom:1px solid var(--enterprise-line)}
.public-v4-10-0007 .stats-strip{width:min(var(--content-width),calc(100% - 40px));margin:0 auto;transform:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:transparent}
.public-v4-10-0007 .stats-strip>div{min-width:0;padding:24px clamp(14px,2.4vw,30px);border-right:1px solid var(--enterprise-line);background:transparent!important}
.public-v4-10-0007 .stats-strip>div:first-child{padding-left:0}
.public-v4-10-0007 .stats-strip>div:last-child{border-right:0;padding-right:0}
.public-v4-10-0007 .stats-strip strong{font-size:clamp(25px,2.5vw,36px);font-family:var(--heading-font);font-weight:600;letter-spacing:-.04em}
.public-v4-10-0007 .stats-strip span{display:block;margin-top:3px;font-size:11px;color:color-mix(in srgb,var(--ink) 63%,transparent)}

/* Cards */
.public-v4-10-0007 .stay-grid-config{display:grid!important;grid-template-columns:repeat(var(--stay-cols-d,3),minmax(0,1fr))!important;gap:var(--stay-gap,24px)!important}
.public-v4-10-0007 .stay-card{min-width:0;border:1px solid var(--enterprise-line);background:var(--card);box-shadow:var(--enterprise-shadow-soft);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.public-v4-10-0007 .stay-card:hover{transform:translateY(-4px);box-shadow:var(--enterprise-shadow);border-color:color-mix(in srgb,var(--brand) 25%,transparent)}
.public-v4-10-0007 .stay-media{display:block;position:relative;isolation:isolate;background:var(--surface)}
.public-v4-10-0007 .stay-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.public-v4-10-0007 .stay-card:hover .stay-media img{transform:scale(1.025)}
.public-v4-10-0007 .stay-body{min-width:0}
.public-v4-10-0007 .stay-body h3{font-size:clamp(24px,2.4vw,34px);line-height:1.08;letter-spacing:-.035em}
.public-v4-10-0007 .stay-body p{line-height:1.65;color:color-mix(in srgb,var(--ink) 68%,transparent)}
.public-v4-10-0007 .card-actions{gap:10px;align-items:center;flex-wrap:wrap}
.public-v4-10-0007 .card-actions>a{min-height:40px;display:inline-flex;align-items:center}

/* Split and media */
.public-v4-10-0007 .split-feature{align-items:center;gap:clamp(38px,6vw,90px)}
.public-v4-10-0007 .split-media{border-radius:calc(var(--radius) + 4px);box-shadow:var(--enterprise-shadow);min-width:0}
.public-v4-10-0007 .split-media img{width:100%;min-height:480px;max-height:720px;object-fit:cover;display:block}
.public-v4-10-0007 .split-copy .richtext{font-size:16px;line-height:1.8}

/* Forms and booking */
.public-v4-10-0007 :is(.availability-search-shell,.contact-premium,.booking-panel,.live-agenda,.map-experience){border:1px solid var(--enterprise-line);box-shadow:var(--enterprise-shadow-soft);background:var(--card)}
.public-v4-10-0007 :is(input,select,textarea){font:inherit}
.public-v4-10-0007 :is(.booking-form,.contact-form-premium,.availability-search-form,.ux-booking-form) input,
.public-v4-10-0007 :is(.booking-form,.contact-form-premium,.availability-search-form,.ux-booking-form) select,
.public-v4-10-0007 :is(.booking-form,.contact-form-premium) textarea{font-size:16px!important;min-width:0}
.public-v4-10-0007 .booking-panel{display:grid;grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);overflow:hidden}
.public-v4-10-0007 .booking-copy{padding:clamp(38px,5vw,66px);color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 96%,#071f18),color-mix(in srgb,var(--brand) 72%,#061b15));position:relative;isolation:isolate}
.public-v4-10-0007 .booking-copy:after{content:"";position:absolute;inset:auto -110px -150px auto;width:340px;height:340px;border:1px solid rgba(255,255,255,.11);border-radius:50%;z-index:-1}
.public-v4-10-0007 .booking-copy h2{font-size:clamp(42px,4.5vw,62px);line-height:1;margin:.2em 0}
.public-v4-10-0007 .booking-copy p{color:rgba(255,255,255,.78);line-height:1.7}
.public-v4-10-0007 .booking-promise{padding:0;margin:28px 0 0;list-style:none;display:grid;gap:10px}
.public-v4-10-0007 .booking-promise li{display:flex;gap:9px;align-items:flex-start;color:rgba(255,255,255,.9)}
.public-v4-10-0007 .booking-promise li:before{content:"✓";font-weight:900;color:var(--accent)}
.public-v4-10-0007 .booking-form{padding:clamp(30px,5vw,58px);display:grid;gap:18px;background:var(--card)}
.public-v4-10-0007 .booking-form>label{display:grid;gap:7px;font-size:11px;font-weight:800;color:color-mix(in srgb,var(--ink) 72%,transparent)}
.public-v4-10-0007 .privacy-check{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px}
.public-v4-10-0007 .privacy-check input{min-height:0!important;width:18px;height:18px;margin-top:2px}

/* Booking concierge */
.public-v4-10-0007 .ux-booking-dock__bar{border:1px solid var(--enterprise-line);box-shadow:0 22px 65px rgba(8,30,23,.17);background:color-mix(in srgb,var(--card) 97%,transparent)}
.public-v4-10-0007 .ux-booking-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.public-v4-10-0007 .ux-booking-panel-head h3{font-family:var(--heading-font);font-size:32px;line-height:1;margin:5px 0 8px}
.public-v4-10-0007 .ux-booking-panel-head p{margin:0;color:color-mix(in srgb,var(--ink) 66%,transparent)}
.public-v4-10-0007 .ux-booking-panel-head button{width:42px;height:42px;flex:0 0 42px;border-radius:12px;border:1px solid var(--enterprise-line);background:var(--card);font-size:26px;line-height:1;color:var(--ink);cursor:pointer}

/* Accommodation detail */
.public-v4-10-0007 .stay-hero-v20-005{isolation:isolate}
.public-v4-10-0007 .stay-hero-media,.public-v4-10-0007 .stay-hero-picture,.public-v4-10-0007 .stay-hero-picture img,.public-v4-10-0007 .stay-hero-slider{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.public-v4-10-0007 .stay-hero-picture img,.public-v4-10-0007 .stay-hero-slider img{object-fit:cover!important;transform:none!important}
.public-v4-10-0007 .stay-hero-overlay{position:absolute!important;inset:0!important;z-index:1!important;transform:none!important}
.public-v4-10-0007 .stay-hero-layout{z-index:2!important}
.public-v4-10-0007 .stay-amenities-grid{display:grid;grid-template-columns:repeat(var(--amenity-cols,4),minmax(0,1fr));gap:12px}
.public-v4-10-0007 .stay-amenity{min-width:0;display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--enterprise-line);border-radius:16px;background:var(--card)}
.public-v4-10-0007 .stay-amenity-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--brand) 9%,var(--card));color:var(--brand);font-weight:850}
.public-v4-10-0007 .stay-amenity strong{display:block;font-size:13px}
.public-v4-10-0007 .stay-amenity small{display:block;margin-top:3px;color:color-mix(in srgb,var(--ink) 62%,transparent);line-height:1.45}
.public-v4-10-0007 .stay-detail-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:88px;gap:10px}
.public-v4-10-0007 .stay-detail-shot{border:0;padding:0;overflow:hidden;border-radius:16px;cursor:pointer;background:var(--surface);grid-column:span 4;grid-row:span 3}
.public-v4-10-0007 .stay-detail-shot:first-child{grid-column:span 7;grid-row:span 5}
.public-v4-10-0007 .stay-detail-shot:nth-child(2){grid-column:span 5;grid-row:span 3}
.public-v4-10-0007 .stay-detail-shot:nth-child(3){grid-column:span 5;grid-row:span 2}
.public-v4-10-0007 .stay-detail-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.public-v4-10-0007 .stay-detail-shot:hover img{transform:scale(1.025)}
.public-v4-10-0007 .stay-empty-note{padding:22px;border:1px dashed var(--enterprise-line-strong);border-radius:16px;background:var(--card);color:color-mix(in srgb,var(--ink) 65%,transparent)}

/* Template identities — all share the same safe component system but look materially different. */
.public-v4-10-0007.theme-plaza{--radius:18px}
.public-v4-10-0007.theme-plaza .site-header{letter-spacing:.01em}
.public-v4-10-0007.theme-plaza .stay-card{border-radius:14px}
.public-v4-10-0007.theme-plaza .stay-body{padding:24px}
.public-v4-10-0007.theme-plaza .section-heading{max-width:760px}

.public-v4-10-0007.theme-estate{--radius:28px}
.public-v4-10-0007.theme-estate .hero-shade,.public-v4-10-0007.theme-estate .builder-hero-overlay{background:linear-gradient(110deg,rgba(21,44,35,.76),rgba(21,44,35,.34) 58%,rgba(21,44,35,.08))!important}
.public-v4-10-0007.theme-estate .stay-card{border-radius:28px}
.public-v4-10-0007.theme-estate .stay-body{padding:27px}
.public-v4-10-0007.theme-estate .split-media{border-radius:34px}
.public-v4-10-0007.theme-estate .section-heading h2{font-weight:500}

.public-v4-10-0007.theme-lake{--radius:22px}
.public-v4-10-0007.theme-lake .site-header.scrolled{background:rgba(247,253,252,.96)}
.public-v4-10-0007.theme-lake .hero-shade,.public-v4-10-0007.theme-lake .builder-hero-overlay{background:linear-gradient(100deg,rgba(5,47,52,.70),rgba(5,47,52,.23) 64%,rgba(5,47,52,.04))!important}
.public-v4-10-0007.theme-lake .surface-soft{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 58%,#fff))}
.public-v4-10-0007.theme-lake .stay-card{border-radius:22px;box-shadow:0 14px 42px rgba(14,70,76,.09)}
.public-v4-10-0007.theme-lake .stay-media{aspect-ratio:16/10}

.public-v4-10-0007.theme-editorial{--radius:2px}
.public-v4-10-0007.theme-editorial .site-header{border-radius:0}
.public-v4-10-0007.theme-editorial .hero-inner,.public-v4-10-0007.theme-editorial .builder-hero-content{align-items:flex-start}
.public-v4-10-0007.theme-editorial .hero-inner h1,.public-v4-10-0007.theme-editorial .builder-hero h1{font-size:clamp(58px,7.5vw,112px);max-width:900px}
.public-v4-10-0007.theme-editorial .section{border-top:1px solid var(--enterprise-line)}
.public-v4-10-0007.theme-editorial .stay-grid-config{gap:1px!important;background:var(--enterprise-line)}
.public-v4-10-0007.theme-editorial .stay-card{border-radius:0;border:0;box-shadow:none}
.public-v4-10-0007.theme-editorial .stay-card:hover{transform:none;box-shadow:none}
.public-v4-10-0007.theme-editorial .stay-body{padding:28px}
.public-v4-10-0007.theme-editorial .split-media{border-radius:0;box-shadow:none}

.public-v4-10-0007.theme-classic{--radius:16px}
.public-v4-10-0007.theme-classic .section-heading{text-align:center;margin-inline:auto}
.public-v4-10-0007.theme-classic .section-heading p{margin-inline:auto}
.public-v4-10-0007.theme-classic .eyebrow{letter-spacing:.16em}
.public-v4-10-0007.theme-classic .stay-card{border-radius:12px;box-shadow:0 10px 30px rgba(20,45,36,.07)}

.public-v4-10-0007.theme-minimal{--radius:0px}
.public-v4-10-0007.theme-minimal .site-header{background:var(--page-bg);border-bottom:1px solid var(--ink);box-shadow:none;backdrop-filter:none}
.public-v4-10-0007.theme-minimal .hero-shade,.public-v4-10-0007.theme-minimal .builder-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.10))!important}
.public-v4-10-0007.theme-minimal .stay-card,.public-v4-10-0007.theme-minimal :is(.availability-search-shell,.contact-premium,.booking-panel,.live-agenda,.map-experience){border:1px solid var(--ink);box-shadow:none;border-radius:0}
.public-v4-10-0007.theme-minimal .stay-card:hover{transform:none;box-shadow:none;background:var(--surface)}
.public-v4-10-0007.theme-minimal .split-media{border-radius:0;box-shadow:none}
.public-v4-10-0007.theme-minimal .btn{border-radius:0}

.public-v4-10-0007.theme-nature{--radius:30px}
.public-v4-10-0007.theme-nature .hero-shade,.public-v4-10-0007.theme-nature .builder-hero-overlay{background:linear-gradient(105deg,rgba(35,54,26,.78),rgba(35,54,26,.30) 60%,rgba(35,54,26,.05))!important}
.public-v4-10-0007.theme-nature .stay-card{border-radius:30px}
.public-v4-10-0007.theme-nature .stay-media{border-radius:26px 26px 0 0}
.public-v4-10-0007.theme-nature .stay-body{padding:28px}
.public-v4-10-0007.theme-nature .split-media{border-radius:44px 18px 44px 18px}

.public-v4-10-0007.theme-boutique{--radius:24px}
.public-v4-10-0007.theme-boutique .hero-shade,.public-v4-10-0007.theme-boutique .builder-hero-overlay{background:linear-gradient(100deg,rgba(47,22,35,.80),rgba(47,22,35,.35) 58%,rgba(47,22,35,.08))!important}
.public-v4-10-0007.theme-boutique .stay-grid-config{gap:30px!important}
.public-v4-10-0007.theme-boutique .stay-card{border-radius:8px 34px 8px 34px;transform:none!important}
.public-v4-10-0007.theme-boutique .stay-card:hover{transform:translateY(-4px)!important}
.public-v4-10-0007.theme-boutique .stay-body{padding:29px}
.public-v4-10-0007.theme-boutique .split-media{border-radius:8px 48px 8px 48px}

.public-v4-10-0007.theme-modern{--radius:18px}
.public-v4-10-0007.theme-modern .hero-inner h1,.public-v4-10-0007.theme-modern .builder-hero h1{font-family:var(--body-font);font-weight:780;letter-spacing:-.065em}
.public-v4-10-0007.theme-modern .section-heading h2{font-family:var(--body-font);font-weight:760;letter-spacing:-.055em}
.public-v4-10-0007.theme-modern .stay-card{border-radius:18px}
.public-v4-10-0007.theme-modern .stay-body{padding:24px}
.public-v4-10-0007.theme-modern .stay-type{border-radius:999px}
.public-v4-10-0007.theme-modern .surface-soft{background:linear-gradient(135deg,var(--surface),#fff)}

.public-v4-10-0007.theme-heritage{--radius:14px}
.public-v4-10-0007.theme-heritage .site-header.scrolled{border-bottom:3px double color-mix(in srgb,var(--accent) 55%,transparent)}
.public-v4-10-0007.theme-heritage .hero-shade,.public-v4-10-0007.theme-heritage .builder-hero-overlay{background:linear-gradient(100deg,rgba(48,35,22,.80),rgba(48,35,22,.34) 60%,rgba(48,35,22,.07))!important}
.public-v4-10-0007.theme-heritage .stay-card{border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);box-shadow:none;border-radius:8px}
.public-v4-10-0007.theme-heritage .stay-body{padding:27px}
.public-v4-10-0007.theme-heritage .section-heading:after{content:"";display:block;width:64px;height:1px;background:var(--accent);margin-top:20px}

.public-v4-10-0007.theme-forest{--radius:22px}
.public-v4-10-0007.theme-forest .site-header.scrolled{background:rgba(244,248,244,.96)}
.public-v4-10-0007.theme-forest .hero-shade,.public-v4-10-0007.theme-forest .builder-hero-overlay{background:linear-gradient(110deg,rgba(9,43,24,.82),rgba(9,43,24,.36) 62%,rgba(9,43,24,.08))!important}
.public-v4-10-0007.theme-forest .surface-dark{background:#0d2e1b}
.public-v4-10-0007.theme-forest .stay-card{border-radius:20px;box-shadow:0 16px 45px rgba(9,43,24,.11)}

/* Responsive enterprise safety */
@media(max-width:1100px){
 .public-v4-10-0007 .stay-grid-config{grid-template-columns:repeat(var(--stay-cols-t,2),minmax(0,1fr))!important}
 .public-v4-10-0007 .stay-amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-v4-10-0007 .booking-panel{grid-template-columns:1fr}
}
@media(max-width:820px){
 :root{--enterprise-header:72px}
 .public-v4-10-0007 .site-header{min-height:72px;padding:8px 14px}
 .public-v4-10-0007 .main-nav{top:72px!important;max-height:calc(100dvh - 84px);overflow:auto;overscroll-behavior:contain}
 .public-v4-10-0007 :is(.hero-premium,.builder-hero){min-height:max(610px,82svh)}
 .public-v4-10-0007 .hero-inner,.public-v4-10-0007 .builder-hero-content{width:calc(100% - 32px);padding:120px 0 82px}
 .public-v4-10-0007 .hero-inner h1,.public-v4-10-0007 .builder-hero h1{font-size:clamp(48px,12vw,72px)}
 .public-v4-10-0007 .stats-strip{width:100%;grid-template-columns:1fr 1fr}
 .public-v4-10-0007 .stats-strip>div,.public-v4-10-0007 .stats-strip>div:first-child,.public-v4-10-0007 .stats-strip>div:last-child{padding:18px;border-right:1px solid var(--enterprise-line);border-bottom:1px solid var(--enterprise-line)}
 .public-v4-10-0007 .stats-strip>div:nth-child(2n){border-right:0}
 .public-v4-10-0007 .stats-strip>div:nth-last-child(-n+2){border-bottom:0}
 .public-v4-10-0007 .section{width:calc(100% - 30px);padding-top:68px;padding-bottom:68px}
 .public-v4-10-0007 .split-media img{min-height:340px}
 .public-v4-10-0007 .stay-detail-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
 .public-v4-10-0007 .stay-detail-shot,.public-v4-10-0007 .stay-detail-shot:first-child,.public-v4-10-0007 .stay-detail-shot:nth-child(2),.public-v4-10-0007 .stay-detail-shot:nth-child(3){grid-column:span 1;grid-row:span 1}
 .public-v4-10-0007 .stay-detail-shot:first-child{grid-column:span 2;grid-row:span 2}
}
@media(max-width:620px){
 .public-v4-10-0007 .brand-lockup small{display:none}
 .public-v4-10-0007 .hero-inner,.public-v4-10-0007 .builder-hero-content{width:calc(100% - 28px);padding-bottom:72px}
 .public-v4-10-0007 .hero-inner h1,.public-v4-10-0007 .builder-hero h1{font-size:clamp(44px,13vw,62px)}
 .public-v4-10-0007 .hero-inner p,.public-v4-10-0007 .builder-hero p{font-size:15px;line-height:1.55}
 .public-v4-10-0007 .hero-actions{display:grid;width:100%}
 .public-v4-10-0007 .hero-actions .btn{width:100%;justify-content:center}
 .public-v4-10-0007 .stay-grid-config{grid-template-columns:repeat(var(--stay-cols-m,1),minmax(0,1fr))!important}
 .public-v4-10-0007 .stay-amenities-grid{grid-template-columns:1fr}
 .public-v4-10-0007 .section-heading h2{font-size:clamp(36px,10.5vw,48px)}
 .public-v4-10-0007 .booking-copy,.public-v4-10-0007 .booking-form{padding:28px 20px}
 .public-v4-10-0007 .ux-booking-panel-head h3{font-size:27px}
 .public-v4-10-0007.theme-boutique .stay-card{border-radius:8px 24px 8px 24px}
}
@media(prefers-reduced-motion:reduce){
 .public-v4-10-0007 *, .public-v4-10-0007 *:before,.public-v4-10-0007 *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Legacy v20.009 trust strip is retired. Hide even stale/cached markup defensively. */
.public-v4-10-0007 .ux-trust-strip,
.public-v4-10-0007 .ux-trust-strip--safe{display:none!important}

/* === v4.10.0007 · Enterprise Hospitality refinement === */
body.public-v4-10-0007{overflow-x:hidden;overflow-y:auto;min-height:100%;background:var(--page-bg);text-rendering:optimizeLegibility}
.public-v4-10-0007 .site-header{isolation:isolate;box-sizing:border-box}
.public-v4-10-0007 .site-header>*{min-width:0}
.public-v4-10-0007 :is(.main-nav,.hero-actions,.card-actions,.stay-actions){min-width:0}
.public-v4-10-0007 :is(.hero-premium,.builder-hero,.stay-hero-v20-005,.promo-card,.image-banner,.split-media,.stay-media,.news-media){isolation:isolate;overflow:hidden!important}
.public-v4-10-0007 :is(.hero-shade,.builder-hero-overlay,.stay-hero-overlay,.promo-shade){pointer-events:none!important;z-index:1!important}
.public-v4-10-0007 :is(.hero-inner,.builder-hero-content,.stay-hero-layout,.promo-card>div:last-child){position:relative!important;z-index:2!important;min-width:0}
.public-v4-10-0007 :is(h1,h2,h3,p,.eyebrow,.kicker,.section-kicker){overflow-wrap:break-word;word-break:normal}
.public-v4-10-0007 :is(.hero-inner h1,.builder-hero h1,.section-heading h2,.stay-hero-copy h1){text-wrap:balance}
.public-v4-10-0007 :is(.hero-inner p,.builder-hero p,.section-heading p,.stay-hero-copy p){text-wrap:pretty}
.public-v4-10-0007 .section{position:relative}
.public-v4-10-0007 .section+.section{border-top-color:color-mix(in srgb,var(--ink) 8%,transparent)}
.public-v4-10-0007 :is(.stay-card,.news-card,.review-card,.feature-card,.contact-premium,.booking-panel,.availability-search-shell,.live-agenda,.map-experience){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
@media(hover:hover){.public-v4-10-0007 :is(.stay-card,.news-card,.review-card,.feature-card):hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(12,37,29,.11)}}
.public-v4-10-0007 :is(.stay-card,.news-card,.review-card,.feature-card){border-color:color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--card) 98%,transparent)}
.public-v4-10-0007 :is(.stay-card img,.news-card img,.review-card img,.feature-card img){display:block;max-width:100%;height:auto}
.public-v4-10-0007 :is(.btn,button,input,select,textarea,a){box-sizing:border-box}
.public-v4-10-0007 :is(.booking-form,.contact-form-premium,.availability-search-form,.ux-booking-form) :is(input,select,textarea){width:100%;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);background:#fff;box-shadow:0 1px 0 rgba(255,255,255,.65) inset;transition:border-color .18s,box-shadow .18s}
.public-v4-10-0007 :is(.booking-form,.contact-form-premium,.availability-search-form,.ux-booking-form) :is(input,select,textarea):focus{outline:0;border-color:color-mix(in srgb,var(--brand) 66%,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 10%,transparent)}
.public-v4-10-0007 .booking-panel{box-shadow:0 32px 80px rgba(10,35,27,.11);border-color:color-mix(in srgb,var(--brand) 14%,transparent)}
.public-v4-10-0007 .booking-copy{overflow:hidden}.public-v4-10-0007 .booking-copy>*{position:relative;z-index:2}.public-v4-10-0007 .booking-copy:after{pointer-events:none}
.public-v4-10-0007 :is(.mobile-booking-bar,.ux-mobile-bar){box-shadow:0 -12px 32px rgba(8,30,23,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.public-v4-10-0007 footer{overflow:hidden}
.public-v4-10-0007 .legacy-trust-strip,.public-v4-10-0007 .ux-trust-strip,.public-v4-10-0007 [data-ux-trust-strip]{display:none!important}

/* Theme distinction remains intentional, but all templates use the same robust content geometry. */
.public-v4-10-0007.theme-plaza :is(.stay-card,.booking-panel,.contact-premium){border-radius:18px}
.public-v4-10-0007.theme-estate :is(.stay-card,.booking-panel,.contact-premium){border-radius:4px}
.public-v4-10-0007.theme-lake :is(.stay-card,.booking-panel,.contact-premium){border-radius:28px}
.public-v4-10-0007.theme-editorial :is(.stay-card,.booking-panel,.contact-premium){border-radius:0;box-shadow:none}
.public-v4-10-0007.theme-classic :is(.stay-card,.booking-panel,.contact-premium){border-radius:12px}
.public-v4-10-0007.theme-minimal :is(.stay-card,.booking-panel,.contact-premium){border-radius:0;box-shadow:none}
.public-v4-10-0007.theme-nature :is(.stay-card,.booking-panel,.contact-premium){border-radius:24px}
.public-v4-10-0007.theme-boutique :is(.stay-card,.booking-panel,.contact-premium){border-radius:20px}
.public-v4-10-0007.theme-modern :is(.stay-card,.booking-panel,.contact-premium){border-radius:10px}
.public-v4-10-0007.theme-heritage :is(.stay-card,.booking-panel,.contact-premium){border-radius:2px}
.public-v4-10-0007.theme-forest :is(.stay-card,.booking-panel,.contact-premium){border-radius:18px}

@media(max-width:980px){
 .public-v4-10-0007 .main-nav{max-height:calc(100svh - 82px);overflow-y:auto;overscroll-behavior:contain}
 .public-v4-10-0007 :is(.hero-premium,.builder-hero){min-height:max(620px,82svh)}
 .public-v4-10-0007 .booking-panel{grid-template-columns:1fr}
}
@media(max-width:620px){
 .public-v4-10-0007 .section{width:calc(100% - 28px);padding-top:58px;padding-bottom:58px}
 .public-v4-10-0007 :is(.hero-inner,.builder-hero-content){width:calc(100% - 28px);padding-top:112px;padding-bottom:76px}
 .public-v4-10-0007 :is(.hero-inner h1,.builder-hero h1){font-size:clamp(42px,13vw,60px);line-height:.98}
 .public-v4-10-0007 .site-header{padding-inline:12px}
 .public-v4-10-0007 .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
 .public-v4-10-0007 .hero-actions .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.public-v4-10-0007 *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
