/* V3: a continuous atmosphere, floating header and uncropped photography. */
body{background:#f7faf1;position:relative;isolation:isolate}
body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 95vw 95vh at 3% 3%,rgb(225 241 196 / .78),transparent 72%),radial-gradient(ellipse 85vw 105vh at 100% 33%,rgb(223 238 226 / .72),transparent 78%),radial-gradient(ellipse 100vw 80vh at 34% 105%,rgb(227 239 218 / .65),transparent 80%),linear-gradient(125deg,#fbfcf5,#f2f7ec 60%,#f7faf2)}
body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url('./assets/grain.svg');background-size:192px 192px;mix-blend-mode:multiply;opacity:.045}
.hero::before,.hero::after,.calculator-section::before,.calculator-section::after,.why-section::after,.services-section::after,.reviews-section::after{content:none;display:none}
.header{background:transparent;padding-top:20px;position:relative;z-index:30}
.header-inner{min-height:112px;padding:10px 22px;gap:32px;background:linear-gradient(115deg,rgb(235 246 215 / .77),rgb(248 252 236 / .61) 58%,rgb(231 244 217 / .73));border:1px solid rgb(255 255 249 / .9);border-radius:28px;backdrop-filter:blur(22px) saturate(1.1);box-shadow:inset 0 1px 0 #ffffffb3,0 4px 8px -7px rgb(57 80 38 / .11),0 18px 40px -30px rgb(57 80 38 / .2)}
.brand.brand-image{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;gap:0}
.brand-logo{display:block;width:90px;height:90px;max-width:none;border-radius:50%;object-fit:contain;flex-shrink:0}
.header .main-nav{font-size:12px;gap:32px;margin-left:auto;margin-right:auto}
.header-actions{gap:15px}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.header .brand-image{justify-self:start}
.header .main-nav{justify-self:center;margin:0}
.header-actions{justify-self:end}
.header .btn-small{min-height:47px;padding:13px 24px;font-size:12px;border-radius:13px}
.hero{margin-top:36px;min-height:0;padding-top:0;align-items:center;gap:35px;isolation:auto}
.hero-copy{padding:0;align-self:center;min-width:0}
.hero h1{margin-right:0}
.hero-scene{aspect-ratio:1122/1402;min-height:0;align-self:center;width:100%;border-radius:28px;box-shadow:0 3px 7px -6px rgb(63 79 43 / .13),0 26px 55px -35px rgb(50 80 34 / .26)}
.hero-scene>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.photo-view-target{position:absolute;inset:0;z-index:3;background:transparent;border:0;border-radius:inherit;padding:0;width:100%;height:100%}
.photo-view-target:focus-visible{outline:3px solid var(--green);outline-offset:5px}
.hero-note,.sticky-note,.scene-caption,.cat-note{pointer-events:none}
.hero-note,.sticky-note,.scene-caption{z-index:4}
.service-nav{margin-top:32px}
.calculator-section,.services-section,.reviews-section{isolation:auto}
.calculator-grid{align-items:center}
.calculator-panel{align-self:center}
.cat-scene{width:100%;height:auto;min-height:0;aspect-ratio:1122/1402;align-self:center}
.cat-photo{inset:0;width:100%;height:100%;overflow:visible;mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 94%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 5%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 94%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 5%,#000 88%,transparent 100%)}
.cat-photo .cat-image{object-fit:contain;object-position:center;animation:cat-breathe-v3 6s ease-in-out infinite}
@keyframes cat-breathe-v3{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}
.cat-scene>.photo-view-target{z-index:2}
.cat-note,.cat-caption{z-index:4}
.why-section{background:transparent;overflow:visible;isolation:auto;padding:30px 0}
.why-inner{z-index:auto}
.service-card-photo{aspect-ratio:1448/1086;min-height:0;background:transparent}
.service-photo-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;line-height:0;border-radius:inherit}
.service-card-photo img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;transition:filter .5s}
.service-card:hover .service-card-photo img{transform:none;filter:brightness(1.025) saturate(1.025)}
.work-grid{align-items:start;gap:22px;padding-bottom:0}
.work-photo,.work-photo-offset{aspect-ratio:1448/1086;margin:0;min-height:0;background:transparent;line-height:0;border-radius:21px;transition:box-shadow .45s,transform .8s var(--ease),opacity 1.15s var(--ease)}
.work-photo img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;transition:filter .5s}
.work-photo:hover img{transform:none;filter:brightness(1.035) saturate(1.025)}
.work-photo:hover{box-shadow:0 3px 7px rgb(43 70 39 / .035),0 25px 40px -24px rgb(43 70 39 / .26)}
.work-photo:focus-visible{outline:3px solid var(--green);outline-offset:6px}
.footer{background:transparent}
.footer .brand-logo{width:84px;height:84px}
.footer-top{align-items:center}
.gallery-modal{width:fit-content;max-width:calc(100% - 40px);background:#fafcf5}
.gallery-modal img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 100px);object-fit:contain}
.gallery-modal p{line-height:1.6}
@media(max-width:1250px){.header-inner{gap:24px;padding:10px 20px}.header .main-nav{gap:23px;font-size:11px}.header .btn-small{padding:13px 20px;font-size:11px}.hero{gap:24px}}
@media(max-width:1023px){.header-inner{min-height:100px;padding:9px 17px;gap:20px;border-radius:23px}.brand-logo{width:76px;height:76px}.header .main-nav{gap:18px;font-size:10px}.header-actions{gap:9px}.header .btn-small{padding:12px 16px;min-height:44px;font-size:10px}.hero{margin-top:32px;gap:24px}.hero-copy{padding:0}.hero-scene{border-radius:24px}.cat-scene{min-height:0;height:auto}.cat-caption.task-plan{left:20px;right:20px}.work-grid{gap:15px}.work-photo{border-radius:17px}.why-section{padding:20px 0}}
@media(max-width:767px){.header{padding-top:12px}.header-inner{min-height:84px;padding:8px 15px;gap:15px;border-radius:23px}.brand-logo{width:66px;height:66px}.header .main-nav{top:calc(100% + 8px);left:20px;right:20px;padding:18px 24px 24px;margin:0;font-size:15px;background:rgb(244 250 232 / .97);backdrop-filter:blur(18px);border:1px solid #ffffffbd;border-radius:21px;box-shadow:0 16px 35px -24px #344b2a3b}.header .main-nav a{font-size:15px}.header-actions{gap:9px;margin-left:auto}.header .btn-small{display:none}.hero{margin-top:34px;gap:28px;align-items:stretch}.hero-copy{padding:0;align-self:stretch}.hero-scene{height:auto;min-height:0;aspect-ratio:1122/1402;border-radius:23px}.hero-scene>img{min-height:0;object-fit:contain}.hero-note{width:145px;top:21px;right:20px}.sticky-note{width:127px;min-height:118px;right:20px;bottom:47px;padding:18px 12px}.scene-caption{font-size:8px;bottom:17px;left:18px}.service-nav{margin-top:24px}.cat-scene{height:auto;min-height:0;aspect-ratio:1122/1402}.cat-photo{inset:0}.cat-note{width:145px;top:22px;right:25px}.cat-caption.task-plan{left:20px;right:20px;bottom:17px;min-height:182px;padding:15px 15px 14px}.task-plan .task-plan-header{margin-bottom:11px}.task-plan .task-plan-list{gap:7px}.task-plan .task-plan-row{min-height:44px;padding:9px 10px;gap:10px;font-size:12px}.task-plan .task-plan-checkbox{width:21px;height:21px;flex-basis:21px}.task-plan .task-plan-checkbox svg{width:19px;height:19px}.task-plan .task-plan-count{font-size:11px;min-width:49px;height:22px}.cat-caption.task-plan .task-plan-title{font-size:13px}.why-section{padding:8px 0}.service-card-photo{aspect-ratio:1448/1086}.work-grid{grid-template-columns:1fr;gap:20px}.work-photo,.work-photo:last-child{grid-column:auto;aspect-ratio:1448/1086;margin:0;border-radius:18px}.footer .brand-logo{width:74px;height:74px}.gallery-modal{max-width:calc(100% - 24px)}.gallery-modal img{width:auto;height:auto;max-height:calc(100dvh - 100px);object-fit:contain}.gallery-modal p{font-size:11px;padding:14px 20px}}
@media(max-width:374px){.header .main-nav{left:16px;right:16px}.brand-logo{width:62px;height:62px}.header-inner{min-height:80px}.hero-note{width:130px}.sticky-note{width:116px;min-height:108px}.cat-note{width:137px;right:21px}.cat-caption.task-plan{left:16px;right:16px;bottom:14px;padding:13px 13px 12px;min-height:178px}.task-plan .task-plan-row{font-size:11px}.task-plan .task-plan-header{gap:8px}.cat-caption.task-plan .task-plan-title{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cat-photo .cat-image{animation:none!important}.work-photo,.work-photo img,.service-card-photo img{transition:none!important}}
@media(max-width:767px){.header-inner{display:flex}.header-actions{margin-left:auto}.header .main-nav{margin:0}}
@media(max-width:767px){.header .brand-logo{width:74px;height:74px}.header-inner{min-height:92px}}

/* V4: horizontal identity, deliberate note spacing and a centered contact group. */
.header-inner{min-height:80px;padding:12px 24px;border-radius:23px;grid-template-columns:auto 1fr auto;gap:30px}
.brand.brand-image{justify-content:flex-start;min-height:44px}
.header .brand-logo,.footer .brand-logo{display:block;width:220px;height:auto;aspect-ratio:214/46;border-radius:0;object-fit:contain;max-width:100%}
.header .main-nav{gap:28px}
.hero-note{top:12%;right:7%;width:clamp(155px,34%,225px)}
.cat-photo{mask-image:none;-webkit-mask-image:none;mask-composite:add;-webkit-mask-composite:source-over;border-radius:28px;overflow:hidden}
.cat-photo .cat-image{border-radius:inherit}
.contact-card{display:grid;align-items:center;min-height:490px;padding:62px 42px}
.contact-content{width:100%;min-width:0}
.contact-content>h2{margin:26px 0 22px}
.contact-content>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#657969;margin:0}
.contact-content>.btn{margin-top:28px}
.contact-card>.contact-note{width:145px;right:28px;bottom:27px}
@media(max-width:1250px){.header-inner{padding-inline:20px;gap:23px}.header .brand-logo,.footer .brand-logo{width:198px}.header .main-nav{gap:21px}}
@media(min-width:768px) and (max-width:1023px){.header-inner{grid-template-columns:auto 1fr;min-height:78px;gap:0 20px}.header .main-nav{grid-column:1/-1;grid-row:2;justify-self:center;gap:30px}.header-actions{grid-column:2;grid-row:1}.header .main-nav a{padding:8px 0 10px}.header .brand-logo{width:208px}.header{padding-top:16px}}
@media(max-width:1023px){.contact-card{padding:64px 30px;min-height:490px}.contact-content>p:not(.eyebrow){font-size:12px}.contact-content>.btn{font-size:11px;padding:15px 19px}.contact-card>.contact-note{width:126px;right:24px;bottom:25px}}
@media(max-width:767px){.header-inner{min-height:70px;padding:10px 16px;gap:12px;border-radius:21px}.header .brand-logo{width:186px}.footer .brand-logo{width:205px}.header-actions{gap:8px}.hero-note{top:12%;right:7%;width:42%;max-width:185px;min-width:0}.cat-photo{border-radius:23px}.contact-card{min-height:460px;padding:64px 28px}.contact-content>h2{margin:23px 0 22px}.contact-content>p:not(.eyebrow){font-size:14px;line-height:1.7}.contact-content>.btn{margin-top:27px;font-size:11px;min-height:51px;padding:15px 22px}.contact-card>.contact-note{width:126px;bottom:23px;right:24px}}
@media(max-width:374px){.header-inner{padding-inline:12px;gap:8px}.header .brand-logo{width:174px}.header-actions{gap:5px}.header .account-trigger{width:35px;height:35px}.contact-card{padding-inline:25px}}

/* Compact navigation and a distinct, complete footer. */
@media(min-width:768px) and (max-width:1023px){.header-inner{display:flex;min-height:76px}.header .brand-logo{width:208px}.header .main-nav{display:none;position:absolute;top:calc(100% + 8px);left:32px;right:32px;padding:20px 26px 26px;grid-template-columns:1fr 1fr;gap:10px 24px;background:rgb(244 250 232 / .98);border:1px solid #ffffffbd;border-radius:21px;box-shadow:0 16px 35px -24px #344b2a3b;backdrop-filter:blur(18px)}.header .main-nav.is-open{display:grid}.header .main-nav a{font-size:15px;padding:14px 0}.menu-toggle{display:block}.header-actions{margin-left:auto}.header .btn-small{display:none}}
.footer{margin-top:130px;padding:70px 0 30px;background:linear-gradient(120deg,#e7efdc,#e7efe2 62%,#e0eadb);border-radius:36px 36px 0 0;position:relative;z-index:1;box-shadow:inset 0 1px 0 rgb(255 255 247 / .72)}
.footer-top{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:60px;align-items:start}
.footer-brand>p{font-size:13px;line-height:1.8;color:#627461;margin-top:24px}
.footer .footer-navigation{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;padding-top:7px;font-size:12px;align-items:start}
.footer-navigation a,.footer-account{color:#354b3d;line-height:1.5;text-align:left;transition:color .25s}
.footer-navigation a:hover,.footer-account:hover{color:#6d8f39}
.footer-account{padding:0;background:none;font:inherit}
.footer-contact h3{margin:3px 0 21px;font-size:18px;letter-spacing:-.035em;font-weight:730;line-height:1.2}
.footer-channels{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.footer-channel{display:flex;align-items:center;gap:6px;font-size:10px;line-height:1.5;color:#50664f}
.footer-channel svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.footer-callback{display:inline-flex;align-items:center;gap:11px;padding:11px 0;margin-top:17px;background:none;font-size:13px;font-weight:550;color:#21453a;transition:color .25s}
.footer-callback .icon{width:18px;height:18px}
.footer-callback:hover{color:#6d8f39}
.footer-bottom{display:grid;grid-template-columns:1fr 1fr auto;gap:25px;margin-top:66px;font-size:10px;color:#71816e;align-items:center}
.footer-bottom .text-button{justify-self:start;font-size:10px}
.footer-to-top{color:#465d44;font-size:11px}
.footer :is(a,button):focus-visible{outline:2px solid #658a49;outline-offset:6px;border-radius:3px}
@media(max-width:1250px){.footer-top{grid-template-columns:1fr 1fr 1.05fr;gap:35px}.footer-channels{gap:12px}.footer-channel{font-size:9px}}
@media(max-width:1023px){.footer-top{grid-template-columns:1fr 1fr;gap:40px}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 40px}.footer-contact h3{grid-column:1;grid-row:1;margin:0 0 15px}.footer-channels{grid-column:1;grid-row:2;gap:20px}.footer-callback{grid-column:2;grid-row:1/3;margin:0;justify-self:start}.footer .footer-navigation{order:initial;gap:20px;font-size:12px}.footer-bottom{margin-top:48px}.footer-channel{font-size:10px}}
@media(max-width:767px){.footer{margin-top:90px;padding:45px 0 25px;border-radius:26px 26px 0 0}.footer-top{display:grid;grid-template-columns:1fr;gap:35px}.footer-brand>p{font-size:13px;margin-top:18px}.footer .footer-navigation{width:100%;padding:0;gap:18px 28px;grid-template-columns:1fr 1fr}.footer-contact{display:block;grid-column:auto}.footer-contact h3{margin:0 0 18px;font-size:20px}.footer-channels{gap:22px}.footer-channel{font-size:11px;gap:7px}.footer-channel svg{width:21px;height:21px}.footer-callback{margin-top:14px;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px 20px;margin-top:38px;font-size:10px}.footer-bottom .text-button{margin:0;font-size:10px}.footer-bottom .footer-to-top{width:100%;margin:0;font-size:11px}}

/* Keep a clear interval between the centered group and its signature. */
.contact-card{min-height:530px}
@media(max-width:767px){.contact-card{min-height:500px}}
