:root{--ink:#36233f;--paper:#f5f1f8;--lilac:#e8def0;--accent:#ffad8b;--line:#b7a5c1;--muted:#695471;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-padding-top:20px}body{margin:0;font-size:1rem;line-height:1.7}a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #995021;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;padding:14px;background:white;z-index:5}.demo-note{padding:8px 5%;background:var(--ink);color:#f5edf9;font-size:.8125rem;text-align:center}header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:24px 5%;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:1.8rem;font-weight:700;letter-spacing:-.06em;text-decoration:none;line-height:1.05}nav{display:flex;align-items:center;gap:27px;font-size:.875rem}nav a{text-decoration:none}.nav-cta{border:1px solid var(--ink);padding:10px 17px;border-radius:30px}.hero{padding:42px 5% 50px}.hero-heading{display:grid;grid-template-columns:1fr 2.1fr;gap:35px;align-items:start;margin-bottom:25px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.7;margin:0 0 20px;color:var(--muted)}.hero-heading>.eyebrow{max-width:180px;margin-top:12px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.05}h1{font-size:clamp(3.2rem,6.7vw,6.5rem);margin:0;white-space:pre-line}h2{font-size:clamp(2.4rem,4.5vw,4.4rem);margin:0 0 22px}h3{font-size:2rem;margin:0 0 17px}p{margin:0 0 20px}.hero-bottom{display:grid;grid-template-columns:1fr 2.1fr;gap:35px;align-items:end}.hero-story{padding:20px 0}.edition{display:block;font-size:.8125rem;font-weight:750;letter-spacing:.12em;line-height:1.4;margin-bottom:26px}.hero-story>p{max-width:310px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--ink);border-radius:30px;padding:13px 21px;background:var(--ink);color:var(--paper);font-weight:600;text-decoration:none;line-height:1.5;font-size:.9375rem;min-height:48px}.button:hover{background:#553360}.hero-story .location{font-size:.875rem;margin:24px 0 0}.hero-photo{margin:0;min-width:0}.hero-photo img{display:block;width:100%;height:460px;object-fit:contain;object-position:center 56%;border-radius:150px 8px 8px 8px;background:var(--lilac)}figcaption{font-size:.75rem;color:var(--muted);margin-top:10px}.chooser{background:var(--ink);color:var(--paper);padding:58px 5%;display:grid;grid-template-columns:1fr 1.65fr;gap:7%}.chooser .eyebrow{color:#d6bddf}.chooser-intro>p:last-child{color:#dccfe3;max-width:380px}.choice-buttons{display:flex;flex-wrap:wrap;gap:10px}.choice-buttons button{padding:11px 16px;min-height:46px;background:transparent;border:1px solid #b3a0be;border-radius:30px;color:#f5edf9;cursor:pointer;font-size:.9375rem}.choice-buttons button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink)}.choice-buttons button:hover{border-color:white}.choice-result{border-top:1px solid #8b7197;margin-top:28px;padding:27px 0 0;min-height:240px}.choice-result h3{font-size:3rem}.choice-result>p:not(.eyebrow){color:#e0d4e7;max-width:650px}.choice-result a{font-weight:600;font-size:1rem}.first-visit{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding:65px 5%}.section-intro>p:last-child{max-width:400px;color:var(--muted)}.preparation article{position:relative;padding:0 0 24px 40px;border-bottom:1px solid var(--line);margin-bottom:25px}.preparation article:last-child{margin-bottom:0}.preparation .step{position:absolute;left:0;top:3px;font-size:.875rem;color:var(--muted)}.preparation h3{font-family:inherit;font-weight:600;font-size:1.2rem;letter-spacing:-.025em;line-height:1.3;margin:0 0 12px}.preparation p{color:var(--muted);margin:0}.expectations{background:var(--accent);padding:48px 5%;display:grid;grid-template-columns:1fr 1.3fr;gap:18px 12%}.expectations>.eyebrow{grid-column:1/-1;color:var(--ink);margin:0}.expectations>h2{margin:0}.expectations>div{align-self:end;max-width:550px}.expectations>div>p{font-size:1.125rem}.faq{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding:65px 5%}details{border-bottom:1px solid var(--line);padding:18px 0}details:first-child{padding-top:0}summary{cursor:pointer;font-weight:600;line-height:1.5}details p{margin:16px 0 0;color:var(--muted)}.booking{padding:58px 5%;text-align:center;background:var(--lilac)}.booking h2{font-size:clamp(2.5rem,5.5vw,5.2rem)}.booking [data-booking-actions]{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.booking-note{border:1px solid var(--line);padding:13px 20px;border-radius:5px;max-width:600px}.small{font-size:.875rem;color:var(--muted);max-width:620px;margin:15px auto 0}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 5%;font-size:.875rem}footer p{margin:0}.service-intro{padding:45px 5%;display:grid;grid-template-columns:1.05fr 1fr;gap:25px 12%;align-items:end}.service-intro>.eyebrow{grid-column:1/-1;margin:0}.service-intro h1{font-size:clamp(3rem,6vw,5.5rem)}.service-intro>div>p{color:var(--muted);margin:0}.service-menu{padding:0 5% 45px;counter-reset:visit}.service-card{display:grid;grid-template-columns:1fr 1fr;gap:0 12%;padding:35px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.service-number{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;grid-column:1;color:var(--muted);margin:0 0 16px}.service-card .service-title{grid-column:1;font-size:3rem}.service-desc{grid-column:1;color:var(--muted);max-width:480px}.price{grid-column:1;font-size:1.125rem;font-weight:650;margin:0 0 5px}.basis{grid-column:1;font-size:.875rem;max-width:470px;color:var(--muted)}.service-card ul{grid-column:2;grid-row:1/5;list-style:none;padding:0;margin:0}.service-card li{padding:12px 0;border-bottom:1px solid var(--line)}.service-card li:before{content:'✓';margin-right:12px}.exclusions{grid-column:2;grid-row:5/7;color:var(--muted);font-size:.875rem;margin-top:10px}.service-link{grid-column:1;justify-self:start;font-weight:600;font-size:.9375rem}.scope-note{background:var(--accent);display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:45px 5%}.scope-note p{margin:0}.scope-note h2{margin:0;font-size:2.7rem}[hidden]{display:none!important}
@media(min-width:1650px){main{max-width:1650px;margin:auto}}
@media(max-width:1000px){.hero-heading,.hero-bottom{grid-template-columns:1fr 1.7fr;gap:28px}.hero-photo img{height:440px}.hero-story>p{font-size:.9375rem}.hero-story .button{padding-inline:16px}.chooser{gap:35px;grid-template-columns:1fr 1.3fr}.first-visit,.faq,.service-card,.service-intro,.expectations{column-gap:7%}}
@media(max-width:720px){header{align-items:start;flex-wrap:wrap;gap:22px}nav{flex-wrap:wrap;gap:16px}.hero{padding-top:30px}.hero-heading{display:block;margin-bottom:24px}.hero-heading>.eyebrow{max-width:none;margin:0 0 18px}h1{font-size:clamp(3rem,9.5vw,4.5rem)}.hero-bottom{display:flex;flex-direction:column-reverse;align-items:stretch;gap:20px}.hero-photo img{height:auto;aspect-ratio:1.3;border-top-left-radius:100px}.hero-story{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0}.edition{display:none}.hero-story>p{max-width:600px;font-size:1rem}.hero-story .button{justify-self:start}.hero-story .location{margin-top:18px}.chooser,.first-visit,.faq,.expectations,.service-intro,.scope-note{grid-template-columns:minmax(0,1fr);gap:25px;padding-block:40px}.choice-result{min-height:220px}.choice-result h3{font-size:2.6rem}.choice-buttons button{flex-grow:1}.expectations>.eyebrow,.service-intro>.eyebrow{grid-column:auto}.expectations>div>p{font-size:1rem}.service-card{display:block;padding-block:30px}.service-card ul{margin-block:20px}.service-card .service-title{font-size:2.6rem}.service-link{display:inline-block}.booking{padding-block:40px}footer{flex-wrap:wrap}.preparation article{padding-left:35px}}

/* September design refinement: reference-led hierarchy and purposeful feedback. */
:root{--detail-accent:#995021}

h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}header>*,.hero>*,.hero-heading>*,.hero-bottom>*,.choice-layout>*,.choice-result>*,.service-card>*{min-width:0}.choice-buttons button{overflow-wrap:anywhere;max-width:100%;min-height:48px}.choice-result h3{line-height:1.12}.choice-result a,.service-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}.choice-result a{text-underline-offset:6px;text-decoration-thickness:1px}.choice-result a:hover{text-decoration-thickness:2px}.service-card{min-width:0}.service-card:target{outline:2px solid var(--detail-accent);outline-offset:6px;scroll-margin-top:32px}.service-card:target .service-number{font-weight:750}.faq summary{padding-block:5px;min-height:44px}.faq summary::marker{color:var(--detail-accent)}.faq details[open] summary{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.faq details p{max-width:64ch}.service-number{font-size:.75rem;line-height:1.5;font-variant-numeric:tabular-nums}.basis,.exclusions{font-size:.875rem;line-height:1.65}.hero .eyebrow,.hero-location{line-height:1.6}.service-link:focus-visible,.choice-result a:focus-visible{outline-width:3px}.choice-buttons button{transition:background-color .16s ease,color .16s ease,border-color .16s ease}nav a:not(.nav-cta){display:inline-flex;align-items:center;min-height:44px}.service-desc{font-size:1rem;line-height:1.7}@media(max-width:400px){.choice-title-row{flex-wrap:wrap;gap:0}.choice-title-row>p{white-space:normal}.choice-result h3{font-size:2.15rem}}@media(prefers-reduced-motion:reduce){.choice-buttons button{transition:none}}

.choice-result{border-top:1px solid #aa90b7}.choice-result .eyebrow{color:#ffc7ab}.choice-buttons button[aria-pressed=true]{box-shadow:0 0 0 3px #36233f,0 0 0 4px #ffad8b}.hero-heading h1{max-width:18ch}.hero-story>p{font-size:1rem}.service-card .service-title{max-width:17ch}.service-card .service-number{letter-spacing:.09em}

/* Service reading: keep scope, price and the next step easy to distinguish. */
.service-card .service-title{overflow-wrap:anywhere;line-height:1.12}
.service-card .basis,.service-card .exclusions,.service-card li,.service-card .service-link{overflow-wrap:anywhere}
.service-card .price{font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.25;letter-spacing:-.035em;overflow-wrap:anywhere}
.service-card .basis{line-height:1.7;max-width:52ch}
.service-card .includes-label{font-size:.875rem;font-weight:700;letter-spacing:.015em;margin:0 0 12px;line-height:1.5}
body[data-page="services"] .service-card ul{font-size:1rem;line-height:1.7}
body[data-page="services"] .service-card .exclusions{font-size:.875rem;line-height:1.75;max-width:62ch}
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
body[data-page="services"] .includes-label{grid-column:2;grid-row:1;align-self:end}
body[data-page="services"] .service-card ul{grid-column:2;grid-row:2/6;align-self:start}
body[data-page="services"] .service-card .exclusions{grid-column:2;grid-row:6/8;align-self:start;border-top:1px solid var(--line);padding-top:16px;margin:20px 0 0}
body[data-page="services"] .service-link{grid-column:1;grid-row:6;align-self:start;margin-top:18px}
@media(max-width:720px){body[data-page="services"] .service-card{display:block}body[data-page="services"] .includes-label{margin:26px 0 10px}body[data-page="services"] .service-card ul{margin-top:0}body[data-page="services"] .service-card .exclusions{margin-bottom:20px}.service-card .service-title{font-size:clamp(1.85rem,7vw,2.5rem)}}

/* Make the destination clear at the point of contact. */
.service-card .contact-hint{font-size:.875rem;line-height:1.6;letter-spacing:0;margin:8px 0 0;max-width:52ch;overflow-wrap:anywhere}
.booking [data-booking-actions]>.contact-hint{flex-basis:100%;font-size:.875rem;line-height:1.6;margin:0;overflow-wrap:anywhere}
.booking [data-booking-actions]>a{min-height:48px;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
.service-card .service-link{max-width:100%;overflow-wrap:anywhere}
body[data-page="services"] .service-card .contact-hint{grid-column:1;grid-row:7;align-self:start}

/* Long headings remain readable when the reader enlarges text. */
h1,h2,h3{overflow-wrap:anywhere}
