@font-face{font-family:"Palm Archivo";src:url("assets/fonts/archivo-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Palm Barlow";src:url("assets/fonts/barlow-600.woff2") format("woff2");font-weight:600;font-display:swap}
:root{--pc-paper:#f4f0e8;--pc-paper-bright:#fbfaf6;--pc-ink:#14251f;--pc-muted:#52625b;--pc-line:rgba(20,37,31,.18);--pc-forest:#173f35;--pc-forest-on:#fff;--pc-accent:#e86f57;--pc-accent-on:#14251f;--pc-accent-text:#a53d2d;--pc-radius:14px;--pc-shadow:0 24px 70px rgba(var(--pc-forest-rgb,22,63,53),.14);--pc-max:1260px;--pc-gutter:clamp(18px,4vw,54px);--pc-section:clamp(74px,9vw,132px);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--pc-paper)}
body{margin:0;background:var(--pc-paper);color:var(--pc-ink);font-family:"Palm Archivo","Arial Narrow",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--pc-accent);color:var(--pc-accent-on)}
::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--pc-paper)}::-webkit-scrollbar-thumb{background:var(--pc-forest);border:3px solid var(--pc-paper);border-radius:999px}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button:active,.button:active{transform:translateY(1px)}
:focus-visible{outline:3px solid var(--pc-accent);outline-offset:4px}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:"Palm Barlow","Arial Narrow",Arial,sans-serif;font-weight:600;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(3.25rem,7vw,5.9rem)}
h2{font-size:clamp(2.4rem,5vw,4.65rem)}
h3{font-size:clamp(1.35rem,2.4vw,2rem)}
p{max-width:70ch}
.skip-link{position:fixed;left:12px;top:12px;z-index:100;transform:translateY(-170%);background:var(--pc-paper-bright);padding:10px 15px;border-radius:10px;font-weight:800}
.skip-link:focus{transform:none}
.announcement{min-height:42px;padding:8px var(--pc-gutter);display:flex;align-items:center;justify-content:center;gap:24px;background:var(--pc-forest);color:var(--pc-forest-on);font-size:.82rem;font-weight:650}
.announcement p{margin:0;max-width:none}.announcement a{font-weight:850;text-decoration-color:var(--pc-accent)}
.site-header{position:relative;z-index:20;background:var(--pc-paper-bright);border-bottom:1px solid var(--pc-line)}
.nav-shell{height:76px;width:min(var(--pc-max),calc(100% - 2 * var(--pc-gutter)));margin:0 auto;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;min-width:0;width:max-content}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--pc-forest);border-radius:50%;background:var(--pc-paper);font-family:"Palm Barlow",sans-serif;font-size:.82rem;letter-spacing:.04em}
.brand-copy{display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand-copy strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.brand-copy small{font-size:.69rem;color:var(--pc-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:5px}
.brand-logo{max-width:190px;height:52px;object-fit:contain;object-position:left center}
.site-menu{display:flex;align-items:center;justify-content:center;gap:clamp(17px,2vw,31px);white-space:nowrap}
.site-menu>a{position:relative;text-decoration:none;font-size:.91rem;font-weight:700;padding:8px 0}
.site-menu>a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--pc-accent);transition:right .25s 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:6px;margin-left:5px}.language-switch button{border:0;background:none;padding:6px 2px;cursor:pointer;font-weight:750;color:var(--pc-muted)}.language-switch button[aria-pressed="true"]{color:var(--pc-accent-text);text-decoration:underline;text-underline-offset:4px}
.header-book,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-weight:820;line-height:1.1;white-space:nowrap;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s,color .2s,border-color .2s}
.header-book{justify-self:end;background:var(--pc-forest);color:var(--pc-forest-on)}
.header-book:hover{background:var(--pc-accent);color:var(--pc-accent-on)}
.button-primary{background:var(--pc-accent);color:var(--pc-accent-on)}.button-primary:hover{background:var(--pc-forest);color:var(--pc-forest-on)}
.button-light{background:rgba(251,250,246,.92);color:var(--pc-ink);border-color:rgba(255,255,255,.72);backdrop-filter:blur(8px)}.button-light:hover{background:var(--pc-paper-bright)}
.menu-toggle{display:none}
.section-shell{width:min(var(--pc-max),calc(100% - 2 * var(--pc-gutter)));margin:0 auto;padding-block:var(--pc-section)}
.hero{position:relative;isolation:isolate;min-height:min(760px,calc(100dvh - 118px));display:flex;align-items:flex-end;overflow:hidden;background:var(--pc-forest)}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 48%;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(var(--pc-shade-rgb,10,37,30),.9) 0%,rgba(var(--pc-shade-rgb,10,37,30),.64) 38%,rgba(var(--pc-shade-rgb,10,37,30),.08) 73%),linear-gradient(0deg,rgba(var(--pc-shade-rgb,10,37,30),.36),transparent 45%)}
.hero-copy{width:min(680px,calc(100% - 2 * var(--pc-gutter)));margin-left:max(var(--pc-gutter),calc((100% - var(--pc-max))/2));padding:clamp(42px,7vw,88px) 0;color:#fff}
.hero-copy h1{font-size:clamp(3.5rem,7.1vw,6rem);max-width:9ch;margin-bottom:20px;line-height:.95}.hero-copy p{font-size:clamp(1.04rem,1.6vw,1.23rem);max-width:39ch;margin-bottom:30px;color:rgba(255,255,255,.89)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.story{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.72fr);gap:clamp(46px,9vw,132px);align-items:start}
.story h2{max-width:11ch;margin:0}.story-copy{padding-top:clamp(10px,3vw,36px)}.story-copy p{font-size:clamp(1rem,1.4vw,1.18rem);color:var(--pc-muted)}
.text-link{display:inline-block;font-weight:850;color:var(--pc-accent-text);text-decoration-thickness:2px;margin-top:12px}
.popular{padding-top:0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:clamp(34px,5vw,58px)}.section-title h2{margin:0;max-width:14ch}.section-title>a{font-weight:820;color:var(--pc-accent-text);white-space:nowrap}
.room-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}.room-card{background:var(--pc-paper-bright);border-radius:var(--pc-radius);overflow:hidden;box-shadow:var(--pc-shadow)}.room-card:not(.room-card-featured){display:grid;grid-template-columns:42% 58%;box-shadow:none;border:1px solid var(--pc-line);margin-bottom:24px}.room-card-featured{grid-row:span 2}.room-photo{min-height:220px;overflow:hidden;background:#d7ded7}.room-card-featured .room-photo{height:420px}.room-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.room-card:hover .room-photo img{transform:scale(1.025)}
.room-photo-fallback{display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--pc-forest) 88%,#fff),color-mix(in srgb,var(--pc-forest) 62%,var(--pc-paper)));color:var(--pc-forest-on)}.room-photo-fallback span{font-family:"Palm Barlow",sans-serif;font-size:clamp(5rem,10vw,10rem);line-height:1;opacity:.18}
.room-card-body{padding:clamp(22px,3vw,34px)}.room-card-body h3{margin-bottom:12px}.room-card-body>p{color:var(--pc-muted);margin-bottom:15px}.room-price{display:flex;align-items:baseline;gap:8px;margin-bottom:20px;color:var(--pc-accent-text)}.room-price strong{font-size:1.16rem;font-variant-numeric:tabular-nums}.room-price span{font-size:.8rem;color:var(--pc-muted)}.room-guests{font-weight:700}.amenity-list{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:18px 0;gap:8px}.amenity-list li{padding:5px 10px;border:1px solid var(--pc-line);border-radius:999px;font-size:.78rem}.room-actions{display:flex;gap:16px;flex-wrap:wrap}.room-actions a{font-size:.88rem;font-weight:820;color:var(--pc-accent-text)}
.craft{width:min(1390px,calc(100% - 2 * clamp(10px,2vw,28px)));margin:0 auto var(--pc-section);padding:clamp(45px,7vw,94px);border-radius:var(--pc-radius);background:var(--pc-forest);color:var(--pc-forest-on);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.6fr);gap:clamp(52px,10vw,150px);align-items:end}.craft-panel h2{max-width:11ch}.craft-panel p{max-width:44ch;color:color-mix(in srgb,var(--pc-forest-on) 80%,transparent);font-size:1.08rem}.craft-list p{max-width:none;margin:0;padding:18px 0;border-bottom:1px solid color-mix(in srgb,var(--pc-forest-on) 22%,transparent);font-size:1.15rem;font-weight:720}.craft-list p:last-child{border-bottom:0}
.booking-steps>h2{max-width:12ch;margin-bottom:50px}.booking-steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1.15fr .85fr;gap:1px;background:var(--pc-line);border:1px solid var(--pc-line);border-radius:var(--pc-radius);overflow:hidden}.booking-steps li{background:var(--pc-paper-bright);padding:clamp(26px,4vw,48px)}.booking-steps li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pc-accent);color:var(--pc-accent-on);font-weight:850;margin-bottom:56px}.booking-steps h3{margin-bottom:13px}.booking-steps p{color:var(--pc-muted);margin-bottom:0}
.experience{display:grid;grid-template-columns:1.14fr .86fr;min-height:620px;background:var(--pc-paper-bright)}.experience-space{position:relative;overflow:hidden;background:var(--pc-accent)}.experience-space::before,.experience-space::after,.experience-orbit{content:"";position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--pc-accent-on) 38%,transparent)}.experience-space::before{width:64%;aspect-ratio:1;left:10%;top:12%}.experience-space::after{width:30%;aspect-ratio:1;right:8%;bottom:9%}.experience-orbit{width:110%;aspect-ratio:1;left:-45%;top:-62%;border-width:38px;border-color:color-mix(in srgb,var(--pc-forest) 42%,transparent)}.experience-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,8vw,110px)}.experience-copy h2{max-width:12ch}.experience-copy p{color:var(--pc-muted);font-size:1.08rem}
.visit{display:grid;grid-template-columns:1fr .7fr;gap:clamp(42px,9vw,130px);padding-bottom:36px}.visit h2{max-width:13ch}.visit>div>p{color:var(--pc-muted)}.visit-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:17px}.visit-actions a{font-weight:820;color:var(--pc-accent-text)}
.sb-location-map--embedded{grid-column:1/-1!important;width:100%!important;margin-top:28px!important}.sb-location-map__inner{width:100%!important}.sb-location-map__canvas{border-radius:var(--pc-radius)!important}.visit>.sb-location-map__canvas{grid-column:1/-1}
.quote-section{padding:clamp(90px,12vw,170px) var(--pc-gutter);text-align:center;background:color-mix(in srgb,var(--pc-accent) 17%,var(--pc-paper))}.quote-section blockquote{margin:0 auto 22px;max-width:21ch;font-family:"Palm Barlow",sans-serif;font-size:clamp(2.3rem,5vw,4.8rem);letter-spacing:-.035em;line-height:1.04}.quote-section p{margin:0 auto;color:var(--pc-muted);font-weight:700}
.closing{display:flex;align-items:center;justify-content:space-between;gap:44px}.closing h2{max-width:12ch;margin-bottom:14px}.closing p{color:var(--pc-muted)}
.site-footer{background:var(--pc-paper-bright);border-top:1px solid var(--pc-line)}.footer-main{width:min(var(--pc-max),calc(100% - 2 * var(--pc-gutter)));margin:0 auto;padding:70px 0;display:grid;grid-template-columns:1.3fr .65fr .9fr .85fr;gap:clamp(30px,5vw,70px)}.footer-main h2{font-family:"Palm Archivo",sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:21px}.footer-main>div:not(.footer-intro){display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-main a{font-weight:700}.footer-intro>p{color:var(--pc-muted);max-width:28ch;margin:22px 0 0}.footer-book{color:var(--pc-accent-text)}.footer-bottom{border-top:1px solid var(--pc-line);padding:18px var(--pc-gutter);display:flex;justify-content:space-between;gap:20px;color:var(--pc-muted);font-size:.78rem}
.page-intro{width:min(var(--pc-max),calc(100% - 2 * var(--pc-gutter)));margin:0 auto;min-height:490px;padding:clamp(72px,10vw,132px) 0;display:flex;align-items:end;justify-content:space-between;gap:50px}.page-intro h1{max-width:11ch;margin-bottom:24px}.page-intro p{color:var(--pc-muted);font-size:clamp(1rem,1.5vw,1.18rem);max-width:52ch;margin-bottom:0}.rooms-catalogue{padding-top:0}.room-grid-catalogue{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.room-grid-catalogue .room-card,.room-grid-catalogue .room-card:not(.room-card-featured){display:block;margin:0;box-shadow:none;border:1px solid var(--pc-line)}.room-grid-catalogue .room-card:nth-child(3n+1){grid-column:span 2;display:grid;grid-template-columns:1.15fr .85fr}.room-grid-catalogue .room-card:nth-child(3n+1) .room-photo{height:100%;min-height:420px}.empty-state{padding:46px;border:1px solid var(--pc-line);border-radius:var(--pc-radius);background:var(--pc-paper-bright)}
.about-intro,.contact-intro,.book-intro{min-height:430px}.about-intro>div,.contact-intro>div,.book-intro>div{display:grid;grid-template-columns:1.1fr .75fr;gap:clamp(42px,8vw,110px);align-items:end;width:100%}.about-intro h1,.contact-intro h1,.book-intro h1{margin:0}.about-grid{padding-top:0;display:grid;grid-template-columns:1.18fr .82fr;gap:24px}.about-grid article{padding:clamp(28px,5vw,58px);border-radius:var(--pc-radius);background:var(--pc-paper-bright);border:1px solid var(--pc-line)}.about-grid article:first-child{grid-row:span 2;background:var(--pc-forest);color:var(--pc-forest-on);display:flex;flex-direction:column;justify-content:flex-end;min-height:500px}.about-grid article p{color:inherit;opacity:.78}.about-close{display:flex;align-items:center;justify-content:space-between;gap:30px}.about-close h2{margin:0;max-width:14ch}
.contact-grid{padding-top:0;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(34px,7vw,96px);align-items:start}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:42px;border-radius:var(--pc-radius);background:var(--pc-forest);color:var(--pc-forest-on)}.contact-details h2{font-size:2.4rem}.contact-details p{margin:0;color:color-mix(in srgb,var(--pc-forest-on) 80%,transparent)}.contact-details a{font-weight:780}.contact-form,.booking-form{padding:clamp(28px,5vw,58px);border-radius:var(--pc-radius);background:var(--pc-paper-bright);box-shadow:var(--pc-shadow)}
label{display:flex;flex-direction:column;gap:8px;font-weight:750;font-size:.9rem;margin-bottom:20px}input,select,textarea{width:100%;min-height:50px;border:1px solid color-mix(in srgb,var(--pc-ink) 35%,transparent);border-radius:10px;background:#fff;color:var(--pc-ink);padding:11px 13px}textarea{resize:vertical}.form-status,.booking-status,.availability-status{min-height:1.5em;margin:16px 0 0;font-weight:700;color:var(--pc-accent-text)}
.contact-grid>.sb-location-map--embedded{grid-column:1/-1}.contact-grid>.sb-location-map__inner{grid-column:1/-1}
.booking-layout{padding-top:0;display:grid;grid-template-columns:1.28fr .55fr;gap:clamp(28px,5vw,64px);align-items:start}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.form-step h2,.booking-summary h2,.booking-help h2{font-size:2rem}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-summary{grid-column:1/-1;padding:24px;border-radius:12px;background:color-mix(in srgb,var(--pc-accent) 14%,var(--pc-paper));font-variant-numeric:tabular-nums}.booking-summary p{margin:0}.booking-submit,.booking-status{grid-column:1/-1}.booking-help{position:static;padding:34px;border-radius:var(--pc-radius);background:var(--pc-forest);color:var(--pc-forest-on)}.booking-help p{color:color-mix(in srgb,var(--pc-forest-on) 78%,transparent)}.booking-help a{font-weight:820;text-decoration-color:var(--pc-accent)}
@media (prefers-reduced-motion:no-preference){.hero-copy{animation:pc-arrive .85s cubic-bezier(.16,1,.3,1) both}.hero-image{animation:pc-image 1.1s cubic-bezier(.16,1,.3,1) both}@keyframes pc-arrive{from{opacity:.01;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes pc-image{from{filter:saturate(.7);transform:scale(1.035)}to{filter:none;transform:none}}}
@media (max-width:1020px){.room-card:not(.room-card-featured){display:block}.craft{grid-template-columns:1fr}.booking-steps ol{grid-template-columns:1fr 1fr}.booking-steps li:last-child{grid-column:1/-1}.experience{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1.2fr .8fr 1fr}.footer-main>div:last-child{grid-column:2/-1}.page-intro{min-height:420px}.booking-layout{grid-template-columns:1fr}.booking-help{position:static}.sb-location-map__inner{grid-template-columns:1fr!important}}
@media (max-width: 767px) {
  .nav-shell{grid-template-columns:1fr auto}
  .site-menu{position:absolute;left:0;right:0;top:100%;padding:22px var(--pc-gutter);background:var(--pc-paper-bright);border-bottom:1px solid var(--pc-line);display:none;flex-direction:column;align-items:stretch;gap:3px}
  .site-menu[data-open="true"]{display:flex}
  .site-menu>a{padding:12px 0}
  .language-switch{padding:11px 0}
  .header-book{margin-left:auto}
  .menu-toggle{display:flex;grid-column:2;grid-row:1;align-items:center;gap:5px;border:0;background:transparent;padding:10px;cursor:pointer}
  .menu-toggle span{display:block;width:18px;height:2px;background:var(--pc-ink)}
  .menu-toggle span:nth-child(2){width:12px}
  .menu-toggle span:nth-child(3){width:6px}
  .menu-toggle b{margin-left:6px;font-size:.78rem}
  .header-book{display:none}
}
@media (max-width:740px){:root{--pc-gutter:16px;--pc-section:76px}.announcement{min-height:36px;padding:7px 12px;gap:12px;font-size:.68rem}.announcement p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-shell{height:70px;width:calc(100% - 32px)}.brand-mark{width:38px;height:38px}.brand-copy strong{max-width:150px}.brand-copy small{font-size:.61rem}.hero{min-height:calc(100dvh - 106px);align-items:flex-end}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(var(--pc-shade-rgb,10,37,30),.92) 0%,rgba(var(--pc-shade-rgb,10,37,30),.62) 48%,rgba(var(--pc-shade-rgb,10,37,30),.08) 86%)}.hero-copy{width:calc(100% - 32px);margin:0 auto;padding:34px 0}.hero-copy h1{font-size:clamp(3rem,13.5vw,4.45rem);max-width:8.5ch;margin-bottom:13px}.hero-copy p{font-size:.98rem;line-height:1.45;margin-bottom:20px;max-width:31ch}.hero-actions{gap:9px}.hero-actions .button{flex:1;padding-inline:14px;font-size:.88rem}.story,.visit{grid-template-columns:1fr;gap:30px}.story h2,.visit h2{max-width:none}.room-grid{grid-template-columns:1fr}.room-card-featured .room-photo{height:310px}.room-card:not(.room-card-featured){display:grid;grid-template-columns:38% 62%}.room-card:not(.room-card-featured) .room-photo{min-height:100%}.room-card:not(.room-card-featured) .room-card-body{padding:18px}.room-card:not(.room-card-featured) .room-card-body>p,.room-card:not(.room-card-featured) .amenity-list,.room-card:not(.room-card-featured) .room-actions a:last-child{display:none}.section-title{display:block}.section-title>a{display:inline-block;margin-top:13px}.craft{width:100%;border-radius:0;margin-bottom:0;padding:var(--pc-section) var(--pc-gutter)}.craft-panel h2{max-width:none}.booking-steps ol{grid-template-columns:1fr}.booking-steps li:last-child{grid-column:auto}.booking-steps li>span{margin-bottom:30px}.experience{grid-template-columns:1fr;min-height:0}.experience-space{min-height:330px}.experience-copy{padding:var(--pc-section) var(--pc-gutter)}.experience-copy h2{max-width:none}.quote-section blockquote{max-width:18ch}.closing,.about-close{display:block}.closing .button,.about-close .button{margin-top:20px}.footer-main{grid-template-columns:1fr 1fr;padding:54px 0}.footer-intro{grid-column:1/-1}.footer-main>div:last-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin:4px 0}.page-intro{min-height:380px;display:block;padding:74px 0}.page-intro .button{margin-top:30px}.page-intro h1{font-size:clamp(3rem,13vw,4.5rem);max-width:9ch}.room-grid-catalogue{grid-template-columns:1fr}.room-grid-catalogue .room-card:nth-child(3n+1){grid-column:auto;display:block}.room-grid-catalogue .room-card:nth-child(3n+1) .room-photo{min-height:310px;height:310px}.about-intro>div,.contact-intro>div,.book-intro>div{grid-template-columns:1fr;gap:24px}.about-grid{grid-template-columns:1fr}.about-grid article:first-child{grid-row:auto;min-height:380px}.contact-grid{grid-template-columns:1fr}.contact-details{padding:30px}.booking-form{grid-template-columns:1fr;padding:24px}.form-step,.booking-summary,.booking-submit,.booking-status{grid-column:1}.field-pair{grid-template-columns:1fr}.booking-help{padding:28px}.sb-location-map--embedded{margin-top:24px!important}}
@media (max-width:430px){.room-card:not(.room-card-featured){grid-template-columns:34% 66%}.room-card:not(.room-card-featured) .room-price{display:block}.room-card:not(.room-card-featured) .room-price span{display:block}.room-actions{gap:10px}.footer-main{grid-template-columns:1fr}.footer-main>div:last-child{grid-column:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-image{transform:none!important}}

/* On phones: a booking field below 16px makes a phone zoom in; a finger needs 40px to tap a room or a service. */
@media (max-width:760px),(pointer:coarse){:is([data-booking-form],[data-stay-form],[data-appointment-form]) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}.room-actions a[href*="room="]{display:inline-flex;align-items:center;min-height:40px}}

/* Item photos keep their shape (2026-09-26): a room's photo is never
   stretched to the height of a tall card; the words fill the rest. */
:root body .room-card:not(.room-card-featured) .room-photo{align-self:start;aspect-ratio:1;min-height:0}

/* Wide screens (Tumi 2026-09-26: "most hero images are cropped"): the
   photograph's focus sits toward its upper part so heads and faces stay in
   the frame, and on a very wide screen the hero grows with the width. */
@media(min-width:741px){:root body .hero-image{object-position:center 22%}}
@media(min-width:1600px){:root body .hero{min-height:max(min(760px,calc(100dvh - 118px)),38vw)}}

/* Headings spread out (2026-09-26): a heading takes the room its words need on a
   laptop, and the whole width on a phone - no towers of one or two words a line. */
@media(min-width:761px){:root body :is(.story h2,.section-title h2,.craft-panel h2,.booking-steps>h2,.experience-copy h2,.visit h2,.closing h2,.page-intro h1,.about-close h2){max-width:22ch}}
@media(min-width:761px){:root body :is(.quote-section blockquote){max-width:26ch}}
@media(max-width:760px){:root body :is(.story h2,.section-title h2,.craft-panel h2,.booking-steps>h2,.experience-copy h2,.visit h2,.closing h2,.page-intro h1,.about-close h2,.quote-section blockquote){max-width:none}}

/* The engines' bands wear the design's colours, and so the business's
   (2026-09-26): the shared engines.css paints with these names. */
:root{--primary:var(--pc-accent);--on-primary:var(--pc-accent-on);--primary-text:var(--pc-accent-text)}

/* >>> standard 2026-09-25 */
/* The finished sites' standard (goal 2026-09-25): sections at most 68px a
   side (40px on a phone), the engines' bands a little tighter, the menu on
   one row, a long footer page list in two columns. */
:root body .section{padding-top:clamp(40px,5vw,68px);padding-bottom:clamp(40px,5vw,68px)}
:root body .section.eng-sec{padding-top:clamp(36px,4vw,52px);padding-bottom:clamp(36px,4vw,52px)}
:root body .section > :first-child{margin-top:0}
:root body .section > :last-child{margin-bottom:0}
:root body .eng-sec .eng-head{margin-top:0}
@media(max-width:760px){:root body .section{padding-top:40px;padding-bottom:40px}}
:root body :is(.section h2,.section-head h2){max-width:none}
:root body .eng-page-intro{min-height:0;padding-top:clamp(40px,6vw,84px);padding-bottom:clamp(28px,4vw,48px)}
@media(min-width:1025px){
  :root body header nav{flex-wrap:nowrap}
  :root body header nav > a{flex-shrink:0;white-space:nowrap}
  :root body header nav:has(> a:nth-child(8)) > a{font-size:13px;letter-spacing:.01em}
}
:root body .site-footer :is(div,nav):has(> a:nth-of-type(7)){display:grid;grid-template-columns:repeat(2,minmax(0,max-content));column-gap:28px;align-content:start}
:root body .site-footer :is(div,nav):has(> a:nth-of-type(7)) > :is(h2,h3,p,b,strong){grid-column:1/-1}
/* The editors: every photograph keeps its frame inside the editor's wrapper. */
:root body :is(figure,.eng-card__photo) > [data-paurtal-img-wrap]{display:block !important;width:100%;height:100%}
/* The engines' bands keep the page's side margins in every design. */
:root body .eng-sec > .eng-wrap{width:min(1240px,calc(100% - 40px));margin-inline:auto}
/* A tap beside the hero's words reaches the photograph (the editors open its
   picker): the words' empty box lets the tap through, the words do not. */
:root body section[data-section="hero"] :is(.hero-copy,.hero-panel){pointer-events:none}
:root body section[data-section="hero"] :is(.hero-copy,.hero-panel) > *{pointer-events:auto}
/* Palm Courtyard: the experience panel is the courtyard photograph, no drawn circles. */
:root body .experience-space{margin:0;min-height:420px}
:root body .experience-space::before,:root body .experience-space::after,:root body .experience-orbit{display:none}
:root body .experience-space > img,:root body .experience-space > [data-paurtal-img-wrap] > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
:root body .experience-space > [data-paurtal-img-wrap]{position:absolute !important;inset:0;width:100% !important;height:100% !important}
/* <<< standard 2026-09-25 */
/* the quote band's label reads on its tint (2026-10-20) */.quote-section p{color:color-mix(in srgb,var(--pc-muted) 70%,#000)}
/* >>> header 2026-11-03 */
/* Tumi 2026-11-03 ("the logos ... are too small", "hamburger ... only on mobile"): the business's logo is drawn
   72px high on a laptop (64 on a tablet, 56 on a phone), never stretched or cropped; the whole menu shows from
   768px (a little tighter on a small laptop and a tablet); the menu button only under 768px. */
header .brand img{width:auto;height:72px;max-width:220px;max-height:none;object-fit:contain;object-position:left center}
.nav-shell{height:auto;min-height:76px;padding-block:10px}
.site-menu{font-size:12.5px}
@media(min-width:768px) and (max-width:1020px){
  .nav-shell{grid-template-columns:auto minmax(0,1fr) auto;gap:14px}
  .header-book{display:none}
  .site-menu{justify-content:flex-end;gap:clamp(7px,1.3vw,14px);font-size:12.5px}
  .site-menu>a{font-size:1em;letter-spacing:0}.brand{grid-column:1;grid-row:1}.site-menu{grid-column:2;grid-row:1}
}
@media(min-width:768px) and (max-width:1023px){header .brand img{height:64px}}
@media(max-width:767px){header .brand img{height:56px;max-width:170px}.nav-shell{min-height:66px;padding-block:5px}}
/* a menu of 8 or more links keeps the book button away up to 1100px */
@media(min-width:1021px) and (max-width:1100px){
  .nav-shell:has(.site-menu > a:nth-child(8)){grid-template-columns:auto minmax(0,1fr) auto;gap:14px}
  .nav-shell:has(.site-menu > a:nth-child(8)) .header-book{display:none}
  .nav-shell:has(.site-menu > a:nth-child(8)) .site-menu{justify-content:flex-end;gap:clamp(7px,1.3vw,14px);font-size:12.5px}
  .nav-shell:has(.site-menu > a:nth-child(8)) .site-menu>a{font-size:1em;letter-spacing:0}.nav-shell:has(.site-menu > a:nth-child(8)) .brand{grid-column:1;grid-row:1}.nav-shell:has(.site-menu > a:nth-child(8)) .site-menu{grid-column:2;grid-row:1}
}
/* a long menu (10 or more links: every engine on): no book button up to 1400px */
@media(min-width:1101px) and (max-width:1400px){
  .nav-shell:has(.site-menu > a:nth-child(10)){grid-template-columns:auto minmax(0,1fr) auto;gap:14px}
  .nav-shell:has(.site-menu > a:nth-child(10)) .header-book{display:none}
  .nav-shell:has(.site-menu > a:nth-child(10)) .site-menu{justify-content:flex-end;gap:clamp(7px,1.3vw,14px);font-size:12.5px}
  .nav-shell:has(.site-menu > a:nth-child(10)) .site-menu>a{font-size:1em;letter-spacing:0}.nav-shell:has(.site-menu > a:nth-child(10)) .brand{grid-column:1;grid-row:1}.nav-shell:has(.site-menu > a:nth-child(10)) .site-menu{grid-column:2;grid-row:1}
}
@media(min-width:768px) and (max-width:840px){
  .nav-shell:has(.site-menu > a:nth-child(10)) .site-menu{font-size:12px;gap:8px}
}
/* <<< header 2026-11-03 */
/* >>> full width 2026-11-03 */
/* Tumi 2026-11-03 ("they are boxed"): the dark band runs edge to edge; its words keep the page's width. */
:root body .craft{width:100%;max-width:none;margin-inline:0;border-radius:0;padding-inline:max(var(--pc-gutter),calc((100% - var(--pc-max)) / 2))}
/* <<< full width 2026-11-03 */
