:root{--ink:#203d79;--paper:#fbf9f2;--yellow:#f7da66;--line:#ccd3df;--serif:Georgia,'Times New Roman',serif;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:24px;scroll-behavior:smooth}body{margin:0;font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #986719;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;padding:14px;background:white;z-index:10}.demo-note{background:#e8edf5;text-align:center;padding:8px 20px;font-size:.75rem}header{padding:25px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}.wordmark{font-family:var(--serif);font-size:2.7rem;letter-spacing:-.07em;font-style:italic;font-weight:700;text-decoration:none;line-height:1.1}nav{display:flex;align-items:center;gap:32px}nav a{font-size:.875rem;text-decoration:none}.nav-cta{border-bottom:1px solid var(--ink);padding-bottom:4px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:4%;padding:20px 5% 50px;align-items:center}.hero-copy{padding:35px 0}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;margin:0 0 25px}h1,h2,h3{font-weight:400}h1{font-family:var(--serif);font-size:clamp(2.9rem,4.65vw,5.2rem);line-height:1.06;letter-spacing:-.045em;white-space:pre-line;margin:0 0 25px}h2{font-family:var(--serif);font-size:clamp(2.25rem,3.6vw,4rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 25px}h3{font-family:var(--serif);font-size:1.9rem;line-height:1.15;letter-spacing:-.025em;margin:15px 0}p{margin:0 0 20px}.intro{max-width:450px;font-size:1.125rem;line-height:1.75}.button{display:inline-flex;align-items:center;gap:22px;justify-content:space-between;background:var(--ink);color:white;padding:16px 24px;text-decoration:none;font-size:1rem;border-radius:40px}.button:hover{background:#30528f}.button.outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}.tiny{font-size:.875rem;max-width:500px;margin:18px 0 0}.hero-image{margin:0;position:relative;padding-bottom:35px}.hero-image img{width:100%;height:570px;object-fit:cover;border-radius:48% 48% 4px 4px;display:block}.hero-image figcaption{font-size:.75rem;margin-top:12px;line-height:1.4;max-width:430px}.image-label{position:absolute;right:-12px;bottom:62px;background:var(--yellow);padding:27px 30px;font-family:var(--serif);font-size:2rem;line-height:1.05;transform:rotate(4deg);border-radius:2px}.area-strip{background:#e9edf4;padding:22px 5%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.area-strip p{margin:0}.area-strip a{font-size:.875rem}.chooser,.before,.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;padding:80px 7%}.chooser{align-items:center}.chooser>div>p:last-child{max-width:350px}.choice-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.choice-buttons button{font:inherit;font-size:.875rem;cursor:pointer;padding:12px 16px;color:var(--ink);border:1px solid var(--ink);background:transparent;border-radius:30px}.choice-buttons button[aria-pressed=true]{background:var(--ink);color:white}.choice-result{background:#f3e8be;padding:35px 40px;min-height:240px;border-radius:3px 50px 3px 3px}.choice-result .eyebrow{margin-bottom:15px}.choice-result h3{font-size:2.3rem}.choice-result a{display:inline-block;font-weight:650;font-size:.875rem;margin-top:10px}.approach{background:var(--ink);color:var(--paper);padding:75px 7%;text-align:center}.approach h2{font-size:clamp(2.5rem,4.2vw,4.5rem)}.approach h2 em{color:var(--yellow)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:left;margin-top:50px}.principles article{border-top:1px solid #8b9cbc;padding-top:23px}.principles span{font-family:var(--serif);font-size:1.5rem;color:var(--yellow)}.principles h3{font-size:1.7rem}.principles p{color:#e0e7f3;line-height:1.7;margin-bottom:0}.before{border-bottom:1px solid var(--line)}.preparation article{position:relative;padding:0 0 25px 45px;margin-bottom:25px;border-bottom:1px solid var(--line)}.preparation article:last-child{border:0;margin-bottom:0;padding-bottom:0}.preparation .step{position:absolute;left:0;top:5px;font-size:.875rem}.preparation h3{margin-top:0}.preparation p{margin-bottom:0}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1rem;font-weight:600}.faq details p{margin:15px 0 0;color:#385080}.booking{background:var(--yellow);padding:65px 7%;text-align:center}.booking h2{font-size:clamp(2.6rem,4.8vw,5rem)}.booking>p{max-width:630px;margin-left:auto;margin-right:auto}.booking [data-booking-actions]{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}.booking-note{border:1px solid #97853f;border-radius:4px;padding:16px 25px;margin:10px 0;font-size:.875rem}footer{padding:38px 5%;display:flex;justify-content:space-between;align-items:start;gap:30px;font-size:.875rem}footer p{margin:0 0 8px}footer .demo-footer{text-align:right}.service-intro{padding:55px 7% 65px;max-width:1050px}.service-intro h1{font-size:clamp(3rem,5.9vw,6rem)}.service-intro p:last-child{font-size:1.125rem;max-width:700px}.service-menu{padding:0 7% 60px}.service-card{display:grid;grid-template-columns:1fr 1fr;gap:0 9%;border-top:1px solid var(--line);padding:35px 0 45px;scroll-margin-top:30px}.service-card .service-title{font-size:2.9rem;margin:0 0 20px;grid-column:1}.service-number{font-size:.75rem;letter-spacing:.08em;grid-column:1;margin-bottom:18px;text-transform:uppercase}.service-desc{grid-column:1;max-width:450px}.price{grid-column:1;font-weight:650;font-size:1.25rem;margin:0 0 5px}.basis{grid-column:1;font-size:.875rem;max-width:430px}.service-card ul{grid-column:2;grid-row:2/5;margin:0;padding-left:22px;align-self:start;line-height:1.8}.service-card li{padding-bottom:10px}.exclusions{grid-column:2;grid-row:5/7;font-size:.875rem;border-top:1px solid var(--line);padding-top:15px}.service-link{grid-column:1;font-size:.875rem;font-weight:600;margin-top:15px;justify-self:start}.scope-note{background:#e9edf4;padding:50px 7%;display:grid;grid-template-columns:1fr 1.3fr;gap:9%;align-items:center}.scope-note h2{margin:0}.scope-note p{margin:0}.hero-copy{opacity:1}[hidden]{display:none!important}@media(min-width:1700px){main{max-width:1700px;margin:auto}}@media(max-width:1000px){.hero{gap:30px}.hero-image img{height:510px}.hero-copy{padding:20px 0}.intro{font-size:1rem}.chooser,.before,.faq{gap:5%;padding-inline:5%}.choice-result{padding:30px}.principles{gap:30px}.image-label{font-size:1.7rem;padding:24px;right:0}.service-card{gap:0 5%}}@media(max-width:720px){header{align-items:start;flex-wrap:wrap;gap:20px}nav{gap:20px;flex-wrap:wrap}.wordmark{font-size:2.4rem}.hero{grid-template-columns:minmax(0,1fr);padding-bottom:25px;gap:15px}.hero-copy{padding:15px 0}h1{font-size:clamp(3rem,8.5vw,4.1rem)}.hero-image img{height:440px;border-radius:45% 45% 3px 3px}.hero-image{padding-bottom:10px}.image-label{bottom:65px}.intro{max-width:100%}.chooser,.before,.faq{grid-template-columns:minmax(0,1fr);padding-block:45px;gap:25px}.choice-buttons{gap:8px}.choice-buttons button{flex-grow:1}.approach{padding:45px 5%}.principles{grid-template-columns:minmax(0,1fr);margin-top:35px;gap:30px}.principles p{max-width:600px}.booking{padding:45px 5%}.service-intro{padding:30px 5% 40px}.service-menu{padding:0 5% 30px}.service-card{display:block;padding-bottom:35px}.service-card .service-title{font-size:2.5rem}.service-card ul{margin:25px 0}.service-card .exclusions{margin-bottom:25px}.service-link{display:inline-block}.scope-note{grid-template-columns:minmax(0,1fr);padding:40px 5%;gap:25px}footer{flex-wrap:wrap}footer .demo-footer{text-align:left}}@media(max-width:400px){nav a{font-size:.875rem}.hero-image img{height:365px}.choice-result{padding:25px}.image-label{font-size:1.5rem;padding:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy{animation:none}}

.choice-buttons button{overflow-wrap:anywhere;max-width:100%}

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

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 #d7c893;border-top-right-radius:64px}.choice-buttons button[aria-pressed=true]{box-shadow:0 3px 0 #f7da66}.service-card .service-number{letter-spacing:.12em}.service-card .service-title{max-width:15ch}.hero-copy>p:not(.eyebrow){max-width:45ch}

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

/* Client content: give names and navigation independent room to wrap. */
header{flex-wrap:wrap;align-items:center}
header .wordmark{flex:1 1 18rem;max-width:38rem;overflow-wrap:anywhere;letter-spacing:-.045em;line-height:1.15;text-wrap:balance}
header nav{flex:0 1 auto;flex-wrap:wrap;gap:12px 28px}
header nav a{flex-shrink:0;max-width:100%;display:inline-flex;align-items:center;min-height:44px}
.hero-copy{animation:none;opacity:1}
.hero .intro,.hero-location,footer p{overflow-wrap:anywhere}
@media(max-width:720px){header .wordmark{flex-basis:100%;max-width:22ch;font-size:clamp(1.9rem,6.2vw,2.4rem)}header nav{gap:10px 20px}}
