@font-face{font-family:DMSerif;src:url('../fonts/DMSerifDisplay.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DMSans;src:url('../fonts/DMSans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{--paper:#f7f4eb;--cream:#ede8dc;--ink:#263f32;--muted:#5d6a5e;--line:#d6dacf;--orange:#efb99a;--ease:cubic-bezier(.22,.65,.2,1);--header:92px}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:DMSans,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:DMSerif,Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.03em;overflow-wrap:anywhere}h2{font-size:clamp(2.4rem,4.3vw,4.75rem)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a46a43;outline-offset:5px}img{display:block;max-width:100%;height:auto}svg{display:block}::selection{background:#dfba9d;color:#223729}[hidden]{display:none!important}.wrap{width:min(100% - 112px,1260px);margin-inline:auto}.section{padding-block:110px}.lead{font-size:1rem;line-height:1.85;color:var(--muted);max-width:48ch}.eyebrow{display:block;font-size:.62rem;font-weight:600;letter-spacing:.13em;line-height:1.7;text-transform:uppercase;margin-bottom:22px;color:#6a7c65}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 24px;border-radius:50px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:.82rem;font-weight:500;line-height:1.5;max-width:100%;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#3f5b45;transform:translateY(-2px)}.button.cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.cream:hover{background:#ffe0c8}.button.outline{background:transparent;color:var(--ink);border-color:#94a68f}.button.outline:hover{background:#e7e6d8}.button.small{padding:12px 19px;font-size:.74rem;min-height:46px;gap:20px}.arrow{font-family:Arial,sans-serif;font-size:1.3em;line-height:1}.text-link{display:inline-flex;justify-content:space-between;gap:27px;align-items:center;border-bottom:1px solid #72826f;padding-block:7px;font-size:.79rem;max-width:100%;overflow-wrap:anywhere}.skip-link{position:fixed;top:12px;left:12px;z-index:500;transform:translateY(-180%);padding:12px 20px;background:var(--paper);border:2px solid var(--ink)}.skip-link:focus{transform:none}
/* Quiet typography and a hand-drawn monogram; no oversized footer lettering. */
.site-header{height:var(--header);position:sticky;top:0;z-index:30;background:rgba(247,244,235,.97);border-bottom:1px solid rgba(41,62,47,.1)}.header-inner{width:calc(100% - 72px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px;height:100%}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:47px;height:47px;display:block}.brand-mark svg{width:100%;height:100%}.brand-type{font-family:DMSerif,Georgia,serif;font-size:1.38rem;line-height:1.15;letter-spacing:-.025em}.brand-type small{display:block;font-family:DMSans,Arial,sans-serif;font-size:.46rem;letter-spacing:.13em;font-weight:550;line-height:1.5;margin-top:6px}.navigation{display:flex;align-items:center;gap:29px}.navigation>a:not(.button){font-size:.77rem;border-bottom:1px solid transparent;padding-block:8px;transition:border-color .2s}.navigation>a:hover,.navigation>a.is-current{border-color:#8a9b7e}.languages{display:flex;gap:8px;font-size:.62rem;align-items:center;letter-spacing:.04em}.languages a{padding:5px 2px}.languages [aria-current=page]{border-bottom:1px solid #4d6348;font-weight:700}.languages>span{color:#9b9e91}.menu-toggle{display:none;border:1px solid #acb6a3;border-radius:25px;background:none;padding:9px 13px;font-size:.74rem;align-items:center;gap:8px}
/* The main image is a background with a flexible foreground, including on phones. */
.hero{position:relative;isolation:isolate;margin:20px 24px 0;border-radius:26px;min-height:740px;background:#293b28;color:#fcfaf2;overflow:hidden;display:flex;align-items:center}.hero-scene{position:absolute;inset:0;z-index:-2}.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:68% center}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,41,25,.73),rgba(24,41,25,.39) 44%,rgba(24,41,25,0) 77%)}.hero-content{width:59%;max-width:785px;padding:95px 0 110px;margin-left:clamp(40px,6vw,95px);min-width:0}.hero .eyebrow{color:#e1dcc7;font-size:.61rem;margin-bottom:30px}.hero h1{font-size:clamp(3.9rem,6.7vw,7.1rem);line-height:1.02;letter-spacing:-.04em;max-width:13ch}.hero-content>p{font-size:1rem;line-height:1.85;color:#e4e8dc;margin-top:31px;max-width:42ch}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px 26px;margin-top:33px}.hero-text-link{font-size:.77rem;border-bottom:1px solid #b1bea2;padding-block:6px}.hero-note{display:flex;align-items:center;gap:10px;font-size:.65rem;color:#e3e7d6;margin-top:39px}.hero-note i{width:6px;height:6px;border-radius:50%;background:#e7c7a7}.hero-scroll{position:absolute;bottom:31px;left:clamp(40px,6vw,95px);font-family:Arial,sans-serif;font-size:1.7rem;line-height:1}.hero-caption{position:absolute;bottom:33px;right:37px;font-size:.53rem;letter-spacing:.14em;color:#ebeadb}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:40px}.section-heading .lead{margin-bottom:7px;max-width:41ch}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:33px}.filters button{border:1px solid #aebaa5;padding:10px 20px;border-radius:40px;background:none;font-size:.74rem;transition:background .2s,color .2s}.filters [aria-pressed=true]{background:#29432f;color:#faf6ec;border-color:#29432f}.filters button:hover{border-color:#4e6344}.service-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}.service-card{grid-column:span 2;min-width:0}.service-card:nth-child(-n+2){grid-column:span 3}.service-card:last-child{grid-column:span 6}.tone-apricot{--tone:#e9bd9e;--tone-ink:#8c5d3c}.tone-moss{--tone:#b9cbad;--tone-ink:#4d7249}.tone-lilac{--tone:#d8cadd;--tone-ink:#7b6484}.tone-plum{--tone:#d8bac3;--tone-ink:#906577}.tone-clay{--tone:#e5bc98;--tone-ink:#956448}.tone-sky{--tone:#bbd7e0;--tone-ink:#4f788a}.service-link{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:495px;height:100%;padding:180px 29px 29px;border-radius:20px;overflow:hidden;background:#2d3c2c;color:#fcfaf5}.service-card:nth-child(-n+2) .service-link{min-height:530px}.card-scene{position:absolute;inset:0;z-index:-2}.card-scene img{width:100%;height:100%;object-fit:cover;object-position:65% center;transition:transform .8s var(--ease)}.service-link:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(25,36,25,.15),rgba(25,36,25,0) 20%,rgba(25,36,25,.69) 56%,rgba(25,36,25,.96) 100%)}.service-link:hover .card-scene img{transform:scale(1.035)}.card-index{display:flex;align-items:center;justify-content:space-between;gap:12px;position:absolute;top:24px;left:26px;right:26px;font-size:.55rem;letter-spacing:.06em;line-height:1.5}.card-index>span{background:rgba(32,45,32,.83);padding:6px 10px;border-radius:20px}.card-index>span:first-child{width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);padding:0;border-radius:50%}.card-copy{margin-top:auto;min-width:0}.card-tag{display:block;font-size:.58rem;letter-spacing:.07em;margin-bottom:10px;line-height:1.6;color:var(--tone)}.card-copy h3{font-size:clamp(1.7rem,2.5vw,2.85rem);letter-spacing:-.02em;max-width:17ch}.card-copy p{font-size:.78rem;color:#e1e6da;margin-top:15px;max-width:45ch;line-height:1.75}.card-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(228,236,222,.25);padding-top:17px;margin-top:22px;gap:15px;font-size:.67rem}.round-arrow{width:34px;height:34px;display:grid;place-items:center;border:1px solid #c8d2be;border-radius:50%;font-family:Arial,sans-serif;font-size:1.2rem;transition:background .2s,color .2s}.service-link:hover .round-arrow{background:var(--tone);border-color:var(--tone);color:#2e3d2e}.service-card:last-child .service-link{min-height:295px;padding:45px}.service-card:last-child .card-copy{width:45%;margin-block:auto}.service-card:last-child .card-index{left:auto;width:150px}.service-card:last-child .card-link{max-width:330px}.service-card:last-child .service-link:after{background:linear-gradient(90deg,rgba(31,49,42,.96),rgba(31,49,42,.8) 34%,rgba(31,49,42,.03) 78%)}.service-gallery.is-filtered{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}.service-gallery.is-filtered .service-card{grid-column:auto}.service-gallery.is-filtered .service-link{min-height:495px;padding:180px 29px 29px}.service-gallery.is-filtered .card-copy{width:100%;margin-top:auto;margin-bottom:0}.service-gallery.is-filtered .card-index{width:auto;left:26px;right:26px}.service-gallery.is-filtered .service-card:last-child .service-link:after{background:linear-gradient(180deg,rgba(25,36,25,.15),transparent 20%,rgba(25,36,25,.69) 56%,rgba(25,36,25,.96))}.filter-status{font-size:.66rem;color:#61735a;margin-top:22px}.catalogue-note{font-size:.75rem;color:var(--muted);margin-top:12px;max-width:80ch}
/* A photographic story, with concrete care arrangements. */
.care-section{background:#ebeade}.care-layout{display:grid;grid-template-columns:1fr 1.03fr;gap:85px;align-items:center}.care-photo{position:relative}.care-photo img{width:100%;aspect-ratio:.86;object-fit:cover;object-position:62% center;border-radius:190px 190px 18px 18px}.photo-note{position:absolute;bottom:27px;left:27px;background:#f6e4cf;padding:21px 27px;border-radius:16px;color:#4b5841;font-size:.61rem;letter-spacing:.08em;line-height:1.7}.care-copy .lead{margin-top:27px;font-size:.95rem}.care-points{margin-block:30px 35px}.care-point{display:flex;gap:22px;padding-block:18px;border-top:1px solid #c7cebd}.care-point>span{color:#798c6b;font-size:.65rem;padding-top:4px}.care-point h3{font-size:1.46rem}.care-point p{font-size:.81rem;color:#5f6c58;margin-top:8px;max-width:44ch}
/* An actual local selector, rather than a decorative generic workflow. */
.planner-section{background:#dfe6d3}.planner-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:110px;align-items:center}.planner-heading .lead{margin-top:25px;max-width:38ch}.planner-doodle{display:flex;align-items:center;gap:20px;color:#607454;margin-top:30px}.planner-doodle svg{width:160px;height:98px}.planner-doodle span{font-size:.53rem;letter-spacing:.1em}.planner-box{background:#faf8ee;border:1px solid #b7c4a9;border-radius:25px;padding:35px 40px;min-width:0}.planner-box fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.planner-box legend{font-size:.76rem;margin-bottom:12px;font-weight:550}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice-row button{font-size:.7rem;padding:9px 14px;border:1px solid #b0bca4;border-radius:8px;background:none;transition:background .2s,color .2s}.choice-row button[aria-pressed=true]{background:#d7e4c7;border-color:#758e64;color:#2e4b2c}.plan-result{border-top:1px solid #d1dac6;margin-top:30px;padding-top:25px}.result-label{font-size:.56rem;letter-spacing:.1em;color:#758469}.plan-result h3{font-size:2.35rem;margin-top:12px;line-height:1.18}.plan-result p{font-size:.85rem;color:#65715d;margin-top:17px;max-width:44ch}.plan-result .text-link{margin-top:23px}.planner-note{font-size:.61rem;line-height:1.7;color:#77826c;margin-top:23px}.question-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:95px}.question-layout .lead{margin-top:25px;font-size:.91rem;max-width:38ch}.question-layout .text-link{margin-top:25px}.faq{border-top:1px solid #bcc7b4}.faq details{border-bottom:1px solid #bcc7b4}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:24px;font-family:DMSerif,Georgia,serif;font-size:1.33rem;line-height:1.35;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-family:DMSans,sans-serif;font-size:1.5rem;flex-shrink:0;font-weight:300;color:#759168;transition:transform .2s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>p{padding:0 36px 25px 0;font-size:.85rem;line-height:1.85;color:#5d6c56}
.contact-section{background:#253f31;color:#f7f5e9;border-radius:28px 28px 0 0;margin-inline:24px}.contact-layout{display:grid;grid-template-columns:1fr 1.06fr;gap:95px}.contact-copy .eyebrow{color:#d4bc95}.contact-copy .lead{color:#ced8c7;font-size:.95rem;margin-top:28px;max-width:39ch}.contact-methods{display:grid;margin-top:39px;max-width:415px}.contact-methods>a{display:grid;grid-template-columns:1fr auto;gap:8px 15px;padding-block:22px;border-top:1px solid #596e56}.contact-methods>a>span:first-child{font-size:.6rem;color:#d1d7c5}.contact-methods strong{font-weight:450;font-size:1rem;grid-column:1;overflow-wrap:anywhere}.contact-methods .arrow{grid-column:2;grid-row:1/3;align-self:center}.contact-location{display:flex;align-items:start;gap:13px;margin-top:28px}.location-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#e6bf93;margin-top:8px}.contact-location strong{font-size:.79rem;font-weight:450}.contact-location p{font-size:.72rem;color:#b8c9b0;margin-top:7px}.contact-promise{font-family:DMSerif,Georgia,serif;font-size:1.5rem;line-height:1.45;color:#baccae;margin-top:40px}.enquiry-form{background:#f7f3e8;color:var(--ink);border-radius:22px;padding:35px 38px;min-width:0}.honeypot{display:none}.form-heading{display:flex;justify-content:space-between;gap:20px;font-size:.51rem;letter-spacing:.1em;padding-bottom:23px;margin-bottom:26px;border-bottom:1px solid #cad1c0;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.form-grid label{display:grid;gap:9px;font-size:.72rem;font-weight:500;min-width:0}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{background:#fffef8;border:1px solid #b6c1a9;border-radius:7px;padding:12px;width:100%;font-size:.83rem;font-weight:400;min-width:0}.form-grid textarea{resize:vertical;min-height:130px;line-height:1.6}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#507046}.form-notice{font-size:.62rem;color:#65715d;line-height:1.7;margin-top:24px}.form-notice a{text-decoration:underline;text-underline-offset:3px}.form-submit{margin-top:22px;width:100%;cursor:pointer}.form-submit:disabled{opacity:.65}.form-state{font-size:.74rem;line-height:1.6;color:#597347;margin-top:16px}.form-state:empty{margin:0}.form-fineprint{font-size:.59rem;line-height:1.7;color:#6c7863;margin-top:17px}
.site-footer{padding:50px 0 27px;background:#eceade}.footer-top{display:grid;grid-template-columns:1.4fr 1fr auto;gap:35px;align-items:start;padding-bottom:35px;border-bottom:1px solid #c9d0bd}.footer-top p{font-size:.67rem;line-height:1.7;margin-top:20px;color:#67725f}.footer-top .brand-type{font-size:1.25rem}.footer-top .brand-mark{width:39px;height:39px}.footer-contact{display:grid;gap:10px;font-size:.74rem;padding-top:8px}.footer-contact span{font-size:.6rem;color:#6e7b65;margin-top:8px}.back-top{font-size:.65rem;padding-top:9px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;font-size:.57rem;color:#63715b;padding-top:25px;line-height:1.8}.footer-bottom>div{display:flex;gap:8px 18px;flex-wrap:wrap;justify-content:end;max-width:850px}.footer-bottom>span{flex-shrink:0}
/* Native dialogs supply focus confinement and Escape. Fallback content remains readable. */
.detail-dialog{border:0;padding:0;width:calc(100% - 48px);max-width:1050px;background:var(--paper);color:var(--ink);border-radius:23px;overflow:auto;box-shadow:0 20px 80px rgba(19,32,20,.2)}.dialogs-ready .detail-dialog{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 48px)}.detail-dialog::backdrop{background:rgba(20,33,23,.68);backdrop-filter:blur(5px)}.dialog-open{overflow:hidden}.dialog-chrome{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:67px;padding:14px 26px;background:#f7f3e9;border-bottom:1px solid #d3dacb}.dialog-back,.legal-brand{font-size:.68rem}.close-panel{display:flex;gap:15px;align-items:center;border:0;background:none;padding:3px;color:#465d3c}.close-panel span{font-size:.63rem}.close-panel i{font-style:normal;font-size:1.85rem;line-height:1;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e2e7d6}.detail-hero{position:relative;isolation:isolate;min-height:395px;padding:85px 50px 38px;display:flex;align-items:end;color:#fffef8;background:#344832}.detail-scene{position:absolute;inset:0;z-index:-2;overflow:hidden}.detail-scene img{width:100%;height:100%;object-fit:cover;object-position:67% center}.detail-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,43,29,.85),rgba(27,43,29,.53) 44%,rgba(27,43,29,.02) 80%),linear-gradient(0deg,rgba(27,43,29,.7),transparent 70%)}.detail-hero-copy{max-width:70%;min-width:0}.detail-hero .eyebrow{color:var(--tone);font-size:.57rem;margin-bottom:20px}.detail-hero h2{font-size:clamp(2.9rem,5vw,4.8rem);line-height:1.04;max-width:16ch}.detail-tags{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:.64rem;margin-top:23px;color:#e5edd9}.detail-body{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;padding:45px 50px 50px}.detail-intro{font-size:1rem;line-height:1.85;color:#52644a}.detail-main h3{font-size:1.53rem;margin-top:30px;margin-bottom:15px}.detail-main>p:not(.detail-intro){font-size:.85rem;line-height:1.85;color:#65765b}.detail-list{list-style:none;margin:0;padding:0}.detail-list li{position:relative;padding:10px 0 10px 23px;border-bottom:1px solid #d5dfca;font-size:.82rem;line-height:1.7}.detail-list li:before{content:'';position:absolute;left:0;top:19px;width:6px;height:6px;background:var(--tone-ink);border-radius:50%}.detail-aside{padding:30px 27px;background:#e8ecdF;border-radius:16px;align-self:start;border-top:3px solid var(--tone);min-width:0}.detail-aside .eyebrow{font-size:.53rem;color:var(--tone-ink);margin-bottom:17px}.detail-aside h3{font-size:1.9rem;line-height:1.17}.detail-aside p{font-size:.77rem;line-height:1.8;color:#5b6d4f;margin-top:20px}.detail-aside .button{margin-top:25px;width:100%;padding:13px 17px;font-size:.69rem;gap:18px;line-height:1.6}.aside-note{display:block;font-size:.59rem;line-height:1.7;color:#6a7b5f;margin-top:17px}.panel-arrival{position:absolute;inset:0;display:none;place-items:center;background:#eaeade;z-index:2}.panel-arrival>span{width:69px;color:#466445}.panel-arrival svg{width:100%}.service-dialog.is-arriving .panel-arrival{display:grid;animation:panel-in .2s var(--ease) both}.legal-dialog{max-width:800px}.legal-content{padding:42px 50px 50px}.legal-content h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.08}.legal-date{font-size:.62rem;color:#768769;margin-top:20px}.legal-content>section{margin-top:30px}.legal-content h3{font-size:1.46rem;margin-bottom:13px}.legal-content>section>p{font-size:.85rem;line-height:1.85;color:#5b6c52;overflow-wrap:anywhere}.legal-links{display:flex;gap:15px 25px;flex-wrap:wrap;margin-top:30px}.legal-links a{display:inline-flex;align-items:center;gap:13px;font-size:.73rem;border-bottom:1px solid #a2b394}.legal-content>.button{margin-top:30px}.response{min-height:65vh;padding-block:100px;max-width:850px}.response h1{font-size:clamp(3rem,6vw,5rem)}.response .lead{margin-top:25px}.response .button{margin-top:35px}.response-mark{width:80px;display:block;margin-bottom:35px}.response-mark svg{width:100%}
/* Stable whole-logo animations: a longer first arrival and brief language transitions. */
.intro-loader,.route-loader{display:none;position:fixed;inset:0;z-index:100;background:#e8ead9;color:#304b31;place-items:center}.boot-intro .intro-loader,.route-leaving .route-loader{display:grid}.intro-content{text-align:center;padding:30px;max-width:100%}.intro-mark{display:block;width:100px;margin:0 auto 27px;animation:mark-in .65s var(--ease) both}.intro-mark svg{width:100%}.intro-name{font-family:DMSerif,Georgia,serif;font-size:2.2rem}.intro-tagline{display:block;font-size:.49rem;letter-spacing:.16em;margin-top:18px}.intro-progress{width:270px;max-width:90vw;height:2px;background:#c1cdb1;margin:31px auto 18px}.intro-progress i{display:block;width:0;height:100%;background:#4c6a3e}.intro-phases{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;font-size:.54rem;color:#677960}.intro-phases .is-active{color:#35582d}.skip-intro{position:absolute;right:30px;bottom:25px;padding:7px 0;border:0;border-bottom:1px solid #829373;background:none;font-size:.68rem}.route-loader>span{width:67px;display:block}.route-loader svg{width:100%}.route-loader p{position:absolute;top:calc(50% + 52px);font-size:.63rem}.js .reveal.is-pending{opacity:0;transform:translateY(23px)}.reveal{transition:opacity .6s var(--ease),transform .6s var(--ease)}@keyframes mark-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes panel-in{from{opacity:1}to{opacity:.2}}
html:not(.js) .filters,html:not(.js) .planner-box fieldset,html:not(.js) .close-panel,html:not(.js) .dialog-back{display:none}html:not(.js) .detail-dialog{display:block;position:relative;inset:auto;margin:45px auto;max-height:none}html:not(.js) .detail-dialog .dialog-chrome{position:static}
@media(max-width:1150px){.wrap{width:calc(100% - 80px)}.header-inner{width:calc(100% - 48px)}.navigation{gap:20px}.navigation>.button{display:none}.hero-content{width:62%;margin-left:55px}.hero{min-height:700px}.hero h1{font-size:clamp(3.8rem,7.2vw,6.4rem)}.section-heading{gap:45px}.service-link{padding-inline:24px}.card-copy h3{font-size:2rem}.care-layout{gap:50px}.planner-layout{gap:60px}.question-layout,.contact-layout{gap:55px}.enquiry-form{padding:32px 28px}.detail-body{gap:32px}}
@media(max-width:900px){:root{--header:80px}.wrap{width:calc(100% - 56px)}.section{padding-block:85px}.menu-toggle{display:flex}.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:26px 28px 32px;background:#f7f4eb;flex-direction:column;align-items:stretch;border-bottom:1px solid #bcc9b1;gap:14px;max-height:calc(100dvh - 80px);overflow:auto}.navigation.is-open{display:flex}.navigation>a:not(.button){font-size:1rem;padding-block:10px}.navigation>.button{display:inline-flex;justify-content:space-between}.languages{margin:4px 0 9px;font-size:.78rem;justify-content:start}.hero{margin:15px 16px 0;min-height:690px}.hero-content{margin-left:40px;width:73%;padding-block:85px 110px}.hero h1{font-size:clamp(3.7rem,8.5vw,5.7rem)}.hero-scene img{object-position:64% center}.hero:after{background:linear-gradient(90deg,rgba(24,41,25,.86),rgba(24,41,25,.4) 70%,rgba(24,41,25,.05))}.hero-scroll{left:40px}.hero-caption{right:28px;font-size:.47rem}.hero-content>p{font-size:.96rem}.section-heading{grid-template-columns:1fr;gap:25px}.section-heading .lead{max-width:60ch}.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card:nth-child(-n+2),.service-card:last-child{grid-column:span 1}.service-card .service-link,.service-card:nth-child(-n+2) .service-link,.service-card:last-child .service-link{min-height:490px;padding:170px 25px 27px}.service-card:last-child .card-copy{width:100%;margin-top:auto;margin-bottom:0}.service-card:last-child .card-index{left:26px;right:26px;width:auto}.service-card:last-child .service-link:after{background:linear-gradient(180deg,rgba(25,36,25,.15),transparent 20%,rgba(25,36,25,.69) 56%,rgba(25,36,25,.96))}.card-copy h3{font-size:2.25rem}.care-layout{grid-template-columns:1fr 1.1fr;gap:35px}.care-copy h2{font-size:2.85rem}.care-photo img{aspect-ratio:.69;border-radius:150px 150px 14px 14px}.care-copy .lead{font-size:.85rem;margin-top:22px}.care-point{gap:16px;padding-block:15px}.care-point h3{font-size:1.25rem}.care-point p{font-size:.76rem}.photo-note{left:18px;bottom:18px;padding:17px 20px;font-size:.55rem}.planner-layout{gap:40px}.planner-box{padding:30px 27px}.planner-heading h2{font-size:3rem}.planner-doodle{gap:10px}.planner-doodle svg{width:130px}.planner-doodle span{font-size:.47rem}.question-layout{grid-template-columns:1fr;gap:40px}.question-layout .lead{max-width:52ch}.contact-section{margin-inline:16px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-copy h2{max-width:17ch}.contact-copy .lead{max-width:60ch}.contact-methods{max-width:600px;grid-template-columns:1fr 1fr;gap:25px}.contact-promise{font-size:1.35rem;margin-top:25px}.enquiry-form{padding:35px}.footer-top{grid-template-columns:1.2fr 1fr;gap:25px}.back-top{grid-column:2}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom>div{justify-content:start}.detail-body{padding:35px;grid-template-columns:1.2fr 1fr;gap:30px}.detail-hero{padding-inline:35px}.detail-aside{padding:25px 22px}.detail-aside h3{font-size:1.65rem}.detail-hero-copy{max-width:80%}.detail-hero h2{font-size:3.9rem}}
@media(max-width:600px){:root{--header:74px}.wrap{width:calc(100% - 40px)}body{font-size:15px}.header-inner{width:calc(100% - 34px);gap:15px}.brand{gap:8px}.brand-mark{width:37px;height:37px}.brand-type{font-size:1.13rem}.brand-type small{font-size:.39rem;letter-spacing:.1em}.menu-toggle{padding:8px 11px;font-size:.68rem}.section{padding-block:65px}h2{font-size:2.75rem}.eyebrow{font-size:.56rem;margin-bottom:19px}.hero{margin:10px 12px 0;border-radius:21px;min-height:840px;align-items:end}.hero-scene img{height:390px;object-position:75% top}.hero:after{background:linear-gradient(180deg,rgba(41,59,40,.06),rgba(41,59,40,.28) 195px,#293b28 380px,#293b28)}.hero-content{width:100%;max-width:none;margin:0;padding:285px 25px 76px}.hero .eyebrow{font-size:.48rem;letter-spacing:.1em;margin-bottom:22px}.hero h1{font-size:clamp(3rem,12vw,4.7rem);max-width:15ch;letter-spacing:-.035em}.hero-content>p{font-size:.88rem;line-height:1.8;margin-top:23px;max-width:38ch}.hero-content>p br{display:none}.hero-actions{align-items:start;flex-direction:column;gap:19px;margin-top:26px}.hero-actions .button{font-size:.76rem;padding:14px 20px;gap:22px}.hero-text-link{font-size:.69rem}.hero-note{font-size:.59rem;margin-top:29px}.hero-scroll{left:auto;right:25px;bottom:25px;font-size:1.45rem}.hero-caption{left:25px;right:auto;bottom:30px;font-size:.42rem;letter-spacing:.1em}.section-heading{gap:24px;margin-bottom:28px}.section-heading .lead{font-size:.87rem}.filters{gap:8px;margin-bottom:25px}.filters button{padding:8px 13px;font-size:.64rem}.service-gallery,.service-gallery.is-filtered{grid-template-columns:1fr;gap:20px}.service-card .service-link,.service-card:nth-child(-n+2) .service-link,.service-card:last-child .service-link,.service-gallery.is-filtered .service-link{min-height:495px;padding:195px 25px 25px;border-radius:18px}.card-copy h3{font-size:2.35rem;max-width:17ch}.card-copy p{font-size:.78rem}.card-tag{font-size:.55rem}.card-index{font-size:.49rem}.card-link{font-size:.63rem;padding-top:16px;margin-top:20px}.filter-status{font-size:.61rem}.catalogue-note{font-size:.67rem}.care-layout{grid-template-columns:1fr;gap:37px}.care-photo{max-width:430px;margin:auto;width:100%}.care-photo img{aspect-ratio:1.02;border-radius:170px 170px 15px 15px}.photo-note{padding:16px 21px;font-size:.52rem}.care-copy h2{font-size:2.75rem}.care-copy .lead{font-size:.88rem}.care-points{margin-block:25px 30px}.care-point h3{font-size:1.4rem}.care-point p{font-size:.78rem}.care-point>span{font-size:.6rem}.care-copy .button{font-size:.74rem}.planner-layout{grid-template-columns:1fr;gap:27px}.planner-heading h2{font-size:2.75rem}.planner-heading .lead{font-size:.87rem;margin-top:23px}.planner-doodle{display:none}.planner-box{padding:28px 23px;border-radius:19px}.planner-box legend{font-size:.72rem}.choice-row{gap:7px}.choice-row button{padding:8px 11px;font-size:.63rem}.planner-box fieldset{margin-bottom:24px}.plan-result{padding-top:22px;margin-top:27px}.plan-result h3{font-size:2.1rem}.plan-result p{font-size:.79rem}.result-label{font-size:.51rem}.planner-note{font-size:.56rem}.question-layout{gap:30px}.question-layout .lead{font-size:.86rem}.question-layout .text-link{font-size:.71rem}.faq summary{font-size:1.25rem;padding-block:22px;gap:22px}.faq details>p{font-size:.8rem;padding-right:15px}.contact-section{margin-inline:12px;border-radius:22px 22px 0 0}.contact-section .wrap{width:calc(100% - 42px)}.contact-layout{gap:36px}.contact-copy h2{font-size:2.8rem}.contact-copy .lead{font-size:.87rem;margin-top:24px}.contact-methods{grid-template-columns:1fr;gap:0;margin-top:25px}.contact-methods>a{padding-block:18px}.contact-methods strong{font-size:.89rem}.contact-methods>a>span:first-child{font-size:.56rem}.contact-location strong{font-size:.73rem}.contact-location p{font-size:.65rem}.contact-promise{font-size:1.3rem;line-height:1.4;margin-top:25px}.enquiry-form{padding:26px 21px;border-radius:17px}.form-heading{font-size:.44rem;letter-spacing:.05em;gap:12px;margin-bottom:23px;padding-bottom:20px}.form-grid{grid-template-columns:1fr;gap:21px}.form-grid label{font-size:.69rem}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:11px}.form-notice{font-size:.57rem;margin-top:20px}.form-submit{font-size:.76rem;padding:14px 19px}.form-fineprint{font-size:.55rem}.form-state{font-size:.67rem}.site-footer{padding-top:36px}.footer-top{grid-template-columns:1fr;gap:24px;padding-bottom:28px}.footer-top .brand-type{font-size:1.15rem}.footer-top p{font-size:.62rem;margin-top:15px}.footer-contact{font-size:.68rem;gap:8px;padding:0}.back-top{grid-column:auto;font-size:.6rem;padding:0}.footer-bottom{font-size:.53rem;gap:17px}.footer-bottom>div{gap:9px 15px}.detail-dialog{width:calc(100% - 20px);border-radius:17px}.dialogs-ready .detail-dialog{max-height:calc(100dvh - 20px)}.dialog-chrome{padding:12px 18px;min-height:59px;gap:15px}.dialog-back,.legal-brand{font-size:.6rem}.close-panel{gap:8px}.close-panel span{font-size:.57rem}.close-panel i{width:28px;height:28px;font-size:1.65rem}.detail-hero{padding:190px 23px 29px;min-height:420px;align-items:end}.detail-scene img{object-position:71% center}.detail-hero:after{background:linear-gradient(0deg,rgba(27,43,29,.95),rgba(27,43,29,.7) 42%,rgba(27,43,29,.04) 85%)}.detail-hero-copy{max-width:100%;width:100%}.detail-hero .eyebrow{font-size:.49rem;letter-spacing:.06em;margin-bottom:17px}.detail-hero h2{font-size:clamp(2.8rem,11vw,3.7rem);max-width:16ch;line-height:1.06}.detail-tags{font-size:.57rem;margin-top:20px;gap:8px 16px}.detail-body{grid-template-columns:1fr;gap:28px;padding:27px 23px 30px}.detail-intro{font-size:.89rem}.detail-main h3{font-size:1.5rem;margin-top:27px}.detail-main>p:not(.detail-intro){font-size:.8rem}.detail-list li{font-size:.78rem;padding-block:11px}.detail-aside{padding:25px 22px}.detail-aside h3{font-size:1.85rem}.detail-aside p{font-size:.76rem}.detail-aside .button{font-size:.75rem}.aside-note{font-size:.57rem}.legal-content{padding:29px 24px 35px}.legal-content h2{font-size:2.6rem}.legal-date{font-size:.56rem;margin-top:18px}.legal-content h3{font-size:1.36rem}.legal-content>section>p{font-size:.8rem}.legal-links{gap:18px}.legal-links a{font-size:.67rem}.legal-content>.button{font-size:.72rem}.intro-name{font-size:1.9rem}.intro-mark{width:89px}.intro-tagline{font-size:.43rem;letter-spacing:.11em}.intro-phases{font-size:.46rem;gap:12px}.skip-intro{bottom:23px;right:23px;font-size:.61rem}.response{padding-block:75px}.response h1{font-size:2.85rem}.response .lead{font-size:.89rem}.response .button{font-size:.77rem}}
@media(max-width:900px){html:not(.js) .site-header{height:auto;position:static}html:not(.js) .header-inner{flex-wrap:wrap;padding-block:20px}html:not(.js) .navigation{display:flex;position:static;flex-direction:row;flex-wrap:wrap;padding:0;border:0;max-height:none;gap:12px 22px}html:not(.js) .menu-toggle{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal.is-pending{opacity:1;transform:none}.service-link:hover .card-scene img{transform:none}.button:hover{transform:none}}

.no-dialog .detail-dialog{position:relative;inset:auto;margin:45px auto;max-height:none;display:block}.no-dialog .close-panel{display:none}

/* Keep notices and legal navigation readable. */
.form-notice{font-size:.72rem}.form-fineprint{font-size:.66rem}.footer-bottom{font-size:.68rem}.aside-note{font-size:.66rem}.planner-note{font-size:.66rem}.catalogue-note{font-size:.77rem}
@media(max-width:600px){.form-notice{font-size:.69rem}.form-fineprint{font-size:.64rem}.footer-bottom{font-size:.68rem}.aside-note{font-size:.64rem}.planner-note{font-size:.64rem}.catalogue-note{font-size:.72rem}}
