@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#183f35;--soft:#f5f7f3;--lime:#d6ee8a;--pink:#f6dfd8;--muted:#52675d;--spring:cubic-bezier(.2,.8,.2,1)}
body{font-family:'DM Sans',Arial,sans-serif}h1,h2,h3,.hero-photo strong,.footer-top h3{font-family:'DM Sans',Arial,sans-serif;font-weight:700;letter-spacing:0;text-wrap:balance}h1{font-size:4.875rem;line-height:1.02}h2{font-size:2.875rem;line-height:1.12}h3{font-size:1.625rem}.eyebrow{font-weight:500;text-transform:none;font-size:0.875rem;margin-bottom:21px}.wordmark{font-weight:700}.review-bar{background:#edf2e5}.button,.button.compact{border-radius:100px;min-height:52px;padding:15px 25px;font-weight:500;position:relative;overflow:hidden;transition:background .25s,box-shadow .25s,transform .4s var(--spring)}.button>span{transition:transform .35s var(--spring)}.button:hover>span{transform:translate(3px,-3px)}.button:hover{box-shadow:0 8px 24px #183f351a;transform:translateY(-3px)}.button:active{transform:scale(.97)}header{padding-top:22px;padding-bottom:22px;border:0}nav>a:not(.button){position:relative}nav>a:not(.button)::after{content:'';height:2px;background:var(--ink);position:absolute;bottom:-5px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav>a:hover::after{transform:scaleX(1)}
.hero{background:white;padding-top:50px;padding-bottom:30px}.hero h1{max-width:950px}.hero-copy{margin-top:25px}.hero-copy p{font-size:1.4375rem;line-height:1.4}.hero-photo{border-radius:26px;background:#e1ebdf;margin-top:38px;min-height:240px}.hero-photo strong{font-size:2.3125rem;opacity:1;max-width:480px}.hero-photo .photo-label{line-height:1.5}.hero-photo::before{content:'';position:absolute;inset:12px;border:1px solid #ffffffaa;border-radius:18px;pointer-events:none}.section{padding:85px 0}.section-heading{margin-bottom:35px}.care-grid{gap:25px;perspective:1300px}.care-card{border-radius:24px;padding:32px;min-height:355px;background:#e7efdf;transform-style:preserve-3d;position:relative;isolation:isolate;overflow:hidden;will-change:auto;transition:transform .55s var(--spring),box-shadow .5s,background .3s}.care-card:nth-child(2){background:#fae6df}.care-card:nth-child(3){background:#e4edf2}.care-card:hover{background:#e7efdf;box-shadow:0 24px 36px -22px #23453366;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-9px)}.care-card:nth-child(2):hover{background:#fae6df}.care-card:nth-child(3):hover{background:#e4edf2}.care-card::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;border:1px solid #ffffff66;box-shadow:inset 0 1px 0 #ffffffb0;opacity:0;transition:opacity .3s}.care-card:hover::after{opacity:1}.care-card .number{margin-bottom:28px;font-size:0.6875rem;opacity:.8}.care-card p{font-size:1.0625rem;margin-top:14px;max-width:32ch}.care-card h3{font-size:1.8125rem}.card-link{border-top:1px solid #183f3520;padding-top:20px}.card-link>span{background:white;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;transition:transform .4s var(--spring)}.care-card:hover .card-link>span{transform:rotate(45deg);background:var(--ink);color:white}.care-more{justify-content:space-between;flex-wrap:wrap}.care-more a{padding:9px 0;font-size:0.9375rem}.statement{background:#eef2e9;color:var(--ink);padding:75px 0}.statement p{color:var(--muted)}.statement .wrap{grid-template-columns:.7fr 1.4fr}.statement h2{font-size:3rem}.photo-slot{border-radius:26px;background:#e8e5dd!important}.photo-slot span{line-height:1.7}.step{border-top:0;border-bottom:1px solid #d5ddd1;padding:24px 0;grid-template-columns:45px 1fr;transition:transform .3s}.step:hover{transform:translateX(6px)}.step-num{border-radius:50%;width:36px;height:36px;background:#e7eddc;display:grid;place-items:center;padding:0!important}.step h3{font-size:1.4375rem}.step p{font-size:1.0625rem}.questions{background:#f3f5ef}.faq-layout{gap:65px}details{padding:0;border:0;border-radius:18px;margin-bottom:12px;background:white;overflow:hidden;transition:background .3s,box-shadow .3s}summary{font-size:1.125rem;font-weight:500;padding:23px 25px;align-items:center}summary::after{background:#eaf0e1;border-radius:50%;min-width:30px;height:30px;line-height:30px;text-align:center;transition:transform .3s}details[open]{background:#e5eddf;box-shadow:inset 0 2px 7px #23453309}details[open] summary::after{transform:rotate(180deg)}details p{margin:0!important;padding:0 25px 24px;color:var(--muted);font-size:1rem}.closing{background:#d6ee8a;padding:70px 0}.closing h2{max-width:740px}.footer-top h3{font-size:1.8125rem;line-height:1.2}.footer-top a:not(.wordmark){text-underline-offset:5px}.footer-top a:hover{text-decoration:underline}.booking-form{border-radius:24px;box-shadow:0 18px 50px #183f3507}.field input,.field select{border-radius:12px;padding:15px}.note{border-radius:16px;border:0;background:#e9efdf}.booking-result{border-radius:16px}.menu-toggle{border-radius:50%}.service-hero{background:#edf2e6}.service-hero h1{font-size:4.125rem}.service-layout .note{padding:32px}.motion-reveal{opacity:0;transform:translateY(27px);transition:opacity .75s var(--spring),transform .85s var(--spring);transition-delay:var(--reveal-delay,0ms)}.motion-reveal.visible{opacity:1;transform:translateY(0)}.photo-slot.motion-reveal,.hero-photo.motion-reveal{transform:translateY(20px) scale(.98)}.photo-slot.visible,.hero-photo.visible{transform:none}.fade-in{animation:page-arrive .45s var(--spring)}@keyframes page-arrive{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.hero{padding-top:65px}.hero-photo{min-height:275px}}@media(max-width:1000px){h1{font-size:4.0625rem}.care-card{padding:24px}.care-card h3{font-size:1.5625rem}.hero-copy{flex-direction:row;align-items:center;gap:20px}.hero-actions{justify-content:flex-end}.hero-copy p{font-size:1.3125rem}}@media(max-width:760px){h1,.service-hero h1{font-size:2.6875rem}h2,.statement h2{font-size:2.125rem}.hero{padding-top:30px}.hero-copy{flex-direction:column;align-items:start;gap:23px}.hero-copy p{font-size:1.25rem}.hero-actions{justify-content:flex-start}.hero-photo{min-height:215px;border-radius:22px;margin-top:28px;padding:26px}.hero-photo strong{font-size:1.75rem;max-width:250px}.hero-photo .photo-label{max-width:260px}.section{padding:55px 0}.care-grid{gap:18px}.care-card{min-height:310px;padding:28px;border-radius:22px}.care-card h3{font-size:1.8125rem}.care-card .number{margin-bottom:22px}.care-more{gap:6px}.statement .wrap{grid-template-columns:1fr;gap:15px}.statement{padding:55px 0}.faq-layout{gap:28px}.photo-slot{border-radius:22px}summary{padding:20px;font-size:1.0625rem}details p{padding:0 20px 20px}.booking h1{font-size:2.6875rem}nav .button{align-self:flex-start}.button{min-height:50px}.footer-top h3{font-size:1.625rem}.motion-reveal{transform:translateY(16px)}}
@media(hover:hover) and (pointer:fine){
  .care-card.motion-reveal.visible:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-9px);transition-delay:0ms}
  .care-card h3,.care-card .card-link{transition:translate .5s var(--spring)}
  .care-card:hover h3{translate:0 -4px}
  .care-card:hover .card-link{translate:0 3px}
}
.hero .eyebrow{animation:page-arrive .6s var(--spring) both}
.hero h1{animation:page-arrive .8s .08s var(--spring) both}
.hero-copy{animation:page-arrive .8s .18s var(--spring) both}
.step-num{transition:transform .45s var(--spring),background .3s}
.step:hover .step-num{transform:rotate(-10deg) scale(1.08);background:var(--lime)}
.care-more a{transition:transform .3s var(--spring)}
.care-more a:hover{transform:translateY(-4px)}
@media(hover:none){.care-card:hover{transform:none;box-shadow:none}.care-card:active{transform:scale(.985)}}
.closing{position:relative;isolation:isolate;overflow:hidden}
.closing .wrap{position:relative;z-index:1}
.closing-illustration{position:absolute;width:260px;height:260px;object-fit:contain;left:57%;top:50%;transform:translate(-50%,-50%) rotate(-13deg);opacity:.09;pointer-events:none;transition:transform 1s var(--spring)}
.closing:hover .closing-illustration{transform:translate(-50%,-50%) rotate(-4deg) scale(1.04)}
@media(max-width:760px){.closing-illustration{width:210px;height:210px;left:auto;right:-50px;top:45%;transform:translateY(-50%) rotate(-13deg)}.closing:hover .closing-illustration{transform:translateY(-50%) rotate(-4deg)}}
.hero{padding:16px 0 32px}
.hero-scene{position:relative;min-height:620px;overflow:hidden;border-radius:28px;display:flex;align-items:center;background:#edf4ed}
.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,251,245,.96),rgba(248,251,245,.9) 26%,rgba(248,251,245,.15) 58%,transparent 75%);pointer-events:none}
.hero-content{position:relative;z-index:1;width:52%;padding:64px 0 76px 48px}
.hero h1{font-size:4.125rem;max-width:490px;line-height:1.03}
.hero-copy{display:block;margin-top:25px}
.hero-copy p{font-size:1.375rem}
.hero-actions{margin-top:30px;justify-content:flex-start;gap:12px}
.hero-actions .button{font-size:0.9375rem;gap:18px;padding:15px 22px}
.stock-caption{position:absolute;z-index:1;bottom:18px;right:22px;background:#ffffffe8;padding:7px 12px;border-radius:8px;font-size:0.6875rem}
.care-card{min-height:445px}
.care-art{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}
.care-art img{width:88px;height:88px;object-fit:contain;transform:rotate(-5deg);transition:transform .55s var(--spring)}
.care-art .number{margin:0;max-width:130px;text-align:right;line-height:1.5}
.care-card:hover .care-art img{transform:rotate(7deg) translateY(-5px) scale(1.08)}
.care-card:nth-child(2):hover .care-art img{animation:heart-pop 1.1s ease-in-out infinite}
.care-card:nth-child(3):hover .care-art img{transform:rotate(-9deg) translateY(-6px)}
@keyframes heart-pop{0%,100%{transform:rotate(-5deg) scale(1)}35%{transform:rotate(5deg) scale(1.12)}65%{transform:rotate(0) scale(1.04)}}
.photo-slot{margin:0;padding:0;overflow:hidden;display:block;min-width:0}
.photo-slot>img{width:100%;height:100%;object-fit:cover;object-position:46% center;transition:transform 1.2s var(--spring)}
.photo-slot:hover>img{transform:scale(1.035)}
.photo-slot figcaption{position:absolute;bottom:16px;left:16px;right:16px;background:#ffffffe8;border-radius:8px;padding:8px;font-size:0.6875rem}
.step{grid-template-columns:48px 1fr}
.step-num{width:44px;height:44px;background:transparent}
.step-num img{width:36px;height:36px;object-fit:contain}
@media(max-width:1000px){.hero-content{width:60%;padding-left:32px}.hero h1{font-size:3.5rem}.hero-scene{min-height:600px}.care-art{flex-direction:column;align-items:flex-start}.care-art .number{text-align:left;max-width:none}.care-art img{width:76px;height:76px}}
@media(max-width:760px){.hero-scene{min-height:690px;align-items:flex-start}.hero-background{object-position:52% bottom}.hero-scene::after{background:linear-gradient(180deg,#f5f8f1 0%,#f5f8f1ee 35%,#f5f8f100 68%)}.hero-content{width:100%;padding:30px 25px}.hero h1{font-size:2.6875rem;max-width:330px}.hero-copy p{font-size:1.1875rem}.hero-actions{margin-top:20px}.hero-actions .button{font-size:0.8125rem;padding:13px 15px;gap:10px}.hero .eyebrow{margin-bottom:16px}.stock-caption{bottom:12px;right:12px;left:12px;text-align:center;font-size:0.625rem}.care-art{flex-direction:row;align-items:center}.care-art .number{max-width:130px;text-align:right}.care-card{min-height:385px}.approach .photo-slot{height:390px}}
.hero-scene::after{background:linear-gradient(90deg,rgba(248,251,245,.96),rgba(248,251,245,.88) 27%,transparent 51%)}
@media(max-width:760px){.hero-scene{min-height:780px}.hero-background{top:auto;bottom:0;height:380px;object-position:center 35%}.hero-scene::after{background:linear-gradient(180deg,#f5f8f1 0%,#f5f8f1 48%,transparent 59%)}.hero-content{padding-bottom:0}.hero-actions{gap:8px}.hero-actions .button{min-height:47px}}
@media(prefers-reduced-motion:reduce){.motion-reveal,.motion-reveal.visible,.photo-slot.motion-reveal,.hero-photo.motion-reveal{opacity:1!important;transform:none!important}.care-card:hover,.step:hover,.button:hover{transform:none!important}*,*::before,*::after{animation:none!important;transition:none!important}}
