:root{--ink:#203c32;--paper:#f3f0e7;--stone:#e7e2d4;--muted:#4f6255;--line:#a7b2a3;--rust:#a54c32;--pale:#dbe3cf;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}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 var(--rust);outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:12px;z-index:5;background:#fff;padding:14px}.demo-note{background:var(--ink);color:#f3f0e7;text-align:center;font-size:.8125rem;padding:7px 5%}header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:25px 5%;border-bottom:1px solid var(--line)}.wordmark{font-size:2rem;font-weight:800;letter-spacing:-.075em;text-decoration:none;line-height:1}nav{display:flex;align-items:center;gap:28px;font-size:.875rem}nav a{text-decoration:none}.nav-cta{border-bottom:2px solid var(--rust);padding:8px 0}p{margin:0 0 20px}h1,h2,h3{line-height:1.04;letter-spacing:-.06em;font-weight:650;margin:0 0 22px}h1{font-size:clamp(3.2rem,6.6vw,6.4rem);white-space:pre-line}h2{font-size:clamp(2.6rem,4.7vw,4.4rem)}h3{font-size:2.4rem}em{font-family:Georgia,serif;font-weight:400}.eyebrow{font-size:.75rem;letter-spacing:.1em;line-height:1.6;font-weight:650;text-transform:uppercase;color:var(--muted);margin:0 0 22px}.hero{padding:45px 5% 50px}.hero-heading{display:grid;grid-template-columns:1.8fr 1fr;gap:6%;align-items:end;margin-bottom:28px}.hero-heading h1{margin-bottom:0}.hero-intro{padding-bottom:5px;max-width:430px}.hero-intro>p{color:var(--muted)}.text-link{display:inline-flex;justify-content:space-between;gap:30px;font-weight:650;padding-bottom:5px;text-decoration:none;border-bottom:1px solid var(--ink)}.hero-photo{margin:0}.hero-photo img{display:block;width:100%;height:clamp(300px,39vw,620px);object-fit:cover;object-position:center 57%;background:var(--stone)}figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;line-height:1.6;margin-top:13px;color:var(--muted)}figcaption>span:first-child{font-weight:650;letter-spacing:.06em}.chooser{padding:50px 5%;background:var(--stone)}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:0 8%;align-items:end;margin-bottom:30px}.section-heading>.eyebrow{grid-column:1/-1}.section-heading>h2{margin-bottom:0}.section-heading>p:last-child{margin:0;color:var(--muted);max-width:450px}.choice-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:0;border-top:1px solid var(--line)}.choice-buttons{display:flex;flex-direction:column}.choice-buttons button{display:flex;gap:20px;align-items:center;text-align:left;padding:26px 25px 26px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;min-height:85px;font-size:1.2rem;line-height:1.4;letter-spacing:-.02em}.choice-buttons button:before{content:attr(data-step);font-size:.75rem;letter-spacing:0}.choice-buttons button[aria-pressed=true]{color:var(--rust);font-weight:700}.choice-buttons button:hover{background:#dad6c6}.choice-result{padding:32px 40px;background:var(--ink);color:var(--paper);min-height:285px}.choice-result h3{font-size:clamp(2.5rem,4vw,3.5rem)}.choice-result .eyebrow{color:var(--pale)}.choice-result>p:not(.eyebrow){max-width:630px;color:#e2e7d9}.choice-result a{font-weight:600}.choice-result a:focus-visible{outline-color:#ede3bd}.approach{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;padding:65px 5%}.approach>div>p:last-child{color:var(--muted);max-width:460px}.preparation article{border-top:1px solid var(--line);padding:23px 0 23px 38px;position:relative}.preparation article:last-child{padding-bottom:0}.preparation .step{position:absolute;left:0;top:23px;font-size:.8125rem;color:var(--rust)}.preparation h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}.preparation p{margin:0;color:var(--muted)}.scope-note{background:var(--rust);color:#fff5e9;padding:50px 5%;display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:6%;align-items:end}.scope-note .eyebrow{align-self:start;color:#fff5e9}.scope-note h2{font-size:clamp(2.4rem,4vw,3.7rem);margin:0}.scope-note p{max-width:470px}.scope-note a{font-weight:600}.scope-note a:focus-visible{outline-color:#fff5e9}.faq{padding:60px 5%;display:grid;grid-template-columns:1.2fr 1fr;gap:10%}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{background:var(--pale);padding:55px 5%;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.booking h2{margin:0}.booking [data-booking-actions]{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.booking-note{border:1px solid #809279;padding:14px 18px;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:#fff;padding:14px 20px;font-weight:600;text-decoration:none;font-size:.9375rem;min-height:48px;line-height:1.5}.button:hover{background:#345746}.small{font-size:.875rem;color:var(--muted);margin:15px 0 0}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 5%;font-size:.875rem}footer p{margin:0}.service-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:0 10%;align-items:end;padding:45px 5%}.service-intro>.eyebrow{grid-column:1/-1}.service-intro h1{font-size:clamp(3rem,6vw,5.5rem);margin:0}.service-intro>p:last-child{margin:0;max-width:470px;color:var(--muted)}.service-menu{padding:0 5% 45px}.service-card{display:grid;grid-template-columns:1.2fr 1fr;gap:0 10%;padding:35px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.service-number{grid-column:1;font-size:.75rem;letter-spacing:.06em;color:var(--rust);text-transform:uppercase}.service-card .service-title{grid-column:1;font-size:3rem}.service-desc{grid-column:1;max-width:580px;color:var(--muted)}.price{grid-column:1;font-size:1.1rem;font-weight:650;margin-bottom:5px}.basis{grid-column:1;max-width:540px;font-size:.875rem;color:var(--muted)}.service-card ul{grid-column:2;grid-row:1/5;list-style:none;padding:0;margin:0}.service-card li{border-bottom:1px solid var(--line);padding:13px 0}.service-card li:before{content:'+';margin-right:14px;color:var(--rust)}.exclusions{grid-column:2;grid-row:5/7;font-size:.875rem;color:var(--muted)}.service-link{grid-column:1;justify-self:start;font-weight:650}.quote-note{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;padding:45px 5%;background:var(--stone)}.quote-note h2{font-size:2.8rem;margin:0}.quote-note p{margin:0}[hidden]{display:none!important}@media(min-width:1650px){main{max-width:1650px;margin:auto}}@media(max-width:1000px){.hero-heading{grid-template-columns:1.4fr 1fr;gap:5%}.hero-intro{font-size:.9375rem}.scope-note{grid-template-columns:1.2fr 1fr;gap:20px 6%}.scope-note>.eyebrow{grid-column:1/-1}.approach,.faq,.booking,.service-card,.service-intro{column-gap:6%}}@media(max-width:720px){header{flex-wrap:wrap;gap:20px;padding-block:22px}nav{flex-wrap:wrap;gap:20px}.hero{padding-top:30px;padding-bottom:35px}.hero-heading{grid-template-columns:minmax(0,1fr);gap:22px}.hero-intro{font-size:1rem;max-width:none}.hero-photo img{height:auto;aspect-ratio:1.25;object-position:50% center}figcaption{flex-direction:column;gap:5px}.section-heading,.choice-layout,.approach,.scope-note,.faq,.booking,.quote-note,.service-intro{grid-template-columns:minmax(0,1fr);gap:24px}.section-heading>.eyebrow,.scope-note>.eyebrow,.service-intro>.eyebrow{grid-column:auto;margin-bottom:0}.choice-layout{gap:22px}.choice-buttons button{padding:18px 8px;min-height:64px;font-size:1.1rem}.choice-result{padding:28px 24px;min-height:260px}.chooser,.approach,.scope-note,.faq,.booking{padding-block:38px}.preparation article{padding-left:35px}.service-card{display:block;padding-block:30px}.service-card .service-title{font-size:2.6rem}.service-card ul{margin-block:20px}.service-intro{padding-block:35px}.service-link{display:inline-block}.booking h2{font-size:2.7rem}footer{flex-wrap:wrap;align-items:start}.quote-note h2{font-size:2.5rem}}

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

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-buttons button:before{display:inline-grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid #a7b2a3;border-radius:50%;font-variant-numeric:tabular-nums}.choice-buttons button[aria-pressed=true]:before{background:#a54c32;border-color:#a54c32;color:white}.choice-buttons button{padding-left:8px;gap:16px}.choice-result{border-top:4px solid #a54c32}.hero-intro{font-size:1rem}.service-card .service-title{max-width:18ch}

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