/* Behaviour/accessibility and responsive equivalents of prototype state. */
[hidden]{display:none!important}
.site-shell{min-height:100vh;background:#F5F0E8;overflow-x:clip;--fd:'Jost',sans-serif;--fb:'Jost',sans-serif;--fdw:300;--fdw5:400;--fi:normal;font-family:var(--fb)}
picture{display:contents}
/* Intrinsic dimensions reserve space; width-only styles must retain image ratio. */
img{height:auto}
a[data-action],header a{cursor:pointer}
.nav-desktop,.wide-only{display:contents}
.nav-mobile,.narrow-only{display:none}
.responsive-columns{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important}
.gallery-columns{columns:3;column-gap:16px}
.content-page{max-width:1100px;margin:auto;padding:190px clamp(20px,4vw,56px) 100px;min-height:75vh}
.content-page h1{font-family:var(--fd);font-size:clamp(46px,7vw,100px);font-weight:300;line-height:1.05;margin:0 0 40px}
.content-page h2{font-size:30px;font-weight:400;margin:40px 0 14px}
.content-page p{font-size:16px;line-height:1.8;color:#555D57}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#8A6A3A;margin-bottom:24px}
.primary-link{display:inline-block;background:#1C2420;color:#F5F0E8;padding:18px 28px;border-radius:999px}
body[data-page=not-found] .primary-link{margin-top:3em}
.preview-notice{font-size:13px;line-height:1.6;color:#8A6A3A;margin:0;padding:20px clamp(20px,4vw,56px)}
body[data-page=done] .preview-notice{color:#D2B07A}
.voucher-validity{color:#D2B07A;font-size:15px;line-height:1.6;margin:16px 0}
:focus-visible{outline:2px solid #B8925A!important;outline-offset:4px}
button:disabled{cursor:not-allowed}
button:disabled:hover{transform:none}
.scroll-locked{overflow:hidden}
header.is-scrolled{background:rgba(245,240,232,.86)!important;color:#1C2420!important;box-shadow:0 1px 0 rgba(28,36,32,.08)!important}
header.is-scrolled>div{height:88px!important}
header.is-scrolled img{height:64px!important}
header.is-scrolled .language-active{background:#1C2420!important;color:#F5F0E8!important}
[data-ref=progRef]{pointer-events:none}
[data-state=lightbox]>div{outline:none}
.no-js-links{background:#F5F0E8;padding:130px 24px 20px;display:flex;gap:12px;flex-wrap:wrap}
html:not(.js) [data-massage-row]>div{grid-template-rows:1fr!important}
html:not(.js) [data-ref=heroRef]{transform:none}
html:not(.js) [data-text=hz],html:not(.js) [data-reveal]{opacity:1}
html:not(.js) *,html:not(.js) *::before,html:not(.js) *::after{animation:none!important}
.selection-refresh{font-size:13px;color:#8A6A3A;border:0;background:transparent;padding:12px 0;cursor:pointer}
summary{cursor:pointer;list-style:none;font:inherit}summary::-webkit-details-marker{display:none}
#massage-list,[id^=massage-]{scroll-margin-top:128px}
label[data-action]{cursor:pointer}
label[data-action]:focus-within{outline:2px solid #B8925A;outline-offset:4px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#555D57;line-height:1.6;margin-top:24px;grid-column:1/-1;order:3}
@media(max-width:1319px){.nav-desktop{display:none}.nav-mobile{display:contents}}
@media(max-width:1099px){.wide-only{display:none}.narrow-only{display:contents}.responsive-columns{grid-template-columns:minmax(0,1fr)!important}.gallery-columns{columns:2!important}}
@media(max-width:699px){.gallery-columns{columns:1!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-error{color:#873e32;background:#f4e5dc;padding:16px;margin:12px 0;font-size:15px;line-height:1.6}
.cart-controls{font-size:13px;margin:10px 0 22px}.cart-controls form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cart-controls input{width:60px;margin-left:8px;padding:6px;border:1px solid #ccc;background:transparent}.cart-controls button{border:0;background:transparent;color:#8A6A3A;cursor:pointer;padding:8px}
.checkout-cart-controls{margin-top:30px}.no-js-quantity{display:flex;gap:16px;margin:12px 0}.no-js-quantity input{width:80px}.js .no-js-quantity{display:none}
.js .checkout-cart-controls{display:none}
html:not(.js) .js-only-massage{display:none}
/* Requested UI adjustments before step 5; retain the prototype's other styles. */
.summary-durations{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.s234.summary-duration{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:0;padding:11px 12px;font:inherit;font-size:13px;line-height:1.4;text-align:center;max-width:100%;cursor:pointer}
#voucher-duration,#voucher-summary{scroll-margin-top:140px}
.s344{display:flex;align-items:center;justify-content:center;text-align:center}
.s417,.s418{display:flex;align-items:center;justify-content:center;text-align:center}

/* Shared geometry for links styled as buttons; flex variants keep their alignment. */
a:is(.s25,.s30,.s51,.s52,.s92,.s111,.s184,.s202,.s203,.s255,.s289,.s311,.s351,.s373,.s374,.s403,.primary-link){display:inline-block}
.s358{text-transform:none}
.s358::first-letter{text-transform:uppercase}
a:is(.s234,.s323,.s417){display:inline-flex}
