/* Landscape and lace design; earlier designs remain saved as versions 56 and 57. */
@font-face{font-family:'Viaoda Libre';src:url('/fonts/viaoda-libre.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url('/fonts/libre-baskerville-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url('/fonts/libre-baskerville-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--bg:#f0ebdf;--paper:#f7f3e9;--ink:#303720;--muted:#62644e;--line:#c3c3b1;--accent:#555e38;--accent-deep:#343d24;--warm:#878c64;--soft:#e4e5d5;--sand:#e5e6d9}
html{background:#e5e5de}body{max-width:1600px;margin:auto;background:var(--bg);font-family:'Libre Baskerville',Georgia,serif;font-size:18px;font-weight:400;line-height:1.7;color:var(--ink)}
h1,h2,h1 em,.brand,.calendar-title,.guide-pair h3{font-family:'Viaoda Libre',Georgia,serif;font-weight:400;font-style:normal;letter-spacing:-.035em;line-height:1.12}
h3{font-family:'Viaoda Libre',Georgia,serif;font-size:1.6rem;font-weight:400;letter-spacing:-.025em}
.topbar{min-height:80px;padding:14px 6%;background:var(--bg);border-color:var(--line)}.brand{font-size:38px}.brand svg{display:none}.topbar>span{font-size:14px;letter-spacing:.14em}.header-link{font-size:17px}
.site-nav{padding:0 6%;gap:30px;background:var(--bg)}.site-nav a{font-size:17px;font-weight:400;min-height:50px;white-space:nowrap}.site-nav a[aria-current="page"]{font-weight:700}.site-nav a[aria-current="page"]:after{height:1px}
.eyebrow,.mini-label{font-size:14px;letter-spacing:.14em;font-weight:600;color:var(--muted)}
.button,button{border-radius:2px}.button{font-size:17px;padding:13px 24px;min-height:49px}.button:hover,button:hover{background:var(--accent-deep)}.button.secondary:hover{background:var(--soft)}
.footnote,.booking-note,.calendar-legend,.calendar-weekday,.date-chip>span:last-child,.hub-footer,.status{font-size:15px}.small-tag{font-size:14px}.text-link,.card-action,.follow-link{font-size:17px}.booking-enquiry,.booking-enquiry label,#booking-message,.booking-enquiry button,.booking-enquiry .button{font-family:'Libre Baskerville',Georgia,serif;font-size:17px}
.home-page{position:relative}.home-page>.topbar{position:absolute;top:0;left:0;right:0;z-index:8;background:transparent;border:0;height:92px}.home-page>.topbar>span,.home-page>.topbar>.header-link{display:none}.home-page>.site-nav{position:absolute;left:19%;right:6%;top:17px;z-index:9;background:transparent;padding:0;border:0;justify-content:flex-end;gap:32px}.home-page>.site-nav a{font-family:'Libre Baskerville',Georgia,serif;font-size:16px;text-transform:uppercase;letter-spacing:.06em}.home-page>.site-nav a[href='/available-appointments/']{background:var(--accent);color:var(--paper);border-radius:40px;padding:10px 20px;min-height:44px;align-self:center}
.home-main{display:block;padding:0;max-width:none;min-height:0}.landscape-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr minmax(0,440px) 1fr;padding:130px 6% 0;margin:0;border:0;gap:10px 4%;background:#cfd4cb}
.landscape-backdrop{position:absolute;inset:0;z-index:-1;background:url('/images/design/landscape-original-cool.webp') center center/cover no-repeat}
.landscape-heading{grid-column:1/-1;text-align:center}.landscape-heading h1{font-size:clamp(4rem,8.4vw,8.4rem);line-height:1.16;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 12px;white-space:nowrap}
.hero-caption{grid-column:1/-1;justify-self:center;padding-top:2px;text-align:center;align-self:start}.hero-caption .eyebrow{font-family:'Libre Baskerville',Georgia,serif;font-size:15px;color:var(--ink);letter-spacing:.13em;line-height:1.4}
.lace-portrait{position:relative;display:block;width:100%;aspect-ratio:2/3;transform:translateY(40px);z-index:3;cursor:zoom-in;isolation:isolate}.lace-portrait .hero-tattoo{position:absolute;left:15.3%;top:8.5%;width:69.4%;height:82.1%;object-fit:cover;object-position:center;border-radius:50% 50% 13% 13% / 25% 25% 8% 8%;z-index:0}.lace-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none}.lace-divider{position:absolute;bottom:-26px;left:0;right:0;height:65px;background:url('/images/design/lace-trim.webp') center center/390px 130px repeat-x;z-index:2;pointer-events:none}
.home-sections{margin:0}.home-sections>section{margin:0;padding:65px 7%;border-bottom:1px solid var(--line)}
.home-sections>.about-home{padding:105px 7% 40px;background:var(--bg);border:0}.about-home>.section-top{display:none}.about-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:center;gap:7%;margin:0}.about-portrait{aspect-ratio:4/5;max-width:420px;width:100%;margin:0;border:0;border-radius:0;background:transparent;transform:none}.about-portrait img{filter:grayscale(1)}.about-copy{padding:0;max-width:700px}.about-copy h2{font-size:clamp(2.9rem,5.2vw,5rem);text-transform:none;line-height:1.02;margin:0 0 24px}.about-copy p{font-family:'Libre Baskerville',Georgia,serif;font-size:20px;color:var(--ink);line-height:1.65}.about-copy .text-link{margin-top:18px;font-size:16px}
.home-sections>.album-portfolio{display:grid;grid-template-columns:1.05fr .92fr .8fr;gap:36px;align-items:center;padding-top:30px;padding-bottom:80px;border:0}.album-portfolio h2{font-size:clamp(3.2rem,5.7vw,5.5rem);line-height:1.05;text-transform:none;margin:20px 0 36px}.album-portfolio-copy .text-link{font-size:17px}.album-portfolio>a{display:block;cursor:zoom-in;overflow:hidden}.album-portfolio img{display:block;width:100%;height:100%;object-fit:cover}.album-orchid,.album-botanical{aspect-ratio:4/5}.album-orchid img{object-position:center 54%}.album-botanical{margin-top:58px}.album-botanical img{object-position:center 50%}
.home-sections>.dates-home{padding:65px 7%!important;margin:0!important;border:0;border-radius:0;background:var(--sand);gap:35px}.dates-home-copy{flex-basis:620px}.dates-home h2{font-size:clamp(2.8rem,4.6vw,4.3rem);line-height:1.12;margin:20px 0 24px;max-width:680px}.dates-home p{font-size:18px}.date-chip{border-radius:2px;border-color:#a2a78c;background:var(--paper)}.date-chip.consultation{background:transparent}.date-chip:hover{background:var(--soft)}
.booking-home>h2,.faq-home>h2,.guides-home>h2{font-size:clamp(2.8rem,4.7vw,4.5rem);line-height:1.13;margin:20px 0 32px;max-width:840px}.booking-steps{margin-top:36px}.booking-steps h3{font-size:27px;line-height:1.2}.booking-steps p{font-size:18px}.small-tag{font-size:14px;border-radius:2px}.consultation-line{margin-top:28px;padding-top:25px}
.home-sections>.faq-home{max-width:none;padding-inline:14%;background:#e8e9df;border:0}.faq-home summary{padding:23px 0}.home-sections>.guides-home{padding-bottom:70px;border:0}.guide-pair{gap:0;margin-top:32px;border-block:1px solid var(--line)}.guide-pair>a{padding:30px 7% 30px 0;background:transparent;border:0;border-radius:0}.guide-pair>a+a{padding-left:9%;border-left:1px solid var(--line)}.guide-pair>a:hover{background:transparent}.guide-pair h3{font-size:2.2rem;line-height:1.2}
.hub-footer{background:var(--accent-deep);color:var(--paper);border:0;padding:28px 6%;align-items:center;flex-wrap:nowrap}.hub-footer>span,.hub-footer a{white-space:nowrap}.hub-footer a{color:var(--paper)}
.gallery-main,.hub-main{padding-top:64px;padding-bottom:70px;max-width:1300px}.gallery-main>h1,.hub-main>h1{font-size:clamp(3.4rem,6.7vw,6rem);margin:25px 0 30px;line-height:1.12}.gallery-main>.lead{margin-bottom:45px}.gallery-item{border-radius:1px}.portfolio-grid{column-gap:28px}.portfolio-grid .gallery-item{margin-bottom:28px}.gallery-cta{background:var(--sand);padding:35px;margin-top:50px}.gallery-cta h2{font-size:clamp(2.6rem,4vw,3.7rem)}.studio-about{gap:8%;padding:0 0 50px;margin-top:45px}.studio-about h2{font-size:clamp(2.5rem,4vw,3.6rem)}.studio-about .about-portrait{max-width:380px}
.availability-panel,.hub-card,.note,.contact-section{border-radius:2px}.note{background:var(--soft)}.calendar-title{font-family:'Viaoda Libre',Georgia,serif;font-size:clamp(2rem,3vw,2.65rem);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:0 0 20px}.calendar-weekday{font-family:'Libre Baskerville',Georgia,serif;font-size:15px;font-weight:400;line-height:1.2;letter-spacing:.025em;padding-bottom:8px}.calendar-day{font-family:'Libre Baskerville',Georgia,serif;font-size:17px;font-weight:400;line-height:1;font-feature-settings:'lnum' 1,'tnum' 1}.calendar-day.available{font-weight:400}.availability-panel>.footnote{font-family:'Libre Baskerville',Georgia,serif;font-size:15px;line-height:1.5}.layout{padding-top:50px}.layout h1{font-size:3.4rem}.layout h2{font-size:2.8rem}.mobile-book{border-radius:3px;background:var(--accent-deep);box-shadow:0 5px 20px #25291426}
.guest-main{max-width:1220px}.guest-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:8%;align-items:start;margin-top:45px;margin-bottom:0;padding-bottom:0;border-bottom:0}.guest-copy h2{font-size:clamp(2.6rem,4.3vw,4rem);line-height:1.12;margin:0 0 22px}.guest-main>.lead,.guest-copy p,.guest-step-grid p,.guest-cta p{font-size:17px;line-height:1.7}.guest-city-panel{padding:34px;background:var(--sand);border:1px solid var(--line)}.guest-city-panel h2{font-size:2.5rem;line-height:1.15;margin:12px 0 24px}.guest-city-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none}.guest-city-grid li{padding:14px 12px;background:var(--paper);border:1px solid #a2a78c;text-align:center;font-size:16px}.guest-steps{margin-top:70px;margin-bottom:0;padding:55px 0 0;border-top:1px solid var(--line);border-bottom:0}.guest-steps>h2{font-size:clamp(2.5rem,4vw,3.8rem);margin:0 0 35px}.guest-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.guest-step-grid article{padding-top:20px;border-top:1px solid var(--line)}.guest-step-grid h3{font-size:1.8rem;margin:12px 0}.guest-cta{margin-top:55px;margin-bottom:0;padding:38px;background:var(--accent-deep);color:var(--paper);border:0}.guest-cta h2{font-size:clamp(2.3rem,3.7vw,3.4rem);margin:0 0 14px;color:var(--paper)}.guest-cta p{max-width:720px;margin-bottom:24px;color:var(--paper)}.guest-cta .button{background:var(--paper);color:var(--accent-deep)}
@media(max-width:1050px){.site-nav{gap:12px;padding-inline:3%}.site-nav a{font-size:13px}.home-page>.site-nav{gap:10px;left:7%;right:3%}.home-page>.site-nav a{font-size:13px}.home-page>.site-nav a[href='/available-appointments/']{padding-inline:14px}.landscape-hero{grid-template-columns:1fr minmax(0,365px) .7fr;padding-top:120px}.landscape-heading h1{font-size:8.1vw}.about-layout{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:32px}.about-copy{padding-left:10px}.about-copy h2{font-size:4.9vw}.about-copy p{font-size:20px}.album-portfolio h2{font-size:5.5vw}}
@media(max-width:850px) and (min-width:701px){.nav-toggle{display:flex;width:100%;min-height:48px;justify-content:space-between;align-items:center;padding:10px 4%;border:0;border-bottom:1px solid var(--line);background:var(--bg);color:var(--ink);font-family:'Libre Baskerville',Georgia,serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav-toggle span:last-child{font-family:Arial,sans-serif;font-size:21px;font-weight:300}.nav-enhanced .site-nav{display:none}.nav-enhanced .site-nav.is-open{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;padding:6px 4% 14px;background:var(--paper);border-bottom:1px solid var(--line)}.nav-enhanced .site-nav a{min-height:46px;border-bottom:1px solid var(--line);align-items:center;white-space:nowrap}.home-page>.nav-toggle{position:absolute;top:11px;right:4%;z-index:12;width:auto;min-height:44px;padding:7px 10px;gap:14px;border:0;background:transparent}.home-page>.site-nav{position:absolute;top:65px;left:0;right:0}.nav-enhanced .home-page>.site-nav.is-open{display:grid;padding:10px 4% 16px}.hub-footer{flex-wrap:wrap}.hub-footer>span,.hub-footer a{white-space:normal}}
@media(max-width:700px){
 body{padding-bottom:85px;font-size:17px}.topbar{padding:12px 6%;min-height:68px;gap:15px}.brand{font-size:31px}.topbar>span{font-size:13px}.header-link{font-size:15px}.nav-toggle{border-radius:0;background:var(--bg);font-family:'Libre Baskerville',Georgia,serif;font-size:15px;font-weight:700}
 .home-page>.topbar{position:absolute;top:0;left:0;right:0;height:66px;background:transparent;min-height:66px}.home-page>.topbar>span{display:block}.home-page>.nav-toggle{position:absolute;top:11px;right:6%;width:auto;min-height:44px;padding:7px 10px;z-index:12;gap:14px;border:0;background:transparent}.home-page>.topbar>span{display:none}
 .home-page>.site-nav{position:absolute;top:65px;left:0;right:0;padding:0 6%;background:var(--paper);border-bottom:1px solid var(--line)}.home-page.nav-enhanced>.site-nav{display:none}.nav-enhanced .home-page>.site-nav.is-open{display:grid;padding:10px 6% 16px;gap:0 22px}.home-page>.site-nav a{font-family:inherit;font-size:16px;text-transform:none;letter-spacing:0;min-height:47px}.home-page>.site-nav a[href='/available-appointments/']{background:transparent;color:var(--ink);padding:7px 0;border-radius:0}
 .home-main{padding:0}.landscape-hero{padding:78px 5% 0;grid-template-columns:1fr;gap:0;background:#d8ddd5}.landscape-heading{grid-column:auto}.landscape-heading h1{font-size:clamp(3.15rem,14.2vw,5.5rem);line-height:1.05;white-space:normal;margin:0;letter-spacing:-.055em}.landscape-backdrop{background-position:center bottom}
 .hero-caption{padding:17px 0 0;text-align:center}.hero-caption .eyebrow{font-size:11px;font-weight:400;letter-spacing:.08em}.hero-caption .eyebrow br{display:block}.hero-caption p{display:none}.hero-caption .text-link{margin-top:14px;padding:8px 13px;min-height:44px}
 .lace-portrait{width:min(76%,330px);justify-self:center;margin-top:0;transform:translateY(31px)}.lace-divider{height:55px;bottom:-23px;background-size:300px 100px}
 .home-sections>section{padding:46px 7%}.home-sections>.about-home{padding:60px 7% 28px}.about-layout{display:block}.about-portrait{width:min(68vw,300px);max-width:none;margin:0 auto 28px;aspect-ratio:4/5}.about-copy{display:block;padding:0;margin:0}.about-copy h2{text-align:left;text-transform:none;font-size:clamp(2.6rem,11vw,3.5rem);line-height:1.08;margin:0 0 22px}.about-copy h2 br{display:block}.about-copy p{font-size:20px;line-height:1.45;margin:13px 0}.about-copy .text-link{display:inline-flex;margin-top:10px;font-size:17px}
 .home-sections>.album-portfolio{grid-template-columns:1fr 1fr;gap:20px;padding:26px 7% 48px;align-items:start}.album-portfolio-copy{grid-column:1/-1}.album-portfolio h2{font-size:clamp(2.8rem,11.5vw,3.7rem);line-height:1.07;margin:15px 0 20px}.album-portfolio h2 br{display:block}.album-portfolio-copy .text-link{margin-bottom:10px}.album-botanical{margin-top:28px}.album-orchid,.album-botanical{aspect-ratio:4/5}
 .home-sections>.dates-home{padding:46px 7%!important}.dates-home h2{font-size:2.6rem;line-height:1.15;margin:20px 0 24px}.dates-home>.button{margin-top:25px}.date-chip{min-width:0}.upcoming-dates{margin-top:25px}
 .booking-home>h2,.faq-home>h2,.guides-home>h2{font-size:2.6rem;line-height:1.15;margin:20px 0 28px}.booking-steps{margin-top:28px}.booking-steps article,.booking-steps article+article,.booking-steps article:nth-child(3){padding:22px 0}.booking-steps h3{font-size:26px}.consultation-line{margin-top:12px}.consultation-line .button{margin-top:20px}.home-sections>.faq-home{padding:46px 7%}.faq-home summary{padding:21px 0}.home-sections>.guides-home{padding-bottom:46px}.guide-pair{grid-template-columns:1fr;margin-top:28px}.guide-pair>a,.guide-pair>a+a{padding:27px 0;border-left:0}.guide-pair>a+a{border-top:1px solid var(--line)}.guide-pair h3{font-size:2rem;line-height:1.25}
 .gallery-main,.hub-main{padding:37px 6% 46px}.gallery-main>h1,.hub-main>h1{font-size:clamp(2.8rem,11vw,4rem);line-height:1.14;margin:22px 0 29px}.gallery-main>.lead{margin-bottom:36px}.portfolio-grid{column-gap:14px}.portfolio-grid .gallery-item{margin-bottom:14px}.gallery-cta{padding:28px 23px}.gallery-cta h2{font-size:2.4rem}.studio-about{padding:0 0 35px}.studio-about .about-portrait{width:85%;margin:0 auto 38px}.studio-about h2{font-size:2.4rem}.layout{padding-top:32px}.layout h1{font-size:2.7rem}.layout h2{font-size:2.35rem}.hub-footer{padding:28px 7%;gap:16px;flex-wrap:wrap}.hub-footer>span{font-size:15px}.hub-footer>span,.hub-footer a{white-space:normal}.calendar-title{font-size:2rem;margin-bottom:17px}.calendar-weekday{font-size:13px}.calendar-day{font-size:15px}.guest-intro{grid-template-columns:1fr;gap:35px;margin-top:32px}.guest-city-panel{padding:26px 22px}.guest-city-panel h2{font-size:2.2rem}.guest-steps{margin-top:50px;padding-top:42px}.guest-step-grid{grid-template-columns:1fr;gap:24px}.guest-cta{margin-top:44px;padding:30px 23px}.guest-cta .button{width:100%;justify-content:center}
}
@media print{html,body{background:white}.landscape-backdrop,.lace-divider{display:none}.home-page>.topbar,.home-page>.site-nav{position:static}.landscape-hero{padding-top:20px}.hub-footer{background:white;color:black}}

/* Cross-stitch title and clearer hero overlap. */
.stitched-title{display:block;width:min(100%,1100px);height:auto;margin:0 auto}.visual-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lace-portrait{grid-column:2;transform:translateY(110px);margin-top:-58px;z-index:5}.lace-divider{height:78px;bottom:-32px;background-size:440px 147px;z-index:2}.home-sections>.about-home{padding-top:143px}
@media(max-width:700px){
 .hero-caption{display:flex;flex-direction:column;align-items:center;gap:0;padding-top:4px;text-align:center}
 .hero-caption .eyebrow{display:block;white-space:nowrap;font-size:11px;font-weight:400;line-height:1.35;letter-spacing:.08em;margin:0}
 .lace-portrait{grid-column:1;transform:translateY(122px);margin-top:-76px;z-index:5}
 .lace-divider{height:70px;bottom:-30px;background-size:340px 113px;z-index:2}
 .home-sections>.about-home{padding-top:145px}
}

/* Editorial type scale shared by the home page, booking pages and guides. */
body{font-size:16px;line-height:1.68}
p{line-height:1.7}
.lead,.gallery-main>.lead,.hub-main>.lead,.guest-main>.lead{font-size:17px;line-height:1.65}
.about-copy p,.studio-about p,.dates-home p,.booking-steps p,.guide-pair p,.guest-copy p,.guest-step-grid p,.guest-cta p{font-size:16px;line-height:1.7}
.about-copy p{margin:0 0 15px}
.about-copy h2,.studio-about h2,.studio-heading h2{margin-bottom:25px}
.guide-intro{font-size:16px;line-height:1.7}
.eyebrow,.mini-label{font-size:12px;line-height:1.5;letter-spacing:.12em}
.small-tag,.footnote,.booking-note,.calendar-legend,.date-chip>span:last-child,.status{font-size:13px;line-height:1.6}
.hub-footer,.hub-footer>span{font-size:14px}
.faq-page{max-width:960px}.faq-page>section:first-of-type{margin-top:42px}.faq-page>section:first-of-type h2{font-size:clamp(2.5rem,4vw,3.6rem);margin-bottom:24px}.faq-page details summary{font-size:17px;font-weight:700}.faq-page .gallery-cta{margin-bottom:0}
.text-link,.card-action,.follow-link,.about-copy .text-link,.album-portfolio-copy .text-link{font-size:15px}
.button,.booking-enquiry button,.booking-enquiry .button{font-size:16px}
.booking-enquiry,.booking-enquiry label,#booking-message{font-size:16px}
.layout h3,.booking-steps h3{line-height:1.25}
.booking-steps h3,.prep-grid h3{font-size:26px;margin:12px 0 10px}
.booking-steps .mini-label,.prep-grid .mini-label{font-size:11px;font-weight:700;letter-spacing:.11em}
.booking-steps p,.prep-grid article p{font-size:16px;line-height:1.7;margin:0}
.layout h2{margin-bottom:20px}
.prep-grid article p,.note p,.medical-note p{font-size:15px;line-height:1.7}
.guest-city-grid li{font-size:15px}
@media(max-width:1050px){.about-copy p{font-size:16px}}
@media(max-width:700px){
 body{font-size:16px;line-height:1.68}
 .about-copy p,.studio-about p,.dates-home p,.booking-steps p,.guide-pair p,.guest-copy p,.guest-step-grid p,.guest-cta p{font-size:16px;line-height:1.7}
 .about-copy h2{margin-bottom:23px}
 .about-copy p{margin:0 0 14px}
 .lead,.gallery-main>.lead,.hub-main>.lead,.guest-main>.lead{font-size:16px;line-height:1.7}
 .layout h2{margin-bottom:19px}
 .layout h3{font-size:23px;line-height:1.25;margin:9px 0 12px}
 .layout .eyebrow,.layout .mini-label{font-size:12px}
 .booking-steps h3,.prep-grid h3{font-size:24px;line-height:1.2;margin:12px 0 11px}
 .booking-steps .mini-label,.prep-grid .mini-label,.layout .mini-label{font-size:11px;letter-spacing:.11em}
 .booking-steps p,.prep-grid article p{font-size:15px;line-height:1.65;margin:0}
 .booking-steps article,.booking-steps article+article,.booking-steps article:nth-child(3),.prep-grid article{padding-top:20px;padding-bottom:20px}
 .hub-footer,.hub-footer>span{font-size:14px}
 .text-link,.card-action,.follow-link,.about-copy .text-link,.album-portfolio-copy .text-link{font-size:15px}
 .button,.booking-enquiry button,.booking-enquiry .button{font-size:16px}
}

/* Clear reading type: decorative display headings with a restrained sans for copy. */
:root{--reading-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--muted:#4d5142}
body,button,select,textarea{font-family:var(--reading-font)}
.about-copy p,.booking-enquiry,.booking-enquiry label,#booking-message,.booking-enquiry button,.booking-enquiry .button,
.calendar-weekday,.calendar-day,.availability-panel>.footnote{font-family:var(--reading-font)}
p{line-height:1.65}
.about-copy p,.studio-about p,.dates-home p,.booking-steps p,.guide-pair p,.guest-copy p,.guest-step-grid p,.guest-cta p,
.lead,.gallery-main>.lead,.hub-main>.lead,.guest-main>.lead{line-height:1.65}
.prep-grid article p,.note p,.medical-note p{line-height:1.65}
.layout main>section>.lead{max-width:58ch}
@media(max-width:700px){
 .about-copy p,.studio-about p,.dates-home p,.guide-pair p,.guest-copy p,.guest-step-grid p,.guest-cta p{font-size:16px}
 .booking-steps p,.prep-grid article p{font-size:16px;line-height:1.6}
 .booking-steps h3,.prep-grid h3{font-size:27px;line-height:1.16;margin-bottom:12px}
 .booking-steps .mini-label,.prep-grid .mini-label,.layout .mini-label{font-size:11px}
 .mobile-book{font-family:var(--reading-font);font-size:16px}
}

/* A quieter, lighter reading surface with compact body text. */
:root{--bg:#f4f1ed;--paper:#faf8f5;--line:#cecac4;--muted:#3d4039}
body{font-size:15.5px;line-height:1.65}
.lead,.gallery-main>.lead,.hub-main>.lead,.guest-main>.lead{font-size:16.5px}
.about-copy p,.studio-about p,.dates-home p,.booking-steps p,.guide-pair p,.guest-copy p,.guest-step-grid p,.guest-cta p{font-size:15.5px}
.layout main p:not(.footnote):not(.bookmark):not(.lead),.privacy-main p:not(.footnote):not(.lead){font-size:15.5px;line-height:1.65}
.layout main p.lead,.privacy-main p.lead{font-size:16.5px}
@media(max-width:700px){
 body{font-size:15px}
 .about-copy p,.studio-about p,.dates-home p,.guide-pair p,.guest-copy p,.guest-step-grid p,.guest-cta p{font-size:15px}
 .booking-steps p,.prep-grid article p,.layout main p:not(.footnote):not(.bookmark):not(.lead),.privacy-main p:not(.footnote):not(.lead){font-size:15px;line-height:1.65}
 .lead,.gallery-main>.lead,.hub-main>.lead,.guest-main>.lead,.layout main p.lead,.privacy-main p.lead{font-size:16px}
}

/* Home section rhythm and a small ornament between the two portraits. */
.hero-caption{margin-top:16px}
.about-intro{text-align:center;margin:0 auto 55px;max-width:850px}
.about-intro h2{font-size:clamp(3rem,5.2vw,5rem);line-height:1.12;margin:14px 0 0}
.about-star{display:block;color:var(--accent);font-family:Georgia,serif;font-size:24px;line-height:1}
.home-sections>.album-portfolio{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:28px 5%}
.album-portfolio-copy{grid-column:1/-1;text-align:center}
.album-portfolio h2{margin:12px 0 16px}
.album-portfolio .text-link{justify-content:center}
.album-portfolio>a{width:100%;max-width:520px}
.album-botanical{margin-top:45px}
.home-sections>.dates-home{flex-direction:column;align-items:center;text-align:center}
.dates-home-copy{flex-basis:auto;width:100%;max-width:720px}
.dates-home h2{margin-left:auto;margin-right:auto}
.upcoming-dates{justify-content:center}
.booking-home>h2,.faq-home>h2,.guides-home>h2{text-align:center;margin-left:auto;margin-right:auto}
.guides-home .guide-intro{text-align:center;margin-left:auto;margin-right:auto}
@media(max-width:700px){
 .hero-caption{margin-top:20px}
 .home-sections>.about-home{padding-top:145px}
 .about-intro{margin-bottom:34px}
 .about-intro h2{font-size:clamp(2.5rem,10vw,3.25rem);margin-top:11px}
 .about-star{font-size:21px}
 .home-sections>.album-portfolio{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .album-portfolio-copy{grid-column:1/-1}
 .album-portfolio h2{font-size:clamp(2.7rem,10.8vw,3.5rem)}
 .album-botanical{margin-top:24px}
 .dates-home-copy{width:100%}
}

/* Keep interactive details and the navigation in the same olive palette and type scale. */
html{background:var(--bg)}
:focus-visible,.calendar-day.available:focus-visible{outline-color:var(--accent)}
#booking-message,select,textarea,.contact-section{border-color:var(--line)}
.image-dialog::backdrop{background:rgb(28 34 22 / 82%)}
@media(min-width:701px){
 .home-page>.site-nav a{font-family:var(--reading-font);text-transform:none;letter-spacing:.02em}
 .home-page>.site-nav a[href='/available-appointments/']{border-radius:2px}
}

/* The session guide sits between preparation and aftercare. */
@media(min-width:1051px){
 .site-nav{gap:clamp(12px,1.45vw,24px)}
 .site-nav a{font-size:clamp(13px,1vw,16px)}
 .home-page>.site-nav{left:14%;right:4%;gap:clamp(10px,1.2vw,20px)}
 .home-page>.site-nav a{font-size:clamp(12px,.95vw,15px)}
}
.guide-pair{grid-template-columns:repeat(3,minmax(0,1fr))}
.guide-pair>a{padding-right:7%}
.guide-pair>a+a{padding-left:7%}
.guide-pair h3{font-size:clamp(1.8rem,2.45vw,2.2rem)}
@media(max-width:700px){
 .guide-pair{grid-template-columns:1fr}
 .guide-pair>a,.guide-pair>a+a{padding:27px 0;border-left:0}
 .guide-pair>a+a{border-top:1px solid var(--line)}
}

/* Small audit fixes; preserve the established layout and visual treatment. */
.portfolio-featured{margin-bottom:0}
.booking-start{max-width:680px;margin:24px 0 32px}
.booking-start p{margin-bottom:8px}

.portfolio-grid.masonry-ready{position:relative;columns:auto}
.portfolio-grid.masonry-ready .gallery-item{position:absolute;margin:0}
