@font-face{font-family:Manrope;src:url('./assets/fonts/Manrope-latin-ext.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020-2021,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;src:url('./assets/fonts/Manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--paper:#f8f5ed;--soft:#eeeae0;--ink:#193d38;--text:#344d46;--muted:#59665b;--line:#d2d5c8;--amber:#c47d30;--white:#fff;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--text);font-family:Manrope,Arial,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}button,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--ink);font-weight:500;line-height:1.12}h1{font-size:clamp(3rem,5.6vw,5.7rem);letter-spacing:-.057em}h2{font-size:clamp(2.1rem,3.7vw,3.5rem);letter-spacing:-.048em}h3{font-size:1.45rem;letter-spacing:-.035em}p+p{margin-top:1em}p{max-width:65ch}::selection{background:#e5be85;color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.wrap{max-width:var(--max);width:calc(100% - 112px);margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.73rem;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;font-weight:650;color:var(--muted);margin-bottom:23px}.lead{font-size:1.12rem;line-height:1.75;max-width:51ch}.small{font-size:.87rem}.muted{color:var(--muted)}.skip{position:fixed;left:16px;top:12px;background:var(--ink);color:#fff;padding:12px 20px;border-radius:30px;z-index:10;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:.9rem;padding-block:12px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 27px;margin-top:30px}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;padding-block:48px 62px;align-items:center}.hero-copy{padding-block:30px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.hero h1{max-width:7.5em;margin-bottom:30px}.hero .lead{max-width:33ch;font-size:1.04rem}.hero-visual{position:relative}.hero-visual img{width:100%;height:590px;object-fit:cover;object-position:center 55%;border-radius:160px 28px 28px 28px}.image-note{position:absolute;bottom:24px;left:26px;color:#fff;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.hero-foot{margin-top:39px;font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:14px}.hero-foot:before{content:'';width:34px;height:1px;background:var(--line)}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-block:24px;font-size:.79rem;letter-spacing:.025em}.intro-strip p{max-width:none}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:45px}.section-heading h2{max-width:10em}.section-heading p{font-size:1rem;max-width:48ch}.service-row{display:grid;grid-template-columns:55px 1fr 1fr 40px;gap:25px;align-items:center;text-decoration:none;padding:31px 2px;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.row-number{font-size:.74rem;color:var(--muted);align-self:start;padding-top:5px}.service-row h3{font-size:1.55rem}.service-row p{font-size:.93rem;max-width:43ch}.round-arrow{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:background .2s,color .2s}.service-row:hover .round-arrow{background:var(--ink);color:var(--paper);border-color:var(--ink)}.service-row:hover h3{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.section-end{margin-top:26px;display:flex;justify-content:flex-end}.about-band{background:var(--soft)}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:85px}.about-image img{width:100%;height:470px;object-fit:cover;border-radius:28px 140px 28px 28px}.about-copy h2{margin-bottom:28px;max-width:10em}.about-copy p{font-size:1rem}.about-copy .text-link{margin-top:19px}.place-band{margin-top:100px;background:var(--ink);border-radius:90px 90px 0 0;color:var(--paper);padding-block:80px 70px}.place-band h2,.place-band h3{color:var(--paper)}.place-band .eyebrow{color:#ccd4c6}.place-band .section-heading{align-items:start}.place-band a:focus-visible,.footer a:focus-visible{outline-color:var(--paper)}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.place-teaser{border-top:1px solid #5d766c;padding-top:25px}.place-teaser .town{display:flex;justify-content:space-between;align-items:center;text-decoration:none;padding-bottom:15px}.place-teaser .town:hover h3{text-decoration:underline}.place-teaser p{font-size:.86rem;color:#d4ddd3}.place-teaser h3{font-size:1.6rem}.footer{background:var(--ink);color:#d4ddd3;padding-block:40px 24px;font-size:.8rem}.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;border-top:1px solid #5d766c;padding-top:38px;padding-bottom:50px}.footer .brand{color:var(--paper);margin-bottom:15px}.footer .brand-mark{border-color:var(--paper)}.footer nav{display:flex;flex-direction:column;align-items:start;gap:8px}.footer-title{font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:14px;color:var(--paper)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #5d766c;padding-top:22px;font-size:.69rem}.footer-bottom p{max-width:65ch}
.breadcrumbs{padding-top:29px;font-size:.73rem;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.page-head{padding-block:60px 58px;max-width:930px}.page-head h1{font-size:clamp(2.9rem,5.1vw,5rem);margin-bottom:27px}.page-head .lead{max-width:57ch}.page-head .eyebrow{margin-bottom:20px}.page-content{padding-bottom:35px}.treatment-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:80px;align-items:start}.prose h2{font-size:2rem;margin:0 0 21px}.prose h3{font-size:1.15rem;margin:29px 0 12px}.prose p,.prose li{font-size:1rem}.prose>section+section{margin-top:50px}.prose ul{padding-left:22px}.prose li+li{margin-top:10px}.booking-panel{grid-column:2;grid-row:1;background:var(--soft);border-radius:28px;padding:31px}.booking-panel h2{font-size:1.55rem;margin-bottom:19px}.booking-panel .price{font-size:2.2rem;letter-spacing:-.05em;color:var(--ink);line-height:1.3;margin-bottom:6px}.booking-panel .duration{font-size:.83rem;margin-bottom:20px}.booking-panel .panel-line{border-top:1px solid #c7cbbd;padding-top:19px;margin-top:22px;font-size:.85rem}.booking-panel .button{width:100%;margin-top:18px;text-align:center}.booking-panel ul{list-style:none;padding:0;margin:18px 0 0}.booking-panel li{border-bottom:1px solid #c7cbbd}.booking-panel li a{padding-block:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.87rem}.booking-panel p{font-size:.86rem}.content-main{grid-column:1;grid-row:1;min-width:0}.faq{padding-block:80px 20px}.faq h2{margin-bottom:30px}.faq details{border-top:1px solid var(--line);padding-block:21px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;display:flex;gap:20px;justify-content:space-between;list-style:none;font-size:1rem;font-weight:550;color:var(--ink)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:1.4rem;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:15px;font-size:.94rem;max-width:70ch}.related{padding-top:80px}.related h2{margin-bottom:25px}.catalogue-intro{max-width:60ch;margin-bottom:35px}.price-section{margin-bottom:60px}.price-section h2{font-size:2rem;margin-bottom:24px}.price-table{border-collapse:collapse;width:100%;font-size:.94rem}.price-table caption{text-align:left;font-size:.8rem;margin-bottom:16px;color:var(--muted)}.price-table th{text-align:left;font-size:.76rem;font-weight:500;color:var(--muted);padding:13px 15px;border-bottom:1px solid var(--line)}.price-table td{padding:20px 15px;border-bottom:1px solid var(--line);vertical-align:top}.price-table td:first-child,.price-table th:first-child{padding-left:0}.price-table td:last-child,.price-table th:last-child{text-align:right;padding-right:0}.price-table td:nth-child(2){white-space:nowrap}.price-table td:first-child{color:var(--ink)}.price-table td:last-child{min-width:105px}.note{background:var(--soft);padding:26px 30px;border-radius:22px;font-size:.9rem}.note p{max-width:76ch}.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:70px}.location{border-top:1px solid var(--line);padding-block:31px}.location h2{font-size:2.2rem;margin-bottom:15px}.location address{font-style:normal;font-size:1rem}.location .small{margin-top:18px}.location .actions{margin-top:18px}.contact-aside{background:var(--soft);padding:32px;border-radius:28px;align-self:start}.contact-aside h2{font-size:1.55rem;margin-bottom:22px}.contact-aside .phone{font-size:1.35rem}.contact-aside p{font-size:.91rem;margin-top:20px}.contact-aside h3{font-size:1.1rem;margin-top:30px}.split-story{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.split-story img{height:520px;width:100%;object-fit:cover;border-radius:28px 130px 28px 28px}.split-story .prose{padding-top:15px}.simple-prose{max-width:850px}.simple-prose .actions{margin-bottom:30px}.back-link{margin-top:45px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.image-note{background:var(--ink);padding:7px 12px;border-radius:30px}.external-note{display:block;margin-top:9px;font-size:.72rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
@media(min-width:1500px){.hero{gap:100px}.hero-visual img{height:625px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{gap:38px}.hero-visual img{height:550px}.about-grid{gap:45px}.treatment-layout{gap:40px}.contact-layout{gap:35px}.section-heading{gap:40px}.hero h1{font-size:clamp(3rem,5.9vw,5.7rem)}}
@media(max-width:900px){.hero{gap:28px}.hero-visual img{height:510px;border-top-left-radius:110px}.hero .lead{font-size:.96rem}.hero .actions{gap:4px}.hero-foot{margin-top:25px}.intro-strip{font-size:.73rem}.service-row{grid-template-columns:30px 1fr 1fr 35px;gap:16px}.service-row h3{font-size:1.3rem}.place-grid{gap:25px}.treatment-layout{grid-template-columns:minmax(0,1fr) 300px;gap:30px}.booking-panel{padding:25px}.footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:20px}.split-story{gap:35px}.split-story img{height:460px}}
@media(max-width:700px){.wrap{width:calc(100% - 44px)}.section{padding-block:64px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:38px;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.9rem,11.5vw,4.3rem);max-width:8.3em;margin-bottom:22px}.hero .eyebrow{font-size:.67rem;margin-bottom:22px}.hero .lead{max-width:37ch;font-size:1rem}.hero .actions{gap:5px 20px;margin-top:23px}.hero-foot{margin-top:20px}.hero-visual img{height:390px;border-radius:100px 22px 22px 22px;object-position:center 52%}.image-note{left:23px;bottom:20px}.intro-strip{padding-block:19px;flex-wrap:wrap;gap:9px 23px;justify-content:start;font-size:.69rem}.intro-strip p:first-child{width:100%}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-heading h2{max-width:13ch}.section-heading p{font-size:.94rem}.service-row{grid-template-columns:23px 1fr 34px;gap:10px 16px;padding-block:24px}.service-row h3{font-size:1.4rem}.service-row p{grid-column:2;font-size:.87rem;padding-right:10px}.service-row .round-arrow{grid-column:3;grid-row:1/3;width:34px;height:34px}.row-number{padding-top:4px}.section-end{justify-content:start;margin-top:16px}.about-grid{grid-template-columns:1fr;gap:37px}.about-image img{height:340px;border-radius:24px 100px 24px 24px}.about-copy h2{margin-bottom:23px}.about-copy p{font-size:.96rem}.place-band{margin-top:65px;border-radius:45px 45px 0 0;padding-block:58px 40px}.place-band .section-heading{gap:22px}.place-grid{grid-template-columns:1fr;gap:25px}.place-teaser{padding-top:21px}.place-teaser .town{padding-bottom:7px}.place-teaser p{max-width:none}.footer{padding-top:25px}.footer-main{grid-template-columns:1fr 1fr;gap:32px;padding-top:30px;padding-bottom:35px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:15px}.breadcrumbs{padding-top:23px;font-size:.68rem;gap:9px}.page-head{padding-block:39px 40px}.page-head h1{font-size:clamp(2.5rem,10vw,3.8rem);overflow-wrap:anywhere;letter-spacing:-.048em}.page-head .lead{font-size:1rem}.page-head .eyebrow{font-size:.68rem}.treatment-layout{grid-template-columns:1fr;gap:42px}.booking-panel{grid-column:1;grid-row:1;padding:27px}.content-main{grid-column:1;grid-row:2}.booking-panel .price{font-size:2rem}.prose h2{font-size:1.8rem}.prose p,.prose li{font-size:.96rem}.faq{padding-top:52px}.faq h2{font-size:2rem}.faq summary{font-size:.95rem}.related{padding-top:55px}.related h2{font-size:1.9rem}.price-section h2{font-size:1.7rem}.price-table{font-size:.82rem}.price-table th{font-size:.7rem}.price-table th,.price-table td{padding:16px 8px}.price-table td:last-child{min-width:82px}.price-table td:nth-child(2){white-space:normal;width:64px}.note{padding:23px;font-size:.86rem}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-aside{grid-row:1;padding:27px}.location h2{font-size:1.9rem}.location .actions{gap:8px 23px}.split-story{grid-template-columns:1fr;gap:32px}.split-story img{height:350px;border-top-right-radius:100px}.split-story .prose{padding-top:0}.eyebrow{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Second iteration: original identity, useful booking and editorial treatment pages. */
[hidden]{display:none!important}
h1{letter-spacing:-.04em;line-height:1.08}h2{letter-spacing:-.04em}
.hero{padding-block:48px}.hero-copy{padding-block:24px}.hero h1{margin-bottom:24px}.hero .actions{margin-top:28px}.section{padding-block:96px}.section-heading{margin-bottom:48px}
.editorial-service{display:grid;grid-template-columns:40px 1fr 1fr;gap:28px;padding-block:34px;border-top:1px solid var(--line)}.editorial-service:last-child{border-bottom:1px solid var(--line)}.service-heading .eyebrow{font-size:.65rem;margin-bottom:10px;letter-spacing:.12em}.service-heading :is(h2,h3){font-size:1.7rem}.service-heading :is(h2,h3) a{text-decoration:none}.service-heading :is(h2,h3) a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.service-location{font-size:.73rem;color:var(--muted);margin-top:13px}.service-description{align-self:center}.service-description>p{font-size:.96rem}.service-actions{display:flex;align-items:center;gap:23px;margin-top:15px;flex-wrap:wrap}.service-actions .text-link{padding-block:8px;font-size:.82rem}.quiet-book{font-size:.82rem;text-decoration:none;border-bottom:1px solid var(--line);padding-block:8px;display:flex;gap:12px}.quiet-book:hover{border-color:var(--ink)}.service-actions .text-link span{font-size:1rem}
.about-grid{grid-template-columns:.8fr 1.3fr;max-width:1040px;gap:90px}.about-image.portrait img{max-width:330px;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:100px 24px 24px 24px}.portrait figcaption{font-size:.88rem;margin-top:20px;color:var(--ink)}.portrait figcaption span{font-size:.75rem;color:var(--muted)}.about-copy h2{max-width:none}.quiet-visual{margin-top:96px}.quiet-visual img{width:100%;height:330px;object-fit:cover;object-position:center 55%;border-radius:28px 120px 28px 28px}.footer-name{display:inline-block;font-size:1.3rem;letter-spacing:-.03em;text-decoration:none;color:var(--paper);margin-bottom:16px}.footer-contact-note{margin-top:12px}.footer-main{padding-bottom:40px}
.treatment-head{max-width:960px}.treatment-head .eyebrow{max-width:none}.treatment-head h1{max-width:14ch}.treatment-layout{grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr);gap:70px}.treatment-booking{grid-column:2;grid-row:1}.booking-panel{padding:30px;grid-column:auto;grid-row:auto}.booking-panel h2{font-size:1.65rem;letter-spacing:-.035em;margin-bottom:27px}.booking-field{margin-top:22px}.booking-field label{display:flex;gap:9px;align-items:center;font-size:.81rem;margin-bottom:10px;color:var(--ink);font-weight:550}.booking-field label span{font-size:.66rem;color:var(--muted);font-weight:400}.booking-field select{display:block;width:100%;max-width:100%;min-height:50px;padding:11px 30px 11px 12px;border:1px solid #758173;border-radius:10px;color:var(--ink);background:#fff;font-size:.83rem;line-height:1.45}.booking-field select:disabled{background:transparent;color:var(--muted)}.booking-result{border-top:1px solid #c7cbbd;margin-top:25px;padding-top:20px}.booking-result .booking-selection{font-size:.76rem;line-height:1.55;margin-bottom:12px}.booking-result .price{font-size:2rem;margin-bottom:3px}.booking-result .duration{font-size:.78rem;margin-bottom:12px}.booking-result p:empty{display:none}.booking-result [data-booking-note]{font-size:.81rem;margin-top:10px}.booking-panel [data-booking-action]{font-size:.83rem;min-height:54px;white-space:normal;text-align:center;padding-inline:16px}.booking-panel .panel-line{font-size:.76rem;line-height:1.65}.booking-fallback details{padding-block:15px;border-bottom:1px solid var(--line)}.booking-fallback summary{cursor:pointer;font-size:.85rem;color:var(--ink)}.booking-fallback details>p{margin-top:10px}.booking-fallback ul{margin-top:8px}.prose>section+section{margin-top:48px}.prose .eyebrow{font-size:.69rem;margin-bottom:16px}.prose h2{font-size:2rem;line-height:1.15}.prose h3{margin-top:28px}.prose p{font-size:.96rem;line-height:1.8}.prose .price-table{margin-top:25px;font-size:.82rem}.prose .price-table td{padding-inline:8px}.prose .price-table td:first-child{padding-left:0}.prose .price-table td:nth-child(2){white-space:normal}.prose .price-table td:last-child{min-width:78px}
.video-section{margin-block:48px}.video-section h2{margin-bottom:17px}.video-stage{position:relative;aspect-ratio:16/9;margin-top:24px;overflow:hidden;background:#14352f;border-radius:18px}.video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#14352f}.video-play{position:absolute;inset:0;border:0;background:rgba(9,26,22,.22);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-size:.87rem}.video-play>span:not(.play-circle){background:var(--ink);padding:4px 12px;border-radius:4px}.video-play:hover .play-circle{transform:scale(1.06);background:#fff;color:var(--ink)}.play-circle{width:64px;height:64px;display:grid;place-items:center;font-size:1.1rem;border-radius:50%;background:var(--ink);border:1px solid #fff;transition:transform .2s,background .2s;padding-left:3px}.video-play .video-provider{font-size:.61rem;letter-spacing:.13em;text-transform:uppercase}.video-play:focus-visible{outline-color:#fff;outline-offset:-6px}.video-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-caption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;align-items:start}.video-caption p,.video-caption a{font-size:.7rem;line-height:1.6;color:var(--muted)}.video-caption a{flex-shrink:0}.cosmetic-prices{margin:20px 0 25px;font-size:.92rem}.cosmetic-prices>div{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding-block:13px}.cosmetic-prices dd{margin:0;white-space:nowrap}.related-links{display:flex;gap:16px 40px;flex-wrap:wrap}.related-links .text-link{font-size:.9rem}.price-section>h3{font-size:1.5rem;margin-bottom:15px}.contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);gap:80px}.contact-booking{align-self:start}.contact-details{padding-top:38px;border-top:1px solid var(--line);margin-top:12px}.contact-details h2{font-size:1.8rem}.contact-details .phone{font-size:1.35rem}.page-bottom-space{height:80px}
@media(max-width:1100px){.treatment-layout,.contact-layout{gap:35px}.about-grid{gap:55px}.editorial-service{gap:20px;grid-template-columns:30px 1fr 1fr}.booking-panel{padding:25px}}
@media(max-width:900px){.editorial-service{grid-template-columns:25px 1fr 1fr;gap:16px}.service-heading :is(h2,h3){font-size:1.5rem}.service-actions{gap:12px}.treatment-layout,.contact-layout{grid-template-columns:minmax(0,1fr) 295px;gap:28px}.booking-panel{padding:24px}.video-caption{flex-direction:column;gap:7px}.about-grid{gap:38px}.quiet-visual img{height:280px}}
@media(max-width:700px){.hero{padding-block:32px 36px}.hero h1{letter-spacing:-.04em;line-height:1.08}.section{padding-block:60px}.section-heading{margin-bottom:28px}.editorial-service{grid-template-columns:22px 1fr;gap:14px;padding-block:28px}.service-heading{grid-column:2}.service-description{grid-column:2}.service-heading :is(h2,h3){font-size:1.55rem}.service-heading .eyebrow{font-size:.62rem;margin-bottom:8px}.service-location{font-size:.7rem;margin-top:10px}.service-description>p{font-size:.91rem}.service-actions{gap:22px;margin-top:12px}.service-actions .text-link,.quiet-book{font-size:.8rem;min-height:44px}.about-grid{grid-template-columns:1fr;gap:32px}.about-image.portrait{max-width:300px}.about-image.portrait img{border-top-left-radius:85px}.portrait figcaption{margin-top:15px}.quiet-visual{margin-top:60px}.quiet-visual img{height:240px;border-radius:20px 80px 20px 20px}.treatment-layout,.contact-layout{grid-template-columns:1fr;gap:38px}.treatment-booking{grid-column:1;grid-row:1}.content-main{grid-column:1;grid-row:2}.contact-booking{grid-row:1}.booking-panel{padding:26px}.booking-panel h2{font-size:1.6rem}.booking-field select{font-size:.86rem;min-height:52px}.booking-panel [data-booking-action]{font-size:.86rem}.booking-result [data-booking-note]{font-size:.86rem}.treatment-head .actions{margin-top:20px;gap:10px 22px}.prose>section+section{margin-top:38px}.prose h2{font-size:1.8rem}.prose .price-table{font-size:.76rem}.prose .price-table td:last-child{min-width:68px}.prose .price-table td{padding-inline:6px}.video-stage{border-radius:13px}.video-play{gap:6px;font-size:.78rem}.play-circle{width:52px;height:52px}.video-play .video-provider{font-size:.57rem}.video-section{margin-block:38px}.video-caption{gap:8px}.video-caption a{min-height:40px;display:flex;align-items:center;gap:8px}.cosmetic-prices{font-size:.86rem}.contact-details{padding-top:25px}.related-links{gap:4px 20px}.page-bottom-space{height:55px}}

.video-stage.is-playing{aspect-ratio:auto}.video-stage.is-playing iframe{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9}.video-help{padding:13px 18px;color:var(--paper);font-size:.73rem;line-height:1.7;max-width:none}.video-help a{color:var(--paper)}.video-help a:focus-visible{outline-color:var(--paper)}

/* S01: one complete, comparable catalogue with explicit booking choices. */
.catalogue-head{padding-bottom:36px}
.catalogue-nav{display:flex;flex-wrap:wrap;gap:8px 26px;border-block:1px solid var(--line);padding-block:16px}
.catalogue-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem}
.catalogue-group{padding-top:55px;scroll-margin-top:28px}
.catalogue-group-head{margin-bottom:22px}
.catalogue-group-head .eyebrow{margin-bottom:12px}
.catalogue-group-head h2{font-size:2rem;margin-bottom:14px}
.catalogue-group-head>p:last-child:not(.eyebrow){font-size:.9rem}
.catalogue-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.8fr);gap:36px;border-top:1px solid var(--line);padding-block:26px}
.catalogue-service h3{font-size:1.2rem;line-height:1.35;margin-bottom:8px}
.catalogue-service>p{font-size:.86rem;max-width:48ch}
.catalogue-row .text-link{font-size:.8rem;min-height:44px;gap:12px}
.catalogue-facts{margin:0;font-size:.84rem;display:grid;align-content:start;gap:14px}
.catalogue-facts dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.catalogue-facts dd{margin:2px 0 0}
.catalogue-booking{text-align:right}
.catalogue-price{font-size:1.25rem;color:var(--ink);line-height:1.4}
.catalogue-booking .price-guidance{font-size:.73rem;margin-top:5px}
.catalogue .note{margin-top:26px}
@media(max-width:900px){.catalogue-row{gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr)}}
@media(max-width:700px){
  .catalogue-head{padding-bottom:26px}
  .catalogue-nav{gap:3px 20px;padding-block:12px}
  .catalogue-nav a{font-size:.8rem}
  .catalogue-group{padding-top:38px}
  .catalogue-group-head h2{font-size:1.7rem}
  .catalogue-row{grid-template-columns:1fr;gap:16px;padding-block:24px}
  .catalogue-service h3{font-size:1.2rem}
  .catalogue-facts{grid-template-columns:1fr 1fr;gap:20px}
  .catalogue-booking{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 18px;text-align:left}
  .catalogue-booking .price-guidance{flex-basis:100%;order:3;margin-top:0}
  .catalogue-price{font-size:1.22rem}
  .hero-visual img{height:300px}
}


/* S07: links work before enhancement and when scripts are unavailable. */

[data-video-id]:not(.video-ready) .video-play{display:none}
/* Treatment explanations and FAQ answers stay visible without interaction. */
.more-reading{margin-top:64px}
.more-reading>h2{font-size:clamp(2.25rem,3.5vw,3.2rem);margin-bottom:28px}
.treatment-explanation{max-width:68ch;margin-bottom:30px}
.treatment-explanation h3{font:600 1.3rem/1.5 Manrope,Arial,sans-serif;margin-bottom:12px}
.treatment-explanation p{font-size:1.05rem;line-height:1.85}
.treatment-film .video-section{max-width:780px;margin:0}
.treatment-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:60px;background:var(--soft);border-radius:32px;padding:48px;margin-top:72px;scroll-margin-top:24px}
.treatment-faq h2{font-size:clamp(2.6rem,4.5vw,4rem);line-height:1.1;margin-bottom:24px}
.treatment-faq header>p:not(.eyebrow){font-size:1.05rem;line-height:1.8;max-width:28ch}
.treatment-faq-item+ .treatment-faq-item{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}
.treatment-faq .treatment-faq-item h3{font:600 1.2rem/1.55 Manrope,Arial,sans-serif;letter-spacing:-.02em;margin-bottom:12px}
.treatment-faq-item p{font-size:1rem;line-height:1.85;max-width:65ch}
@media(max-width:900px){.treatment-faq{gap:32px;padding:32px}}
@media(max-width:700px){.more-reading{margin-top:40px}.treatment-faq{grid-template-columns:1fr;padding:28px 22px;gap:30px;margin-top:48px;border-radius:24px}.treatment-faq h2{font-size:2.7rem;margin-bottom:18px}.treatment-faq header>p:not(.eyebrow){max-width:none}.treatment-faq .treatment-faq-item h3{font-size:1.16rem}}
.simple-next-step{border-block:1px solid var(--line);padding-block:30px;margin-block:30px}
.simple-next-step h2{font-size:2.2rem;margin-bottom:16px}
.simple-next-step .small{font-size:.88rem;max-width:65ch;margin-top:20px}
.booking-language-help{font-size:.88rem;line-height:1.7;margin-block:20px}

/* Shared questions page, linked from open treatment explanations. */
.faq-page{padding-bottom:72px}
.faq-page .page-head{padding-bottom:30px}
.faq-topics{display:flex;flex-wrap:wrap;gap:12px}
.faq-topics a{border:1px solid var(--line);border-radius:30px;padding:12px 20px;text-decoration:none;font-size:.95rem}
.faq-topics a:hover{background:var(--soft)}
.faq-page .treatment-faq h2{font-size:clamp(2rem,3vw,2.8rem)}
.faq-page .treatment-faq header .text-link{margin-top:16px}
.treatment-explanations{margin-top:60px;scroll-margin-top:30px}
.treatment-explanations>h2{font-size:clamp(2.3rem,3.5vw,3rem);margin-bottom:32px}
.treatment-explanations>div{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px}
.treatment-explanations h3{font-size:1.6rem;line-height:1.3;margin-bottom:14px}
.treatment-explanations p{font-size:1rem;line-height:1.85;max-width:64ch}
.faq-link-panel{background:var(--soft);border-radius:28px;padding:32px;margin-top:48px}
.faq-link-panel h2{font-size:2rem;margin-bottom:14px}
.faq-link-panel p{font-size:1rem;margin-bottom:22px;max-width:62ch}
@media(max-width:700px){.treatment-explanations>div{grid-template-columns:1fr;gap:28px}.faq-link-panel{padding:26px 22px}.faq-topics a{padding:12px 16px}}

/* Social links stay secondary to booking, with visible labels and touch targets. */
.footer-social{margin-block-start:24px;max-width:28rem}
.footer-social .footer-title{margin-block-end:8px;font-size:.67rem}
.footer-social ul{display:flex;flex-wrap:wrap;gap:2px 18px;list-style:none;margin:0;padding:0}
.footer-social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-block:6px;font-size:.8rem;text-underline-offset:4px;text-decoration-thickness:1px}
.footer-social svg{flex:0 0 18px}
.footer-social a:hover{text-decoration-thickness:2px}
.footer .footer-social a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}

@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400 700;font-display:swap;src:url('./assets/fonts/SourceSerif4-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400 700;font-display:swap;src:url('./assets/fonts/SourceSerif4-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* D06: a single editorial system for the homepage. */
.home-page { --display:'Source Serif 4',Georgia,serif;--paper:#f8f5ee;--soft:#eeeae1;--ink:#2b312c;--text:#51554e;--muted:#67695f;--line:#d8d7cd;--warm-ink:#795638;--max:1240px; }
.home-page :is(h1,h2,h3) { font-family:var(--display);font-weight:400;font-optical-sizing:auto;letter-spacing:-.045em;text-wrap:balance; }
.home-page h2 { font-size:clamp(2.6rem,4.5vw,3.75rem);line-height:1.08; }
.home-page .eyebrow { display:block;font-size:.65rem;font-weight:550;letter-spacing:.15em;color:var(--muted); }
.home-page .text-link { font-size:.82rem;gap:20px;text-underline-offset:5px; }
.home-page a:focus-visible,.home-page summary:focus-visible { outline:2px solid var(--warm-ink);outline-offset:5px; }

/* A typographic opening, followed by one uninterrupted material image. */
.home-page .hero { display:grid;grid-template-columns:1.3fr .8fr;align-items:end;gap:clamp(40px,8vw,120px);padding-block:58px 44px; }
.home-page .hero-heading .eyebrow { margin-bottom:23px; }
.home-page .hero h1 { font-size:clamp(4rem,6.5vw,5.5rem);line-height:1.04;letter-spacing:-.055em;margin:0;color:var(--ink);max-width:none; }
.home-page .hero h1 span { color:inherit; }
.home-page .hero-copy { padding-bottom:5px; }
.home-page .hero .lead { font-size:.97rem;line-height:1.85;max-width:40ch;color:var(--text); }
.home-page .hero .actions { display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:23px; }
.home-page .hero .actions .text-link { margin:0; }
.home-page .hero-visual { width:100%;margin:0;position:relative; }
.home-page .hero-image { overflow:hidden;border-radius:0; }
.home-page .hero-visual img { display:block;width:100%;height:450px;object-fit:cover;object-position:50% 60%;border-radius:0; }
.home-page .intro-strip { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border:0;border-bottom:1px solid var(--line);padding-block:25px 34px;align-items:center;letter-spacing:0; }
.home-page .intro-strip p { margin:0;display:flex;flex-direction:column;gap:6px;text-align:center; }
.home-page .intro-strip p:last-child { text-align:right; }
.home-page .intro-strip strong { font-size:.77rem;font-weight:550;color:var(--ink); }
.home-page .intro-strip p>span { font-size:.69rem;color:var(--muted); }
.home-page .hero-rating { display:inline-flex;align-items:center;gap:13px;text-decoration:none;min-height:48px;justify-self:start; }
.home-page .rating-score { display:flex;align-items:baseline;gap:5px;font-size:1.03rem;color:var(--ink);white-space:nowrap; }
.home-page .rating-score b { font-weight:550; }
.home-page .rating-score small { color:var(--muted);font-size:.7rem; }
.home-page .rating-star { color:var(--warm-ink);font-size:.84rem;margin-right:2px; }
.home-page .rating-source { display:flex;flex-direction:column;font-size:.7rem;line-height:1.65;color:var(--ink); }
.home-page .rating-source span { font-size:.64rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px; }

/* Treatments read as an open catalogue. The radio group remains native. */
.home-page .section { padding-block:112px; }
.home-page .section-heading { display:grid;grid-template-columns:1.3fr .8fr;gap:clamp(40px,8vw,120px);align-items:end;margin-bottom:48px; }
.home-page .section-heading .eyebrow { margin-bottom:20px; }
.home-page .section-heading p { font-size:.92rem;line-height:1.85;max-width:41ch; }
.home-page .section-end { margin-top:8px;padding-top:22px;border-top:1px solid var(--line);text-align:right; }
.guide-choices { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border:0;padding:0;margin:0;min-width:0; }
.guide-choice { position:relative;display:grid;grid-template-columns:1fr 20px;align-content:start;gap:12px;padding:20px 0 23px;border-top:1px solid var(--line);border-bottom:2px solid transparent;cursor:pointer;min-width:0;color:var(--text);transition:color .2s,border-color .2s; }
.guide-choice input { position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden; }
.choice-number { grid-column:1/-1;font-size:.65rem;color:var(--muted);font-variant-numeric:tabular-nums; }
.choice-label { font:400 clamp(1.22rem,1.85vw,1.55rem)/1.22 var(--display);letter-spacing:-.025em; }
.choice-label small { display:block;margin-top:10px;font:400 .66rem/1.6 Manrope,Arial,sans-serif;letter-spacing:0;color:var(--muted); }
.choice-arrow { align-self:start;font-size:1rem;transition:rotate .2s; }
.guide-choice:has(input:checked) { border-bottom-color:var(--warm-ink);color:var(--ink); }
.guide-choice:has(input:checked) .choice-arrow { rotate:45deg; }
.guide-choice:hover { color:var(--warm-ink);border-top-color:var(--warm-ink); }
.guide-choice:has(input:focus-visible) { outline:2px solid var(--warm-ink);outline-offset:5px; }
.guide-panels { display:grid;gap:36px; }
.guide-panel { padding:42px 0 25px;display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--line); }
.is-interactive .guide-panel { min-height:335px;border-bottom:0; }
.guide-body { display:grid;grid-template-columns:1.3fr .8fr;gap:clamp(40px,8vw,120px); }
.home-page .guide-panel h3 { font-size:clamp(2rem,3vw,2.7rem);line-height:1.12;margin-bottom:18px; }
.guide-description { font-size:.92rem;line-height:1.85;max-width:46ch; }
.guide-facts { display:grid;grid-template-columns:1fr 1fr;gap:25px 24px;margin:4px 0 20px; }
.guide-facts dt { font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px; }
.guide-facts dd { font-size:.84rem;line-height:1.65;margin:0;color:var(--ink); }
.guide-towns { grid-column:1/-1; }
.guide-note { margin:12px 0;font-size:.76rem; }
.guide-actions { display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;margin-top:26px; }
.guide-alternatives { align-self:start;font-size:.7rem;margin-top:16px;min-height:32px;padding-block:7px;text-underline-offset:4px; }

/* Smaller portrait, human scale, no frame or coloured stage. */
.home-page .about-band { background:transparent;border-radius:0;padding-block:70px 112px; }
.home-page .about-grid { max-width:1040px;display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(60px,9vw,130px);align-items:start; }
.home-page .about-copy { padding-top:0; }
.home-page .about-copy h2 { margin-bottom:27px; }
.home-page .about-copy .eyebrow { margin-bottom:22px; }
.home-page .about-copy p { font-size:.92rem;line-height:1.85;max-width:44ch; }
.home-page .about-copy .about-intro { font:400 1.3rem/1.5 var(--display);color:var(--ink);margin-bottom:17px; }
.home-page .about-copy .text-link { margin-top:23px; }
.home-page .about-image.portrait { width:100%;max-width:340px;margin:38px 0 0 auto;padding:0; }
.home-page .about-image.portrait img { display:block;width:100%;max-width:none;height:auto;aspect-ratio:1;object-fit:cover;border-radius:0;filter:saturate(.8); }
.home-page .portrait figcaption { margin:16px 0 0;padding:0;color:var(--ink); }
.home-page .portrait figcaption span { display:block;font-size:.66rem;line-height:1.8;color:var(--muted); }
.home-page .portrait figcaption .portrait-name { font-size:.8rem;font-weight:500;color:var(--ink); }

.home-page .quiet-moment { display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(55px,8vw,110px);align-items:start;padding-block:48px 112px; }
.home-page .quiet-moment figure { margin:0;overflow:hidden;border-radius:0; }
.home-page .quiet-moment img { display:block;width:100%;height:440px;object-fit:cover;object-position:57% center; }
.home-page .quiet-moment .eyebrow { margin-bottom:22px; }
.home-page .quiet-moment h2 { margin-bottom:30px;font-size:clamp(2.4rem,3.8vw,3.3rem); }
.home-page .quiet-moment>.text-link { margin-top:20px; }
.home-questions { margin-top:25px; }
.home-questions details { border-top:1px solid var(--line); }
.home-questions details:last-child { border-bottom:1px solid var(--line); }
.home-questions summary { display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:64px;padding-block:18px;font-size:.83rem;line-height:1.7;color:var(--ink);cursor:pointer; }
.home-questions summary::-webkit-details-marker { display:none; }
.home-questions summary::after { content:'+';font-size:1.25rem;font-weight:400;flex-shrink:0; }
.home-questions details[open] summary::after { content:'−'; }
.home-questions details>div { padding:0 20px 22px 0; }
.home-page .home-questions p { font-size:.83rem;line-height:1.85; }
.home-page .home-questions .text-link { margin-top:7px;font-size:.76rem; }
.home-page .quiet-moment>div>.text-link { margin-top:20px; }

/* The closing section continues the same paper surface. */
.home-page .place-band { background:transparent;color:var(--text);border-radius:0;margin:0;padding-block:0 100px; }
.home-page .place-band>.wrap { padding-top:70px;border-top:1px solid var(--line); }
.home-page .place-band .eyebrow { color:var(--muted); }
.home-page .place-band :is(h2,h3) { color:var(--ink); }
.home-page .place-band .text-link { color:var(--ink); }
.home-page .place-grid { gap:48px; }
.home-page .place-teaser { border-color:var(--line); }
.home-page .place-teaser .town { color:var(--ink);border-color:var(--line);min-height:62px; }
.home-page .place-teaser h3 { font-size:2rem; }
.home-page .place-teaser p { color:var(--text);font-size:.8rem;line-height:1.8; }
.home-page .footer { background:#efebe2;color:var(--text);border-top:1px solid var(--line); }
.home-page .footer :is(a,p,.footer-name,.footer-title) { color:var(--text); }
.home-page .footer-name { font-family:var(--display);font-size:1.8rem; }
.home-page .footer-bottom { border-color:var(--line); }

@media(prefers-reduced-motion:no-preference) {
  .is-interactive .guide-panel:not([hidden]) { animation:guide-arrive .35s cubic-bezier(.22,1,.36,1); }
  @keyframes guide-arrive { from { transform:translateY(8px); } to { transform:none; } }
  @supports(animation-timeline:view()) {
    .hero-visual { view-timeline-name:--hero-material; }
    .home-page .hero-image img { animation:material-depth linear both;animation-timeline:--hero-material;animation-range:entry 0% exit 100%; }
    .quiet-moment figure { view-timeline-name:--quiet-material; }
    .home-page .quiet-moment img { animation:material-depth linear both;animation-timeline:--quiet-material;animation-range:entry 0% exit 100%; }
    @keyframes material-depth { from { transform:scale(1.04) translateY(-1%); } to { transform:scale(1.04) translateY(1%); } }
  }
}
@media(min-width:701px) and (max-width:1050px) {
  .home-page .hero { grid-template-columns:1.1fr 1fr;gap:36px; }
  .home-page .hero h1 { font-size:clamp(3.5rem,7.3vw,4.8rem); }
  .home-page .hero .lead { font-size:.89rem; }
  .home-page .hero .actions { gap:4px 18px; }
  .home-page .hero-visual img { height:380px; }
  .home-page .section-heading,.guide-body { gap:44px;grid-template-columns:1fr 1fr; }
  .guide-choices { gap:18px; }
  .choice-label { font-size:1.25rem; }
  .choice-arrow { display:none; }
  .guide-choice { grid-template-columns:1fr; }
  .home-page .intro-strip { gap:20px; }
  .home-page .intro-strip strong { font-size:.68rem; }
  .home-page .intro-strip p>span { font-size:.62rem; }
  .home-page .rating-source { font-size:.63rem; }
  .home-page .rating-source span { font-size:.59rem; }
  .home-page .about-grid { gap:50px; }
  .home-page .quiet-moment { gap:45px; }
}
@media(max-width:700px) {
  .home-page .wrap { width:calc(100% - 44px); }
  .home-page .hero-stage { display:grid;grid-template-columns:1fr 1fr;column-gap:16px;border-bottom:1px solid var(--line); }
  .home-page .hero-stage>.hero { grid-column:1/-1;grid-row:1; }
  .home-page .hero-stage>.hero-visual { grid-column:1/-1;grid-row:3; }
  .home-page .hero { grid-template-columns:1fr;gap:26px;padding-block:35px 30px; }
  .home-page .hero-heading .eyebrow { margin-bottom:21px;font-size:.59rem; }
  .home-page .hero h1 { font-size:clamp(2.95rem,12.5vw,4.8rem); }
  .home-page .hero-copy { padding:0; }
  .home-page .hero .lead { font-size:.93rem;line-height:1.8;max-width:46ch; }
  .home-page .hero .actions { margin-top:20px;gap:8px 20px; }
  .home-page .hero .button { padding-inline:19px;font-size:.75rem; }
  .home-page .hero .text-link { font-size:.77rem;gap:12px; }
  .home-page .hero-visual img { height:340px;object-position:50% 60%; }
  .home-page .intro-strip { display:contents; }
  .home-page .hero-rating { grid-column:1/-1;grid-row:2;justify-self:start;margin-bottom:24px; }
  .home-page .intro-strip p,.home-page .intro-strip p:last-child { grid-row:4;text-align:left;align-self:start;padding-block:25px 30px; }
  .home-page .intro-strip strong { font-size:.69rem;line-height:1.6; }
  .home-page .intro-strip p>span { font-size:.64rem;line-height:1.6; }
  .home-page .section { padding-block:74px; }
  .home-page h2 { font-size:clamp(2.45rem,9vw,3.35rem); }
  .home-page .section-heading { grid-template-columns:1fr;gap:22px;margin-bottom:34px; }
  .home-page .section-heading p { font-size:.9rem; }
  .guide-choices { grid-template-columns:1fr 1fr;gap:15px 20px; }
  .guide-choice { grid-template-columns:1fr;gap:10px;padding:15px 0 18px; }
  .choice-arrow { display:none; }
  .choice-label { font-size:1.25rem; }
  .choice-label small { font-size:.62rem;margin-top:8px; }
  .guide-body { grid-template-columns:1fr;gap:26px; }
  .guide-panel { padding-top:32px; }
  .is-interactive .guide-panel { min-height:510px; }
  .home-page .guide-panel h3 { font-size:2.1rem; }
  .guide-description { font-size:.87rem; }
  .guide-facts { margin:0;gap:20px; }
  .guide-facts dd { font-size:.78rem; }
  .guide-actions { gap:8px 18px;margin-top:25px; }
  .guide-actions .button { width:100%; }
  .guide-alternatives { margin-top:6px; }
  .home-page .section-end { text-align:left;margin-top:6px; }
  .home-page .about-band { padding-block:15px 76px; }
  .home-page .about-grid { grid-template-columns:1fr;gap:32px; }
  .home-page .about-copy p { font-size:.9rem; }
  .home-page .about-image.portrait { max-width:320px;margin:0 auto; }
  .home-page .quiet-moment { grid-template-columns:1fr;gap:36px;padding-block:0 76px; }
  .home-page .quiet-moment img { height:280px; }
  .home-page .quiet-moment h2 { font-size:clamp(2.4rem,9vw,3.2rem); }
  .home-page .place-band { padding-bottom:65px; }
  .home-page .place-band>.wrap { padding-top:60px; }
  .home-page .place-grid { grid-template-columns:1fr;gap:27px; }
  .home-page .place-teaser h3 { font-size:1.85rem; }
}

/* Ljusrum: chosen homepage. The light and colour come from the original glass photograph. */
body.home-page{--paper:#f7f5ee;--ink:#283a32;--text:#48554d;--muted:#626c60;--line:#d9dcd0;--warm-ink:#79592f;background:var(--paper)}
body.home-page :is(h1,h2,h3){font-family:var(--display);font-weight:400;letter-spacing:-.045em}
body.home-page em{font-weight:400;letter-spacing:-.065em}
body.home-page .ljusrum-container{width:min(1160px,calc(100% - 104px));margin-inline:auto}
body.home-page .ljusrum-label{font-size:.64rem;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;font-weight:550;color:var(--muted);margin:0}
body.home-page .ljusrum-stage{position:relative;min-height:760px;height:min(840px,calc(100svh - 70px));isolation:isolate;color:#fffaf0}
body.home-page .ljusrum-scene{position:absolute;inset:0;overflow:hidden;z-index:-1;background:#15332d}
body.home-page .ljusrum-scene img{position:absolute;display:block;height:100%;object-fit:cover}
body.home-page .ljusrum-ambient{inset:0;width:100%;object-position:center 40%;filter:blur(8px);transform:scale(1.04)}
body.home-page .ljusrum-glass{right:0;top:0;width:66%;object-position:50% 53%;mask-image:linear-gradient(90deg,transparent,black 18%)}
body.home-page .ljusrum-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,28,24,.89) 0%,rgba(8,28,24,.81) 26%,rgba(8,28,24,.52) 44%,rgba(8,28,24,0) 67%)}
body.home-page .ljusrum-hero-content{width:min(1280px,calc(100% - 104px));margin:auto;padding-top:88px;padding-bottom:120px;position:relative}
body.home-page .ljusrum-kicker{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#f0eadd;margin:0 0 35px}
body.home-page .ljusrum-hero-content h1{font-size:clamp(4.3rem,8.3vw,7.7rem);line-height:.99;max-width:10ch;margin:0 0 35px;color:#fffaf0;letter-spacing:-.055em;text-wrap:nowrap}
body.home-page .ljusrum-hero-content h1 em{display:inline;font-size:1em}
body.home-page .ljusrum-hero-bottom{max-width:360px}
body.home-page .ljusrum-hero-bottom p{font-size:.87rem;line-height:1.9;color:#f7f1e5;margin:0;max-width:34ch}
body.home-page .ljusrum-side-note{position:absolute;right:26px;top:90px;writing-mode:vertical-rl;letter-spacing:.18em;text-transform:uppercase;color:#fffaf0;font-size:.56rem}
body.home-page .ljusrum-visit-bar{position:relative;margin:-65px 0 0 auto;width:min(1120px,calc(100% - 104px));display:grid;grid-template-columns:1fr 1fr 1.15fr;align-items:center;background:#fffdfa;padding:33px 42px;gap:32px;box-shadow:0 14px 35px #19281b09}
body.home-page .ljusrum-visit-intro{padding-right:20px;border-right:1px solid var(--line)}
body.home-page .ljusrum-visit-intro p{font:400 1.7rem/1.15 var(--display);letter-spacing:-.035em;color:var(--ink);margin:10px 0 0}
body.home-page .ljusrum-rating{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink)}
body.home-page .ljusrum-score{font:400 3rem/1 var(--display);letter-spacing:-.05em;white-space:nowrap}
body.home-page .ljusrum-score>span{font:400 .67rem Manrope,Arial,sans-serif;letter-spacing:0;margin-left:6px}
body.home-page .ljusrum-rating>span:last-child{display:flex;flex-direction:column;gap:5px;font-size:.61rem;line-height:1.5}
body.home-page .ljusrum-rating-stars{letter-spacing:.16em;font-size:.6rem;color:#79592f}
body.home-page .ljusrum-review-link{text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
body.home-page .ljusrum-visit-action{display:flex;flex-direction:column;align-items:stretch;gap:10px}
body.home-page .ljusrum-visit-action .button{justify-content:space-between}
body.home-page .ljusrum-visit-action>span{font-size:.59rem;text-align:center;color:var(--muted)}
body.home-page .ljusrum-section-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:40px}
body.home-page .ljusrum-section-top>p:last-child{font-size:.67rem;color:var(--muted);margin:0}
body.home-page .ljusrum-section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:55px}
body.home-page .ljusrum-section-heading h2{font-size:clamp(2.8rem,4.7vw,4.3rem);margin:0;line-height:1.06}
body.home-page .ljusrum-section-heading>p{font-size:.9rem;line-height:1.9;max-width:38ch;margin:0 0 3px}
body.home-page .ljusrum-treatments{padding-block:100px 120px}
body.home-page .treatment-guide{display:grid;grid-template-columns:.9fr 1.2fr;column-gap:90px}
body.home-page .guide-choices{grid-template-columns:1fr;gap:0;align-content:start}
body.home-page .guide-choice{display:grid;grid-template-columns:24px 1fr 20px;gap:20px;padding:25px 0;align-items:center;border-top:1px solid var(--line);border-bottom:0}
body.home-page .choice-number{grid-column:auto}
body.home-page .choice-label{font-size:1.55rem;line-height:1.3}
body.home-page .choice-label small{margin-top:6px;font-size:.65rem}
body.home-page .choice-arrow{align-self:center}
body.home-page .guide-choice:has(input:checked){border-top-color:#66735b;color:#283a32}
body.home-page .guide-choice:has(input:checked) .choice-number{color:#283a32;font-weight:700}
body.home-page .guide-choice:last-child{border-bottom:1px solid var(--line)}
body.home-page .guide-panels{border-top:1px solid var(--line)}
body.home-page .guide-panel{padding:27px 0 0;min-height:425px}
body.home-page .guide-body{grid-template-columns:1fr;gap:26px}
body.home-page .guide-panel h3{font-size:2.15rem;line-height:1.2;margin-bottom:15px}
body.home-page .guide-description{font-size:.85rem;line-height:1.8}
body.home-page .guide-facts{grid-template-columns:1fr 1fr;gap:20px;margin:0}
body.home-page .guide-facts dd{font-size:.8rem}
body.home-page .guide-facts dt{font-size:.59rem}
body.home-page .guide-towns{grid-column:1/-1}
body.home-page .guide-actions{margin-top:25px;gap:13px 22px}
body.home-page .guide-actions .button{font-size:.72rem;gap:20px}
body.home-page .guide-actions .text-link{font-size:.72rem}
body.home-page .guide-alternatives{font-size:.66rem}
body.home-page .ljusrum-catalogue{text-align:right;margin-top:32px}
body.home-page .ljusrum-person{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:100px;padding-block:35px 120px;border-top:1px solid var(--line)}
body.home-page .ljusrum-person-heading{grid-column:1;grid-row:1;margin-top:12px;position:relative;z-index:1}
body.home-page .ljusrum-person-heading h2{font-size:clamp(3.3rem,6vw,5.5rem);line-height:1.04;max-width:10ch;margin:32px 0}
body.home-page .ljusrum-portrait{grid-column:2;grid-row:1 / span 2;margin:76px 0 0}
body.home-page .ljusrum-portrait img{width:100%;height:auto;aspect-ratio:4/5;display:block;object-fit:cover;object-position:50% 40%;filter:saturate(.78)}
body.home-page .ljusrum-portrait figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:17px;font-size:.64rem;line-height:1.6}
body.home-page .ljusrum-portrait figcaption strong{font-weight:550}
body.home-page .ljusrum-portrait figcaption span{color:var(--muted)}
body.home-page .ljusrum-person-copy{grid-column:1;grid-row:2;max-width:370px;padding-left:45px;border-left:1px solid var(--line);margin-top:27px}
body.home-page .ljusrum-year{display:block;font-size:.61rem;letter-spacing:.16em;color:var(--muted);margin-bottom:18px}
body.home-page .ljusrum-person-lead{font:400 1.6rem/1.3 var(--display);color:var(--ink);letter-spacing:-.03em;margin:0 0 20px}
body.home-page .ljusrum-person-copy>p:not(.ljusrum-person-lead){font-size:.84rem;line-height:1.9}
body.home-page .ljusrum-person-copy .text-link{font-size:.76rem;margin-top:26px}
body.home-page .ljusrum-practical{padding-block:90px;background:#eeeee5}
body.home-page .ljusrum-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
body.home-page .ljusrum-practical-intro h2{font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.1;margin:26px 0 34px}
body.home-page .ljusrum-detail{margin:0;width:84%;overflow:hidden}
body.home-page .ljusrum-detail img{display:block;width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;object-position:58% 55%}
body.home-page .ljusrum-practical-copy{padding-top:50px}
body.home-page .ljusrum-practical-copy>p{font-size:.88rem;line-height:1.85;max-width:39ch;margin:0 0 34px}
body.home-page .home-questions{margin:0}
body.home-page .home-questions summary{font-size:.8rem;min-height:78px}
body.home-page .ljusrum-call{display:grid;grid-template-columns:1fr auto;gap:10px;text-decoration:none;margin-top:28px;color:var(--ink)}
body.home-page .ljusrum-call>span:first-child{grid-column:1/-1;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
body.home-page .ljusrum-call strong{font:400 2rem/1.2 var(--display);letter-spacing:-.04em}
body.home-page .ljusrum-call>span:last-child{font-size:1.5rem}
body.home-page .ljusrum-places{padding-block:100px}
body.home-page .ljusrum-places h2{font-size:clamp(3.3rem,6vw,5.5rem);margin:0 0 40px}
body.home-page .ljusrum-place{display:grid;grid-template-columns:35px 1fr 1.2fr 30px;gap:25px;align-items:center;padding-block:28px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
body.home-page .ljusrum-place:last-child{border-bottom:1px solid var(--line)}
body.home-page .ljusrum-place-index{font-size:.65rem;color:var(--muted)}
body.home-page .ljusrum-place h3{font-size:2.4rem;line-height:1.2;margin:0}
body.home-page .ljusrum-place-address{font-size:.8rem;line-height:1.7}
body.home-page .ljusrum-place-address small{display:block;font-size:.65rem;color:var(--muted);margin-top:4px}
body.home-page .ljusrum-place>span:last-child{font-size:1.4rem}
body.home-page .ljusrum-place:hover h3{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
@media(prefers-reduced-motion:no-preference){
  @supports(animation-timeline:view()){
    body.home-page .ljusrum-stage{view-timeline-name:--ljusrum-hero}
    body.home-page .ljusrum-glass{animation:ljusrum-depth linear both;animation-timeline:--ljusrum-hero;animation-range:exit 0% exit 100%}
    @keyframes ljusrum-depth{from{transform:scale(1)}to{transform:scale(1.035) translateY(2%)}}
  }
}
@media(max-width:1100px){
  body.home-page .ljusrum-container{width:calc(100% - 72px)}
  body.home-page .ljusrum-hero-content{width:calc(100% - 72px);padding-top:90px}
  body.home-page .ljusrum-stage{min-height:700px;height:760px}
  body.home-page .ljusrum-visit-bar{width:calc(100% - 36px);padding:28px;gap:25px}
  body.home-page .ljusrum-visit-intro p{font-size:1.5rem}
  body.home-page .ljusrum-score{font-size:2.5rem}
  body.home-page :is(.ljusrum-section-heading,.treatment-guide,.ljusrum-person,.ljusrum-practical-grid){column-gap:50px}
  body.home-page .choice-label{font-size:1.35rem}
  body.home-page .guide-choice{gap:12px}
  body.home-page .ljusrum-person-copy{padding-left:25px}
  body.home-page .ljusrum-portrait figcaption{display:block}
  body.home-page .ljusrum-portrait figcaption span{display:block;margin-top:4px}
}
@media(max-width:760px){
  body.home-page .ljusrum-container{width:calc(100% - 40px)}
  body.home-page .ljusrum-stage{height:760px;min-height:0}
  body.home-page .ljusrum-hero-content{width:calc(100% - 40px);padding-top:60px;padding-bottom:30px}
  body.home-page .ljusrum-hero-content h1{font-size:clamp(3.9rem,10vw,5.5rem);margin-bottom:26px}
  body.home-page .ljusrum-kicker{font-size:.56rem;letter-spacing:.13em;margin-bottom:30px}
  body.home-page .ljusrum-glass{width:100%;object-position:50% 45%;mask-image:none}
  body.home-page .ljusrum-ambient{display:none}
  body.home-page .ljusrum-scene:after{background:linear-gradient(105deg,rgba(8,28,24,.92) 0%,rgba(8,28,24,.72) 43%,rgba(8,28,24,.16) 80%)}
  body.home-page .ljusrum-hero-bottom{max-width:310px}
  body.home-page .ljusrum-hero-bottom p{font-size:.83rem;max-width:28ch;text-shadow:0 1px 12px #10271e}
  body.home-page .ljusrum-side-note{display:none}
  body.home-page .ljusrum-visit-bar{width:calc(100% - 20px);grid-template-columns:1fr 1.2fr;margin-top:-77px;padding:26px 24px;gap:24px}
  body.home-page .ljusrum-visit-intro{border:0;padding:0}
  body.home-page .ljusrum-visit-intro p{font-size:1.45rem}
  body.home-page .ljusrum-visit-intro .ljusrum-label{font-size:.53rem}
  body.home-page .ljusrum-rating{gap:10px;justify-self:end}
  body.home-page .ljusrum-score{font-size:2.3rem}
  body.home-page .ljusrum-score>span{font-size:.57rem;margin-left:4px}
  body.home-page .ljusrum-rating>span:last-child{font-size:.54rem}
  body.home-page .ljusrum-visit-action{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}
  body.home-page .ljusrum-visit-action .button{min-height:50px}
  body.home-page .ljusrum-section-top{gap:20px;margin-bottom:30px;padding-bottom:18px}
  body.home-page .ljusrum-section-top>p:last-child{font-size:.59rem;text-align:right}
  body.home-page .ljusrum-section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:35px}
  body.home-page .ljusrum-section-heading h2{font-size:3rem}
  body.home-page .ljusrum-section-heading>p{font-size:.82rem}
  body.home-page .ljusrum-treatments{padding-block:65px 70px}
  body.home-page .treatment-guide{grid-template-columns:1fr;gap:28px}
  body.home-page .guide-choices{grid-template-columns:1fr 1fr;gap:0 18px}
  body.home-page .guide-choice{grid-template-columns:1fr 15px;padding:17px 0;gap:9px;align-content:start}
  body.home-page .choice-number{grid-column:1/-1;font-size:.58rem}
  body.home-page .choice-label{font-size:1.25rem}
  body.home-page .choice-label small{font-size:.58rem}
  body.home-page .guide-choice:last-child{border-bottom:0}
  body.home-page .guide-choice:has(input:checked){box-shadow:inset 0 2px #66735b}
  body.home-page .guide-panel{min-height:430px;padding-top:25px}
  body.home-page .guide-panel h3{font-size:2rem}
  body.home-page .guide-body{gap:25px}
  body.home-page .guide-description{font-size:.82rem}
  body.home-page .guide-actions{gap:12px 24px}
  body.home-page .ljusrum-catalogue{text-align:left;margin-top:25px}
  body.home-page .ljusrum-person{grid-template-columns:1fr;gap:0;padding-block:35px 65px}
  body.home-page .ljusrum-person-heading{grid-column:1;grid-row:1}
  body.home-page .ljusrum-person-heading h2{font-size:3.7rem;margin:25px 0 30px}
  body.home-page .ljusrum-portrait{grid-column:1;grid-row:2;width:88%;margin:0 0 0 auto}
  body.home-page .ljusrum-portrait img{aspect-ratio:1.05;object-position:50% 40%}
  body.home-page .ljusrum-person-copy{grid-column:1;grid-row:3;padding-left:24px;margin-top:36px;max-width:100%}
  body.home-page .ljusrum-practical{padding-block:60px}
  body.home-page .ljusrum-practical-grid{grid-template-columns:1fr;gap:32px}
  body.home-page .ljusrum-practical-intro h2{font-size:2.8rem;margin-top:24px}
  body.home-page .ljusrum-detail{width:100%}
  body.home-page .ljusrum-practical-copy{padding:0}
  body.home-page .ljusrum-practical-copy>p{font-size:.83rem;margin-bottom:25px}
  body.home-page .home-questions summary{font-size:.77rem;min-height:74px}
  body.home-page .ljusrum-places{padding-block:65px}
  body.home-page .ljusrum-places h2{font-size:4rem;margin-bottom:28px}
  body.home-page .ljusrum-place{grid-template-columns:22px 1fr 22px;gap:10px 15px;padding-block:23px}
  body.home-page .ljusrum-place h3{font-size:2.25rem}
  body.home-page .ljusrum-place-address{grid-column:2;grid-row:2;font-size:.76rem}
  body.home-page .ljusrum-place>span:last-child{grid-column:3;grid-row:1}
}
@media(max-width:360px){
  body.home-page .ljusrum-hero-content h1{font-size:3.45rem}
  body.home-page .ljusrum-visit-bar{padding:22px 17px;column-gap:12px}
  body.home-page .ljusrum-rating{gap:7px}
  body.home-page .ljusrum-visit-intro p{font-size:1.3rem}
  body.home-page .ljusrum-score{font-size:1.9rem}
  body.home-page .ljusrum-person-heading h2{font-size:3.25rem}
  body.home-page .ljusrum-practical-intro h2{font-size:2.4rem}
}

/* D08: human scale, photographic rhythm and purposeful disclosures. */
body.home-page .ljusrum-person{grid-template-columns:1fr 1.08fr;column-gap:80px;padding-block:76px 110px;align-items:start}
body.home-page .ljusrum-person-heading{padding-top:28px;align-self:end}
body.home-page .ljusrum-person-heading h2{font-size:clamp(3rem,5.5vw,4.8rem);max-width:none;margin-bottom:0}
body.home-page .ljusrum-person-copy{padding-left:0;border:0;margin-top:36px;max-width:390px}
body.home-page .ljusrum-person-copy>p:not(.ljusrum-person-lead){font-size:.9rem}
body.home-page .ljusrum-person-copy .text-link{font-size:.8rem;margin-top:20px}
body.home-page .ljusrum-person-visual{grid-column:2;grid-row:1/span 2;width:100%;margin:0}
body.home-page .ljusrum-person-images{position:relative;aspect-ratio:1/1.15;isolation:isolate}
body.home-page .ljusrum-botanical{position:absolute;inset:0 0 14% 21%;width:auto;margin:0;overflow:hidden}
body.home-page .ljusrum-botanical img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;aspect-ratio:auto}
body.home-page .ljusrum-portrait{position:absolute;inset:auto auto 0 0;width:61%;max-width:none;margin:0;z-index:1;padding:7px;background:var(--paper);border-radius:50%}
body.home-page .ljusrum-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center;filter:none;box-shadow:none}
body.home-page .ljusrum-person-visual figcaption{display:flex;flex-direction:column;align-items:center;gap:5px;width:61%;padding-top:18px;text-align:center;font-size:.8rem;line-height:1.6}
body.home-page .ljusrum-person-visual figcaption strong{font-weight:550}
body.home-page .ljusrum-person-visual figcaption span{font-size:.7rem;color:var(--muted)}
body.home-page .ljusrum-practical{background:linear-gradient(120deg,#eceee4,#f3f2e9);padding-block:100px}
body.home-page .ljusrum-detail{width:100%;margin-top:45px}
body.home-page .ljusrum-detail img{aspect-ratio:1.45;object-position:55% 52%}
body.home-page .ljusrum-practical-copy{padding-top:68px}
body.home-page .ljusrum-practical-copy>p{font-size:.95rem}
body.home-page .home-questions details{border-color:#c8cebf;padding-inline:16px;transition:background .2s}
body.home-page .home-questions details[open]{background:#fbfaf3}
body.home-page .home-questions summary{display:grid;grid-template-columns:23px 1fr 22px;align-items:center;gap:13px;min-height:88px;font-size:.88rem;font-weight:500;line-height:1.55}
body.home-page .question-number{font-size:.65rem;color:var(--warm-ink);font-variant-numeric:tabular-nums}
body.home-page .home-questions summary:after{justify-self:end;font-size:1.3rem;font-weight:400}
body.home-page .home-questions details>div{padding:0 4px 24px 36px;font-size:.88rem;line-height:1.85}
body.home-page .home-questions details>div p{margin-top:0}
body.home-page .ljusrum-call{border-bottom:1px solid #c8cebf;padding-block:8px 20px;margin-top:35px}
body.home-page .ljusrum-call:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
body.home-page .ljusrum-locations-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
body.home-page .ljusrum-locations-intro h2{margin-bottom:26px}
body.home-page .ljusrum-locations-intro p{font-size:.9rem;max-width:27ch;line-height:1.8}
body.home-page .ljusrum-locations-intro .text-link{margin-top:20px}
body.home-page .ljusrum-location{border-top:1px solid var(--line)}
body.home-page .ljusrum-location:last-child{border-bottom:1px solid var(--line)}
body.home-page .ljusrum-location summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:24px 1fr 32px;align-items:center;gap:20px;padding:25px 4px;color:var(--ink)}
body.home-page .ljusrum-location summary::-webkit-details-marker{display:none}
body.home-page .ljusrum-town-name{font:400 clamp(1.9rem,3vw,2.5rem)/1.2 var(--display);letter-spacing:-.04em}
body.home-page .ljusrum-location-toggle{display:grid;place-items:center;width:32px;height:32px;border:1px solid #b8c1b2;border-radius:50%}
body.home-page .ljusrum-location-toggle:before{content:'+';font-size:1.2rem}
body.home-page .ljusrum-location[open] .ljusrum-location-toggle{background:var(--ink);border-color:var(--ink);color:var(--paper)}
body.home-page .ljusrum-location[open] .ljusrum-location-toggle:before{content:'−'}
body.home-page .ljusrum-location-content{padding:0 0 30px 48px}
body.home-page .ljusrum-location-offer{font-size:.85rem;line-height:1.7;margin:0 0 20px;max-width:39ch}
body.home-page .ljusrum-location address{font-size:.85rem;font-style:normal;line-height:1.8;color:var(--ink)}
body.home-page .ljusrum-location-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:24px}
body.home-page .ljusrum-location-actions .button{font-size:.78rem;gap:20px}
body.home-page .ljusrum-location-actions .text-link{font-size:.78rem}
body.home-page .ljusrum-location summary:hover .ljusrum-town-name{color:var(--warm-ink)}
@media(prefers-reduced-motion:no-preference){
  body.home-page :is(.ljusrum-detail,.ljusrum-botanical) img{transition:transform .9s cubic-bezier(.22,1,.36,1)}
  body.home-page :is(.ljusrum-detail,.ljusrum-botanical):hover img{transform:scale(1.025)}
  body.home-page .ljusrum-location[open] .ljusrum-location-content,body.home-page .home-questions details[open]>div{animation:ljusrum-unfold .3s ease-out}
  @keyframes ljusrum-unfold{from{opacity:.6;transform:translateY(-5px)}to{opacity:1;transform:none}}
}
@media(max-width:1100px){
  body.home-page .ljusrum-person{column-gap:50px}
  body.home-page .ljusrum-locations-layout{gap:50px;grid-template-columns:.8fr 1.2fr}
  body.home-page .ljusrum-person-heading h2{font-size:3.6rem}
}
@media(max-width:760px){
  body.home-page .ljusrum-person{grid-template-columns:1fr;padding-block:38px 65px}
  body.home-page .ljusrum-person-heading{grid-row:1;padding-top:0}
  body.home-page .ljusrum-person-heading h2{font-size:clamp(2.8rem,10.5vw,4.4rem);margin-bottom:30px}
  body.home-page .ljusrum-person-visual{grid-column:1;grid-row:2;max-width:490px;justify-self:center}
  body.home-page .ljusrum-person-images{aspect-ratio:1/1.06}
  body.home-page .ljusrum-portrait{width:61%;padding:5px}
  body.home-page .ljusrum-person-visual figcaption{font-size:.78rem;padding-top:12px;width:70%}
  body.home-page .ljusrum-person-visual figcaption span{font-size:.67rem}
  body.home-page .ljusrum-person-copy{grid-row:3;grid-column:1;margin-top:32px;max-width:100%;padding:0}
  body.home-page .ljusrum-practical{padding-block:60px}
  body.home-page .ljusrum-practical-copy{padding-top:0}
  body.home-page .ljusrum-detail{margin-top:30px}
  body.home-page .home-questions details{padding-inline:10px}
  body.home-page .home-questions summary{font-size:.88rem;grid-template-columns:18px 1fr 18px;gap:10px;min-height:86px}
  body.home-page .home-questions details>div{padding-left:28px}
  body.home-page .ljusrum-locations-layout{grid-template-columns:1fr;gap:30px}
  body.home-page .ljusrum-locations-intro p{max-width:36ch}
  body.home-page .ljusrum-location summary{gap:14px;padding-block:24px}
  body.home-page .ljusrum-location-content{padding-left:38px}
}
@media(prefers-reduced-motion:reduce){
  body.home-page *,body.home-page *:before,body.home-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* S07: enlarged text can wrap; normal-size homepage composition is retained. */
@media(max-width:760px){body.home-page .ljusrum-hero-content h1{text-wrap:wrap;overflow-wrap:anywhere}body.home-page .ljusrum-section-heading{grid-template-columns:minmax(0,1fr)}body.home-page .ljusrum-section-heading h2{overflow-wrap:anywhere}body.home-page .ljusrum-stage{height:47.5rem;min-height:760px}body.home-page .ljusrum-hero-content{padding-bottom:110px}}
@media(max-width:760px){body.home-page .ljusrum-locations-layout{grid-template-columns:minmax(0,1fr)}body.home-page .ljusrum-locations-layout>*{min-width:0}body.home-page .ljusrum-locations-intro h2{overflow-wrap:anywhere}}
@media(max-width:760px){body.home-page .ljusrum-location summary{grid-template-columns:24px minmax(0,1fr) 32px}body.home-page .ljusrum-location summary span{overflow-wrap:anywhere;min-width:0}}
@media(max-width:760px){html[lang=en] body.home-page .ljusrum-hero-content h1{max-width:100%}}

/* S09: an early allowance signal, with the supplied provider artwork below the opening. */
body.home-page .ljusrum-hero-bottom .ljusrum-wellness-signal{margin-top:24px;color:#f7f1e5;font-size:.83rem;line-height:1.7;max-width:32ch}
body.home-page .ljusrum-wellness{padding-block:64px 0;scroll-margin-top:30px}
body.home-page .ljusrum-wellness-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:36px;margin-bottom:24px}
body.home-page .ljusrum-wellness-heading h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.2;margin:12px 0 0;max-width:20ch}
body.home-page .ljusrum-wellness-heading>p{font-size:.85rem;line-height:1.8;margin:0;max-width:47ch}
body.home-page .ljusrum-wellness-providers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:16px 24px;margin:0;background:#fff}
body.home-page .ljusrum-wellness-providers li{display:flex;align-items:center;justify-content:center;min-width:0}
body.home-page .ljusrum-wellness-providers img{display:block;width:100%;max-width:160px;height:56px;object-fit:contain}
body.home-page .ljusrum-wellness-note{display:flex;align-items:start;justify-content:space-between;gap:24px;padding-top:20px}
body.home-page .ljusrum-wellness-note p{max-width:63ch;font-size:.78rem;line-height:1.8;margin:0}
body.home-page .ljusrum-wellness-note .text-link{flex-shrink:0;font-size:.78rem;min-height:44px}
@media(max-width:760px){
  body.home-page .ljusrum-wellness{padding-top:44px}
  body.home-page .ljusrum-wellness-heading{grid-template-columns:minmax(0,1fr);gap:18px}
  body.home-page .ljusrum-wellness-providers{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:16px}
  body.home-page .ljusrum-wellness-note{flex-direction:column;gap:10px}
  body.home-page .ljusrum-wellness-note .text-link{flex-shrink:1}
}

/* D08: an explicit choice and a useful, readable next step. */
body.home-page .treatment-guide{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,76px);align-items:start}
body.home-page .guide-choices{display:grid;grid-template-columns:1fr;gap:0;min-width:0}
body.home-page .guide-legend{font-size:.75rem;line-height:1.65;color:var(--muted);padding:0 0 19px;max-width:100%}
body.home-page .guide-choice{grid-template-columns:25px minmax(0,1fr) 36px;gap:16px;min-height:99px;padding:20px 12px;border-top:1px solid var(--line);border-bottom:0;align-items:center;align-content:center;transition:background .2s,color .2s}
body.home-page .guide-choice:last-child{border-bottom:1px solid var(--line)}
body.home-page .choice-indicator{display:grid;place-items:center;width:22px;height:22px;border:1px solid #7b8474;border-radius:50%;color:var(--paper);background:transparent;font:500 .78rem/1 Manrope,Arial,sans-serif;transition:background .2s,border-color .2s}
body.home-page .choice-indicator>span{visibility:hidden}
body.home-page .choice-label{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.25}
body.home-page .choice-label small{font-size:.72rem;line-height:1.6;margin-top:7px}
body.home-page .choice-status{font-size:.64rem;font-weight:600;letter-spacing:.02em;visibility:hidden}
body.home-page .guide-choice:has(input:checked){color:var(--ink);border-top-color:var(--line);background:linear-gradient(90deg,rgba(93,111,82,.09),rgba(93,111,82,.025));box-shadow:inset 2px 0 #5d6f52}
body.home-page .guide-choice:has(input:checked) .choice-indicator{background:#465b42;border-color:#465b42}
body.home-page .guide-choice:has(input:checked) :is(.choice-indicator>span,.choice-status){visibility:visible}
body.home-page .guide-choice:hover{background-color:rgba(93,111,82,.045);color:var(--ink)}
body.home-page .guide-choice:has(input:focus-visible){outline:2px solid #795638;outline-offset:4px}
body.home-page .guide-panels{border:0;min-width:0;gap:24px}
body.home-page .guide-panel{position:relative;padding:31px clamp(24px,3vw,43px) 28px;min-height:0;border:1px solid #d6d8c9;border-radius:3px 40px 3px 3px;background:linear-gradient(130deg,#fffdf7 0%,#f6f5ec 100%);box-shadow:0 12px 35px -24px rgba(43,49,44,.22)}
body.home-page .is-interactive .guide-panel{min-height:505px;animation:none}
body.home-page .guide-result-label{display:flex;gap:5px;font-size:.62rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
body.home-page .guide-selected-label{display:none}
body.home-page .is-interactive .guide-selected-label{display:inline}
body.home-page .is-interactive .guide-fallback-label{display:none}
body.home-page .guide-body{grid-template-columns:1fr;gap:26px}
body.home-page .guide-panel h3{font-size:clamp(2rem,2.7vw,2.7rem);line-height:1.12;margin-bottom:17px;text-wrap:balance}
body.home-page .guide-description{font-size:.91rem;line-height:1.85;max-width:44ch}
body.home-page .guide-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:0;padding-top:23px;border-top:1px solid var(--line)}
body.home-page .guide-facts dt{font-size:.62rem;line-height:1.6;letter-spacing:.08em;margin-bottom:7px}
body.home-page .guide-facts dd{font-size:1.02rem;line-height:1.6}
body.home-page .guide-facts dd.guide-unconfirmed{font-size:.83rem}
body.home-page .guide-towns dd{display:flex;flex-wrap:wrap;gap:0 20px}
body.home-page .guide-towns a{display:inline-flex;align-items:center;gap:12px;min-height:38px;font-size:.82rem;text-decoration-color:#b4b9aa;text-underline-offset:5px}
body.home-page .guide-towns a:hover{text-decoration-color:var(--ink)}
body.home-page .guide-towns a>span{font-size:.9rem}
body.home-page .guide-note{font-size:.75rem;line-height:1.7;margin:14px 0 0;max-width:48ch}
body.home-page .guide-actions{gap:4px 24px;margin-top:26px}
body.home-page .guide-actions .button{font-size:.81rem;min-height:52px;gap:25px;padding:13px 22px;flex-grow:1;justify-content:space-between}
body.home-page .guide-actions .text-link{font-size:.78rem;min-height:44px;gap:12px}
body.home-page .guide-alternatives{font-size:.71rem;min-height:36px;margin-top:10px;padding-block:7px;color:var(--muted)}
body.home-page .treatment-guide:not(.is-interactive){grid-template-columns:1fr}
body.home-page .treatment-guide:not(.is-interactive) .guide-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){
  body.home-page .treatment-guide{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px}
  body.home-page .guide-choice{grid-template-columns:22px minmax(0,1fr);gap:12px;padding-inline:10px}
  body.home-page .choice-status{grid-column:2;font-size:.61rem;line-height:1;margin-top:-3px}
  body.home-page .guide-panel{padding-inline:25px}
  body.home-page .guide-actions .button{width:100%}
}
@media(max-width:700px){
  body.home-page .treatment-guide{grid-template-columns:1fr;gap:25px}
  body.home-page .guide-legend{font-size:.72rem;padding-bottom:16px}
  body.home-page .guide-choices{grid-template-columns:1fr 1fr;gap:10px}
  body.home-page .guide-choice{grid-template-columns:minmax(0,1fr) 36px;gap:11px;min-height:151px;padding:15px 12px 13px;border:1px solid var(--line);border-radius:3px;align-items:start;align-content:start}
  body.home-page .guide-choice:last-child{border-bottom:1px solid var(--line)}
  body.home-page .choice-indicator{grid-row:1;grid-column:1;width:19px;height:19px;margin-top:0;font-size:.7rem}
  body.home-page .choice-label{grid-column:1/-1;grid-row:2;font-size:1.2rem;line-height:1.25;overflow-wrap:anywhere}
  body.home-page .choice-label small{font-size:.63rem;margin-top:8px}
  body.home-page .choice-status{grid-column:2;grid-row:1;margin-top:4px;text-align:right}
  body.home-page .guide-choice:has(input:checked){border-color:#78886d;box-shadow:inset 2px 0 #5d6f52}
  body.home-page .guide-panel{padding:26px 23px 24px;border-top-right-radius:30px}
  body.home-page .is-interactive .guide-panel{min-height:0}
  body.home-page .guide-result-label{margin-bottom:18px;font-size:.59rem}
  body.home-page .guide-panel h3{font-size:2.2rem}
  body.home-page .guide-description{font-size:.86rem}
  body.home-page .guide-body{gap:23px}
  body.home-page .guide-facts{gap:20px 15px;padding-top:20px}
  body.home-page .guide-facts dd{font-size:.92rem}
  body.home-page .guide-facts dd.guide-unconfirmed{font-size:.77rem}
  body.home-page .guide-towns dd{gap:0 19px}
  body.home-page .guide-towns a{min-height:44px;font-size:.79rem}
  body.home-page .guide-actions{margin-top:22px;gap:8px 20px}
  body.home-page .guide-actions .button{font-size:.81rem}
  body.home-page .guide-actions .text-link{font-size:.79rem}
  body.home-page .guide-alternatives{margin-top:2px;min-height:44px;font-size:.72rem}
  body.home-page .treatment-guide:not(.is-interactive) .guide-panels{grid-template-columns:1fr}
}
@media(max-width:360px){
  body.home-page .guide-choice{padding-inline:10px;gap:8px}
  body.home-page .choice-label{font-size:1.08rem}
  body.home-page .guide-panel{padding-inline:20px}
}

/* S07: translated selection status grows with the reader's text size. */
@media(max-width:760px){body.home-page .guide-choice{grid-template-columns:minmax(0,1fr) auto}body.home-page .choice-status{max-width:100%;overflow-wrap:anywhere}body.home-page .guide-facts dt{overflow-wrap:anywhere}}

/* S10: shared editorial treatment, scoped to the two wellness sections. */
@font-face{font-family:'Wellness Serif';font-style:normal;font-weight:400 700;font-display:swap;src:url('./assets/fonts/SourceSerif4-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020-2021,U+2025-2027,U+202F,U+2030-203E,U+2041-2053,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Wellness Serif';font-style:normal;font-weight:400 700;font-display:swap;src:url('./assets/fonts/SourceSerif4-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.wellness{--wellness-ink:#293e35;--wellness-text:#4e5b50;--wellness-line:#d5d7ca;scroll-margin-top:32px;color:var(--wellness-text)}
.wellness-home{padding-block:48px 0}
.wellness-contact{margin-block:72px 48px;padding-top:32px;border-top:1px solid var(--wellness-line)}
.wellness .wellness-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.wellness h2#wellness-title{font:400 clamp(1.95rem,2.6vw,2.25rem)/1.16 'Wellness Serif',Georgia,serif;letter-spacing:-.04em;color:var(--wellness-ink);margin:0;max-width:16ch;text-wrap:balance}
.wellness .wellness-intro{max-width:45ch}
.wellness .wellness-intro>p{font-size:.9rem;line-height:1.8;margin:0;max-width:42ch}
.wellness .wellness-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;max-width:100%;margin-top:6px;font-size:.82rem;line-height:1.6;font-weight:600;color:var(--wellness-ink);text-decoration:underline;text-underline-offset:5px;padding-block:8px}
.wellness .wellness-link>span{font-size:1.15rem;flex-shrink:0;font-weight:400}
.wellness .wellness-link:hover{text-decoration-thickness:2px}
.wellness .wellness-portals{padding-block:17px 0;margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:72px;border-top:1px solid var(--wellness-line)}
.wellness .wellness-portals>p{font-size:.75rem;line-height:1.8;margin:0}
.wellness .wellness-providers{display:grid;grid-template-columns:1.15fr .9fr .7fr 1.35fr;align-items:center;gap:24px;list-style:none;padding:0;margin:0;direction:ltr}
.wellness .wellness-providers li{display:flex;justify-content:center;align-items:center;min-width:0}
.wellness .wellness-providers img{width:100%;max-width:120px;height:40px;object-fit:contain}
.wellness .wellness-exclusion{font-size:.85rem;line-height:1.8;margin:13px 0 0;color:#626c60}
.wellness .wellness-copy{min-width:0}
.wellness .wellness-facts{display:grid;gap:19px;margin-top:24px;max-width:46ch}
.wellness .wellness-facts h3{font:600 .84rem/1.6 Manrope,Arial,sans-serif;letter-spacing:0;margin:0 0 6px;color:var(--wellness-ink)}
.wellness .wellness-facts p{font-size:.9rem;line-height:1.8;margin:0}
.wellness .wellness-conversation{padding-inline-start:36px;border-inline-start:1px solid var(--wellness-line);min-width:0;align-self:stretch}
.wellness .wellness-conversation h3{font:400 1.8rem/1.2 'Wellness Serif',Georgia,serif;letter-spacing:-.035em;color:var(--wellness-ink);margin:0 0 16px}
.wellness .wellness-conversation>p{font-size:.9rem;line-height:1.8;margin:0;max-width:39ch}
.wellness .wellness-phone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;max-width:310px;text-decoration:none;padding-block:17px;margin-top:10px;color:var(--wellness-ink)}
.wellness .wellness-phone>span:first-child{grid-column:1/-1;font-size:.75rem}
.wellness .wellness-phone strong{font:400 clamp(1.6rem,2.7vw,2.2rem)/1.4 'Wellness Serif',Georgia,serif;letter-spacing:-.03em;justify-self:start;white-space:nowrap}
.wellness .wellness-phone>span:last-child{font-size:1.5rem;align-self:center}
.wellness .wellness-phone:hover strong{text-decoration:underline;text-underline-offset:5px}
.wellness .wellness-conversation .wellness-link{margin-top:0}
body.home-page .wellness-home + .ljusrum-treatments{padding-top:60px}
[dir=rtl] .wellness .wellness-link>span,[dir=rtl] .wellness .wellness-phone>span:last-child{transform:scaleX(-1)}
@media(max-width:1000px){
  .wellness .wellness-editorial,.wellness .wellness-portals{gap:36px}
  .wellness .wellness-providers{gap:16px}
  .wellness .wellness-conversation{padding-inline-start:28px}
}
@media(max-width:700px){
  .wellness-home{padding-top:34px}
  .wellness-contact{margin-block:48px 36px;padding-top:28px}
  .wellness .wellness-editorial{grid-template-columns:minmax(0,1fr);gap:19px}
  .wellness h2#wellness-title{font-size:1.95rem;max-width:16ch}
  .wellness .wellness-link{font-size:.82rem;gap:16px;margin-top:4px}
  .wellness .wellness-portals{grid-template-columns:1fr;gap:12px;padding-top:17px;margin-top:20px}
  .wellness .wellness-providers{grid-template-columns:1.1fr .85fr .7fr 1.3fr;gap:15px}
  .wellness .wellness-providers img{height:35px;max-width:100px}
  .wellness .wellness-exclusion{max-width:46ch;margin-top:13px}
  .wellness .wellness-conversation{border-inline-start:0;border-top:1px solid var(--wellness-line);padding:23px 0 0;margin-top:4px}
  .wellness .wellness-conversation h3{font-size:1.65rem}
  .wellness .wellness-phone strong{font-size:1.9rem}
  body.home-page .wellness-home + .ljusrum-treatments{padding-top:48px}
}
@media(max-width:370px){
  .wellness .wellness-providers{gap:10px}
  .wellness .wellness-phone strong{font-size:1.8rem}
}
/* Keep the next step on this contact page quieter than personal contact. */
.wellness-contact + #faq-title .faq-link-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:28px;background:transparent;border-radius:0;border-top:1px solid var(--line);padding:24px 0 0;margin-top:0}
.wellness-contact + #faq-title .faq-link-panel h2{font:400 1.5rem/1.25 'Wellness Serif',Georgia,serif;letter-spacing:-.025em;margin:0}
.wellness-contact + #faq-title .faq-link-panel p{font-size:.85rem;line-height:1.8;margin:0;max-width:47ch}
.wellness-contact + #faq-title .faq-link-panel .button{justify-self:start;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:.82rem;line-height:1.6;text-decoration:underline;text-underline-offset:5px}
.wellness-contact + #faq-title .faq-link-panel .button:hover{text-decoration-thickness:2px}
@media(max-width:700px){
  .wellness-contact + #faq-title .faq-link-panel{grid-template-columns:1fr;gap:10px;padding-top:23px}
}

/* Language control appearance and layout are shared in chrome.css. */

/* S13: shared navigation and controls, independent of each page's composition. */
:root{--chrome-paper:#fffdfa;--chrome-ink:#2d4438;--chrome-line:#dce1d6;--chrome-height:6.5rem;--content-max:1440px;--page-gutter:40px}
html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--chrome-height) + 12px)}
body .skip{z-index:100}

body .button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:14px 24px;border:1px solid var(--chrome-ink);border-radius:10px;background:var(--chrome-ink);color:var(--chrome-paper);font-size:.875rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
body .button:hover{background:#40594a;border-color:#40594a;box-shadow:0 2px 6px #193d3810}
body .button.light{background:var(--chrome-paper);border-color:var(--chrome-paper);color:var(--chrome-ink)}
body .button.light:hover{background:#f0f1e9;border-color:#f0f1e9}
body .button.outline{background:transparent;border-color:#8e9c8e;color:var(--chrome-ink)}
body .button.outline:hover{background:#e9eee3;border-color:var(--chrome-ink)}
body .button>span[aria-hidden]{flex-shrink:0;font-size:1.1em;line-height:1;transform:none}
body .button:focus-visible{outline:3px solid #967442;outline-offset:4px}

body .header-surface{position:relative;top:0;z-index:50;background:var(--chrome-paper);border-bottom:1px solid var(--chrome-line);color:var(--chrome-ink)}
html.navigation-enhanced body .header-surface{position:sticky}
body .header-surface>.wrap{width:min(var(--content-max),calc(100% - 2 * var(--page-gutter)));max-width:none;margin-inline:auto}
body .header{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--chrome-height);min-height:var(--chrome-height);padding:0;border:0;position:relative}
body .header>.brand{display:flex;align-items:center;flex:0 0 auto;width:196px;max-width:100%;line-height:1;text-decoration:none}
/* Frame only the original PNG's whitespace; preserve the complete wordmark and bubble. */
body .header .brand-logo{display:block;position:relative;width:180px;max-width:100%;aspect-ratio:220 / 76;overflow:hidden;mix-blend-mode:multiply}
body .header>.brand img{position:absolute;display:block;width:161.363636%;max-width:none;height:auto;left:-33.636364%;top:-7.894737%}
body .header>.nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;margin-inline-start:auto;width:auto;padding:0;font-size:.84rem;line-height:1.5;flex-direction:row}
body .header>.nav>a:not(.button){display:flex;align-items:center;position:relative;min-height:48px;padding:0;color:var(--chrome-ink);font-weight:550;text-decoration:none;white-space:nowrap}
body .header>.nav>a:not(.button)::after{content:'';position:absolute;inset-inline:0;bottom:7px;height:1px;background:currentColor;opacity:0;transition:opacity .18s ease}
body .header>.nav>a:not(.button):is(:hover,[aria-current])::after{opacity:1}
body .header>.nav>.button{min-height:48px;margin:0;padding:12px 19px;gap:15px;font-size:.84rem;white-space:nowrap;align-self:center}
body .header>.menu-button{display:none}
body .header a:focus-visible,body .header button:focus-visible{outline:3px solid #967442;outline-offset:4px}

body .header>.language-nav{display:flex;flex:0 0 auto;align-items:center;gap:0;margin:0;padding:3px;border:1px solid var(--chrome-line);border-radius:10px;background:#f3f4ee;font-size:.72rem;font-weight:600;letter-spacing:.015em;line-height:1.4;direction:ltr}
body .header>.language-nav>span{display:none}
body .header>.language-nav>a{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:6px 8px;border-radius:7px;color:var(--chrome-ink);text-decoration:none;transition:background-color .18s ease}
body .header>.language-nav>a[aria-current]{background:var(--chrome-paper);box-shadow:0 1px 3px #213a2714;text-decoration:none}
body .header>.language-nav>a:hover{background:#e5eadf}
body .header>.language-nav>a[lang=ar]{font-family:'Segoe UI',Tahoma,Arial,sans-serif;font-size:.88rem;letter-spacing:0}
html[lang=ar] body .header>.nav{font-size:.84rem}

@media(max-width:1200px){
  :root{--chrome-height:7.5rem;--page-gutter:24px}
  body .header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:64px 44px;gap:0 16px;padding:6px 0;height:auto;min-height:var(--chrome-height)}
  body .header>.brand{grid-column:1;grid-row:1;justify-self:start;min-width:0;width:150px}
  body .header .brand-logo{width:150px}
  body .header>.menu-button{grid-column:2;grid-row:1;justify-self:end;display:none;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:9px 15px;border:1px solid #a4b09e;border-radius:10px;background:transparent;color:var(--chrome-ink);font-size:.85rem;font-weight:600;line-height:1.4}
  body .header>.menu-button:hover,body .header>.menu-button[aria-expanded=true]{background:#edf0e7;border-color:#6e826b}
  body .header .menu-icon{display:block;position:relative;width:17px;height:14px;flex-shrink:0}
  body .header .menu-icon::before,body .header .menu-icon::after{content:'';position:absolute;inset-inline:0;height:1.5px;background:currentColor;top:3px}
  body .header .menu-icon::after{top:10px}
  body .header .menu-button[aria-expanded=true] .menu-icon::before{top:6px;transform:rotate(45deg)}
  body .header .menu-button[aria-expanded=true] .menu-icon::after{top:6px;transform:rotate(-45deg)}
  body .header>.language-nav{grid-column:1 / -1;grid-row:2;justify-self:end;align-self:center;padding:2px;font-size:.7rem}
  body .header>.language-nav>a{min-height:36px;min-width:40px;padding:5px 10px}
  body .header>.nav{grid-column:1 / -1;grid-row:3;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;width:100%;padding:14px 0 18px;min-width:0}
  body .header>.nav>a:not(.button){min-height:52px;padding:12px 4px;font-size:1rem;white-space:normal;border-bottom:1px solid var(--chrome-line)}
  body .header>.nav>a:not(.button)::after{display:none}
  body .header>.nav>a:not(.button)[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
  body .header>.nav>.button{align-self:stretch;margin:18px 0 0;min-height:50px;font-size:.9rem}
  html.navigation-enhanced body .header{height:var(--chrome-height)}
  html.navigation-enhanced body .header>.menu-button{display:inline-flex}
  html.navigation-enhanced body .header>.nav{display:none;position:absolute;top:100%;inset-inline:0;z-index:1;padding:12px 22px 22px;background:var(--chrome-paper);border:1px solid var(--chrome-line);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 18px 32px #1c30281a;max-height:calc(100dvh - var(--chrome-height) - 16px);overflow-y:auto;overscroll-behavior:contain}
  html.navigation-enhanced body .header>.nav[data-open=true]{display:flex}
  html[lang=ar] body .header>.nav{font-size:1rem}
}
@media(max-width:480px){
  :root{--page-gutter:20px}
  body .header{column-gap:12px}
}
/* Shared page frame; reading measures remain on the text, not the whole layout. */
body:not(.home-page) .wrap,body .footer>.wrap{width:min(var(--content-max),calc(100% - 2 * var(--page-gutter)));max-width:none;margin-inline:auto}
body:not(.home-page) .breadcrumbs{padding-top:30px}
body :is(.about-opening,.catalogue-page-head,.page-opening,.faq-page>.page-head){padding-block:64px 56px;max-width:none;align-items:start}
body :is(.about-opening,.catalogue-page-head,.page-opening,.faq-page>.page-head) .eyebrow{font-size:.66rem;line-height:1.5;margin-bottom:22px}
html[lang=ar] body :is(.about-opening,.catalogue-page-head,.page-opening,.faq-page>.page-head) .eyebrow{font-size:.8rem;line-height:1.9}
body :is(.about-opening,.catalogue-page-head,.page-opening,.faq-page>.page-head) h1{font-size:clamp(3rem,6vw,5.8rem);line-height:1.08;letter-spacing:-.04em;margin:0}
body :is(.page-opening,.faq-page>.page-head)>.lead{margin-top:26px;max-width:57ch}
body :is(.about-opening,.catalogue-page-head)>.lead,body .catalogue-page-head>.catalogue-intro{align-self:end}
body .location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
body .location-grid .location{min-width:0}
body.contact-page .contact-details{padding-block:44px;border-block:1px solid var(--line);margin-top:32px}
body.contact-page .contact-details p{max-width:65ch}
body .booking-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px);align-items:start;padding-bottom:80px}
body .booking-layout>.booking-panel{grid-column:1;grid-row:auto;max-width:720px;width:100%}
body .booking-help{max-width:48ch;padding-top:24px}
body .booking-help h2{font-size:2.2rem;margin-bottom:24px}
body .booking-help p{margin-block:16px}
body .booking-help .text-link{margin-top:16px}
@media(max-width:900px){body .location-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){
  body:not(.home-page) .breadcrumbs{padding-top:23px}
  body :is(.about-opening,.catalogue-page-head,.page-opening,.faq-page>.page-head){padding-block:40px 36px}
  body :is(.about-opening,.catalogue-page-head,.page-opening,.faq-page>.page-head) h1{font-size:clamp(2.7rem,10vw,4.2rem)}
  body .booking-layout{grid-template-columns:1fr;gap:32px;padding-bottom:56px}
  body .booking-help{padding-top:0}
}
@media(prefers-reduced-motion:reduce){
  body .button,body .header a,body .header a::after{transition:none}
}

/* Touch targets: footer links and breadcrumbs reach at least 30 px without moving the layout. */
.breadcrumbs a,.footer-main>div>a[href^="tel:"]{display:inline-block;padding-block:6px;margin-block:-6px}
.footer nav{gap:0}
.footer nav a{display:inline-block;padding-block:4px}

/* Finish 2026-10-13: one page frame, readable text, calmer headings. Loaded last on every page. */

/* Text follows the browser's zoom and base size: rem everywhere, a slightly larger root. */
html{font-size:106.25%}
body{font-size:1rem}
body.home-page{--text:#3f4c44}

/* One frame for header, hero, sections and footer. Wide screens get a wider page, not a centred strip. */
:root{--content-max:1680px;--page-gutter:clamp(20px,4vw,72px)}
@media(max-width:1200px){:root{--page-gutter:24px}}
@media(max-width:480px){:root{--page-gutter:20px}}
body.home-page .ljusrum-container,
body.home-page .ljusrum-hero-content{width:min(var(--content-max),calc(100% - 2 * var(--page-gutter)))}
body.home-page .ljusrum-visit-bar{width:min(1120px,calc(100% - 2 * var(--page-gutter)));margin-inline-end:max(var(--page-gutter),calc((100% - var(--content-max)) / 2))}

/* Headings: upright, one scale per level, sized in rem plus a little viewport so zoom behaves. */
:is(h1,h2,h3) em{font-style:normal}
body.home-page .ljusrum-hero-content h1 em{font-style:italic}
body.home-page :is(h1,h2,h3){letter-spacing:-.025em}
body.home-page .ljusrum-hero-content h1{font-size:clamp(3.4rem,2.6rem + 5vw,7.7rem);letter-spacing:-.045em}
body.home-page :is(.ljusrum-section-heading h2,.ljusrum-person-heading h2,.ljusrum-practical-intro h2,.ljusrum-places h2){font-size:clamp(2.1rem,1.5rem + 1.6vw,3.1rem);line-height:1.12;max-width:none;margin-top:0}
body.home-page .ljusrum-person-heading{padding-top:0;align-self:end}
body.home-page .ljusrum-person-copy{align-self:start}
body.home-page .ljusrum-person-heading h2{margin-bottom:0}
body.home-page .ljusrum-practical-intro h2{margin-bottom:0}
body.home-page .ljusrum-places h2{margin-bottom:24px}
body.home-page .guide-panel h3{font-size:clamp(1.75rem,1.4rem + .9vw,2.3rem);letter-spacing:-.02em}
body.home-page .choice-label{font-size:clamp(1.2rem,1rem + .5vw,1.45rem)}
body.home-page .ljusrum-town-name{font-size:clamp(1.6rem,1.3rem + .8vw,2.1rem);letter-spacing:-.02em}
body :is(.about-opening,.catalogue-page-head,.page-opening,.faq-page>.page-head) h1,
body .relief-opening h1,body .care-opening h1{font-size:clamp(2.5rem,1.8rem + 2.6vw,4.6rem);letter-spacing:-.03em}

/* Section headings on subpages share the homepage scale. */
body :is(.about-person-copy h2,.about-story h2,.about-offer h2,.about-contact h2,.relief-section-heading h2,.care-section-heading h2,.care-practical h2,.care-foot h2,.catalogue-page .catalogue-group-head h2,.more-reading>h2,.treatment-faq h2,.faq-page .treatment-faq h2,.treatment-explanations>h2){font-size:clamp(2.1rem,1.5rem + 1.6vw,3.1rem);line-height:1.12;letter-spacing:-.025em}

/* Small labels: sentence case and legible instead of tiny tracked capitals. */
body .eyebrow,body.editorial-page .eyebrow,body.home-page .ljusrum-label{font-size:.8125rem;letter-spacing:.01em;text-transform:none;font-weight:600;color:var(--muted)}

/* Body copy on the homepage. */
body.home-page .ljusrum-hero-bottom p{font-size:1rem;line-height:1.75;max-width:36ch}
body.home-page .ljusrum-hero-bottom .ljusrum-wellness-signal{font-size:.9375rem}
body.home-page .ljusrum-section-heading{margin-bottom:44px}
body.home-page .ljusrum-section-heading>p{font-size:1rem;line-height:1.75;max-width:44ch}
body.home-page .choice-label small{font-size:.8125rem}
body.home-page .guide-description{font-size:1rem;line-height:1.75}
body.home-page .guide-facts dt,body.home-page .guide-result-label{font-size:.8125rem;text-transform:none;letter-spacing:.01em}
body.home-page .guide-facts dd{font-size:1.0625rem}
body.home-page .guide-facts dd.guide-unconfirmed{font-size:.9375rem}
body.home-page .guide-actions .button{font-size:.875rem}
body.home-page .guide-actions .text-link{font-size:.875rem}
body.home-page .guide-alternatives{font-size:.8125rem}
body.home-page .ljusrum-catalogue .text-link{font-size:.875rem}
body.home-page .ljusrum-person{padding-block:88px 104px}
body.home-page .ljusrum-person-copy{max-width:44ch;margin-top:28px}
body.home-page .ljusrum-person-lead{font-size:1.4rem;letter-spacing:-.015em}
body.home-page .ljusrum-person-copy>p:not(.ljusrum-person-lead){font-size:1rem;line-height:1.75}
body.home-page .ljusrum-person-copy .text-link{font-size:.875rem}
body.home-page .ljusrum-person-visual figcaption{font-size:.875rem}
body.home-page .ljusrum-person-visual figcaption span{font-size:.8125rem}
body.home-page .ljusrum-practical-copy>p{font-size:1rem;line-height:1.75}
body.home-page .ljusrum-call>span:first-child{font-size:.8125rem;letter-spacing:.01em;text-transform:none;font-weight:600}
body.home-page .ljusrum-locations-intro p{font-size:1rem;line-height:1.75;max-width:32ch}
body.home-page .ljusrum-location-offer,body.home-page .ljusrum-location address{font-size:1rem}
body.home-page .ljusrum-location-actions :is(.button,.text-link){font-size:.875rem}

/* Without numbers the question and place rows start at the edge. */
body.home-page .home-questions summary{grid-template-columns:minmax(0,1fr) 22px;font-size:1rem;min-height:76px}
body.home-page .home-questions details>div{padding:0 4px 24px;font-size:1rem;line-height:1.75}
body.home-page .ljusrum-location summary{grid-template-columns:minmax(0,1fr) 32px}
body.home-page .ljusrum-location-content{padding-inline-start:0}

/* Rating: clear and easy to read, still a quiet part of the visit bar. */
body.home-page .ljusrum-rating{gap:16px}
body.home-page .ljusrum-score{font-size:2.6rem}
body.home-page .ljusrum-score>span{font-size:.8125rem}
body.home-page .ljusrum-rating>span:last-child{font-size:.875rem;gap:3px;line-height:1.45}
body.home-page .ljusrum-rating-stars{font-size:.95rem;letter-spacing:.08em;color:#b57a2a}
body.home-page .ljusrum-review-link{font-size:.8125rem}
body.home-page .ljusrum-visit-intro .ljusrum-label{font-size:.8125rem}
body.home-page .ljusrum-visit-action>span{font-size:.8125rem}

/* Allowance providers: official logos on one baseline, evened out by optical size. */
.wellness .wellness-portals>p{font-size:.875rem}
.wellness .wellness-intro>p{font-size:1rem}
.wellness .wellness-link{font-size:.875rem}
.wellness .wellness-exclusion{font-size:.9375rem}
.wellness .wellness-providers{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 32px;align-items:center}
.wellness .wellness-providers li{justify-content:flex-start;height:56px}
.wellness .wellness-providers img{width:auto;max-width:100%;object-fit:contain}
.wellness .wellness-provider-wide img{height:28px}
.wellness .wellness-providers img[src*="benifex"]{height:38px}
.wellness .wellness-provider-compact img{height:46px}
.wellness .wellness-providers img[src*="soderberg"]{height:42px}

/* Price list: no numbering; areas are named, not counted. */
body .catalogue-page :is(.catalogue-nav-number,.catalogue-group-number){display:none}
body .catalogue-page .catalogue-nav a{grid-template-columns:minmax(0,1fr) 12px;font-size:.875rem}
body .catalogue-page .catalogue-group-head{grid-template-columns:minmax(0,1fr)}
body .catalogue-page .catalogue-group-head p:not(.eyebrow){font-size:.9375rem}

/* Fact labels (price, time, location) in sentence case, like the rest of the labels. */
body :is(.catalogue-page .catalogue-locations>span,.catalogue-page .catalogue-nav-label,.catalogue-page .catalogue-summary dt,.guide-facts dt,.relief-facts dt,.relief-option-places>span,.relief-option-label,.catalogue-facts dt,.care-facts dt){font-size:.8125rem;text-transform:none;letter-spacing:.01em}

/* Subpages: reading text and small print one step larger. */
body .breadcrumbs{font-size:.8125rem}
body .prose :is(p,li){font-size:1rem}
body .booking-panel :is(p,.panel-line,.duration){font-size:.875rem}

/* Footer: the address is part of the contact information. */
.footer .footer-address{font-style:normal;margin-top:12px;color:inherit}
.footer .footer-also{margin-top:8px}
.footer{font-size:.875rem}
.footer .footer-title,.footer-social .footer-title{font-size:.8125rem;text-transform:none;letter-spacing:.01em;font-weight:600}
.footer-bottom{font-size:.8125rem}

@media(max-width:760px){
  body.home-page .ljusrum-hero-content h1{font-size:clamp(3.2rem,1.6rem + 7vw,5.5rem)}
  body.home-page .ljusrum-visit-bar{width:calc(100% - 20px);margin-inline-end:auto}
  body.home-page .ljusrum-visit-bar{grid-template-columns:minmax(0,1fr);gap:18px}
  body.home-page .ljusrum-rating{justify-self:start;padding-top:16px;border-top:1px solid var(--line);width:100%}
  body.home-page .ljusrum-visit-action{padding-top:0;border-top:0}
  body.home-page .ljusrum-score{font-size:2.2rem}
  body.home-page .ljusrum-rating>span:last-child{font-size:.8125rem}
  body.home-page .ljusrum-person{padding-block:48px 64px}
  body.home-page .home-questions details>div{padding-left:0}
  body.home-page .ljusrum-location-content{padding-left:0}
  .wellness .wellness-providers{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
  .wellness .wellness-providers li{justify-content:center}
}
