/* Premium shared storefront system */
.theme-luxe{--store-bg:#f6f1e8;--store-surface:#fffaf2;--store-ink:#271f1a;--store-muted:#786b60;--store-line:#d8cdbd;--store-shadow:rgba(45,35,29,.14)}
.theme-coastal{--store-bg:#eff9f8;--store-surface:#fff;--store-ink:#12383d;--store-muted:#58777a;--store-line:#c9e2df;--store-shadow:rgba(23,67,75,.13)}
.theme-urban{--store-bg:#f4f0e8;--store-surface:#fff;--store-ink:#111;--store-muted:#66615b;--store-line:#d8d1c6;--store-shadow:rgba(0,0,0,.18)}
.theme-heritage{--store-bg:#eee6d7;--store-surface:#f8f0e3;--store-ink:#382b20;--store-muted:#756555;--store-line:#bfae93;--store-shadow:rgba(77,25,27,.13)}
.theme-minimal{--store-bg:#f5f7f8;--store-surface:#fff;--store-ink:#101820;--store-muted:#64717b;--store-line:#dbe1e5;--store-shadow:rgba(7,59,91,.12)}
.page-hero{background:var(--store-bg);color:var(--store-ink);isolation:isolate;overflow:hidden;position:relative}
.page-hero:before,.content-masthead:before,.booking-masthead:before,.contact-page:before{background-image:linear-gradient(135deg,transparent 0 47%,color-mix(in srgb,var(--hotel-primary) 18%,transparent) 47% 48%,transparent 48% 100%),radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--hotel-primary) 17%,transparent) 0 2px,transparent 3px);background-size:46px 46px,18px 18px;content:"";inset:0 0 0 58%;opacity:.72;position:absolute;z-index:-1}
.page-hero:after{background:var(--hotel-primary);border-radius:50%;content:"";height:18rem;opacity:.09;position:absolute;right:7vw;top:15%;width:18rem;z-index:-1}.page-hero .container{position:relative}.page-hero h1{letter-spacing:-.055em;max-width:980px;text-wrap:balance}.page-hero h1 i{color:var(--hotel-primary);font-weight:inherit}.page-hero__foot{align-items:end;border-top:1px solid var(--store-line);display:flex;gap:3rem;justify-content:space-between;margin-top:3rem;padding-top:1.3rem}.page-hero__foot p{color:var(--store-muted);font-size:1rem;max-width:38rem}.page-hero__foot span{font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.rooms-booking{background:var(--store-bg);padding:0 5vw}.rooms-booking .booking-bar{margin:0 auto;max-width:1180px;position:relative;transform:translateY(50%);z-index:3}.rooms-page,.gallery-page,.blog-page{background:var(--store-bg);color:var(--store-ink);overflow:hidden;position:relative}.rooms-page{padding-top:8rem}.rooms-page:before,.blog-page:before{background:color-mix(in srgb,var(--hotel-primary) 7%,transparent);border-radius:50%;content:"";height:34rem;left:-18rem;position:absolute;top:18rem;width:34rem}.section-intro{align-items:end;display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.section-intro h2{font:clamp(2.4rem,5vw,4.8rem)/.95 var(--hotel-heading),Georgia,serif;letter-spacing:-.045em;margin:.4rem 0}
.room-card{border:0!important;border-radius:1.15rem;box-shadow:0 18px 50px var(--store-shadow);color:var(--store-ink);isolation:isolate;overflow:hidden;position:relative;transform:translateZ(0);transition:transform .3s,box-shadow .3s}.room-card:hover{box-shadow:0 25px 65px var(--store-shadow);transform:translateY(-7px)}.room-card__image{overflow:hidden;position:relative}.room-card__image:after{background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.58));content:"";inset:0;position:absolute}.room-card__number,.room-card__view{color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.1em;position:absolute;text-transform:uppercase;z-index:2}.room-card__number{background:color-mix(in srgb,var(--hotel-primary) 86%,#000);left:1rem;padding:.35rem .5rem;top:1rem}.room-card__view{bottom:1rem;opacity:0;right:1rem;transform:translateY(7px);transition:.25s}.room-card:hover .room-card__view{opacity:1;transform:none}.room-card__body{background:var(--store-surface);padding:1.65rem}.room-card__body>p:not(.eyebrow){color:var(--store-muted)}.room-card__foot{border-color:var(--store-line)}.room-card__foot>div{display:grid}.room-card__foot small{color:var(--store-muted);font-size:.65rem;text-transform:uppercase}.room-card__foot strong{font-size:1.1rem}.room-card__foot em{color:var(--store-muted);font-size:.72rem;font-style:normal;font-weight:500}.room-card__foot>a{color:var(--hotel-primary);font-size:.78rem;font-weight:800}
.room-detail{align-items:start;color:var(--store-ink);padding-block:7rem}.room-detail__visual{position:sticky;top:2rem}.room-detail__image{border-radius:1.2rem;box-shadow:0 26px 70px var(--store-shadow);min-height:42rem}.room-detail__visual>span{background:var(--hotel-primary);color:#fff;display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;margin:-1.4rem 0 0 2rem;padding:.8rem 1rem;position:relative;text-transform:uppercase}.room-detail__copy h1{letter-spacing:-.06em;margin-bottom:1.5rem}.room-detail__lead{color:var(--store-muted);font-size:1.2rem}.room-description{border-block:1px solid var(--store-line);margin:2rem 0;padding:1.5rem 0}.room-facts{display:grid;gap:.8rem;grid-template-columns:repeat(3,1fr);margin:1.5rem 0}.room-facts div{background:color-mix(in srgb,var(--hotel-primary) 7%,var(--store-surface));border:1px solid var(--store-line);display:grid;padding:.8rem}.room-facts span{color:var(--store-muted);font-size:.68rem;text-transform:uppercase}.room-cta,.contact-submit,.booking-button{align-items:center;background:var(--hotel-primary);border:0;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:2rem;justify-content:space-between;padding:.95rem 1.2rem}.room-cta{margin-top:1.5rem;min-width:14rem}.room-reserve{background:var(--store-ink);color:var(--store-bg);padding:4rem 0}.room-reserve .container{align-items:center;display:grid;gap:3rem;grid-template-columns:.55fr 1.45fr}.room-reserve h2{font:clamp(2rem,4vw,4rem)/1 var(--hotel-heading),Georgia,serif;margin:.5rem 0}.room-reserve .booking-bar{box-shadow:none}
.gallery-grid--editorial{grid-auto-flow:dense;grid-auto-rows:13rem;grid-template-columns:repeat(12,1fr)}.gallery-grid--editorial .gallery-tile{aspect-ratio:auto;grid-column:span 4;grid-row:span 2;overflow:hidden;position:relative}.gallery-grid--editorial .gallery-tile:nth-child(5n+1){grid-column:span 7;grid-row:span 3}.gallery-grid--editorial .gallery-tile:nth-child(5n+2){grid-column:span 5}.gallery-grid--editorial figcaption{background:linear-gradient(transparent,rgba(0,0,0,.78));bottom:0;color:#fff;display:flex;font-size:.75rem;font-weight:700;justify-content:space-between;left:0;padding:2.5rem 1rem 1rem;position:absolute;right:0}.blog-grid{position:relative}.blog-card{background:var(--store-surface);border:0;border-top:4px solid var(--hotel-primary);box-shadow:0 18px 50px var(--store-shadow);display:flex;flex-direction:column;padding:0}.blog-card__image{aspect-ratio:16/10;background-position:center;background-size:cover}.blog-card__body{display:flex;flex:1;flex-direction:column;padding:2rem}.blog-card__body>p:not(.eyebrow){color:var(--store-muted)}.blog-card__link{align-items:center;border-top:1px solid var(--store-line);display:flex;font-size:.78rem;font-weight:800;justify-content:space-between;margin-top:auto;padding-top:1rem}
.content-masthead{background:var(--store-ink);color:var(--store-bg);isolation:isolate;min-height:62vh;overflow:hidden;padding:10rem 0 5rem;position:relative}.content-masthead:before{inset:0 0 0 50%;opacity:.28}.content-masthead__image{background-position:center;background-size:cover;inset:0 0 0 50%;opacity:.5;position:absolute}.content-masthead .container{position:relative}.content-masthead h1{font:clamp(4rem,10vw,9rem)/.86 var(--hotel-heading),Georgia,serif;letter-spacing:-.06em;margin:1rem 0;max-width:75%}.masthead-scroll{bottom:-2rem;font-size:.7rem;letter-spacing:.12em;position:absolute;right:0;text-transform:uppercase}.content-page{background:var(--store-bg);color:var(--store-ink);display:grid;gap:4rem;grid-template-columns:.3fr 1.7fr;margin:0 auto;max-width:1180px;padding:7rem 5vw}.content-page__aside{border-right:1px solid var(--store-line)}.content-page__aside span{color:var(--hotel-primary);font-size:3rem;font-weight:900}.content-page__aside p{color:var(--store-muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.prose--rich{font-size:1.08rem;margin:0;padding:0;width:auto}.prose--rich h1{font-size:3rem}.prose--rich h2{font:clamp(2rem,4vw,3.6rem)/1 var(--hotel-heading),Georgia,serif;margin:2.5rem 0 1rem}.prose--rich h3{font-size:1.5rem;margin-top:2rem}.prose--rich p{color:var(--store-muted);max-width:48rem}.prose--rich blockquote{border-left:4px solid var(--hotel-primary);font:1.7rem/1.4 var(--hotel-heading),Georgia,serif;margin:2.5rem 0;padding:1rem 2rem}.prose--rich a{color:var(--hotel-primary);font-weight:700;text-decoration:underline}

/* Shared testimonial carousel for the four classic themes. */
.theme-testimonials{--testimonial-bg:#2d231d;--testimonial-card:#fff;--testimonial-ink:#271f1a;--testimonial-muted:#756b64;--testimonial-accent:var(--hotel-primary);background:var(--testimonial-bg);color:#fff;overflow:hidden;padding:clamp(4rem,7vw,7rem) 5vw}.theme-testimonials--coastal{--testimonial-bg:#0d535d;--testimonial-ink:#12383d;--testimonial-muted:#557177}.theme-testimonials--heritage{--testimonial-bg:#4d191b;--testimonial-ink:#3c1719;--testimonial-muted:#79595b}.theme-testimonials--urban{--testimonial-bg:#111;--testimonial-ink:#111;--testimonial-muted:#666}.theme-testimonials__shell{margin:0 auto;max-width:1180px}.theme-testimonials__heading{align-items:end;display:grid;gap:2rem;grid-template-columns:1.2fr .8fr;margin-bottom:2.4rem}.theme-testimonials__heading h2{font:clamp(2.5rem,5vw,4.8rem)/.95 var(--hotel-heading),Georgia,serif;letter-spacing:-.045em;margin:.65rem 0 0;max-width:760px}.theme-testimonials__heading>p{color:rgba(255,255,255,.72);line-height:1.65;margin:0;max-width:30rem}.theme-testimonial-carousel{position:relative}.theme-testimonial-track{display:grid;gap:1rem;grid-template-columns:repeat(var(--testimonial-columns,3),minmax(0,1fr))}.theme-testimonial-card{background:var(--testimonial-card);color:var(--testimonial-ink);display:flex;flex-direction:column;margin:0;min-height:20rem;padding:clamp(1.5rem,3vw,2.25rem)}.theme-testimonial-card[hidden]{display:none}.theme-testimonial-card__top{align-items:center;display:flex;justify-content:space-between}.theme-testimonial-card__mark{color:var(--testimonial-accent);font:4rem/.7 Georgia,serif}.theme-testimonial-card__rating{color:var(--testimonial-accent);font-size:.78rem;letter-spacing:.12em}.theme-testimonial-card blockquote{font:clamp(1.08rem,1.45vw,1.35rem)/1.6 var(--hotel-heading),Georgia,serif;margin:1.5rem 0 2.25rem;overflow-wrap:anywhere}.theme-testimonial-card footer{border-top:1px solid color-mix(in srgb,var(--testimonial-ink) 15%,transparent);display:grid;gap:.2rem;margin-top:auto;padding-top:1rem}.theme-testimonial-card footer strong{font-size:.82rem}.theme-testimonial-card footer span{color:var(--testimonial-muted);font-size:.72rem}.theme-testimonial-controls{align-items:center;display:flex;gap:.8rem;justify-content:flex-end;margin-top:1.25rem}.theme-testimonial-controls button{align-items:center;background:transparent;border:1px solid rgba(255,255,255,.48);border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:1.15rem;height:2.8rem;justify-content:center;transition:.2s;width:2.8rem}.theme-testimonial-controls button:hover,.theme-testimonial-controls button:focus-visible{background:#fff;color:var(--testimonial-bg);outline:0}.theme-testimonial-controls>span{font-size:.72rem;letter-spacing:.12em;min-width:7rem;text-align:center;text-transform:uppercase}.theme-testimonial-carousel.is-static .theme-testimonial-controls{display:none}

@media(max-width:900px){.theme-testimonials__heading{grid-template-columns:1fr}.theme-testimonial-track{--testimonial-columns:2}}
@media(max-width:640px){.theme-testimonials{padding:3.5rem 1.25rem}.theme-testimonials__heading{gap:1rem;margin-bottom:1.5rem}.theme-testimonials__heading h2{font-size:clamp(2.25rem,12vw,3.35rem)}.theme-testimonials__heading>p{font-size:.92rem}.theme-testimonial-track{--testimonial-columns:1}.theme-testimonial-card{min-height:18rem;padding:1.5rem}.theme-testimonial-card blockquote{font-size:1.05rem}.theme-testimonial-controls{justify-content:space-between}.theme-testimonial-controls>span{flex:1}}

/* Contact page */
.contact-page{background:var(--store-bg);color:var(--store-ink);display:grid;gap:7vw;grid-template-columns:.8fr 1.35fr;isolation:isolate;min-height:76vh;overflow:hidden;padding:7rem max(6vw,calc((100vw - 1180px)/2));position:relative}.contact-page:before{inset:0 58% 0 0;opacity:.4}.contact-intro{padding-top:1rem}.contact-intro h1{font:900 clamp(3.6rem,6vw,6.5rem)/.86 var(--hotel-heading),Arial,sans-serif;letter-spacing:-.06em;margin:1rem 0 2rem}.contact-lead{color:var(--store-muted);font-size:1rem;max-width:28rem}.contact-details{border-top:1px solid var(--store-line);margin-top:2rem}.contact-details>div{border-bottom:1px solid var(--store-line);display:grid;gap:1rem;grid-template-columns:5.5rem 1fr;padding:1rem 0}.contact-details dt{color:var(--store-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.contact-details dd{font-size:.83rem;margin:0}.contact-details a{color:var(--hotel-primary);font-weight:800}.contact-form-wrap{background:var(--store-surface);border:2px solid var(--store-ink);box-shadow:12px 12px 0 color-mix(in srgb,var(--hotel-primary) 75%,transparent);padding:2.7rem;position:relative}.contact-form-wrap h2{font:900 clamp(2.2rem,4vw,4rem)/.95 var(--hotel-heading),Arial,sans-serif;letter-spacing:-.04em;margin:.7rem 0}.contact-form-wrap>p:not(.eyebrow){color:var(--store-muted)}.contact-form{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1.8rem}.contact-form label,.checkout-form-card label{display:grid;gap:.4rem}.contact-form label>span,.checkout-form-card label>span{font-size:.72rem;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea,.checkout-form-card input,.checkout-form-card textarea{background:#fff;border:1px solid var(--store-line);border-radius:0;color:#111;min-height:3.2rem;padding:.8rem;width:100%}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.checkout-form-card input:focus,.checkout-form-card textarea:focus{border-color:var(--hotel-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--hotel-primary) 15%,transparent);outline:0}.contact-form__message,.contact-submit{grid-column:1/-1}.contact-submit{font-size:.82rem;justify-self:start;min-width:13rem}.contact-success,.contact-error{font-size:.82rem;font-weight:700;margin-top:1rem;padding:.8rem 1rem}.contact-success{background:#dcfce7;color:#166534}.contact-error{background:#fee2e2;color:#991b1b}.contact-honeypot{height:0;left:-9999px;overflow:hidden;position:absolute;width:0}

/* Luxe inner pages use a compact editorial scale; the homepage remains immersive. */
.theme-luxe .page-hero{padding:4.5rem 0 3rem}
.theme-luxe .page-hero h1{font-size:clamp(3rem,6vw,5.25rem)}
.theme-luxe .page-hero__foot{margin-top:2rem;padding-top:1rem}
.theme-luxe .rooms-page{padding-bottom:5rem;padding-top:6rem}
.theme-luxe .section-intro{margin-bottom:2rem}
.theme-luxe .section-intro h2{font-size:clamp(2.2rem,4vw,3.6rem)}
.theme-luxe .rooms-page .room-card__image{aspect-ratio:4/3}
.theme-luxe .gallery-page{padding:3.5rem 0 5rem}
.theme-luxe .gallery-grid--editorial{grid-auto-rows:10.5rem}
.theme-luxe .blog-page{padding:4rem 0 5rem}
.theme-luxe .content-masthead{min-height:0;padding:5rem 0 4rem}
.theme-luxe .content-masthead h1{font-size:clamp(3.25rem,7vw,5.5rem);max-width:70%}
.theme-luxe .masthead-scroll{bottom:.5rem}
.theme-luxe .content-page{gap:3rem;padding-block:4.5rem}
.theme-luxe .room-detail{padding-block:4.5rem}
.theme-luxe .room-detail__image{min-height:34rem}
.theme-luxe .contact-page{min-height:0;padding-block:4.5rem}
.theme-luxe .contact-intro h1{font-size:clamp(3rem,5vw,4.75rem)}
.theme-luxe .luxe-footer{padding-block:4rem}
@media(max-width:850px){.theme-luxe .page-hero{padding:3.5rem 0 2.5rem}.theme-luxe .rooms-page{padding-top:5rem}.theme-luxe .gallery-page,.theme-luxe .blog-page{padding:3rem 0 4rem}.theme-luxe .content-masthead{padding:4rem 0 3rem}.theme-luxe .content-masthead h1{max-width:100%}.theme-luxe .content-page,.theme-luxe .room-detail,.theme-luxe .contact-page{padding-block:3.5rem}.theme-luxe .gallery-grid--editorial{grid-auto-rows:10rem}}
@media(max-width:560px){.theme-luxe .page-hero{padding:3rem 0 2rem}.theme-luxe .page-hero h1{font-size:2.9rem}.theme-luxe .rooms-page{padding-bottom:3.5rem;padding-top:4.5rem}.theme-luxe .section-intro h2{font-size:2.6rem}.theme-luxe .content-masthead{padding:3.25rem 0 2.5rem}.theme-luxe .content-masthead h1{font-size:3.2rem}.theme-luxe .content-page,.theme-luxe .room-detail,.theme-luxe .contact-page{padding-block:3rem}.theme-luxe .luxe-footer{padding-block:3rem}}

/* About page remains complete even when the hotel story is intentionally concise. */
.about-story{background:var(--store-bg);color:var(--store-ink);padding:5rem 0}
.about-story__lead{align-items:start;display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.about-story__lead h2{font:clamp(2.7rem,5vw,4.8rem)/.95 var(--hotel-heading),Georgia,serif;letter-spacing:-.05em;margin:.5rem 0;max-width:10ch}
.about-story__lead .prose{padding-top:.35rem}
.about-story__lead .prose p:first-child{color:var(--store-ink);font-size:1.2rem;line-height:1.75;margin-top:0}
.about-story__facts{border-top:1px solid var(--store-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:4rem;padding-top:2rem}
.about-story__facts>div,.about-story__facts>a{border-right:1px solid var(--store-line);display:flex;flex-direction:column;min-height:8rem;padding:0 1.5rem}
.about-story__facts>div:first-child{padding-left:0}
.about-story__facts>a{border-right:0;color:var(--hotel-primary);padding-right:0}
.about-story__facts span{color:var(--hotel-primary);font-size:1.4rem;font-weight:900;margin-bottom:auto}
.about-story__facts small{color:var(--store-muted);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.about-story__facts strong{font-size:1rem;margin-top:.3rem}
.about-story__facts>a span{align-self:flex-end;font-size:2rem;margin-top:auto}
.theme-luxe .room-reserve .container{gap:2rem;grid-template-columns:minmax(12rem,.38fr) minmax(0,1.62fr)}
.theme-luxe .room-reserve h2{font-size:clamp(2.4rem,3.5vw,3.5rem);max-width:9ch}
.theme-luxe .room-reserve .booking-bar{max-width:none;width:100%}
.theme-luxe .room-reserve .booking-bar__trigger{padding-inline:1.1rem}
@media(max-width:900px){.theme-luxe .room-reserve .container{grid-template-columns:1fr}.theme-luxe .room-reserve h2{max-width:14ch}}
@media(max-width:850px){.about-story{padding:4rem 0}.about-story__lead{gap:2.5rem;grid-template-columns:1fr}.about-story__lead h2{max-width:14ch}.about-story__facts{grid-template-columns:1fr 1fr;margin-top:3rem;row-gap:2rem}.about-story__facts>div:nth-child(2){border-right:0}.about-story__facts>div,.about-story__facts>a{padding-inline:1rem}.about-story__facts>div:first-child,.about-story__facts>div:nth-child(3){padding-left:0}}
@media(max-width:560px){.about-story{padding:3rem 0}.about-story__lead h2{font-size:2.6rem}.about-story__facts{grid-template-columns:1fr}.about-story__facts>div,.about-story__facts>a{border-bottom:1px solid var(--store-line);border-right:0;min-height:0;padding:1.2rem 0}.about-story__facts>a{border-bottom:0}}

/* Shared storefront footer */
.hotel-footer{background:var(--store-surface)!important;border-top:1px solid var(--store-line);color:var(--store-ink)!important;display:block!important;padding:0!important}
.hotel-footer__main{display:grid;gap:clamp(2.5rem,5vw,5rem);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;padding:4.5rem 0;width:min(1180px,90vw)}
.hotel-footer__section{min-width:0}
.hotel-footer__section h2{font:600 1.05rem/1.25 var(--hotel-body),Arial,sans-serif;letter-spacing:.01em;margin:0 0 1.55rem}
.hotel-footer__section>p{color:var(--store-muted);font-size:.9rem;line-height:1.7;margin:0 0 1.6rem;max-width:23rem}
.hotel-footer__socials{display:flex;flex-wrap:wrap;gap:.7rem}
.hotel-footer__socials a{align-items:center;background:var(--hotel-primary);border-radius:50%;color:#fff;display:inline-flex;font-size:.7rem;font-weight:800;height:3rem;justify-content:center;letter-spacing:.02em;text-transform:uppercase;transition:transform .2s,filter .2s;width:3rem}
.hotel-footer__socials a:hover{filter:brightness(.9);transform:translateY(-3px)}
.hotel-footer__contact{display:grid;gap:1rem}
.hotel-footer__contact p{align-items:start;color:var(--store-muted);display:grid;font-size:.9rem;gap:.8rem;grid-template-columns:1.15rem minmax(0,1fr);line-height:1.55;margin:0}
.hotel-footer__contact p>span:first-child{color:var(--hotel-primary);font-weight:900;text-align:center}
.hotel-footer__contact a{color:inherit;overflow-wrap:anywhere}
.hotel-footer__contact a:hover{color:var(--hotel-primary)}
.hotel-footer__newsletter-form{align-items:end;display:grid;gap:0;grid-template-columns:minmax(0,1fr) auto;margin-top:1rem;position:relative}
.hotel-footer__newsletter-field{display:grid;gap:.45rem;min-width:0}
.hotel-footer__newsletter-field>span{font-size:.78rem;font-weight:700;line-height:1.2}
.hotel-footer__newsletter-form input{background:transparent;border:2px solid var(--hotel-primary);border-radius:0;color:var(--store-ink);font:inherit;min-height:3.55rem;padding:.8rem 1rem;width:100%}
.hotel-footer__newsletter-form input:focus{box-shadow:inset 0 0 0 1px var(--hotel-primary);outline:0}
.hotel-footer__newsletter-form button{background:var(--hotel-primary);border:2px solid var(--hotel-primary);color:#fff;cursor:pointer;font:700 .78rem/1 var(--hotel-body),Arial,sans-serif;min-height:3.55rem;padding:0 1.7rem}
.hotel-footer__newsletter-form button:hover{filter:brightness(.9)}
.hotel-footer__message{font-size:.78rem!important;font-weight:700;margin:.7rem 0 0!important}
.hotel-footer__message--success{color:#15803d!important}
.hotel-footer__message--error{color:#b91c1c!important}
.hotel-footer__honeypot,.hotel-footer .sr-only{border:0!important;clip:rect(0,0,0,0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}
.hotel-footer__bottom{background:color-mix(in srgb,var(--hotel-primary) 72%,var(--store-ink));color:#fff}
.hotel-footer__bottom-inner{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;justify-content:center;margin:0 auto;min-height:6.6rem;padding:1.35rem 0;width:min(1180px,90vw)}
.hotel-footer__bottom p{border-top:1px solid color-mix(in srgb,#fff 28%,transparent);font-size:.82rem;margin:0;padding-top:1rem;width:100%}
.hotel-footer__bottom nav{display:flex!important;flex-wrap:wrap;gap:1.2rem}
.hotel-footer__bottom nav a{color:inherit;font-size:.78rem;opacity:.9}
.hotel-footer__bottom nav a:hover{opacity:1;text-decoration:underline}
@media(max-width:850px){.hotel-footer__main{gap:3rem;grid-template-columns:1fr 1fr;padding:3.75rem 0}.hotel-footer__section--newsletter{grid-column:1/-1}.hotel-footer__section--newsletter>p{max-width:34rem}.hotel-footer__newsletter-form{max-width:38rem}}
@media(max-width:560px){.hotel-footer__main{gap:2.75rem;grid-template-columns:1fr;padding:3.25rem 0}.hotel-footer__section--newsletter{grid-column:auto}.hotel-footer__newsletter-form{gap:.7rem;grid-template-columns:1fr}.hotel-footer__newsletter-form button{margin-top:0;width:100%}.hotel-footer__bottom-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding:1.5rem 0}.hotel-footer__bottom nav{gap:.8rem 1.1rem}}

/* Curated gallery */
.gallery-hero{background:var(--store-bg);color:var(--store-ink);padding:clamp(3rem,6vw,5.25rem) 0 clamp(2.25rem,4vw,3.5rem);position:relative}
.gallery-hero:after{background:linear-gradient(90deg,var(--hotel-primary),transparent);bottom:0;content:"";height:1px;left:5vw;opacity:.55;position:absolute;right:5vw}
.gallery-hero__inner{align-items:end;display:grid;gap:clamp(2rem,7vw,7rem);grid-template-columns:minmax(0,1.45fr) minmax(16rem,.55fr)}
.gallery-hero h1{font:clamp(3.1rem,6.8vw,6.1rem)/.88 var(--hotel-heading),Georgia,serif;letter-spacing:-.055em;margin:.4rem 0 0;max-width:10ch}
.gallery-hero h1 i{color:var(--hotel-primary);font-weight:inherit}
.gallery-hero__summary{border-left:1px solid var(--store-line);padding-left:clamp(1.25rem,3vw,2.5rem)}
.gallery-hero__summary p{color:var(--store-muted);font-size:1rem;margin:0 0 1.35rem;max-width:28rem}
.gallery-hero__summary span{font-size:.69rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.gallery-page--showcase{background:var(--store-bg);padding:clamp(2.5rem,5vw,5rem) 0 clamp(4rem,7vw,7rem)}
.gallery-showcase{display:grid;gap:clamp(.75rem,1.4vw,1.2rem);grid-auto-flow:dense;grid-auto-rows:clamp(11rem,17vw,15rem);grid-template-columns:repeat(12,minmax(0,1fr))}
.gallery-showcase__item{appearance:none;background:var(--hotel-secondary);border:0;color:#fff;cursor:zoom-in;grid-column:span 4;overflow:hidden;padding:0;position:relative;text-align:left}
.gallery-showcase__item--featured{grid-column:span 7;grid-row:span 2}
.gallery-showcase__item:nth-child(2){grid-column:span 5}
.gallery-showcase__item:nth-child(3){grid-column:span 3}
.gallery-showcase__item:nth-child(4){grid-column:span 2}
.gallery-showcase__item img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1);width:100%}
.gallery-showcase__shade{background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.76));inset:0;position:absolute;transition:opacity .25s}
.gallery-showcase__caption{align-items:end;bottom:0;display:flex;gap:1rem;justify-content:space-between;left:0;padding:clamp(1rem,2vw,1.6rem);position:absolute;right:0}
.gallery-showcase__caption strong{font:clamp(1.1rem,2vw,1.7rem)/1.05 var(--hotel-heading),Georgia,serif}
.gallery-showcase__caption small{border-top:1px solid rgba(255,255,255,.65);font-size:.65rem;font-weight:800;letter-spacing:.13em;padding-top:.35rem}
.gallery-showcase__expand{align-items:center;background:#fff;color:#111;display:flex;height:2.65rem;justify-content:center;opacity:0;position:absolute;right:1rem;top:1rem;transform:translateY(.5rem);transition:.25s;width:2.65rem}
.gallery-showcase__item:hover img,.gallery-showcase__item:focus-visible img{transform:scale(1.045)}
.gallery-showcase__item:hover .gallery-showcase__expand,.gallery-showcase__item:focus-visible .gallery-showcase__expand{opacity:1;transform:none}
.gallery-showcase__item:focus-visible{outline:3px solid var(--hotel-primary);outline-offset:3px}
.gallery-empty{border:1px solid var(--store-line);padding:clamp(2rem,7vw,6rem);text-align:center}
.gallery-empty h2{font:clamp(2rem,5vw,4rem)/1 var(--hotel-heading),Georgia,serif;margin:.5rem 0 1.5rem}
.gallery-empty a{color:var(--hotel-primary);font-weight:800}
body.gallery-lightbox-open{overflow:hidden}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{display:grid;inset:0;place-items:center;position:fixed;z-index:10000}
.gallery-lightbox__backdrop{background:rgba(8,10,10,.94);border:0;inset:0;position:absolute}
.gallery-lightbox__panel{color:#fff;display:grid;height:100%;isolation:isolate;padding:clamp(1rem,3vw,2rem);position:relative;width:100%}
.gallery-lightbox__toolbar{align-items:center;display:flex;height:3rem;justify-content:space-between;margin:0 auto;max-width:1200px;width:100%}
.gallery-lightbox__toolbar p{font-size:.72rem;font-weight:800;letter-spacing:.16em;margin:0}
.gallery-lightbox__toolbar button{background:transparent;border:0;color:#fff;cursor:pointer;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gallery-lightbox__toolbar button span{font-size:1.7rem;line-height:0;margin-left:.5rem;vertical-align:-.15rem}
.gallery-lightbox__stage{align-items:center;display:grid;gap:clamp(.5rem,2vw,2rem);grid-template-columns:auto minmax(0,1fr) auto;min-height:0}
.gallery-lightbox__stage img{height:min(76vh,850px);margin:auto;max-width:min(78vw,1200px);object-fit:contain;width:100%}
.gallery-lightbox__stage button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;cursor:pointer;font-size:1.3rem;height:3rem;width:3rem}
.gallery-lightbox__stage button:hover{background:#fff;color:#111}
.gallery-lightbox__title{font:clamp(1.1rem,2vw,1.55rem)/1.2 var(--hotel-heading),Georgia,serif;margin:.5rem auto 0;max-width:1200px;width:100%}
@media(max-width:900px){
    .gallery-hero__inner{grid-template-columns:1fr}
    .gallery-hero__summary{border-left:0;border-top:1px solid var(--store-line);display:flex;gap:1rem;justify-content:space-between;padding:1.25rem 0 0}
    .gallery-hero__summary p{margin:0}
    .gallery-showcase{grid-auto-rows:12rem;grid-template-columns:repeat(2,minmax(0,1fr))}
    .gallery-showcase__item,.gallery-showcase__item:nth-child(n){grid-column:span 1;grid-row:span 1}
    .gallery-showcase__item--featured,.gallery-showcase__item--featured:nth-child(1){grid-column:span 2;grid-row:span 2}
}
@media(max-width:600px){
    .gallery-hero{padding:2.5rem 0 2rem}
    .gallery-hero h1{font-size:clamp(2.8rem,14vw,4.2rem);max-width:9ch}
    .gallery-hero__summary{display:block}
    .gallery-hero__summary p{margin-bottom:1rem}
    .gallery-page--showcase{padding:1rem 0 4rem}
    .gallery-showcase{gap:.8rem;grid-auto-rows:auto;grid-template-columns:1fr}
    .gallery-showcase__item,.gallery-showcase__item:nth-child(n),.gallery-showcase__item--featured,.gallery-showcase__item--featured:nth-child(1){aspect-ratio:4/3;border-radius:.35rem;grid-column:1;grid-row:auto;min-width:0;width:100%}
    .gallery-showcase__item:not(.gallery-showcase__item--featured){aspect-ratio:16/10}
    .gallery-showcase__expand{display:none}
    .gallery-showcase__caption{padding:1rem}
    .gallery-showcase__caption strong{font-size:1.15rem}
    .gallery-lightbox__panel{padding:.75rem}
    .gallery-lightbox__stage{grid-template-columns:1fr;position:relative}
    .gallery-lightbox__stage img{height:auto;max-height:72vh;max-width:100%}
    .gallery-lightbox__stage button{bottom:.75rem;position:absolute;z-index:2}
    .gallery-lightbox__stage [data-gallery-previous]{left:.75rem}
    .gallery-lightbox__stage [data-gallery-next]{right:.75rem}
}
