:root{--ink:#18283f;--paper:#f5f8ff;--blue:#244ee8;--light:#e6edff;--warm:#ffd5b2;--line:#b2c2e5;--muted:#51627a;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 #ad5024;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;padding:14px;background:#fff;z-index:5}.demo-note{background:#18283f;color:#f5f8ff;text-align:center;font-size:.8125rem;padding:7px 5%}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 5%}.wordmark{font-size:2rem;font-weight:750;letter-spacing:-.075em;text-decoration:none;line-height:1}nav{display:flex;align-items:center;gap:30px;font-size:.875rem}nav a{text-decoration:none}.nav-cta{background:var(--blue);color:#fff;border-radius:30px;padding:11px 23px}h1,h2,h3{font-weight:600;letter-spacing:-.06em;line-height:1.04;margin:0 0 23px}h1{font-size:clamp(4rem,7.3vw,7.4rem);white-space:pre-line}h2{font-size:clamp(2.7rem,4.8vw,4.7rem)}h3{font-size:2.8rem}p{margin:0 0 20px}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.08em;line-height:1.6;text-transform:uppercase;color:var(--muted);margin:0 0 24px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:45px 5%;background:var(--blue);color:white}.hero-copy{align-self:center}.hero .eyebrow{color:#e3eaff}.hero .intro{max-width:480px;color:#f0f3ff;font-size:1.0625rem}.hero figure{margin:0;min-width:0}.hero img{width:100%;height:570px;display:block;object-fit:cover;object-position:65% center;border-radius:120px 25px 25px 25px;background:var(--light)}figcaption{font-size:.75rem;color:#e4ebff;line-height:1.5;margin-top:13px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;background:var(--blue);color:#fff;padding:14px 23px;border-radius:30px;min-height:49px;font-weight:650;font-size:.9375rem;line-height:1.5;text-decoration:none}.button:hover{filter:brightness(.95)}.button.warm{background:var(--warm);color:var(--ink)}.hero a:focus-visible{outline-color:#fff}.hero-location{font-size:.875rem;color:#e4ebff;margin:25px 0 0}.beginning{display:grid;grid-template-columns:1.1fr 1fr;gap:0 12%;padding:55px 5%;align-items:end}.beginning>.eyebrow{grid-column:1/-1}.beginning h2{margin:0}.beginning h2 em{font-style:normal;color:var(--blue)}.beginning>p:last-child{max-width:470px;color:var(--muted);margin:0}.chooser{padding:50px 5%;background:var(--light)}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:0 12%;align-items:end;margin-bottom:30px}.section-heading>.eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{margin:0;max-width:460px;color:var(--muted)}.choice-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.choice-buttons button{border:1px solid #819aca;border-radius:30px;background:transparent;color:var(--ink);padding:12px 21px;min-height:49px;cursor:pointer;font-size:.9375rem}.choice-buttons button[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.choice-buttons button:hover{box-shadow:0 0 0 1px var(--blue)}.choice-result{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;background:#fff;padding:32px;border-radius:22px;min-height:220px;align-items:center}.choice-result .eyebrow{color:var(--blue);margin-bottom:16px}.choice-result h3{margin:0;font-size:clamp(2rem,3.5vw,3.3rem)}.choice-result a{color:var(--blue);font-weight:650}.choice-result>div>p:not(.eyebrow){color:var(--muted)}.starting-out{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding:60px 5%}.preparation article{position:relative;padding:22px 0 25px 40px;border-top:1px solid var(--line)}.preparation article:last-child{padding-bottom:0}.preparation .step{position:absolute;left:0;top:23px;color:var(--blue);font-size:.8125rem;font-weight:650}.preparation h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}.preparation p{margin:0;color:var(--muted)}.faq{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding:50px 5%;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}details:first-child{padding-top:0}summary{font-weight:650;cursor:pointer;line-height:1.5}details p{color:var(--muted);margin:16px 0 0}.booking{background:var(--warm);text-align:center;padding:52px 5%}.booking h2{font-size:clamp(2.7rem,5.4vw,5rem)}.booking>.eyebrow{color:#755038}.booking [data-booking-actions]{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:16px}.booking-note{border:1px solid #b99071;border-radius:10px;padding:14px 20px;max-width:650px;margin:0}.small{max-width:640px;margin:18px auto 0;font-size:.875rem;color:#624f42}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.3fr 1fr;gap:0 10%;padding:45px 5%;background:var(--light);align-items:end}.service-intro>.eyebrow{grid-column:1/-1}.service-intro h1{font-size:clamp(3.3rem,6vw,6rem);margin:0}.service-intro>p:last-child{color:var(--muted);max-width:470px;margin:0}.service-menu{padding:35px 5% 45px;display:grid;gap:24px}.service-card{display:grid;grid-template-columns:1.1fr 1fr;gap:0 10%;border:1px solid var(--line);border-radius:24px;padding:30px;scroll-margin-top:24px}.service-number{grid-column:1;color:var(--blue);font-size:.75rem;letter-spacing:.07em;text-transform:uppercase}.service-card .service-title{grid-column:1;font-size:2.7rem}.service-desc{grid-column:1;max-width:550px;color:var(--muted)}.price{grid-column:1;font-size:1.15rem;font-weight:650;margin-bottom:5px}.basis{grid-column:1;font-size:.875rem;color:var(--muted);max-width:550px}.service-card ul{grid-column:2;grid-row:1/5;list-style:none;margin:0;padding:0}.service-card li{border-bottom:1px solid var(--line);padding:12px 0}.service-card li:before{content:'+';margin-right:12px;color:var(--blue)}.exclusions{grid-column:2;grid-row:5/7;color:var(--muted);font-size:.875rem}.service-link{grid-column:1;justify-self:start;color:var(--blue);font-weight:650}.scope-note{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding:45px 5%;background:var(--light);align-items:center}.scope-note h2{font-size:3rem;margin:0}.scope-note p{margin:0;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1650px){main{max-width:1650px;margin:auto}}@media(max-width:1000px){.hero{gap:4%}.hero img{height:500px}.hero .intro{font-size:1rem}.beginning,.section-heading,.starting-out,.faq,.service-card,.scope-note{column-gap:7%}.choice-result{gap:7%;padding:28px}}@media(max-width:720px){header{flex-wrap:wrap;gap:20px}nav{flex-wrap:wrap;gap:20px}.hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:32px}.hero h1{font-size:clamp(3.5rem,13vw,6rem)}.hero .intro{max-width:none}.hero img{height:auto;aspect-ratio:1.2;object-position:65% center;border-radius:80px 20px 20px 20px}.hero-location{margin-top:20px}.beginning,.section-heading,.choice-result,.starting-out,.faq,.service-intro,.scope-note{grid-template-columns:minmax(0,1fr);gap:24px}.beginning,.chooser,.starting-out,.faq,.booking{padding-block:38px}.beginning>.eyebrow,.section-heading>.eyebrow,.service-intro>.eyebrow{grid-column:auto;margin:0}.choice-buttons{gap:10px}.choice-buttons button{flex-grow:1;font-size:.875rem;padding:11px 16px}.choice-result{padding:25px;min-height:290px}.choice-result h3{font-size:2.6rem}.choice-result>div>p:not(.eyebrow){margin-bottom:16px}.service-card{display:block;padding:25px;border-radius:20px}.service-card .service-title{font-size:2.5rem}.service-card ul{margin-block:20px}.service-link{display:inline-block}.service-intro{padding-block:35px}.scope-note h2{font-size:2.6rem}footer{flex-wrap:wrap;align-items:start}.booking h2{font-size:clamp(2.5rem,9vw,3.7rem)}}

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

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:1px solid #c2cfee;box-shadow:0 8px 22px #244ee808}.choice-buttons button[aria-pressed=true]{box-shadow:0 0 0 3px #e6edff,0 0 0 4px #244ee8}.service-card .service-number{color:#244ee8;font-weight:700;letter-spacing:.09em}.service-card:target{background:#fff}.hero .intro{max-width:44ch}.service-card .price{font-variant-numeric:tabular-nums}

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