/* V2: daylight, botanical depth and tactile surfaces. */
:root{--organic-shadow:0 2px 4px rgb(36 60 40 / .025),0 16px 28px -20px rgb(51 76 40 / .18),0 36px 72px -45px rgb(43 70 39 / .22);--organic-edge:rgb(255 255 249 / .8)}
body{background:#fafbf6}
h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:760}
h1{letter-spacing:-.065em}h2{letter-spacing:-.055em}h3{letter-spacing:-.035em}
.calc-progress button .step-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;flex:0 0 28px;padding:0;line-height:1;letter-spacing:0;box-sizing:border-box}
.step-number{display:block;width:20px;height:20px;flex:none;fill:currentColor;stroke:none}
.story-button{border-radius:0;padding:6px 0;min-height:44px;font-size:11px;line-height:1.4;text-align:left;background:transparent}
.story-button>span{padding-bottom:4px;border-bottom:1px solid #a6b4a4;transition:border-color .3s,color .3s}
.story-button:hover>span{border-color:var(--green);color:var(--green)}
@media(max-width:767px){.calc-progress{gap:4px}.calc-progress li{min-width:0}.calc-progress button{gap:5px;font-size:clamp(8px,2.5vw,10px)}.calc-progress button .step-index{width:24px;height:24px;min-width:24px;flex-basis:24px}.step-number{width:18px;height:18px}}
.header{background:#fafbf6}
.hero{isolation:isolate;padding-top:10px}
.hero::before{content:'';position:absolute;inset:-8px -24px -24px;z-index:-2;border-radius:42px;background:radial-gradient(ellipse at 9% 24%,rgb(227 241 193 / .7),transparent 48%),radial-gradient(ellipse at 42% 78%,rgb(218 236 223 / .62),transparent 51%),radial-gradient(ellipse at 13% 88%,rgb(223 237 244 / .56),transparent 48%),radial-gradient(ellipse at 64% 10%,rgb(245 236 204 / .58),transparent 49%);pointer-events:none}
.hero::after,.calculator-section::after,.why-section::after,.services-section::after,.reviews-section::after{content:'';position:absolute;inset:0;z-index:-1;background-image:url('./assets/grain.svg');background-size:192px 192px;opacity:.065;mix-blend-mode:multiply;pointer-events:none;border-radius:inherit}
.hero-copy{z-index:3}
.hero h1{font-weight:780}
.hero-description{color:#526660}
.hero-scene{border-radius:36px 24px 42px 24px;isolation:isolate;box-shadow:0 5px 10px -8px rgb(67 80 45 / .15),0 30px 55px -34px rgb(67 80 45 / .26)}
.hero-scene::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 38% -15%,rgb(255 255 240 / .4),transparent 58%);pointer-events:none}
.hero-note,.sticky-note,.scene-caption{z-index:4}
.sticky-note{box-shadow:2px 5px 5px -4px rgb(47 70 29 / .2),12px 22px 30px -19px rgb(33 57 24 / .4);background:linear-gradient(128deg,#c0fa76 0%,#b4f25e 70%,#b1e95a 100%)}
.organic-overlay{position:absolute;inset:0;overflow:clip;pointer-events:none;user-select:none;z-index:2;border-radius:inherit}
.organic-overlay--back{z-index:-1;overflow:clip}
.organic-leaf{position:absolute;pointer-events:none;transform:translate3d(0,var(--parallax-y,0px),0);width:var(--leaf-size,400px);transform-origin:center;will-change:transform}
.organic-leaf img{display:block;width:100%;height:auto;max-width:none;transform:rotate(var(--leaf-rotate,0deg)) scaleX(var(--leaf-flip,1));filter:saturate(.72) brightness(1.04) blur(var(--leaf-blur,0px)) drop-shadow(1px 12px 7px rgb(48 69 25 / .13));opacity:var(--leaf-opacity,.9)}
.leaf-hero-back{--leaf-size:370px;--leaf-rotate:105deg;--leaf-blur:7px;--leaf-opacity:.24;left:-260px;top:7%}
.leaf-hero-front{--leaf-size:440px;--leaf-rotate:5deg;--leaf-blur:1.25px;--leaf-opacity:.96;right:-260px;bottom:-55px}
.service-nav{position:relative;z-index:3;margin-top:30px}
.service-nav>a{background:linear-gradient(145deg,#f7faf2,#edf4eb);box-shadow:inset 0 1px 0 var(--organic-edge),var(--organic-shadow)}
.btn-lime,.account-primary{background:linear-gradient(135deg,#c0fa77 0%,#b5f563 45%,#ade95b 100%);box-shadow:inset 0 1px 0 rgb(245 255 230 / .82),inset 0 -1px 0 rgb(89 131 43 / .07);filter:drop-shadow(0 5px 8px rgb(111 150 57 / .16)) drop-shadow(0 13px 18px rgb(66 102 33 / .055))}
.btn-lime:hover,.account-primary:hover{background:linear-gradient(135deg,#b7f46b,#a9e851);filter:drop-shadow(0 8px 11px rgb(85 129 44 / .19)) drop-shadow(0 17px 23px rgb(66 102 33 / .08))}
.btn-blue{box-shadow:inset 0 1px 0 rgb(188 229 255 / .32);filter:drop-shadow(0 7px 9px rgb(31 102 133 / .14))}
.btn:active,.account-primary:active{filter:drop-shadow(0 2px 4px rgb(66 102 33 / .12))}
.calculator-section,.services-section,.reviews-section{position:relative;isolation:isolate}
.calculator-section::before{content:'';position:absolute;inset:105px -35px -20px;z-index:-2;background:radial-gradient(ellipse at 73% 52%,rgb(221 231 193 / .52),transparent 67%),radial-gradient(ellipse at 2% 78%,rgb(226 238 230 / .56),transparent 57%);pointer-events:none}
.calculator-panel{background:linear-gradient(135deg,#f0f6ee 0%,#eaf2ec 64%,#eef4e8 100%);box-shadow:inset 0 1px 0 #ffffffc9,var(--organic-shadow);position:relative;z-index:1}
.service-option:has(input:checked){box-shadow:0 2px 5px rgb(46 70 48 / .025),0 8px 18px -12px rgb(58 83 48 / .16)}
.cat-scene{background:transparent;border-radius:0;overflow:visible;isolation:isolate}
.cat-photo{inset:-10px -12px -14px;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 7%,#000 84%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 7%,#000 84%,transparent 100%);-webkit-mask-composite:source-in}
.cat-photo .cat-image{border-radius:28px;object-position:50% 45%}
.cat-note{z-index:3;top:35px;right:37px}
.cat-caption{z-index:3;left:32px;right:32px;bottom:18px;background:linear-gradient(135deg,rgb(255 255 248 / .92),rgb(247 250 238 / .9));box-shadow:inset 0 1px 0 #ffffffd9,0 3px 6px rgb(49 63 37 / .03),0 17px 30px -18px rgb(42 65 30 / .24);border:1px solid #ffffff8c}
.cat-scene .organic-overlay{inset:-15px -12px -25px;border-radius:20px}
.leaf-cat-front{--leaf-size:350px;--leaf-rotate:-65deg;--leaf-blur:3px;--leaf-opacity:.73;left:-215px;bottom:30px}
.service-cards{gap:25px}
.service-card{background:linear-gradient(155deg,#fffefa,#fcfdf8);box-shadow:inset 0 1px 0 #fff,var(--organic-shadow);filter:drop-shadow(0 8px 9px rgb(49 71 42 / .025));transition:transform .85s var(--ease),opacity .85s var(--ease),box-shadow .5s var(--ease)}
.service-card:hover{box-shadow:0 2px 4px rgb(39 61 37 / .04),0 22px 38px -24px rgb(43 70 39 / .22),0 42px 74px -43px rgb(43 70 39 / .25)}
.photo-label{background:rgb(255 255 246 / .91);box-shadow:0 3px 8px rgb(48 66 34 / .04)}
.round-button{background:linear-gradient(135deg,#f4f9ed,#e4eddf);box-shadow:inset 0 1px 0 #fff,0 4px 8px -4px rgb(62 94 45 / .13)}
.why-section{isolation:isolate;background:radial-gradient(ellipse at 17% 16%,#f6f7e9 0%,transparent 55%),linear-gradient(135deg,#eaf3e8,#eef3e9 60%,#e4eee3);overflow:clip}
.why-inner{position:relative;z-index:2}
.why-section .organic-overlay{z-index:1}
.leaf-why-back{--leaf-size:520px;--leaf-rotate:75deg;--leaf-blur:8px;--leaf-opacity:.18;right:-355px;top:-55px}
.work-photo{box-shadow:0 3px 5px rgb(44 62 40 / .025),0 22px 34px -24px rgb(44 62 40 / .22)}
.work-photo>span{box-shadow:inset 0 1px 0 #ffffffdf,0 9px 15px -12px rgb(36 57 28 / .23)}
.review{background:linear-gradient(145deg,#f2f6ed,#eef3ed);box-shadow:inset 0 1px 0 #fff,var(--organic-shadow)}
.contact-card{background:radial-gradient(ellipse at 5% 4%,#f2f5d8,transparent 57%),linear-gradient(140deg,#e1eedc,#e8efdf 65%,#dce9db);box-shadow:inset 0 1px 0 #ffffffb3,var(--organic-shadow);isolation:isolate}
.contact-card>*:not(.organic-overlay){position:relative;z-index:2}
.contact-card>.contact-note{position:absolute}
.contact-card .organic-overlay{z-index:1}
.leaf-contact{--leaf-size:360px;--leaf-rotate:-90deg;--leaf-blur:2.5px;--leaf-opacity:.44;right:-255px;top:-40px}
[data-reveal]{transition:opacity 1.15s cubic-bezier(.16,1,.3,1),transform 1.15s cubic-bezier(.16,1,.3,1);transform-origin:50% 70%}
.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translate3d(0,34px,0) scale(.977)}
.service-cards [data-reveal]:nth-child(2),.reviews-grid [data-reveal]:nth-child(2){transition-delay:.1s}
.service-cards [data-reveal]:nth-child(3),.reviews-grid [data-reveal]:nth-child(3){transition-delay:.18s}
@media(max-width:1023px){.hero::before{inset:-5px -16px -20px}.hero-scene{border-radius:27px 19px 34px 19px}.leaf-hero-front{--leaf-size:350px;right:-235px;bottom:-60px}.leaf-hero-back{--leaf-size:270px;left:-220px}.cat-note{right:24px}.cat-caption{left:24px;right:24px}.service-cards{gap:16px}.leaf-cat-front{--leaf-size:280px;left:-195px}}
@media(max-width:767px){.hero::before{inset:0 -14px -18px;border-radius:28px;background:radial-gradient(ellipse at 7% 24%,rgb(226 240 191 / .56),transparent 48%),radial-gradient(ellipse at 51% 60%,rgb(214 234 223 / .59),transparent 50%),radial-gradient(ellipse at 12% 73%,rgb(225 239 244 / .55),transparent 47%),radial-gradient(ellipse at 72% 8%,rgb(245 236 204 / .4),transparent 45%)}.hero::after{opacity:.05}.hero-scene{border-radius:26px 18px 31px 18px}.hero-description{color:#4e625b}.leaf-hero-back{--leaf-size:220px;--leaf-opacity:.15;left:-190px;top:6%}.leaf-hero-front{--leaf-size:310px;--leaf-blur:1px;right:-215px;bottom:-48px}.service-nav{margin-top:25px}.service-nav>a{box-shadow:inset 0 1px 0 #fff,0 3px 5px rgb(40 65 39 / .025),0 15px 21px -20px rgb(45 70 36 / .3)}.calculator-section::before{inset:145px -12px -20px}.calculator-grid{gap:22px}.calculator-panel{box-shadow:inset 0 1px 0 #fff,0 2px 4px rgb(44 71 40 / .02),0 18px 30px -24px rgb(44 71 40 / .23)}.cat-photo{inset:-4px -7px -12px}.cat-note{right:26px;top:28px}.cat-caption{left:23px;right:23px;bottom:20px;padding:18px}.cat-caption p{font-size:18px}.cat-caption>.icon{width:24px;right:18px}.cat-scene .organic-overlay{inset:-8px -8px -15px}.leaf-cat-front{--leaf-size:245px;--leaf-opacity:.65;left:-168px;bottom:38px}.service-cards{gap:26px}.service-card{box-shadow:0 2px 5px rgb(39 66 39 / .025),0 18px 32px -21px rgb(39 66 39 / .19)}.leaf-why-back{--leaf-size:350px;right:-260px;top:-10px;--leaf-opacity:.16}.leaf-contact{--leaf-size:300px;right:-225px;--leaf-opacity:.32}.review{box-shadow:inset 0 1px 0 #fff,0 15px 25px -23px rgb(39 66 39 / .23)}.contact-card{box-shadow:inset 0 1px 0 #fff,0 18px 35px -22px rgb(39 66 39 / .18)}[data-reveal]{transition-duration:1s}.motion-ready [data-reveal]:not(.is-visible){transform:translate3d(0,23px,0) scale(.986)}}
@media(max-width:899px){#custom-cursor{display:none!important}.cursor-ready,.cursor-ready a,.cursor-ready button,.cursor-ready summary,.cursor-ready label{cursor:auto}}
@media(prefers-reduced-motion:reduce){[data-reveal],.service-card{transition:none!important}.motion-ready [data-reveal]:not(.is-visible){opacity:1;transform:none}.organic-leaf{transform:none!important;will-change:auto}.cat-image{animation:none!important}.hero-scene,.btn,.account-primary{transition:none!important}}
@media(min-width:768px) and (max-width:1023px){.calculator-section::before{left:-22px;right:-22px}}
