:root{--apple-green:#809335;--apple-green-deep:#5f7026;--apple-green-soft:#e8efc8;--pink:#f07884;--pink-deep:#de5f6c;--pink-soft:#ffe3e6;--cream-yellow:#fde387;--cream:#fff9e8;--butter:#fff3c4;--bubble:#c4e5fb;--bubble-deep:#8ec8ef;--lavender:#d4c6f0;--ink:#344a23;--ink-soft:#5a6b45;--white:#fff;--shadow-soft:0 16px 36px #344a231a;--radius:22px;--radius-pill:999px;--header-h:4.6rem;--font-display:"Nunito", "Trebuchet MS", sans-serif;--font-body:"Nunito", "Trebuchet MS", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);overscroll-behavior-x:none;width:100%;max-width:100%;overflow-x:hidden}body{padding-top:var(--header-h);overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;max-width:100%;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 12% 8%, #c4e5fb8c, transparent 32%), radial-gradient(circle at 88% 4%, #fde3878c, transparent 28%), radial-gradient(circle at 80% 70%, #f078841f, transparent 35%), linear-gradient(180deg, #fffdf5 0%, var(--cream) 35%, #f3f9e8 100%);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1120px,100% - 2.5rem);margin-inline:auto}.section{padding:clamp(4rem,8vw,6.5rem) 0;position:relative}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--pink-deep);margin-bottom:.75rem;font-size:.78rem;font-weight:800;display:inline-block}.section-title{font-family:var(--font-display);color:var(--apple-green-deep);max-width:18ch;margin:0 0 1rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:800;line-height:1.15}.section-copy{max-width:38rem;color:var(--ink-soft);margin:0;font-size:1.05rem}.site-header{z-index:100;backdrop-filter:blur(14px);min-height:4.6rem;transition:box-shadow .35s var(--ease), background .35s var(--ease);background:#fffdf5e6;border-bottom:2px solid #fde387a6;align-items:center;padding-block:.45rem;display:flex;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{background:#fffdf5f7;box-shadow:0 10px 28px #344a2314}.site-header .container{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{flex:auto;align-items:center;gap:.75rem;min-width:0;display:inline-flex}.brand img{flex-shrink:0;width:3.6rem;height:auto}.brand-text{font-family:var(--font-display);color:var(--pink);letter-spacing:-.01em;overflow-wrap:break-word;text-shadow:0 1px #a13d311f;font-size:clamp(1.1rem,2.8vw,1.35rem);font-weight:800;line-height:1.2}.btn{cursor:pointer;border-radius:var(--radius-pill);transition:transform .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);border:none;justify-content:center;align-items:center;gap:.45rem;padding:.9rem 1.4rem;font-size:.95rem;font-weight:800;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.65;cursor:wait;transform:none}.btn-primary{background:linear-gradient(180deg, #ff8f9a 0%, var(--pink) 55%, var(--pink-deep) 100%);color:var(--white);box-shadow:0 10px 24px #f0788459}.btn-primary:hover{background:linear-gradient(180deg, #ff7f8c 0%, var(--pink-deep) 100%)}.btn-secondary{color:var(--apple-green-deep);background:#ffffffd9;border:2px solid #80933559}.btn-secondary:hover{background:var(--apple-green-soft)}.btn-header{white-space:nowrap;flex-shrink:0;padding:.72rem 1.1rem;font-size:.88rem}.hero{min-height:calc(100svh - var(--header-h));color:var(--white);align-items:end;display:grid;position:relative;overflow:hidden}.hero-media{z-index:0;position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:center 40%;width:100%;height:100%;animation:hero-zoom 18s var(--ease) forwards;transform:scale(1.04)}.hero-scrim{background:linear-gradient(#344a2333 0%,#344a237a 42%,#344a23d6 100%),linear-gradient(90deg,#344a238c 0%,#344a232e 72%);position:absolute;inset:0}.hero-bubbles{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bubble{background:radial-gradient(circle at 30% 28%,#ffffffbf,#c4e5fb47);border:2px solid #c4e5fbb3;border-radius:50%;animation:9s ease-in-out infinite float-bubble;position:absolute}.bubble-1{width:34px;height:34px;animation-delay:0s;top:18%;left:8%}.bubble-2{width:18px;height:18px;animation-delay:1.2s;top:28%;left:16%}.bubble-3{width:26px;height:26px;animation-delay:.6s;top:22%;right:12%}.bubble-4{width:14px;height:14px;animation-delay:2s;top:34%;right:20%}.bubble-5{width:22px;height:22px;animation-delay:1.5s;bottom:28%;right:8%}.bubble-6{width:28px;height:28px;animation-delay:.3s;top:36%;left:3%}.bubble-7{width:16px;height:16px;animation-delay:1.8s;top:12%;left:22%}.bubble-8{width:20px;height:20px;animation-delay:2.4s;top:20%;left:36%}.bubble-9{width:12px;height:12px;animation-delay:.9s;top:8%;left:10%}.bubble-10{width:30px;height:30px;animation-delay:1.1s;top:14%;right:28%}.bubble-11{width:18px;height:18px;animation-delay:2.7s;top:46%;right:5%}.bubble-12{width:24px;height:24px;animation-delay:.4s;bottom:16%;right:16%}.bubble-13{width:14px;height:14px;animation-delay:2.1s;bottom:30%;right:34%}.hero-content{z-index:2;width:min(1120px,100% - 2.5rem);margin-inline:auto;padding:clamp(2.5rem,7vw,5rem) 0 clamp(3.2rem,8vw,4.8rem);position:relative}.hero-logo{width:clamp(8.5rem,22vw,13rem);height:auto;animation:rise-in .9s var(--ease) both;margin-bottom:1.1rem}.hero-brand{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-slogan{font-family:var(--font-display);color:var(--cream-yellow);animation:rise-in .9s var(--ease) .1s both;margin:0 0 1.15rem;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:800}.hero-headline{font-family:var(--font-body);max-width:28ch;animation:rise-in .9s var(--ease) .2s both;margin:0 0 .75rem;font-size:clamp(1.2rem,2.5vw,1.55rem);font-weight:800;line-height:1.3}.hero-support{opacity:.95;max-width:36ch;animation:rise-in .9s var(--ease) .3s both;margin:0 0 1.75rem;font-size:1.02rem}.hero-actions{animation:rise-in .9s var(--ease) .4s both;flex-wrap:wrap;gap:.75rem;display:flex}.hero .btn-secondary{color:var(--white);background:#ffffff1f;border-color:#ffffff80}.hero .btn-secondary:hover{background:#fff3}.problem{background:radial-gradient(circle at 90% 10%,#c4e5fb73,#0000 30%),linear-gradient(#ffffffb3,#fff3c473)}.problem-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:2.5rem;display:grid}.problem-list{gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.problem-list li{color:var(--ink-soft);padding-left:1.6rem;position:relative}.problem-list li:before{content:"";background:var(--pink);border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:.55rem;left:0;box-shadow:0 0 0 3px #f078842e}.failure-callout{border-radius:var(--radius);background:linear-gradient(160deg, var(--pink-soft), #ffffffe6);border:2px solid #f0788447;margin-top:.5rem;padding:1.75rem 1.5rem}.failure-callout h3{font-family:var(--font-display);color:var(--pink-deep);margin:0 0 .5rem;font-size:1.4rem;font-weight:800}.failure-callout p{color:var(--ink-soft);margin:0}.guide{overflow:hidden}.guide:before{content:"";pointer-events:none;background:radial-gradient(circle,#c4e5fb8c,#0000 70%);border-radius:50%;width:380px;height:380px;position:absolute;inset:auto -8% -20% auto}.guide-layout{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,5vw,3.5rem);display:grid}.guide-portrait{text-align:center;justify-items:center;width:100%;max-width:360px;margin-inline:auto;display:grid}.guide-portrait img{aspect-ratio:1;object-fit:cover;object-position:52% 52%;border:6px solid var(--cream-yellow);width:100%;box-shadow:var(--shadow-soft);border-radius:50%}.guide-portrait h3{font-family:var(--font-display);color:var(--apple-green-deep);margin:1rem 0 .35rem;font-size:1.55rem;font-weight:800}.guide-portrait p{color:var(--ink-soft);margin:0;font-weight:600}.points{gap:1rem;margin-top:1.75rem;display:grid}.point{grid-template-columns:auto 1fr;align-items:start;gap:.85rem;display:grid}.point-mark{background:var(--bubble);width:2.3rem;height:2.3rem;color:var(--apple-green-deep);border:2px solid #8ec8efb3;border-radius:50%;place-items:center;font-size:.95rem;font-weight:800;display:grid}.point strong{color:var(--apple-green-deep);margin-bottom:.15rem;font-weight:800;display:block}.point span{color:var(--ink-soft);font-size:.98rem}.plan{background:radial-gradient(circle at 10% 20%,#fde38773,#0000 28%),linear-gradient(#e8efc873,#ffffff8c)}.steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2rem);margin-top:2.5rem;padding:0;list-style:none;display:grid}.step{border-radius:var(--radius);background:#ffffffb8;border:2px solid #8093351f;padding:1.4rem 1.2rem 1.5rem;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--pink);width:2.6rem;height:2.6rem;color:var(--white);font-family:var(--font-display);border-radius:50%;place-items:center;margin-bottom:.9rem;font-size:1.15rem;font-weight:800;display:grid;box-shadow:0 8px 16px #f0788447}.step h3{color:var(--apple-green-deep);margin:0 0 .5rem;font-size:1.15rem;font-weight:800}.step p{color:var(--ink-soft);margin:0}.plan-cta{margin-top:2.5rem}.services{flex-wrap:wrap;gap:.7rem;margin-top:2rem;padding:0;list-style:none;display:flex}.services li{border-radius:var(--radius-pill);background:var(--apple-green-soft);color:var(--apple-green-deep);border:2px solid #8093352e;padding:.55rem 1rem;font-weight:800}.quote{padding-bottom:clamp(4.5rem,9vw,7rem)}.quote-panel{background:var(--white);border-radius:calc(var(--radius) + 8px);box-shadow:var(--shadow-soft);border:3px solid #fde387cc;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;display:grid;overflow:hidden}.quote-copy{background:radial-gradient(circle at 85% 15%, #c4e5fb8c, transparent 40%), linear-gradient(160deg, var(--butter), var(--apple-green-soft));padding:clamp(1.75rem,4vw,2.75rem)}.quote-copy .section-title{max-width:14ch}.contact-lines{gap:.65rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.contact-lines a{color:var(--pink-deep);text-underline-offset:3px;font-weight:800;text-decoration:underline}.quote-form{align-content:start;gap:1rem;padding:clamp(1.75rem,4vw,2.75rem);display:grid}.field{gap:.35rem;display:grid}.field label{color:var(--apple-green-deep);font-size:.88rem;font-weight:800}.field input,.field select,.field textarea{background:var(--cream);width:100%;color:var(--ink);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border:2px solid #80933533;border-radius:16px;padding:.85rem 1rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pink);outline:none;box-shadow:0 0 0 4px #f078842e}.field textarea{resize:vertical;min-height:7rem}.field-photos{position:relative}.field-photos .field-label{color:var(--apple-green-deep);font-size:.88rem;font-weight:800}.field-hint{color:var(--ink-soft);margin:0;font-size:.85rem;line-height:1.45}.photo-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.photo-picker{width:fit-content;max-width:100%;color:var(--apple-green-deep);cursor:pointer;transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);background:#ffffffbf;border:2px dashed #80933559;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;margin-top:.15rem;padding:.8rem 1.15rem;font-weight:800;display:inline-flex}.photo-picker:hover{background:var(--apple-green-soft);border-color:var(--apple-green);transform:translateY(-1px)}.photo-input:focus-visible+.photo-picker{border-color:var(--pink);box-shadow:0 0 0 4px #f078842e}.photo-picker-icon{font-size:1.1rem;line-height:1}.photo-previews{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.65rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.photo-preview{aspect-ratio:1;background:var(--cream);border:2px solid #8093352e;border-radius:14px;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-remove{color:#fff;cursor:pointer;background:#344a23b8;border:none;border-radius:999px;place-items:center;width:1.55rem;height:1.55rem;padding:0;font-size:1rem;line-height:1;display:grid;position:absolute;top:.25rem;right:.25rem}.photo-remove:hover{background:var(--pink-deep,#de5f6c)}.form-note{color:var(--ink-soft);margin:0;font-size:.85rem}.form-success{background:var(--apple-green-soft);color:var(--apple-green-deep);border-radius:16px;padding:1rem;font-weight:800;display:none}.form-success.is-visible{display:block}.form-error{background:var(--pink-soft);color:var(--pink-deep);border-radius:16px;padding:1rem;font-weight:800;display:none}.form-error.is-visible{display:block}.alliance{text-align:center;padding:0 0 clamp(2.5rem,6vw,4rem)}.alliance-badge{color:var(--ink-soft);transition:transform .25s var(--ease), color .25s var(--ease);flex-direction:column;align-items:center;gap:.7rem;font-size:.92rem;font-weight:700;display:inline-flex}.alliance-badge:hover{color:var(--apple-green-deep);transform:translateY(-2px)}.alliance-badge img{width:7.5rem;height:auto}.site-footer{color:var(--ink-soft);background:#ffffff73;border-top:2px solid #fde387b3;padding:2rem 0 2.5rem;font-size:.92rem}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.footer-brand{align-items:center;gap:.75rem;display:flex}.footer-brand img{width:3.25rem;height:auto}.site-footer strong{color:var(--pink);font-family:var(--font-display);font-size:1.05rem;font-weight:800}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes float-bubble{0%,to{opacity:.75;transform:translateY(0)}50%{opacity:1;transform:translateY(-14px)}}@media (width<=900px){.problem-grid,.guide-layout,.quote-panel,.steps{grid-template-columns:1fr}.btn-header span.short{display:inline}.btn-header span.full{display:none}}@media (width>=901px){.btn-header span.short{display:none}.btn-header span.full{display:inline}}@media (width<=560px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img,.hero-logo,.hero-slogan,.hero-headline,.hero-support,.hero-actions,.bubble,.reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}
