:root{--ink:#201e19;--cream:#f5f0e7;--muted:#676359;--gold:#bca478;--line:#d9d1c4;--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.7 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}em{font-family:Georgia,serif;font-weight:400}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ab7936;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:10px;z-index:30}.skip:focus{top:10px}.review{font-size:.875rem;text-align:center;background:#ddd3c1;color:#3e382c;padding:6px 16px}.review span{padding:0 10px}header{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--cream);padding:25px 5.5%;gap:24px}.brand{font-family:var(--serif);font-size:1.85rem;line-height:1.2;white-space:nowrap}.brand em{font-size:1.55rem}.brand span{display:block;font-family:var(--sans);letter-spacing:.22em;font-size:.875rem;line-height:2.5;text-align:center}nav{display:flex;align-items:center;gap:30px;font-size:.875rem}nav>a:hover{color:#e4c990}.nav-cta{border:1px solid #8d826b;border-radius:2px;padding:10px 16px}.nav-cta span{margin-left:20px}.menu-toggle{display:none}.hero{min-height:730px;position:relative;isolation:isolate;overflow:hidden;background:#2f261d;color:var(--cream);display:flex;align-items:center}.hero-image{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-position:70% 45%}.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(22,20,16,.96) 0%,rgba(22,20,16,.88) 25%,rgba(22,20,16,.44) 51%,rgba(22,20,16,.06) 76%),linear-gradient(0deg,rgba(20,18,14,.68),transparent 24%)}.hero-content{padding:65px 7% 110px;max-width:780px}.eyebrow{font-family:var(--sans);font-size:.875rem;line-height:1.8;letter-spacing:.18em;font-weight:500}.hero .eyebrow{color:#e1ca9e;margin-bottom:26px}h1{font-size:clamp(4.1rem,6.7vw,7.1rem);letter-spacing:-.035em;line-height:1.02}h1 em{color:#e5cba0;font-size:.89em}.hero-description{max-width:330px;color:#e6ddd0;margin:28px 0 30px}.button{display:inline-flex;gap:40px;align-items:center;padding:15px 23px;font-size:.875rem;border:1px solid transparent;transition:background .2s}.light{color:var(--ink);background:var(--cream)}.light:hover{background:#e0c99f}.hero-bottom{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;letter-spacing:.14em}.hero-bottom a{font-size:.875rem;letter-spacing:0}.hero-bottom a span{padding-left:15px}.intro{text-align:center;padding:82px 20px 90px;border-bottom:1px solid var(--line)}.intro .eyebrow{color:var(--muted);margin-bottom:26px}.intro>p:last-child{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.9rem);line-height:1.35}.intro em{color:#766143}.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}h2{font-size:clamp(2.65rem,4.5vw,4.4rem);letter-spacing:-.03em}h2 em{font-size:.87em}.section-heading .eyebrow,.faq .eyebrow{color:var(--muted);margin-bottom:25px}.section-heading>p{max-width:390px;color:var(--muted);padding-bottom:5px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-card{background:#e9e1d3;padding:40px;position:relative;min-height:420px}.service-card:nth-child(2){background:#ddd3c2}.number{position:absolute;top:20px;right:28px;font-family:var(--serif);font-size:5rem;line-height:1;color:#b5a88f}.service-card .eyebrow{position:relative;margin:16px 0 35px;max-width:80%;color:#534b3e}.service-card h3{font-size:3rem;margin-bottom:25px}.service-card>p:not(.eyebrow){color:#514b42;max-width:450px}.service-card>a{display:flex;justify-content:space-between;border-top:1px solid #b9ad99;margin-top:32px;padding-top:19px;font-size:.875rem}.service-card>a:hover{text-decoration:underline}.proposal{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--cream)}.portrait{max-height:790px;min-height:600px}.portrait img{width:100%;height:100%;object-position:center 40%}.proposal-copy{padding:80px 13% 70px 12%;align-self:center}.proposal-copy .eyebrow{color:#d0bb94;margin-bottom:28px}.proposal-copy h2{margin-bottom:30px}.proposal-copy>p:not(.eyebrow){color:#d4cfc5;margin-bottom:20px}.principles{margin-top:28px;border-top:1px solid #4d473d}.principles>div{display:flex;gap:20px;border-bottom:1px solid #4d473d;padding:14px 0}.principles span{font-size:.875rem;color:#c8b58f}.principles p{font-size:.875rem}.proposal-copy .scope{font-size:.875rem;line-height:1.6;margin-top:26px;color:#bdb6a9}.details-image{height:540px;position:relative;isolation:isolate;color:var(--cream)}.details-image img{position:absolute;inset:0;width:100%;height:100%;object-position:center 48%;z-index:-2}.details-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#201a14d9,#201a1430);z-index:-1}.details-image>div{padding:115px 7%}.details-image .eyebrow{margin-bottom:28px}.details-image>div>p:last-child{font:4.5rem/1.1 var(--serif)}.details-image em{font-size:.9em}.image-caption{position:absolute;right:25px;bottom:15px;font-size:.875rem;color:#eee7dc}.faq{display:grid;grid-template-columns:1fr 1fr;gap:60px}.faq>div>p:last-child{color:var(--muted);margin-top:25px}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;font-size:1rem}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:1.5rem;font-weight:400}details[open] summary:after{content:"−"}details>p{padding:0 30px 25px 0;color:var(--muted);font-size:.9375rem}.contact{text-align:center;background:#e5dccd}.contact .eyebrow{color:#6b5c43;margin-bottom:25px}.contact h2{font-size:clamp(3rem,5vw,5rem);margin-bottom:28px}.contact>p:not(.eyebrow){color:#5c5447}.pending{display:inline-block;font-size:.875rem;border:1px solid #b4a58d;padding:9px 18px;margin-top:28px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:40px 7%;background:var(--ink);color:var(--cream)}footer>p,footer>a:last-child{font-size:.875rem;color:#d4cbbd}footer .brand{font-size:1.5rem}footer .brand em{font-size:1.25rem}footer .brand span{font-size:.875rem}
@media(min-width:1600px){header,.hero-content,.section,.hero-bottom{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}.hero-bottom{left:0;right:0}.hero{min-height:850px}}
@media(max-width:900px){nav{gap:17px}.nav-cta{display:none}.hero{min-height:680px}.hero-image{object-position:64% center}.hero-content{padding-left:6%}.section{padding:70px 6%}.proposal-copy{padding:50px 9%}.portrait{min-height:620px}.service-card{padding:30px}.service-card h3{font-size:2.6rem}.faq{gap:35px}.section-heading>p{max-width:300px}footer{flex-wrap:wrap}}
@media(max-width:600px){.review{font-size:.875rem}.review span{padding:0 4px}header{padding:20px 6%;position:relative;flex-wrap:wrap}.brand{font-size:1.65rem}.brand em{font-size:1.35rem}.menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid #8d826b;color:var(--cream);padding:7px 12px;font-size:.875rem}.menu-toggle span{font-size:1.1rem}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 0}nav.open{display:flex}nav a{padding:11px 0;border-top:1px solid #4d473d}.nav-cta{display:block;border:none;border-top:1px solid #4d473d;border-radius:0}.hero{min-height:715px;align-items:flex-start}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#15130fe8,#15130f7a 65%,#15130f32),linear-gradient(0deg,#15130fbd,transparent 55%)}.hero-content{padding:70px 6% 115px;max-width:100%}.hero .eyebrow{font-size:.875rem;max-width:240px}h1{font-size:clamp(3.7rem,12.8vw,5rem)}.hero-description{max-width:270px;font-size:1rem}.hero-bottom{left:6%;right:6%;font-size:.875rem;gap:25px}.hero-bottom>span{max-width:200px}.intro{padding:55px 6%}.intro>p:last-child{font-size:1.85rem}.desktop{display:none}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px;max-width:none}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:30px;min-height:0}.service-card .eyebrow{margin-bottom:30px;font-size:.875rem}.service-card h3{font-size:2.8rem}.proposal{grid-template-columns:1fr}.portrait{min-height:0;height:480px}.portrait img{object-position:center 30%}.proposal-copy{padding:55px 7%}.details-image{height:430px}.details-image img{object-position:60% center}.details-image>div{padding:90px 7%}.details-image .eyebrow{max-width:220px}.details-image>div>p:last-child{font-size:3.6rem}.image-caption{font-size:.875rem;right:7%}.faq{grid-template-columns:1fr;gap:35px}h2{font-size:2.8rem}.section{padding:60px 7%}.pending{max-width:100%}footer{padding:35px 7%;display:block}footer>p{margin:20px 0 12px}.button{gap:30px}.brand span{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.session-info{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid #b9ad99}.session-info strong{font-size:1.35rem}.dark{background:var(--ink);color:var(--cream)}.dark:hover{background:#41382a}.service-card>a.button{display:flex;justify-content:center;border:0;padding:15px 23px;text-align:center;margin-top:22px}.contact>.button{margin-top:28px}.location{max-width:1000px;margin:65px auto 0;border-top:1px solid #b4a58d;padding-top:40px}.location h3{font-size:2.2rem;margin-bottom:20px}.location address{font-style:normal}.map-link{display:inline-block;text-decoration:underline;text-underline-offset:4px;margin:16px 0 25px}.location iframe{display:block;border:0;background:#d9d1c4}.review{font-size:.875rem}

/* Responsive typography and layout: let available space determine line breaks. */
html{ -webkit-text-size-adjust:100%;text-size-adjust:100% }
h1,h2,h3{letter-spacing:-.02em;line-height:1.16;text-wrap:balance;overflow-wrap:break-word}
p,address,summary{overflow-wrap:break-word}
.review{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 20px;padding:9px 20px;line-height:1.5}
.review span{padding:0}
header{gap:20px;flex-wrap:wrap}
.brand{white-space:normal;display:inline-block;max-width:100%}
.brand span{line-height:1.6;letter-spacing:.14em;margin-top:8px;font-size:.875rem}
nav{flex-wrap:wrap;gap:16px 24px}
.hero-content{min-width:0}
h1{line-height:1.12}
.section-heading>div,.section-heading>p,.service-card,.proposal-copy,.faq>div{min-width:0}
.section-heading h2{max-width:10ch}
.section-heading>p{flex:0 1 390px}
.service-grid,.proposal,.faq{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card{display:flex;flex-direction:column;padding:clamp(24px,3.2vw,40px)}
.service-card .number{position:static;align-self:flex-end;font-size:3rem;margin-bottom:12px}
.service-card .eyebrow{max-width:none;margin:0 0 20px;font-size:.875rem;letter-spacing:.1em;line-height:1.6}
.service-card h3{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.18;max-width:12ch;margin-bottom:22px}
.service-card>p:not(.eyebrow){line-height:1.75;margin-bottom:24px}
.session-info{margin-top:auto;align-items:baseline;gap:8px 16px}
.session-info strong{white-space:nowrap}
.button{min-height:48px;max-width:100%;justify-content:center;gap:18px;line-height:1.5;text-align:center}
.button>span{flex-shrink:0}
.proposal-copy h2,.faq h2{max-width:13ch;font-size:clamp(2rem,3.8vw,4rem)}
.proposal-copy{padding:clamp(32px,5vw,80px)}
.proposal-copy .scope{font-size:.875rem}
.principles span{flex-shrink:0}
.details-image{height:auto;min-height:460px}
.details-image>div{padding:90px 7% 110px}
.details-image>div>p:last-child{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.2}
.image-caption{left:7%;right:7%;line-height:1.5}
.questions summary{line-height:1.55}
.questions summary:after{flex-shrink:0}
.questions details>p{font-size:1rem;padding-right:0}
.contact h2{font-size:clamp(2rem,4.6vw,4.6rem);max-width:17ch;margin-left:auto;margin-right:auto}
.contact>p:not(.eyebrow){max-width:48ch;margin-inline:auto}
.location{min-width:0}
.location iframe{max-width:100%}
footer>p,footer>a:last-child{font-size:.875rem}
@media(max-width:800px){
 header{padding:20px 6%;gap:16px;align-items:center}
 header .brand{font-size:1.5rem;flex:1 1 180px}
 header .brand em{font-size:1.3rem}
 header .brand span{text-align:left;letter-spacing:.1em}
 .menu-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid #8d826b;color:var(--cream);padding:10px 12px;font-size:.875rem;min-height:44px;flex-shrink:0}
 nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:8px}
 nav.open{display:flex}
 nav a{padding:13px 0;border-top:1px solid #4d473d}
 .nav-cta{display:block;border:0;border-top:1px solid #4d473d;border-radius:0}
 .section{padding:64px 6%}
 .section-heading{display:block;margin-bottom:32px}
 .section-heading>p{margin-top:24px;max-width:48ch}
 .service-grid,.proposal,.faq{grid-template-columns:minmax(0,1fr)}
 .service-grid{gap:20px}
 .service-card h3{font-size:clamp(1.85rem,6vw,2.75rem);max-width:none}
 .portrait{height:520px;min-height:0;max-height:none}
 .proposal-copy{padding:52px 6%}
 .proposal-copy h2,.faq h2{font-size:clamp(2rem,6vw,3rem);max-width:16ch}
 .faq{gap:32px}
 .hero{min-height:650px;display:block}
 .hero-content{padding:64px 6% 40px;max-width:100%}
 h1{font-size:clamp(2.6rem,10vw,4.5rem);line-height:1.13}
 .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;padding:24px 6% 28px;gap:20px;flex-wrap:wrap}
 .hero-bottom>span{max-width:220px}
 .hero-description{max-width:32ch}
 .hero .eyebrow{font-size:.875rem;letter-spacing:.12em;max-width:29ch}
 .intro{padding:48px 6%}
 .intro>p:last-child{font-size:clamp(1.6rem,5.5vw,2.2rem);max-width:32ch;margin-inline:auto}
 .eyebrow{font-size:.875rem;letter-spacing:.12em}
 h2{font-size:clamp(2rem,7vw,3rem)}
 .contact h2{font-size:clamp(2rem,7.5vw,3.4rem)}
 .contact>.button{width:100%;max-width:360px}
 .details-image{min-height:380px}
 .details-image>div{padding:70px 6% 100px}
 .location{margin-top:48px;padding-top:32px}
 .location address{line-height:1.8}
 .location iframe{height:300px}
 footer{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:32px 6%}
 footer>p{margin:0}
}
@media(max-width:380px){
 header .brand{flex-basis:150px;font-size:1.35rem}
 header .brand em{font-size:1.15rem}
 header .brand span{letter-spacing:.04em}
 .service-card{padding:24px 20px}
 .session-info{flex-direction:column;gap:4px}
 .hero .button{width:100%;padding-inline:14px}
 .portrait{height:420px}
}

/* Header: stable brand lockup, distinct navigation and always-visible booking. */
.site-header{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:32px;padding:24px max(5.5%,calc((100vw - 1400px)/2));border-bottom:1px solid #4d473d}
.site-header .brand{display:block;min-width:0;margin:0;max-width:100%}
.site-header .brand .brand-name{display:block;font-family:var(--serif);font-size:1.9rem;line-height:1.2;letter-spacing:-.02em;text-align:left;margin:0;color:var(--cream)}
.site-header .brand-name em{font-family:Georgia,serif;font-size:.84em;white-space:nowrap}
.site-header .brand .brand-tagline{font:500 .875rem/1.5 var(--sans);letter-spacing:.13em;text-align:left;margin:9px 0 0;color:#d0bb94}
.site-header nav{display:flex;flex-wrap:nowrap;align-items:center;gap:24px;width:auto;padding:0}
.site-header nav a{font-size:.9375rem;line-height:1.5;white-space:nowrap;padding:12px 0;border:0}
.header-booking{display:flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 20px;background:#e5cba0;color:var(--ink);font-size:.9375rem;font-weight:500;line-height:1.5;text-align:center;border:1px solid #e5cba0}
.header-booking:hover{background:#f1dbb9}
.header-booking span{flex-shrink:0}
.site-header .menu-toggle{display:none}
@media(max-width:1180px){
 .site-header{grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;padding:22px 6%}
 .site-header .brand{grid-column:1;grid-row:1}
 .site-header .menu-toggle{display:flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 12px;background:transparent;border:1px solid #8d826b;color:var(--cream);font-size:.875rem;line-height:1.5}
 .site-header nav{display:none;grid-column:1/-1;grid-row:3;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #4d473d}
 .site-header nav.open{display:flex}
 .site-header nav a{padding:15px 2px;border-bottom:1px solid #4d473d;white-space:normal}
 .site-header .header-booking{grid-column:1/-1;grid-row:2;justify-self:stretch}
 .site-header .brand .brand-name{font-size:clamp(1.45rem,4vw,1.9rem)}
 .site-header .brand .brand-tagline{font-size:.875rem;letter-spacing:.07em;margin-top:7px}
 .site-header .menu-toggle[aria-expanded="true"]{background:#41382a;border-color:#e5cba0}
}
@media(max-width:420px){
 .site-header{padding:20px 6%;gap:18px 16px}
 .site-header .brand-name em{display:block;margin-top:2px;font-size:.95em}
 .site-header .brand .brand-tagline{max-width:24ch;letter-spacing:.04em;line-height:1.6}
 .site-header .menu-toggle{align-self:center}
}

/* Hero copy: natural wrapping and a stable local font across platforms. */
.hero{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:720px;height:auto}
.hero-content{width:100%;max-width:none;padding:64px max(7%,calc((100vw - 1400px)/2)) 40px}
.hero-copy{width:100%;max-width:40rem;min-width:0}
.hero .eyebrow{font-size:.875rem;line-height:1.7;letter-spacing:.12em;max-width:34rem;margin:0 0 24px;text-wrap:wrap;word-break:normal}
.hero-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.5rem,5.8vw,5.75rem);line-height:1.16;letter-spacing:-.035em;max-width:12ch;margin:0;padding:0 .05em .08em 0;text-wrap:wrap;word-break:normal;overflow-wrap:normal;hyphens:none}
.hero-title>span{display:block}
.hero-title>em{display:block;font-family:inherit;font-size:.9em;line-height:1.2;margin-top:.12em;color:#e5cba0;white-space:normal}
.hero .hero-description{width:100%;max-width:34ch;font-size:1.0625rem;line-height:1.75;margin:24px 0 28px;color:#f0e9df;text-wrap:wrap}
.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;padding:24px max(7%,calc((100vw - 1400px)/2)) 28px;gap:20px;flex-wrap:wrap}
.hero-shade{background:linear-gradient(90deg,rgba(22,20,16,.96),rgba(22,20,16,.88) 32%,rgba(22,20,16,.5) 63%,rgba(22,20,16,.16)),linear-gradient(0deg,rgba(20,18,14,.6),transparent 35%)}
@media(max-width:800px){
 .hero{min-height:0}
 .hero-content{padding:48px 6% 28px}
 .hero-copy{max-width:35rem}
 .hero-title{font-size:clamp(2.25rem,7.7vw,3.75rem);max-width:13ch;line-height:1.18;letter-spacing:-.03em}
 .hero .eyebrow{font-size:.875rem;letter-spacing:.08em;max-width:32ch;margin-bottom:20px}
 .hero .hero-description{max-width:34ch;font-size:1rem;line-height:1.75;margin:22px 0 26px}
 .hero-bottom{padding:16px 6% 28px;gap:16px;font-size:.875rem;line-height:1.6}
 .hero-shade{background:linear-gradient(90deg,rgba(21,19,15,.92),rgba(21,19,15,.68)),linear-gradient(0deg,rgba(21,19,15,.75),transparent 65%)}
}
@media(max-width:380px){.hero-content{padding-top:36px}.hero-title{font-size:2.25rem}.hero .eyebrow{letter-spacing:.05em}}
@media(max-height:500px) and (orientation:landscape){.hero-content{padding-top:32px;padding-bottom:20px}.hero{min-height:0}.hero-title{font-size:clamp(2.25rem,5vw,3.5rem)}.hero-bottom{padding-top:12px}}

/* Larger secondary text and touch targets for small screens. */
a,button,summary{touch-action:manipulation}
.hero-bottom a,.map-link,.location p a,footer>a:last-child{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:44px;min-width:44px;padding:8px 4px;line-height:1.5;
}
@media(max-width:800px){
 .button,.header-booking,.site-header .menu-toggle,.site-header nav a{font-size:1rem;min-height:48px}
 .questions summary{min-height:48px}
 .site-header .brand .brand-tagline{font-size:.875rem;letter-spacing:.04em}
 .hero-bottom{font-size:.875rem}
 .principles p,.image-caption,footer>p,footer>a:last-child{font-size:.875rem}
}

/* Sensory experiences: compact, native disclosure panels. */
.experiences{background:#e9e1d3;border-top:1px solid var(--line)}
.experience-intro{max-width:48rem;margin-bottom:40px}
.experience-intro .eyebrow{color:var(--muted);margin-bottom:20px}
.experience-intro h2{margin-bottom:24px}
.experience-intro>p:not(.eyebrow){font-size:1rem;line-height:1.75;margin-top:16px;max-width:66ch}
.experience-intro .experience-lead{font-weight:500;color:#51452f}
.experience-list{border-top:1px solid #b9ad99}
.experience-list details{border-color:#b9ad99;scroll-margin-top:24px}
.experience-list summary{min-height:80px;padding:24px 0;gap:24px}
.experience-list summary h3{font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.2;min-width:0}
.experience-list summary h3 span{display:block;font:400 1rem/1.6 var(--sans);letter-spacing:0;margin-top:8px;color:#514b42}
.experience-body{max-width:70ch;padding:0 0 32px;font-size:1rem;line-height:1.8}
.experience-body p+p{margin-top:16px}
.experience-body .experience-conditions{color:#514b42;margin-top:24px}
.experience-body .button{margin-top:16px;min-height:48px;font-size:1rem}
.experience-link{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:8px}
@media(max-width:600px){
 .experience-intro{margin-bottom:28px}
 .experience-list summary{padding:22px 0;gap:16px}
 .experience-body .button{width:100%;gap:8px;padding-inline:16px}
}

/* Keep booking within reach on mobile, with room for the device safe area. */
.mobile-booking{display:none}
@media(max-width:800px){
 html{scroll-padding-bottom:calc(var(--mobile-booking-height,73px + env(safe-area-inset-bottom,0px)) + 12px)}
 body{padding-bottom:calc(var(--mobile-booking-height,73px + env(safe-area-inset-bottom,0px)) + 12px)}
 .site-header .header-booking{display:none}
 .mobile-booking{display:block;position:fixed;inset:auto 0 0;z-index:20;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 -4px 18px #201e1914;padding:10px max(6%,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(6%,env(safe-area-inset-left,0px))}
 .mobile-booking-link{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);font-size:1rem;font-weight:500;line-height:1.5;text-align:center;border-radius:4px}
 .mobile-booking-link:hover{background:#41382a}
 .mobile-booking-link:focus-visible{outline-offset:3px}
 .mobile-booking-link svg{flex-shrink:0}
 .mobile-booking-link span{min-width:0;overflow-wrap:break-word}
}
