@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-2021,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')}
/* Loaded only on S02's two pages. The chosen homepage keeps its own assets. */
body.editorial-page{--display:'Source Serif 4',Georgia,serif;--paper:#f7f5ee;--ink:#283a32;--text:#48554d;--muted:#626c60;--line:#d9dcd0;background:var(--paper)}
.editorial-page :is(h1,h2,h3){font-family:var(--display);font-weight:400;letter-spacing:-.04em;text-wrap:balance}
.editorial-page .wrap{width:min(1160px,calc(100% - 104px))}
.editorial-page .eyebrow{font-size:.66rem;font-weight:550}
.editorial-page .breadcrumbs{padding-top:30px}
.about-opening{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;padding:70px 0 65px;border-bottom:1px solid var(--line)}
.about-opening h1{font-size:clamp(3.7rem,7vw,6.5rem);line-height:1.03}
.about-opening .lead{font-size:1rem;line-height:1.9;padding-bottom:10px}
.about-person{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center;padding:90px 0 100px}
.about-portrait{width:100%;max-width:395px;margin:auto}
.about-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
.about-portrait figcaption{text-align:center;margin-top:25px;font-size:.85rem;color:var(--ink)}
.about-portrait figcaption span{display:block;font-size:.7rem;color:var(--muted);margin-top:4px}
.about-person-copy h2{font-size:clamp(2.8rem,4.7vw,4.1rem);line-height:1.06;margin-bottom:30px}
.about-person-copy>p:not(.eyebrow){font-size:.96rem;line-height:1.9}
.about-person-copy .text-link{margin-top:12px;min-height:44px}
.about-story{display:grid;grid-template-columns:1fr 1.2fr;gap:75px;border-top:1px solid var(--line);padding:65px 0 85px}
.about-story h2{font-size:clamp(2.2rem,3.5vw,3.3rem);margin-bottom:25px}
.about-story-intro>p:not(.eyebrow){font-size:.92rem;line-height:1.9;max-width:35ch}
.about-story-intro>p:last-child{font-size:.76rem;color:var(--muted);margin-top:22px}
.about-timeline{list-style:none;padding:0;margin:0}
.about-timeline li{position:relative;display:grid;grid-template-columns:70px 1fr;gap:18px;padding:0 0 38px 29px}
.about-timeline li::before{content:'';position:absolute;left:4px;top:11px;bottom:-11px;width:1px;background:#bcc7b8}
.about-timeline li::after{content:'';position:absolute;left:0;top:8px;width:9px;height:9px;border:1px solid #70806c;border-radius:50%;background:var(--paper)}
.about-timeline li:last-child{padding-bottom:0}
.about-timeline li:last-child::before{display:none}
.about-timeline li:last-child::after{background:#70806c}
.about-timeline time{color:#65745d;font-family:var(--display);font-size:1.5rem;line-height:1.1;font-variant-numeric:lining-nums tabular-nums}
.about-timeline h3{font-size:1.5rem;margin-bottom:12px;line-height:1.2}
.about-timeline p{font-size:.88rem;line-height:1.85}
.about-timeline .text-link{font-size:.79rem;min-height:44px;margin-top:5px}
.about-offer{background:#eceee5;padding-block:75px}
.about-offer-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:110px}
.about-offer h2{margin-bottom:28px;font-size:clamp(2.4rem,4vw,3.8rem)}
.about-offer p{font-size:.93rem;line-height:1.9}
.about-offer .button{margin-top:30px}
.about-places>div{border-top:1px solid #c5cbbd;padding:24px 0 18px}
.about-places h3{font-size:1.8rem;margin-bottom:12px}
.about-places .text-link{font-size:.82rem}
.about-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;padding-block:85px 100px}
.about-contact h2{font-size:clamp(2.7rem,4.4vw,4rem)}
.about-contact>div>p{font-size:.96rem}
.about-contact .about-contact-note{font-size:.78rem;margin-top:25px;color:var(--muted)}
@media(max-width:1000px){.about-person,.about-story,.about-offer-grid,.about-contact{gap:45px}.about-opening{gap:40px}.about-portrait{max-width:325px}}
@media(max-width:700px){
 .editorial-page .wrap{width:calc(100% - 44px)}
 .about-opening{grid-template-columns:1fr;gap:26px;padding:42px 0 38px}
 .about-opening h1{font-size:clamp(3.1rem,12vw,4.8rem)}
 .about-opening .lead{font-size:.94rem;padding:0}
 .about-person{grid-template-columns:1fr;gap:40px;padding:42px 0 55px}
 .about-portrait{max-width:300px;width:85%}
 .about-person-copy h2{font-size:3.1rem}
 .about-story,.about-offer-grid,.about-contact{grid-template-columns:1fr;gap:35px}
 .about-story{padding:42px 0 50px}
 .about-story-intro>p:not(.eyebrow){max-width:45ch}
 .about-timeline li{grid-template-columns:1fr;gap:10px;padding-left:27px;padding-bottom:31px}
 .about-timeline time{font-size:1.35rem}
 .about-timeline h3{font-size:1.5rem;margin-bottom:10px}
 .about-offer{padding-block:50px}
 .about-contact{padding-block:50px 60px}
 .about-contact .actions{gap:10px 24px}
}

/* 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}
}
