@font-face{font-family:"Meridian Display";src:url("assets/fonts/biryani-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Meridian Display";src:url("assets/fonts/biryani-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Meridian Display";src:url("assets/fonts/biryani-700.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Meridian Text";src:url("assets/fonts/archivo-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{--teal:#0b3b3d;--teal-deep:#073032;--cream:#f7f3e8;--paper:#fbf8ef;--ink:#173b3b;--muted:#526868;--line:#c8c6b8;--max:1397px;--display:"Meridian Display",sans-serif;--text:"Meridian Text",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--accent-on)}
*{scrollbar-color:var(--teal) var(--cream);scrollbar-width:thin}
*:focus-visible{outline:3px solid var(--accent-text);outline-offset:4px}
a{color:inherit;text-underline-offset:5px}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
.skip-link{position:fixed;left:14px;top:10px;z-index:100;background:var(--paper);color:var(--teal);padding:10px 14px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{position:relative;z-index:10;background:linear-gradient(var(--line),var(--line)) 0 42px/100% 1px no-repeat,var(--paper);border-bottom:1px solid var(--line)}
.announcement{height:42px;display:flex;align-items:center;justify-content:center;padding:0 24px;background:var(--teal);color:var(--cream);border-bottom:1px solid var(--line)}
.announcement p{margin:0;font-size:16px;line-height:1.2;letter-spacing:.005em}
.header-inner{width:min(var(--max),calc(100% - 96px));height:99px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:41px}
.brand{display:inline-flex;align-items:center;width:max-content;max-width:100%;text-decoration:none}
.brand-logo{width:auto;height:52px;object-fit:contain;object-position:left center}
.brand-name{font-family:var(--display);font-size:29px;font-weight:700;line-height:1;letter-spacing:-.025em;white-space:nowrap;transform:translateY(13px)}
.site-menu{position:relative;display:flex;align-items:center;gap:54px;transform:translateX(-23px)}
.site-menu a{position:relative;padding:39px 0 34px;text-decoration:none;font-size:20px;font-weight:560;line-height:1}
.site-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:29px;height:2px;background:var(--accent);transition:right .22s cubic-bezier(.16,1,.3,1)}
.site-menu a:hover::after,.site-menu a[aria-current="page"]::after{right:0}
.language-switch{display:flex;align-items:center;gap:8px;padding-left:42px;border-left:1px solid var(--teal);font-size:15px;font-weight:620;transform:translateX(-16px)}
.language-switch a{text-decoration:none}.language-switch a:not([aria-current="true"]){color:var(--muted)}
.menu-toggle{display:none}
.hero{min-height:810px;background:var(--cream);border-bottom:1px solid var(--line)}
.hero-plan{position:relative;height:302px;overflow:hidden}
.hero h1{position:absolute;left:max(54px,calc((100% - var(--max))/2));top:67px;width:880px;margin:0;font-family:var(--display);font-size:73px;font-weight:700;line-height:1.03;letter-spacing:-.03em;transform:scaleX(.9);transform-origin:left top}
.coordinate-rule{position:absolute;left:max(54px,calc((100% - var(--max))/2));top:231px;width:min(792px,52.6vw);height:1px;background:color-mix(in srgb,var(--accent) 72%,var(--line))}
.coordinate-rule::after{content:"";position:absolute;right:-1px;top:-4px;width:9px;height:9px;background:var(--accent)}
.hero-lede{position:absolute;left:max(60px,calc((100% - var(--max))/2 + 6px));top:245px;max-width:650px;margin:0;font-size:21px;font-weight:520;line-height:1.35}
.hero-actions{position:absolute;right:max(63px,calc((100% - var(--max))/2 + 9px));top:166px;display:grid;grid-template-columns:257px 207px;gap:29px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:68px;padding:14px 25px;border:1px solid var(--accent);font-size:15px;font-weight:650;line-height:1;white-space:nowrap;text-decoration:none;transition:background .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),transform .16s ease}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}
.btn-primary:hover{background:var(--teal);border-color:var(--teal);color:var(--cream)}
.btn-secondary{background:transparent;color:var(--accent-text)}
.btn-secondary:hover{background:var(--accent);color:var(--accent-on)}
.hero-media{height:508px;margin:0;overflow:hidden;background:#c9c7bd}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.story-opening{position:relative;padding:55px max(54px,calc((100% - var(--max))/2)) 118px;background:var(--paper);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(56px,7vw,112px);align-items:start}
.story-opening::before{content:"";position:absolute;left:max(63px,calc((100% - var(--max))/2 + 9px));top:31px;width:1px;height:78px;background:var(--line)}
.story-opening::after{content:"";position:absolute;left:max(63px,calc((100% - var(--max))/2 + 9px));top:82px;width:62px;height:1px;background:var(--accent)}
.story-opening .story-heading{padding-left:96px}.story-opening .story-heading>.eyebrow{margin:0 0 100px;font-family:var(--display);font-size:36px;font-weight:600;line-height:1.22;letter-spacing:-.025em;color:var(--ink);text-transform:none;letter-spacing:-.025em}
.story-opening h2{margin:0 0 28px;font-family:var(--display);font-size:clamp(42px,4vw,64px);font-weight:600;line-height:1.08;letter-spacing:-.035em}
.story-opening .story-heading>p:not(.eyebrow){max-width:52ch;margin:0 0 26px;color:var(--muted);font-size:18px;line-height:1.75}
.story-opening figure{height:670px;margin:130px 0 0;overflow:hidden}.story-opening figure img{width:100%;height:100%;object-fit:cover}

.section{padding:112px max(54px,calc((100% - var(--max))/2));border-bottom:1px solid var(--line)}
.eyebrow{margin:0 0 22px;color:var(--accent-text);font-size:13px;font-weight:760;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}
.text-link,.section-link,.room-copy>a,.visit-copy>a{display:inline-flex;align-items:center;gap:10px;color:var(--accent-text);font-weight:720;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.link-arrow{flex:0 0 auto;width:16px;height:16px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}
.text-link:hover,.section-link:hover,.room-copy>a:hover,.visit-copy>a:hover{color:var(--teal)}
.section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(38px,7vw,110px);align-items:end;margin-bottom:68px}
.section-head .eyebrow{grid-column:1/-1;margin-bottom:-34px}.section-head h2,.craft-title h2,.room-copy h2,.visit-copy h2,.closing h2,.page-intro h1,.booking-copy h1,.contact-copy h1,.contact-card h2,.about-story h2,.team-intro h2{margin:0;font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:-.035em}
.section-head h2{font-size:clamp(42px,4.6vw,70px)}.section-head>p:last-child{margin:0;color:var(--muted);font-size:18px;line-height:1.65}

.services-preview{background:var(--cream)}
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.service-card{min-width:0;background:var(--paper)}.service-photo{display:block;height:360px;overflow:hidden;background:#d9d2c1}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.service-photo:hover img{transform:scale(1.025)}
.service-card-copy{padding:32px}.service-meta{display:flex;justify-content:space-between;gap:16px;margin:0 0 28px;color:var(--muted);font-size:13px;font-weight:680;letter-spacing:.05em;text-transform:uppercase}.service-card h3{margin:0 0 12px;font-family:var(--display);font-size:30px;line-height:1.15}.service-card-copy>p:not(.service-meta){min-height:78px;margin:0;color:var(--muted);line-height:1.65}.service-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.service-card-foot strong{font-family:var(--display);font-size:19px}.service-card-foot a{color:var(--accent-text);font-weight:700;text-decoration:none;text-align:right}.section-link{margin-top:42px}.empty-state{grid-column:1/-1;padding:64px;background:var(--paper)}

.craft{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(60px,8vw,130px);background:var(--teal-deep);color:var(--cream)}.craft .eyebrow{color:#e1ab47}.craft-title h2{font-size:clamp(44px,5vw,76px)}.craft-points{border-top:1px solid rgba(247,243,232,.28)}.craft-points article{position:relative;padding:34px 0 34px 36px;border-bottom:1px solid rgba(247,243,232,.28)}.signal{position:absolute;left:0;top:43px;width:9px;height:9px;background:var(--accent)}.craft-points h3{margin:0 0 8px;font-family:var(--display);font-size:25px}.craft-points p{margin:0;max-width:48ch;color:#c8d7d3}

.process{background:var(--paper)}.process .section-head{grid-template-columns:1fr;margin-bottom:52px}.process .section-head .eyebrow{margin-bottom:0}.process ol{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.process li{display:grid;grid-template-columns:70px 1fr;gap:22px;padding:38px 34px 36px 0;border-right:1px solid var(--line)}.process li+li{padding-left:34px}.process li:last-child{border-right:0}.process li>b{font-family:var(--display);font-size:40px;font-weight:400;color:var(--accent-text)}.process h3{margin:4px 0 9px;font-family:var(--display);font-size:25px}.process p{margin:0;color:var(--muted)}

.room-feature{display:grid;grid-template-columns:1.16fr .84fr;min-height:740px;background:var(--cream);border-bottom:1px solid var(--line)}.room-feature figure{height:740px;margin:0;overflow:hidden}.room-feature figure img{width:100%;height:100%;object-fit:cover}.room-copy{display:flex;flex-direction:column;justify-content:center;padding:80px clamp(54px,7vw,110px)}.room-copy h2{font-size:clamp(44px,4.5vw,70px)}.room-copy>p:not(.eyebrow){margin:28px 0 34px;max-width:40ch;color:var(--muted);font-size:18px;line-height:1.7}.room-copy>a{width:max-content}

.visit{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,8vw,130px);align-items:start;background:var(--paper)}.visit-copy{padding-top:28px}.visit-copy h2{font-size:clamp(40px,4vw,62px)}.visit-copy>p:not(.eyebrow){margin:24px 0 0;color:var(--muted);font-size:17px}.visit-copy>a{margin-top:30px}.visit>figure{height:560px;margin:0;overflow:hidden}.visit>figure img{width:100%;height:100%;object-fit:cover}.visit .sb-location-map--embedded{grid-column:1/-1;width:100%!important;margin:46px 0 0!important;padding-top:46px;border-top:1px solid var(--line)}.visit .sb-location-map__inner{max-width:none!important}.visit .sb-location-map__canvas{border-radius:0!important;border-color:var(--line)!important}.visit .sb-location-map__copy h2{font-family:var(--display);color:var(--ink)}

.quote-section{position:relative;padding:132px max(13vw,150px);background:var(--teal);color:var(--cream);text-align:center;border-bottom:1px solid rgba(255,255,255,.18)}.quote-coordinate{position:absolute;left:8%;right:8%;top:72px;height:1px;background:rgba(247,243,232,.34)}.quote-coordinate::before,.quote-coordinate::after{content:"";position:absolute;top:-4px;width:9px;height:9px;background:var(--accent)}.quote-coordinate::before{left:0}.quote-coordinate::after{right:0}.quote-section blockquote{max-width:1000px;margin:0 auto 26px;font-family:var(--display);font-size:clamp(38px,5vw,72px);font-weight:400;line-height:1.15;letter-spacing:-.035em}.quote-section p{margin:0;color:#c8d7d3;font-weight:680}

.closing{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;padding:96px max(54px,calc((100% - var(--max))/2));background:var(--cream);border-bottom:1px solid var(--line)}.closing h2{max-width:900px;font-size:clamp(42px,5vw,76px)}.closing-with-media{grid-template-columns:.9fr 1.1fr;padding:0}.closing-with-media>div{padding:90px max(54px,7vw)}.closing-with-media .btn{margin-top:36px}.closing-with-media figure{height:600px;margin:0;overflow:hidden}.closing-with-media figure img{width:100%;height:100%;object-fit:cover}

.site-footer{position:relative;padding:88px max(54px,calc((100% - var(--max))/2)) 28px;background:var(--teal-deep);color:var(--cream)}.footer-coordinate{position:absolute;left:max(54px,calc((100% - var(--max))/2));right:max(54px,calc((100% - var(--max))/2));top:44px;height:1px;background:rgba(247,243,232,.25)}.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:56px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-intro>p{max-width:34ch;color:#c8d7d3}.footer-brand .brand-name{transform:none;color:var(--cream)}.footer-label{margin:0 0 14px;color:#9db3af;font-size:12px;font-weight:760;letter-spacing:.14em;text-transform:uppercase}.footer-grid a{color:inherit;text-decoration:none}.footer-grid a:hover{text-decoration:underline}.footer-grid p{margin:0}.footer-cta{color:#efb34c!important;font-weight:760}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:68px;padding-top:22px;border-top:1px solid rgba(247,243,232,.2);color:#9db3af;font-size:13px}

.page-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(50px,8vw,130px);padding:110px max(54px,calc((100% - var(--max))/2)) 92px;background:var(--paper);border-bottom:1px solid var(--line)}.page-intro>.eyebrow{grid-column:1/-1;margin-bottom:-40px}.page-intro h1{font-size:clamp(52px,5.7vw,88px)}.page-intro>p:last-child{align-self:end;margin:0;color:var(--muted);font-size:18px;line-height:1.7}.services-page{padding-top:78px}

.booking-page{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(60px,8vw,130px);padding:100px max(54px,calc((100% - var(--max))/2));background:var(--paper)}.booking-copy{position:sticky;top:36px;align-self:start}.booking-copy h1{font-size:clamp(46px,4.8vw,74px)}.booking-copy>p:not(.eyebrow){max-width:49ch;margin:28px 0 42px;color:var(--muted);font-size:18px;line-height:1.7}.booking-notes{margin:0;border-top:1px solid var(--line)}.booking-notes>div{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.booking-notes dt{font-weight:760}.booking-notes dd{margin:0;color:var(--muted)}.booking-panel{min-width:0;background:var(--cream);border:1px solid var(--line);padding:42px}.booking-panel form{display:grid;gap:24px}.form-head{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);font-weight:760}.form-head b{color:var(--accent-text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-panel label{display:grid;gap:8px;font-weight:680}.booking-panel input,.booking-panel select{width:100%;min-height:52px;border:1px solid #9aa9a6;border-radius:0;background:var(--paper);color:var(--ink);padding:0 14px;font:inherit}.booking-panel input:focus,.booking-panel select:focus{border-color:var(--accent-text);outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:1px}.field-label{display:block;margin-bottom:8px;font-weight:680}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-grid button{min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:680}.slot-grid button[aria-pressed="true"]{background:var(--teal);color:var(--cream);border-color:var(--teal)}.slot-grid button:disabled{opacity:.45}.slot-note,.form-note,.booking-status{margin:8px 0 0;color:var(--muted);font-size:13px}.consent{grid-template-columns:22px 1fr!important;align-items:start;font-weight:400!important}.consent input{width:20px;min-height:20px;margin:2px 0}.booking-panel button[type="submit"]:disabled{opacity:.5;cursor:not-allowed}.booking-success{padding:54px 10px}.success-mark{display:grid;place-items:center;width:58px;height:58px;margin-bottom:28px;background:var(--teal);color:var(--cream);font-size:13px;font-weight:800;letter-spacing:.08em}.status-label{margin:0 0 18px;color:var(--accent-text);font-weight:760}.booking-success h2{margin:0 0 18px;font-family:var(--display);font-size:44px;line-height:1.1}.booking-success .btn{margin-top:24px}

.about-story{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(60px,8vw,130px);align-items:center;background:var(--cream)}.about-story figure{height:650px;margin:0;overflow:hidden}.about-story figure img{width:100%;height:100%;object-fit:cover}.about-story h2{font-size:clamp(42px,4.4vw,68px)}.about-story div>p:not(.eyebrow){margin:28px 0 0;color:var(--muted);font-size:18px;line-height:1.72}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding-top:1px;padding-bottom:1px;background:var(--line)}.values article{position:relative;min-height:300px;padding:64px 44px;background:var(--paper)}.values .signal{left:44px;top:47px;width:28px;height:2px}.values h3{margin:0 0 16px;font-family:var(--display);font-size:28px}.values p{margin:0;color:var(--muted);line-height:1.7}.team{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,8vw,130px);background:var(--teal-deep);color:var(--cream)}.team .eyebrow{color:#efb34c}.team-intro h2{font-size:clamp(44px,4.7vw,70px)}.team-list{border-top:1px solid rgba(247,243,232,.25)}.team-list article{display:grid;grid-template-columns:72px 1fr;gap:28px;padding:34px 0;border-bottom:1px solid rgba(247,243,232,.25)}.team-mark{display:grid;place-items:center;width:62px;height:62px;border:1px solid #efb34c;color:#efb34c;font-family:var(--display);font-weight:700}.team-list h3{margin:0 0 6px;font-family:var(--display);font-size:26px}.team-list p{margin:0;color:#b8cbc7}

.contact-page{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(60px,8vw,130px);padding:110px max(54px,calc((100% - var(--max))/2));background:var(--paper)}.contact-copy h1{font-size:clamp(50px,5.5vw,84px)}.contact-copy>p:not(.eyebrow){max-width:54ch;margin:28px 0 48px;color:var(--muted);font-size:18px}.contact-ledger{border-top:1px solid var(--line)}.contact-ledger>div{display:grid;grid-template-columns:130px 1fr;gap:26px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-ledger span{color:var(--muted);font-size:13px;font-weight:760;letter-spacing:.1em;text-transform:uppercase}.contact-ledger p,.contact-ledger a{margin:0;font-weight:640;text-decoration:none}.contact-card{align-self:start;padding:58px;background:var(--teal);color:var(--cream)}.contact-card .eyebrow{color:#efb34c}.contact-card h2{font-size:clamp(40px,4vw,60px)}.contact-card>p:not(.eyebrow){margin:26px 0;color:#c8d7d3;font-size:17px;line-height:1.7}.contact-card .btn{margin:8px 0 24px;background:var(--accent);color:var(--accent-on)}.contact-card .text-link{color:var(--cream)}.contact-page .sb-location-map--embedded{grid-column:1/-1;width:100%!important;margin:30px 0 0!important;padding-top:54px;border-top:1px solid var(--line)}.contact-page .sb-location-map__canvas{border-radius:0!important}

.toast{position:fixed;right:20px;bottom:20px;z-index:90;max-width:min(380px,calc(100% - 40px));padding:14px 18px;background:var(--teal-deep);color:var(--cream);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}.toast[data-show="true"]{opacity:1;transform:none}

@media(prefers-reduced-motion:no-preference){.coordinate-rule{animation:meridian-line .8s .15s cubic-bezier(.16,1,.3,1) both}.hero-media img{animation:meridian-reveal .8s cubic-bezier(.16,1,.3,1) both}@keyframes meridian-line{from{transform:scaleX(0);transform-origin:left}}@keyframes meridian-reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}}

@media(min-width:1280px) and (max-width:1504px){
  .hero{min-height:53.82vw}.hero-plan{height:20.07vw}.hero h1{left:3.59vw;top:4.45vw;width:58.47vw;font-size:4.85vw}.coordinate-rule{left:4.19vw;top:14.62vw;width:56.48vw}.hero-lede{left:3.99vw;top:16.28vw;max-width:43.19vw;font-size:1.4vw}.hero-actions{right:4.19vw;top:10.63vw;grid-template-columns:17.08vw 13.75vw;gap:1.93vw}.hero-actions .btn{min-height:68px}.hero-media{height:33.75vw}.story-opening{padding-top:44px}.story-opening .story-heading{padding-left:89px}
}

@media(max-width:1279px){
  .announcement{min-height:42px;height:auto;padding:10px 22px}.announcement p{font-size:14px;text-align:center}
  .header-inner{position:relative;width:calc(100% - 40px);height:84px;grid-template-columns:minmax(0,1fr) auto auto;gap:20px}.brand-name{font-size:25px;transform:none}.brand-logo{height:44px}
  .menu-toggle{display:grid;width:48px;height:48px;padding:12px;border:1px solid var(--line);background:transparent;color:var(--ink);place-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;background:currentColor}.menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .site-menu{display:none;position:absolute;left:0;right:0;top:84px;z-index:30;transform:none;grid-template-columns:1fr;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 34px rgba(7,48,50,.12)}.site-menu[data-open="true"]{display:grid}.site-menu a{padding:18px 22px;font-size:18px;border-bottom:1px solid var(--line)}.site-menu a:last-child{border-bottom:0}.site-menu a::after{bottom:11px;left:22px;width:28px;right:auto;transform:scaleX(0);transform-origin:left}.site-menu a:hover::after,.site-menu a[aria-current="page"]::after{transform:scaleX(1)}
  .language-switch{padding-left:0;border-left:0;transform:none}
  .hero{min-height:0}.hero-plan{height:auto;padding:64px 28px 46px;overflow:visible}.hero h1{position:relative;left:auto;top:auto;width:auto;max-width:940px;font-size:clamp(54px,8.2vw,74px);line-height:1.02;transform:none}.coordinate-rule{position:relative;left:auto;top:auto;display:block;width:min(100%,850px);margin:30px 0 20px}.hero-lede{position:relative;left:auto;top:auto;max-width:680px;font-size:20px}.hero-actions{position:relative;right:auto;top:auto;grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr);max-width:520px;margin-top:36px}.hero-media{height:520px}
  .section{padding:84px 28px}.story-opening{padding:55px 28px 88px;grid-template-columns:1fr 1.1fr;gap:54px}.story-opening .story-heading{padding-left:58px}.story-opening .story-heading>.eyebrow{margin-bottom:76px}.story-opening figure{height:550px;margin-top:112px}.story-opening::before,.story-opening::after{left:28px}
  .section-head{gap:44px}.service-photo{height:300px}.service-card-copy{padding:25px}.service-card h3{font-size:26px}.service-card-foot{align-items:flex-start;flex-direction:column}.service-card-foot a{text-align:left}
  .craft,.team{gap:60px}.process li{grid-template-columns:54px 1fr}.room-feature{min-height:620px}.room-feature figure{height:620px}.room-copy{padding:58px 42px}.visit{gap:58px}.visit>figure{height:480px}
  .quote-section{padding:110px 8vw}.closing{padding:80px 28px}.closing-with-media{padding:0}.closing-with-media>div{padding:70px 42px}.closing-with-media figure{height:520px}
  .site-footer{padding:78px 28px 26px}.footer-coordinate{left:28px;right:28px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:42px}.footer-grid>div:last-child{grid-column:2/4}.page-intro,.booking-page,.contact-page{padding-left:28px;padding-right:28px}.booking-page,.contact-page{gap:58px}.contact-card{padding:42px}
}

@media(max-width:760px){
  .header-inner{width:calc(100% - 32px);height:76px;gap:10px}.site-menu{top:76px}.brand-name{font-size:22px}.language-switch{font-size:13px;gap:5px}.menu-toggle{width:44px;height:44px}
  .hero-plan{padding:54px 20px 42px}.hero h1{font-size:clamp(45px,10vw,60px);line-height:1.04}.hero-lede{font-size:18px}.hero-actions{grid-template-columns:1fr 1fr;gap:12px;max-width:none}.hero-actions .btn{min-width:0;padding:14px}.hero-media{height:430px}
  .section{padding:70px 20px}.story-opening{padding:50px 20px 74px;grid-template-columns:1fr}.story-opening::before,.story-opening::after{left:20px}.story-opening .story-heading{padding-left:54px}.story-opening .story-heading>.eyebrow{margin-bottom:54px;font-size:30px}.story-opening h2{font-size:45px}.story-opening figure{height:430px;margin:20px 0 0}.story-opening .story-heading>p:not(.eyebrow){font-size:17px}
  .section-head{grid-template-columns:1fr;gap:20px;margin-bottom:44px}.section-head .eyebrow{grid-column:auto;margin-bottom:0}.section-head h2{font-size:45px}.section-head>p:last-child{font-size:16px}.service-list{grid-template-columns:1fr}.service-photo{height:380px}.service-card-copy>p:not(.service-meta){min-height:0}
  .craft,.team{grid-template-columns:1fr;gap:48px}.craft-title h2,.team-intro h2{font-size:46px}.process .section-head{margin-bottom:34px}.process ol{grid-template-columns:1fr}.process li,.process li+li{grid-template-columns:48px 1fr;padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.process li:last-child{border-bottom:0}.process li>b{font-size:34px}
  .room-feature{grid-template-columns:1fr;min-height:0}.room-feature figure{height:440px}.room-copy{padding:68px 20px}.room-copy h2,.visit-copy h2{font-size:46px}.visit{grid-template-columns:1fr;gap:42px}.visit>figure{height:420px}.visit .sb-location-map--embedded{margin-top:18px!important}.visit .sb-location-map__inner{grid-template-columns:1fr!important}
  .quote-section{padding:96px 20px 74px}.quote-coordinate{left:20px;right:20px;top:48px}.quote-section blockquote{font-size:42px}.closing{grid-template-columns:1fr;padding:70px 20px}.closing h2{font-size:47px}.closing-with-media{padding:0}.closing-with-media>div{padding:70px 20px}.closing-with-media figure{height:420px}
  .site-footer{padding:72px 20px 24px}.footer-coordinate{left:20px;right:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:42px 30px}.footer-intro{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;margin-top:48px}
  .page-intro{grid-template-columns:1fr;gap:28px;padding:72px 20px 60px}.page-intro>.eyebrow{grid-column:auto;margin-bottom:0}.page-intro h1{font-size:50px}.page-intro>p:last-child{font-size:16px}.services-page{padding-top:54px}
  .booking-page{grid-template-columns:1fr;gap:48px;padding:70px 20px}.booking-copy{position:static}.booking-copy h1{font-size:49px}.booking-panel{padding:28px}.booking-notes>div{grid-template-columns:110px 1fr}.contact-page{grid-template-columns:1fr;gap:48px;padding:72px 20px}.contact-copy h1{font-size:50px}.contact-card{padding:34px}.contact-page .sb-location-map--embedded{grid-template-columns:1fr!important}
  .about-story{grid-template-columns:1fr;gap:42px}.about-story figure{height:430px}.about-story h2{font-size:45px}.values{grid-template-columns:1fr}.values article{min-height:0}.team-list article{grid-template-columns:62px 1fr}
}

@media(max-width:440px){
  .announcement p{font-size:12px}.header-inner{width:calc(100% - 24px)}.brand-name{font-size:18px}.brand-logo{height:36px}.language-switch{font-size:12px}.menu-toggle{width:40px;height:40px;padding:9px}.site-menu{left:-4px;right:-4px}
  .hero-plan{padding:44px 16px 36px}.hero h1{font-size:42px}.hero-lede{font-size:17px}.hero-actions{grid-template-columns:1fr;gap:10px}.hero-actions .btn{width:100%}.hero-media{height:310px}.coordinate-rule{margin-top:24px}
  .story-opening{padding-left:16px;padding-right:16px}.story-opening::before,.story-opening::after{left:16px}.story-opening .story-heading{padding-left:46px}.story-opening .story-heading>.eyebrow{font-size:27px}.story-opening h2{font-size:39px}.story-opening figure{height:330px}.section{padding:62px 16px}.section-head h2,.craft-title h2,.team-intro h2,.room-copy h2,.visit-copy h2{font-size:40px}.service-photo{height:300px}.service-meta{align-items:flex-start;flex-direction:column;gap:5px}.service-card-copy{padding:22px}.craft-points article{padding-left:28px}.process h3{font-size:22px}.room-feature figure,.visit>figure,.closing-with-media figure,.about-story figure{height:330px}.room-copy{padding:62px 16px}.quote-section blockquote{font-size:36px}.closing,.closing-with-media>div{padding:62px 16px}.closing h2{font-size:40px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.page-intro,.booking-page,.contact-page{padding-left:16px;padding-right:16px}.page-intro h1,.booking-copy h1,.contact-copy h1{font-size:42px}.booking-panel{padding:20px}.form-row{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,1fr)}.booking-notes>div,.contact-ledger>div{grid-template-columns:1fr;gap:7px}.contact-card{padding:28px 22px}.contact-card h2{font-size:38px}.values article{padding:56px 28px}.values .signal{left:28px;top:39px}.team-list article{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-menu a::after,.btn{transition:none}}

/* The photographic plane remains part of the coordinate-led mobile hero. */
@media(max-width:760px){
  .hero{position:relative;isolation:isolate;min-height:730px;overflow:hidden;background:var(--teal-deep);color:var(--cream)}
  .hero-plan{position:relative;z-index:2;min-height:730px;padding:62px 20px 46px;display:flex;flex-direction:column;justify-content:flex-end;background:transparent}
  .hero h1,.hero-lede{color:var(--cream)}
  .coordinate-rule{background:rgba(247,243,232,.55)}
  .hero-actions .btn-secondary{border-color:rgba(247,243,232,.78);color:var(--cream)}
  .hero-media{position:absolute;z-index:0;inset:0;width:auto;height:auto;background:var(--teal-deep)}
  .hero-media::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,48,50,.08),rgba(7,48,50,.42) 54%,rgba(7,48,50,.86)),linear-gradient(90deg,rgba(7,48,50,.56),rgba(7,48,50,.08));content:"";pointer-events:none}
  .hero-media img{width:100%;height:100%;object-position:58% center;filter:saturate(.78)}
}

/* MBOA_INSPIRED_EDITORIAL_POLISH_V1: composition quality, Meridian identity. */
:root{--polish-shadow:rgba(7,48,50,.16)}
html,body{overflow-x:clip}
:is(.hero h1,.section-head h2,.craft-title h2,.room-copy h2,.visit-copy h2,.closing h2,.page-intro h1,.booking-copy h1,.contact-copy h1,.contact-card h2,.about-story h2,.team-intro h2){text-wrap:balance}
p{text-wrap:pretty}
.contact-page{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:clamp(40px,5vw,64px);align-items:start}
.contact-copy h1{max-width:none;font-size:clamp(3rem,5vw,4.15rem);text-wrap:balance}
.contact-card{border-radius:0;box-shadow:0 22px 54px var(--polish-shadow)}
:is(.btn,.header-book,.service-card){transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}
:is(a,button,input,select):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px var(--polish-shadow)}:is(.btn,.header-book):hover{transform:translateY(-2px)}:is(.btn,.header-book):active{transform:translateY(0)}}
@media(max-width:980px){.contact-page{grid-template-columns:1fr;gap:52px}.contact-card{width:min(100%,680px)}.craft{grid-template-columns:minmax(0,1fr)}.craft>*{min-width:0}}
@media(max-width:680px){.contact-copy h1{font-size:clamp(2.75rem,12vw,3.15rem)}.contact-page{gap:40px}}
@media(prefers-reduced-motion:reduce){:is(.btn,.header-book,.service-card){transition:none}}
/* MBOA_FULL_SITE_POLISH_V3 */
:root{--polish-radius:14px;--polish-radius-sm:8px;--polish-ease:cubic-bezier(.16,1,.3,1);--polish-shadow-soft:0 12px 34px rgba(7,48,50,.11);--polish-shadow-deep:0 26px 68px rgba(7,48,50,.19)}
:is(.service-card,.contact-card,.contact-actions,.booking-panel){border-radius:var(--polish-radius);box-shadow:var(--polish-shadow-soft);overflow:hidden;transition:transform .32s var(--polish-ease),box-shadow .32s ease}:is(.hero-media,.service-photo,.home-story figure,.about-story figure,.room-large,.visit-photo,.closing-media,.sb-location-map__canvas){border-radius:var(--polish-radius);overflow:hidden;box-shadow:var(--polish-shadow-soft)}:is(.hero-media,.service-photo,.home-story figure,.about-story figure,.room-large,.visit-photo,.closing-media) img{transition:transform .7s var(--polish-ease),filter .35s ease}:is(.btn,.header-book){border-radius:var(--polish-radius-sm);box-shadow:0 7px 18px rgba(7,48,50,.11);will-change:transform}.service-card-copy{padding:clamp(26px,3vw,40px)}:is(.hero-lede,.section-head>p,.home-story-copy>p,.room-copy>p,.visit-copy>p,.booking-copy>p,.contact-copy>p){max-width:62ch}:is(.booking-panel input,.booking-panel select){border-radius:var(--polish-radius-sm);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
@keyframes polishRevealV3{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}:is(.hero-copy,.page-intro>*,.contact-copy,.contact-card,.contact-actions,.booking-panel,.service-card){animation:polishRevealV3 .62s var(--polish-ease) backwards}.service-card:nth-child(2){animation-delay:.06s}.service-card:nth-child(3){animation-delay:.12s}@media(hover:hover) and (pointer:fine){:is(.service-card,.contact-card,.contact-actions,.booking-panel):hover{transform:translateY(-4px);box-shadow:var(--polish-shadow-deep)}:is(.service-card,.home-story,.about-story,.room-feature,.visit,.closing):hover img{transform:scale(1.025)}:is(.btn,.header-book):hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(7,48,50,.17)}:is(.btn,.header-book):active{transform:translateY(0) scale(.985)}}@media(max-width:680px){:is(.service-card,.contact-card,.contact-actions,.booking-panel,.hero-media,.service-photo,.home-story figure,.about-story figure,.room-large,.visit-photo,.closing-media,.sb-location-map__canvas){box-shadow:0 10px 28px rgba(7,48,50,.10)}}@media(prefers-reduced-motion:reduce){:is(.hero-copy,.page-intro>*,.contact-copy,.contact-card,.contact-actions,.booking-panel,.service-card){animation:none}:is(.service-card,.contact-card,.contact-actions,.booking-panel,.hero-media img,.service-photo img,.home-story img,.about-story img,.room-large img,.visit-photo img,.closing-media img){transition:none!important;transform:none!important}}

/* PROFESSIONAL_RHYTHM_AND_READING_V4 */
:root{--space-section:clamp(64px,6.25vw,80px);--space-editorial:clamp(76px,7.5vw,96px);--space-compact:clamp(48px,5vw,64px)}
:is(.home-story.section,.services-preview.section,.craft.section,.process.section,.visit.section,.team.section,.values.section,.about-story.section,.services-page,.booking-page,.contact-page){padding-block:var(--space-section)}:is(.quote-section,.quote){padding-block:var(--space-editorial)}body :is(.closing-with-media,.page-intro){padding-block:var(--space-compact)}:is(.home-story,.craft,.room-feature,.visit,.closing-with-media,.about-story,.team,.section-head,.page-intro,.booking-copy,.contact-copy) :is(h1,h2){max-width:none;text-wrap:balance}:is(.home-story,.about-story,.craft,.room-feature,.visit,.closing-with-media,.booking-grid,.contact-grid){column-gap:clamp(32px,5vw,64px)}:is(.booking-copy,.contact-copy) h1{font-size:clamp(42px,4.5vw,60px);line-height:1.02}
@media(max-width:680px){:root{--space-section:56px;--space-editorial:68px;--space-compact:48px}:is(.home-story.section,.services-preview.section,.craft.section,.process.section,.visit.section,.team.section,.values.section,.about-story.section,.services-page,.booking-page,.contact-page){padding-block:var(--space-section)}:is(.quote-section,.quote){padding-block:var(--space-editorial)}body :is(.closing-with-media,.page-intro){padding-block:var(--space-compact)}:is(.booking-copy,.contact-copy) h1{font-size:clamp(36px,11vw,44px)}}

/* MERIDIAN_SERVICE_CARD_SPACING_V5
   Four services form a balanced 2 x 2 field with intentional breathing room. */
.service-list {
  gap: clamp(20px, 2.4vw, 32px);
  background: transparent;
  border: 0;
}

.services-page .service-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media(max-width:760px) {
  .service-list,
  .services-page .service-list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* MERIDIAN_CLOSING_SPACE_BALANCE_V6
   Keep the final action close to the message instead of pinning it to the far edge. */
.closing:not(.closing-with-media) {
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
  gap: clamp(40px, 6vw, 90px);
}

.closing:not(.closing-with-media) > .btn {
  justify-self: start;
}

@media(max-width:760px) {
  .closing:not(.closing-with-media) {
    grid-template-columns: 1fr;
    gap: 44px;
  }
}

/* MERIDIAN_EDITORIAL_SPACE_SYSTEM_V7
   Give long editorial headings usable measure, stack complex layouts earlier,
   and treat photography as intentionally framed content. */
:root {
  --meridian-image-radius: 18px;
}

:is(.story-opening > figure, .room-feature > figure, .visit > figure, .about-story > figure, .closing-with-media > figure) {
  border-radius: var(--meridian-image-radius);
  overflow: hidden;
}

.page-intro {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
  gap: clamp(40px, 5vw, 72px);
}

.page-intro h1 {
  max-width: none;
  font-size: clamp(46px, 4.4vw, 56px);
}

.contact-copy h1 {
  font-size: clamp(48px, 4.3vw, 54px);
}

.contact-card h2 {
  font-size: clamp(36px, 3.2vw, 40px);
}

.closing:not(.closing-with-media) h2 {
  font-size: clamp(42px, 4.2vw, 64px);
}

@media(min-width:1101px) {
  .story-opening {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(52px, 5vw, 72px);
  }

  .story-opening .story-heading {
    padding-left: 64px;
  }

  .story-opening h2 {
    font-size: clamp(42px, 3.7vw, 50px);
  }

  .section-head {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, .55fr);
    gap: clamp(40px, 5vw, 72px);
  }

  .section-head h2 {
    font-size: clamp(44px, 4.2vw, 64px);
  }

  .craft {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: clamp(48px, 5vw, 72px);
  }

  .craft-title h2 {
    font-size: clamp(42px, 3.9vw, 50px);
  }

  .room-feature {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(48px, 5vw, 72px);
    min-height: 0;
    padding: 72px max(54px, calc((100% - var(--max))/2));
  }

  .room-feature > figure {
    height: 560px;
  }

  .room-copy {
    padding: 0;
  }

  .room-copy h2 {
    font-size: clamp(42px, 3.6vw, 46px);
  }

  .visit {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(48px, 5vw, 72px);
  }

  .visit-copy h2 {
    font-size: clamp(42px, 3.8vw, 52px);
  }

  .closing-with-media {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(48px, 6vw, 76px);
    padding: 72px max(54px, calc((100% - var(--max))/2));
  }

  .closing-with-media > div {
    padding: 0;
  }

  .closing-with-media h2 {
    font-size: clamp(44px, 3.9vw, 50px);
  }

  .closing-with-media > figure {
    height: 520px;
  }

  .booking-page {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: clamp(48px, 5vw, 72px);
  }

  .booking-copy h1 {
    font-size: clamp(42px, 3.45vw, 44px);
  }

  .about-story {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(48px, 5vw, 72px);
  }

  .about-story h2 {
    font-size: clamp(44px, 4vw, 52px);
  }

  .team {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(48px, 5vw, 72px);
  }

  .team-intro h2 {
    font-size: clamp(44px, 4.15vw, 56px);
  }
}

@media(max-width:1100px) {
  :is(.craft, .room-feature, .visit, .closing-with-media, .about-story, .booking-page, .contact-page, .team) {
    grid-template-columns: 1fr;
  }

  :is(.room-feature, .closing-with-media) {
    min-height: 0;
    gap: 48px;
    padding: 64px 28px;
  }

  :is(.room-copy, .closing-with-media > div) {
    padding: 0;
  }

  :is(.room-feature > figure, .visit > figure, .closing-with-media > figure, .about-story > figure) {
    height: 480px;
  }

  .booking-copy {
    position: static;
  }
}

@media(max-width:760px) {
  :is(.room-feature, .closing-with-media) {
    gap: 36px;
    padding: 56px 20px;
  }

  :is(.room-feature > figure, .visit > figure, .closing-with-media > figure, .about-story > figure) {
    height: 360px;
  }
}

/* MERIDIAN_CENTERED_RAIL_AND_VERTICAL_ALIGNMENT_V8
   One horizontal rail keeps the header, sections and footer optically centered.
   Desktop copy/media pairs use intentional vertical centering. */
:root {
  --meridian-rail: max(54px, calc((100% - var(--max)) / 2))
}

.header-inner {
  width: min(var(--max), calc(100% - (2 * var(--meridian-rail))));
  margin-inline: auto
}

:is(.story-opening, .section, .room-feature, .closing, .page-intro, .booking-page, .contact-page, .site-footer) {
  padding-inline: var(--meridian-rail)
}

.footer-coordinate {
  left: var(--meridian-rail);
  right: var(--meridian-rail)
}

@media(min-width:981px) {
  :is(.hero h1, .coordinate-rule, .hero-lede) {
    left: var(--meridian-rail)
  }

  .hero-actions {
    right: var(--meridian-rail)
  }
}

@media(min-width:1101px) {
  .story-opening {
    align-items: center
  }

  .story-opening .story-heading {
    padding-left: 0
  }

  .story-opening > figure {
    margin: 0
  }

  .story-opening::before,
  .story-opening::after {
    display: none
  }

  :is(.craft, .visit, .about-story, .closing-with-media) {
    align-items: center
  }

  .visit-copy {
    padding-top: 0
  }
}

@media(max-width:1100px) {
  :root {
    --meridian-rail: 28px
  }
}

@media(max-width:760px) {
  :root {
    --meridian-rail: 20px
  }
}

@media(max-width:440px) {
  :root {
    --meridian-rail: 16px
  }
}

/* MERIDIAN_NAVBAR_BOOKING_CTA_V9
   A single bilingual booking action lives in the primary navigation on every page. */
@media(min-width:1280px) {
  .site-menu {
    gap: clamp(28px, 3vw, 48px);
    transform: none
  }

  .site-menu .header-book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    background: var(--accent);
    border: 1px solid var(--accent);
    color: var(--accent-on);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap
  }

  .site-menu .header-book::after {
    display: none
  }

  .site-menu .header-book:hover {
    background: var(--teal);
    border-color: var(--teal);
    color: var(--cream)
  }
}

@media(max-width:1279px) {
  .site-menu .header-book {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 56px;
    padding: 18px 22px;
    background: var(--accent);
    border: 0;
    border-radius: 0;
    color: var(--accent-on);
    box-shadow: none
  }

  .site-menu .header-book::after {
    display: none
  }
}
/* Published pages are one language, so the header grid has no EN / FR column. */
.header-inner.header-inner--one-language{grid-template-columns:minmax(260px,1fr) auto}
@media(max-width:1279px){.header-inner.header-inner--one-language{grid-template-columns:minmax(0,1fr) auto}}
