:root{--forest:#10291d;--forest-2:#183b2a;--forest-3:#29533c;--lime:#d5f08b;--lime-2:#b8d976;--paper:#f5f5ee;--cream:#ebeadd;--ink:#1b2a20;--muted:#727c71;--line:#dedfd3;--white:#fff;--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #95ba58;outline-offset:4px}.skip-link{position:fixed;z-index:50;left:14px;top:-100px;padding:12px 16px;border-radius:4px;background:var(--lime);color:var(--forest);font-weight:700}.skip-link:focus{top:14px}.site-header{height:82px;background:var(--forest);color:var(--white);position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff12}.header-inner{max-width:1280px;padding:0 38px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px}.brand img{width:44px;height:44px;object-fit:contain;filter:none}.brand>span{display:flex;flex-direction:column;line-height:1}.brand strong{font:800 19px var(--display);letter-spacing:-1px}.brand-dot{color:#cf7046}.brand small{font-size:8px;letter-spacing:1.5px;color:#a6b5a9;margin-top:5px;font-weight:700}.site-nav{display:flex;align-items:center;gap:34px;font-size:12px;color:#d0d8d0}.site-nav>a:not(.nav-cta){transition:color .2s}.site-nav>a:not(.nav-cta):hover{color:var(--lime)}.nav-cta{padding:11px 16px;border:1px solid #ffffff47;border-radius:3px;color:var(--white);font-weight:600}.nav-cta span{color:var(--lime);padding-left:10px}.menu-toggle{display:none}.hero{background:var(--forest);color:var(--white);min-height:680px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:#ffffff18}.hero-grain{position:absolute;inset:0;opacity:.11;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.hero-inner{position:relative;z-index:1;max-width:1280px;min-height:620px;padding:55px 38px 40px;margin:auto;display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:28px}.hero-copy{position:relative;z-index:2;padding-bottom:20px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#b9c8b9;display:flex;align-items:center;gap:10px}.eyebrow-line{width:22px;height:1px;background:var(--lime);display:inline-block}.hero h1,.section-head h2,.approach-copy h2,.about-text h2,.faq-heading h2,.contact-copy h2{font:600 clamp(44px,5.4vw,72px)/1.06 var(--display);letter-spacing:-3.8px;margin:25px 0 18px}.hero h1.hero-lead{font:500 clamp(19px,2vw,25px)/1.65 var(--body);letter-spacing:0;margin:0;max-width:520px;color:#d4ddd2}.hero h1 em,.section-head h2 em,.approach-copy h2 em,.about-text h2 em,.faq-heading h2 em,.contact-copy h2 em{font-family:Georgia,serif;font-style:italic;font-weight:400}.hero h1 em{color:var(--lime)}.hero-intro{max-width:445px;color:#bbc7ba;font-size:14px;line-height:1.85;margin:0}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:29px}.button{min-height:47px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:3px;font-size:11px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:#183422}.button-lime:hover{background:#e4f7a8}.button-icon{font-size:16px}.button-ghost{color:#e1e8dd;padding-left:0}.button-ghost span{color:var(--lime);font-size:17px}.hero-proof{display:flex;align-items:center;gap:11px;margin-top:37px;color:#f4f6ee}.proof-mark{width:33px;height:33px;border:1px solid #afc86f70;border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:15px}.hero-proof>span:last-child{display:flex;flex-direction:column;gap:4px}.hero-proof b{font-size:10px;font-weight:600}.hero-proof small{font-size:9px;color:#a8b6a8}.hero-art{min-height:525px;position:relative;display:grid;place-items:center}.home-illustration{width:min(100%,550px);position:relative;z-index:1;filter:drop-shadow(0 15px 20px #071b1160)}.art-orbit{border:1px solid #d7ef9840;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-one{width:440px;height:440px}.orbit-two{width:540px;height:540px;border-color:#ffffff12}.sun-disc{position:absolute;width:236px;height:236px;border-radius:50%;background:radial-gradient(circle,#cddd8b 0,#abbf70 57%,#96ad62 100%);top:33px;right:68px;opacity:.92}.art-label{position:absolute;z-index:3;background:#f0efd9;color:#253b2c;padding:10px 14px;border-radius:3px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 35px #0b21156b;font-size:9px;font-weight:700;letter-spacing:.2px}.label-top{top:88px;right:2px}.label-pip,.tag-dot{width:6px;height:6px;background:#83a44e;border-radius:50%;box-shadow:0 0 0 4px #86a55328}.label-bottom{left:4px;bottom:53px;background:#f9f8ef}.shield-mini{width:19px;height:19px;background:#dfeaca;display:grid;place-items:center;border-radius:50%;color:#557440}.art-stamp{position:absolute;z-index:4;right:27px;bottom:89px;width:67px;height:67px;border:1px solid #d8e6ae8f;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;transform:rotate(-12deg);color:#eff6d5}.art-stamp span{font:800 18px var(--display)}.art-stamp small{font-size:7px;line-height:1.2;letter-spacing:1px}.hero-foot{position:relative;z-index:2;max-width:1204px;margin:0 auto;padding:0 38px 24px;display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:1.7px;color:#93a293}.hero-foot i{width:3px;height:3px;background:var(--lime);border-radius:50%}.scroll-cue{margin-left:auto;color:#7f9180}.scroll-cue b{color:var(--lime);font-size:14px;padding-left:9px}.intro-strip{max-width:1204px;margin:auto;padding:27px 38px;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:30px;align-items:center;background:var(--paper)}.strip-item{display:flex;align-items:flex-start;gap:14px}.strip-number{font:600 10px var(--display);color:#8fa369;margin-top:2px}.strip-item>span:last-child{display:flex;flex-direction:column;gap:6px}.strip-item b{font:700 11px var(--display);color:#304033}.strip-item small{font-size:10px;line-height:1.5;color:#858b7e}.strip-divider{height:34px;background:#daddd0}.section-pad{padding:96px 38px}.services{background:#f9f9f4}.section-head{max-width:1204px;margin:0 auto 37px;display:flex;justify-content:space-between;align-items:flex-end;gap:36px}.eyebrow-dark{color:#798274}.section-head h2,.approach-copy h2,.about-text h2,.faq-heading h2{font-size:46px;letter-spacing:-2.4px;color:#223126;line-height:1.13;margin:16px 0 0}.section-head h2 em,.about-text h2 em,.faq-heading h2 em{color:#6b8e51}.section-head>p{max-width:320px;font-size:12px;line-height:1.8;color:#797f73;margin:0 0 5px}.service-grid{max-width:1204px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-card{position:relative;min-height:364px;padding:22px 22px 20px;background:#efefe6;border:1px solid #e7e7dc;overflow:hidden;isolation:isolate;display:flex;flex-direction:column}.service-card:after{content:"";position:absolute;z-index:-1;width:260px;height:260px;border:1px solid #c9d3b7;border-radius:50%;right:-111px;top:81px}.service-cockroach{background:#f0eee5}.service-rat{background:#e9eee5}.service-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}.service-index{font-size:8px;font-weight:700;letter-spacing:1.5px;color:#808878}.service-icon{width:35px;height:35px;border-radius:50%;background:#dae4cb;display:grid;place-items:center;color:#527044}.service-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-art{height:86px;position:relative;margin:8px 0 7px}.ring{position:absolute;width:59px;height:59px;border:1px solid #b4c69c;border-radius:50%;left:24px;top:13px}.ring-b{width:76px;height:76px;left:16px;top:5px;border-color:#d3dbc7}.art-leaf{position:absolute;width:38px;height:17px;border-radius:100% 0 100% 0;background:#91aa6b;transform:rotate(-34deg);left:39px;top:35px}.leaf-two{transform:rotate(143deg);left:10px;top:47px;background:#b3c38d}.roach-art:before{content:"";position:absolute;left:36px;top:18px;width:50px;height:50px;border:1px solid #bfc9aa;border-radius:50%}.circle-sun{position:absolute;width:32px;height:32px;background:#a4b77c;border-radius:50%;left:45px;top:26px}.line-sprig{position:absolute;width:2px;height:58px;left:61px;top:5px;background:#708e59;transform:rotate(27deg)}.line-sprig:before,.line-sprig:after{content:"";position:absolute;width:17px;height:9px;border-radius:100% 0 100% 0;background:#789460;top:15px;left:-15px;transform:rotate(-23deg)}.line-sprig:after{top:32px;left:2px;transform:rotate(65deg)}.sprig-two{left:96px;top:26px;height:39px;transform:rotate(-37deg);opacity:.55}.rat-art:before{content:"";position:absolute;width:88px;height:46px;border:1px solid #a9bd94;border-radius:50% 50% 44% 44%;left:10px;top:29px}.moon{position:absolute;width:45px;height:45px;border-radius:50%;background:#aabd87;left:31px;top:21px}.moon:after{content:"";position:absolute;width:38px;height:38px;top:-5px;left:13px;border-radius:50%;background:#e9eee5}.dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#718c58}.dot-a{left:8px;top:22px}.dot-b{left:100px;top:39px}.dot-c{left:84px;top:10px}.service-card h3{font:700 25px/1.06 var(--display);letter-spacing:-1px;color:#26352a;margin:2px 0 10px;position:relative;z-index:2}.service-card h3 em{font-family:Georgia,serif;font-weight:400;color:#6b8e51}.service-card p{font-size:11px;line-height:1.75;color:#777e71;margin:0 0 15px;max-width:300px}.text-link{font-size:10px;font-weight:700;color:#41633d;display:inline-flex;align-items:center;gap:12px;margin-top:auto;width:max-content}.text-link span{font-size:15px;color:#859e61;transition:transform .2s}.text-link:hover span{transform:translate(3px,-2px)}.approach{background:var(--forest);color:var(--white);display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:80px;align-items:center;overflow:hidden}.approach-visual{min-height:480px;position:relative;display:grid;place-items:center}.approach-photo-shape{position:relative;z-index:2;width:min(100%,430px);height:420px;background:linear-gradient(155deg,#9cab6a 0%,#6d8554 48%,#365942 100%);clip-path:polygon(0 12%,20% 0,92% 0,100% 13%,100% 100%,0 100%);overflow:hidden;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.approach-photo-shape:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 10%,#d5df9d9c 0,transparent 34%),linear-gradient(135deg,transparent 52%,#193e2a7d 52%);z-index:-1}.approach-photo-shape:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ecf4d052;border-radius:50%;right:-58px;top:78px;box-shadow:0 0 0 34px #e8f2ce17,0 0 0 72px #e8f2ce12}.photo-tag{width:max-content;display:flex;align-items:center;gap:9px;padding:10px 12px;background:#f7f5e6e8;color:#344432;font-size:9px;font-weight:700;position:relative;z-index:2}.photo-tag .tag-dot{width:6px;height:6px}.approach-quote{position:relative;z-index:2;max-width:295px;font:italic 34px/1.18 Georgia,serif;color:#fcf9e9;text-shadow:0 2px 9px #243d24a1}.photo-bottom{position:relative;z-index:2;display:flex;align-items:center;gap:10px;color:#f9f9ed}.photo-initials{width:38px;height:38px;border-radius:50%;border:1px solid #f0edcd99;display:grid;place-items:center;font:700 10px var(--display)}.photo-bottom>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.photo-bottom b{font-size:10px}.photo-bottom small{font-size:9px;color:#e1e8cf}.photo-years{margin-left:auto;text-align:center;font-size:7px;letter-spacing:1.2px;line-height:1.6;color:#e0e9c7}.photo-years b{font:700 17px var(--display);color:var(--lime)}.visual-leaf{position:absolute;width:84px;height:40px;background:#a6c06f;border-radius:100% 0 100% 0;left:4px;bottom:53px;transform:rotate(-24deg);opacity:.72}.leaf-right{left:auto;right:3px;top:41px;bottom:auto;transform:rotate(146deg);background:#617f52}.approach-copy{max-width:520px}.approach-copy h2{color:#f5f4e8;font-size:49px;letter-spacing:-2.8px;margin:17px 0}.approach-copy h2 em{color:var(--lime)}.approach-copy>p{font-size:12px;line-height:1.9;color:#b4c2b4;max-width:470px;margin:0 0 25px}.approach-steps{display:grid;gap:0;border-top:1px solid #ffffff27}.approach-steps>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;padding:15px 0;border-bottom:1px solid #ffffff27}.approach-steps>div>span{grid-row:span 2;color:var(--lime);font:600 9px var(--display);padding-top:2px}.approach-steps b{font-size:10px;font-weight:600;color:#f4f5e9}.approach-steps small{font-size:9px;color:#a3b4a5;margin-top:5px}.approach-link{margin-top:21px;color:var(--lime)}.about{background:#e9ecdf;display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:center}.about-text{max-width:560px}.about-text h2{margin:16px 0 20px}.about-text>p{font-size:12px;line-height:1.9;color:#727a6e;max-width:465px;margin:0 0 13px}.button-dark{background:var(--forest);color:#f5f4e9;margin-top:12px}.button-dark:hover{background:#244834}.button-dark span{color:var(--lime);font-size:16px}.about-aside{border-left:1px solid #cbd1c2;padding:6px 0 6px 44px;max-width:365px}.big-year{font:500 91px/.95 var(--display);letter-spacing:-8px;color:#718e53}.big-year span{font-size:44px;color:#b0c77a;vertical-align:top;margin-left:6px}.year-caption{font-size:8px;letter-spacing:1.8px;color:#8b9282;font-weight:700;margin-top:12px}.aside-rule{width:33px;height:1px;background:#9cab78;margin:24px 0 16px}.about-aside p{font:italic 19px/1.5 Georgia,serif;color:#435443;max-width:300px;margin:0}.aside-signature{display:block;color:#829866;font:italic 16px Georgia,serif;margin-top:14px}.faq{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;background:#f9f9f4}.faq-heading h2{margin-top:16px}.faq-heading>p{font-size:11px;line-height:1.7;color:#7f867a;max-width:270px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:19px 2px;font:700 12px var(--display);color:#364538}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:400 20px var(--body);color:#829867;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:11px;line-height:1.8;color:#7a8276;max-width:530px;margin:0;padding:0 28px 18px 2px}.contact{padding-top:10px;background:#f9f9f4}.contact-panel{max-width:1204px;margin:auto;background-color:var(--forest);background-image:linear-gradient(90deg,rgba(16,41,29,.94) 0%,rgba(16,41,29,.86) 52%,rgba(16,41,29,.76) 100%),url("/assets/home-family-background.jpg");background-position:center;background-size:cover;color:var(--white);display:grid;grid-template-columns:1fr .78fr;gap:70px;padding:54px 60px;position:relative;overflow:hidden}.contact-panel:after{content:"";position:absolute;width:460px;height:460px;border:1px solid #d8ec9140;border-radius:50%;right:22%;top:-330px;box-shadow:0 0 0 38px #d8ec910b,0 0 0 76px #d8ec9109;pointer-events:none}.contact-copy{position:relative;z-index:1}.contact-copy h2{font-size:48px;letter-spacing:-2.7px;margin:18px 0 12px}.contact-copy h2 em{color:var(--lime)}.contact-copy>p{font-size:11px;line-height:1.8;color:#b2c0b1;max-width:360px;margin:0}.contact-options{display:grid;gap:8px;margin-top:25px;max-width:340px}.contact-option{display:flex;align-items:center;gap:12px;padding:11px 13px;background:#ffffff0a;border:1px solid #ffffff20;transition:background .2s}.contact-option:hover{background:#ffffff15}.contact-icon{width:32px;height:32px;border-radius:50%;background:#d7ed92;color:#1a3926;display:grid;place-items:center;font-size:14px}.whatsapp-icon{font-size:18px}.contact-option>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.contact-option small{font-size:7px;letter-spacing:1.1px;color:#a7b8a7}.contact-option b{font-size:11px;color:#f4f5e9}.option-arrow{margin-left:auto;color:var(--lime)}.contact-note{display:flex;align-items:center;gap:7px;font-size:8px;color:#9dae9d;margin-top:20px}.contact-note span:not(.note-spark){color:#647664}.note-spark{color:var(--lime)}.contact-form{position:relative;z-index:2;background:#f5f5ec;color:var(--ink);padding:25px 25px 20px;align-self:center;box-shadow:0 16px 42px #07170e36}.form-heading>span{font-size:8px;font-weight:700;letter-spacing:1.6px;color:#80946a}.form-heading h3{font:700 20px var(--display);letter-spacing:-.6px;margin:8px 0 5px;color:#243428}.form-heading p{font-size:9px;line-height:1.55;color:#81867b;margin:0 0 16px}.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:9px;font-weight:700;color:#606d5e;margin-bottom:11px}.contact-form input,.contact-form select{width:100%;height:38px;background:#fff;border:1px solid #dfe3d7;border-radius:2px;padding:0 11px;color:#374237;font-size:10px}.contact-form input::placeholder,.contact-form select:invalid{color:#a9afa4}.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%237a8971' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-submit{width:100%;border:0;margin-top:4px}.form-submit span{font-size:16px}.form-disclaimer{display:block;margin-top:9px;text-align:center;color:#959b90;font-size:8px}.site-footer{background:#0c2117;color:#d9e1d5;padding:0 38px}.footer-main,.footer-bottom{max-width:1204px;margin:auto}.footer-main{padding:29px 0 23px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #ffffff1b}.footer-brand img{width:39px;height:39px}.footer-brand strong{font-size:16px}.footer-brand small{font-size:7px}.footer-main>p{font-size:9px;line-height:1.6;color:#99a897;border-left:1px solid #ffffff2c;padding-left:22px;margin:0}.footer-call{margin-left:auto;font:700 15px var(--display);color:var(--lime)}.footer-call span{font-size:12px;margin-left:7px}.footer-bottom{min-height:51px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:8px;color:#829184}.footer-bottom i{font-style:normal;color:var(--lime);padding:0 3px}.footer-bottom a{color:#bcc8b9}.floating-call{display:none}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr .9fr;gap:4px}.hero h1{font-size:58px}.hero-art{min-height:470px}.sun-disc{width:190px;height:190px;right:25px}.home-illustration{width:110%}.orbit-one{width:380px;height:380px}.orbit-two{width:460px;height:460px}.approach{gap:42px}.approach-visual{min-height:430px}.approach-photo-shape{height:390px}.about{gap:45px}.faq{gap:52px}.contact-panel{gap:34px;padding:48px 42px}}
@media(max-width:720px){html{scroll-padding-top:66px}.site-header{height:66px}.header-inner{padding:0 19px}.brand img{width:38px;height:38px}.brand strong{font-size:17px}.brand small{font-size:7px}.menu-toggle{width:39px;height:39px;display:grid;place-items:center;border:1px solid #ffffff38;border-radius:3px;background:transparent;color:white}.menu-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.site-nav{display:none;position:absolute;top:65px;left:0;right:0;padding:15px 20px 20px;background:#10291d;border-top:1px solid #ffffff16;box-shadow:0 20px 25px #0a1b1280;align-items:stretch;gap:0;flex-direction:column}.site-nav.open{display:flex}.site-nav>a:not(.nav-cta){padding:13px 1px;border-bottom:1px solid #ffffff1a}.nav-cta{margin-top:13px;text-align:center}.hero{min-height:unset}.hero-inner{min-height:unset;padding:55px 22px 19px;display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-copy{padding:0}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero h1{font-size:clamp(48px,12.5vw,68px);letter-spacing:-2.7px;margin:21px 0 13px}.hero-intro{font-size:12px;line-height:1.8;max-width:500px}.hero-actions{margin-top:22px;gap:15px;flex-wrap:wrap}.button{min-height:44px;padding:0 16px;font-size:10px}.button-ghost{padding:0}.hero-proof{margin-top:24px}.hero-art{min-height:355px;margin-top:5px}.home-illustration{width:min(100%,410px)}.sun-disc{top:22px;right:calc(50% - 142px);width:165px;height:165px}.orbit-one{width:295px;height:295px}.orbit-two{width:360px;height:360px}.label-top{top:29px;right:0}.label-bottom{left:0;bottom:28px}.art-stamp{right:2px;bottom:64px;width:56px;height:56px}.art-stamp span{font-size:15px}.hero-foot{padding:5px 22px 18px;gap:9px;font-size:7px;letter-spacing:1.1px}.scroll-cue{font-size:0}.scroll-cue b{font-size:14px}.intro-strip{padding:23px 22px;grid-template-columns:1fr;gap:15px}.strip-item{gap:12px}.strip-divider{height:1px;width:100%}.strip-item b{font-size:10px}.strip-item small{font-size:9px}.section-pad{padding:66px 22px}.section-head{display:block;margin-bottom:26px}.section-head h2,.approach-copy h2,.about-text h2,.faq-heading h2{font-size:38px;letter-spacing:-1.8px;margin-top:13px}.section-head>p{margin-top:13px;font-size:11px}.service-grid{grid-template-columns:1fr;gap:10px}.service-card{min-height:300px;padding:18px}.service-art{height:66px;margin:6px 0 3px}.service-card h3{font-size:23px}.service-card p{font-size:10px}.service-card:after{top:62px}.approach{display:flex;flex-direction:column;gap:34px;padding-top:63px}.approach-visual{width:100%;min-height:380px}.approach-photo-shape{width:min(100%,380px);height:365px;padding:24px}.approach-quote{font-size:29px}.visual-leaf{left:-4px}.leaf-right{right:-4px}.approach-copy{width:100%}.approach-copy h2{font-size:41px}.approach-copy>p{font-size:11px}.about{grid-template-columns:1fr;gap:34px}.about-aside{max-width:none;padding-left:20px}.big-year{font-size:75px}.faq{grid-template-columns:1fr;gap:25px}.faq-heading>p{font-size:10px}.faq-list summary{font-size:11px;padding:17px 1px}.contact{padding-top:0;padding-bottom:66px}.contact-panel{grid-template-columns:1fr;gap:28px;padding:34px 22px}.contact-copy h2{font-size:40px;letter-spacing:-2px}.contact-copy>p{font-size:10px}.contact-form{padding:20px}.site-footer{padding:0 22px 78px}.footer-main{gap:12px;flex-wrap:wrap;padding:24px 0 17px}.footer-main>p{font-size:8px;padding-left:12px}.footer-call{font-size:13px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:9px;padding:14px 0}.floating-call{position:fixed;z-index:18;right:16px;bottom:15px;display:flex;align-items:center;gap:8px;padding:11px 15px;background:var(--lime);color:var(--forest);border-radius:30px;box-shadow:0 8px 26px #07170e4a;font-size:11px;font-weight:700}.floating-call>span{font-size:15px}.floating-call small{font-size:10px}}
@media(max-width:360px){.hero h1{font-size:42px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-foot{letter-spacing:.7px;gap:6px}.approach-visual{min-height:340px}.approach-photo-shape{height:330px}.footer-main>p{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Published before-and-after service photos */
.work[hidden] { display: none; }
.work { background: #e9ecdf; }
.work-grid { max-width: 1204px; margin: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.work-card { min-width: 0; padding: 13px; background: #f9f9f4; border: 1px solid #dce2d5; }
.work-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.work-photo { min-width: 0; height: clamp(150px, 24vw, 270px); margin: 0; position: relative; overflow: hidden; background: #dfe6da; }
.work-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.work-photo figcaption { position: absolute; left: 10px; bottom: 10px; padding: 6px 9px; color: #f5f6ed; background: #10291ddd; font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.work-card h3 { margin: 12px 3px 3px; color: #2c3b2e; font: 700 16px var(--display); }
.work-location { margin: 5px 3px 0; color: #465543; font-size: 12px; font-weight: 700; }
.work-feedback { margin: 12px 3px 3px; padding: 10px 12px; border-left: 2px solid #91aa70; background: #f0f2e9; color: #465444; }
.work-feedback p { margin: 0; font: italic 13px/1.6 var(--display); }
.work-feedback cite { display: block; margin-top: 7px; color: #7b8777; font-size: 9px; font-style: normal; }
.work-empty { max-width: 1204px; margin: 18px auto 0; color: #778071; font-size: 12px; }
@media (max-width: 720px) { .work-grid { grid-template-columns: 1fr; gap: 12px; } .work-card { padding: 9px; } .work-photo { height: clamp(130px, 44vw, 210px); } }

/* Homepage hero: keep the copy clear on the left and the family photo on the right. */
.hero-copy {
  padding: 0 0 20px;
  background: none;
  border: 0;
  box-shadow: none;
}
.hero h1.hero-lead {
  max-width: 520px;
  margin: 0 0 18px;
  color: #fff;
  font: 800 clamp(38px, 4.2vw, 58px)/1.04 var(--display);
  letter-spacing: -2.8px;
}
.hero-intro {
  max-width: 460px;
  color: #bbc7ba;
  font-size: 14px;
  line-height: 1.8;
}
.hero-art { min-height: 0; }
.hero-photo {
  display: block;
  width: min(100%, 420px);
  height: auto;
  max-height: 620px;
  object-fit: contain;
  object-position: center;
  justify-self: center;
  border: 1px solid #ffffff24;
  box-shadow: 0 22px 55px #07170e55;
}
.contact-panel { background-color: var(--forest); background-image: none; }
@media (max-width: 720px) {
  .hero-copy { padding: 0; }
  .hero h1.hero-lead { font-size: clamp(36px, 10vw, 48px); letter-spacing: -2px; }
  .hero-intro { max-width: 500px; font-size: 13px; }
  .hero-art { min-height: 0; margin-top: 22px; }
  .hero-photo { width: min(100%, 390px); max-height: none; }
}

/* Service photography */
.service-card { min-height: 405px; }
.service-art { width: calc(100% + 44px); height: 150px; margin: 10px -22px 14px; overflow: hidden; background: #e4e7df; }
.service-art::before { display: none; }
.service-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.service-rat .service-photo { object-position: 62% center; }
@media (max-width: 720px) {
  .service-card { min-height: 390px; }
  .service-art { width: calc(100% + 36px); height: 165px; margin: 8px -18px 12px; }
}

/* Experience panel copy */
.about-aside {
  max-width: none;
  border-left: 0;
  padding: 40px;
  background: #0d2818;
  color: #f4f6f0;
  text-align: left;
}
.about-aside-heading {
  margin: 0 0 20px;
  color: #f4f6f0;
  font: 700 clamp(32px, 2.5vw, 36px)/1.2 var(--display);
}
.about-aside .about-highlight {
  margin: 0 0 24px;
  color: #c0e0b0;
  font: 500 clamp(20px, 1.7vw, 22px)/1.45 var(--body);
}
.about-aside .aside-rule {
  width: 100%;
  height: 0;
  margin: 24px 0;
  border-top: 1px solid rgba(255,255,255,.15);
  background: none;
}
.about-aside .about-secondary {
  margin: 0;
  color: #e5e7eb;
  font: 400 clamp(16px, 1.35vw, 18px)/1.6 var(--body);
}

/* Transparent hero copy placed below the yellow sign in the supplied photo. */
.hero-animated { min-height: 860px; height: auto; display: flex; flex-direction: column; justify-content: flex-start; color: #223142; background-color: #eee9e0; background-image: url('/assets/hero-pest-control.jpg'); background-repeat: no-repeat; background-size: cover; background-position: left top; }
.hero-animated:after,.hero-animated .hero-grain { display: none; }
.hero-animated .hero-inner { width: 100%; max-width: none; min-height: 0; margin: 0; padding: 510px 5.5vw 100px; display: flex; justify-content: flex-start; align-items: flex-start; }
.hero-animated .hero-copy { width: min(100%, 540px); padding: 0; text-align: left; }
.hero-frame { position: relative; z-index: 2; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; animation: frame-arrive .8s ease-out both; }
.hero-frame::before,.hero-frame::after { display: none; }
.hero-animated h1.hero-lead { max-width: none; margin: 0; color: #c93630; font: 800 clamp(40px, 4.2vw, 54px)/1.04 var(--display); letter-spacing: -2px; text-shadow: 0 1px 2px #ffffffb8; }
.hero-location { margin: 10px 0 0; display: flex; align-items: baseline; gap: 8px; color: #1e2c3e; font: 800 clamp(19px, 2.35vw, 27px)/1.25 var(--display); letter-spacing: -.4px; text-shadow: 0 1px 2px #ffffffc9; }
.hero-location span { padding: 0; border: 0; border-radius: 0; background: transparent; color: #8b522c; font-family: var(--display); font-size: inherit; font-weight: 600; letter-spacing: 0; }
.hero-animated .hero-intro { max-width: 540px; margin: 12px 0 0; color: #263546; font-size: clamp(14px, 1.3vw, 17px); line-height: 1.6; text-shadow: 0 1px 3px #ffffffd9; }
.hero-animated .hero-actions { justify-content: flex-start; margin-top: 18px; }
.hero-animated .button-lime { color: #fff; background: #c94337; border-radius: 0; box-shadow: none; }.hero-animated .button-lime:hover { background: #a9342c; }
.hero-animated .button-ghost { color: #233246; text-shadow: 0 1px 2px #fff; }.hero-animated .button-ghost span { color: #c94337; }
.hero-animated .hero-foot { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; width: 100%; margin: 0; padding: 13px 38px; color: #293748; background: transparent; text-shadow: 0 1px 2px #fff; }
.hero-animated .hero-foot i { background: #c94337; }.hero-animated .scroll-cue { color: #4b5967; }
@keyframes frame-arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 720px) {
  .hero-animated { height: auto; min-height: 0; background-size: auto 430px; background-position: left top; background-color: #eee9e0; }
  .hero-animated .hero-inner { min-height: 0; padding: 450px 20px 92px; align-items: flex-start; }
  .hero-animated .hero-copy { width: 100%; }
  .hero-animated h1.hero-lead { font-size: clamp(36px, 9vw, 50px); letter-spacing: -1.8px; }
  .hero-location { flex-direction: column; align-items: flex-start; gap: 3px; font-size: clamp(19px, 5.5vw, 24px); }
  .hero-location span { font-size: inherit; }
  .hero-animated .hero-intro { font-size: 14px; }
  .hero-animated .hero-actions { flex-wrap: wrap; gap: 11px; }
  .hero-animated .hero-foot { padding: 13px 20px; }
}
@media (prefers-reduced-motion: reduce) { .hero-animated *, .hero-animated *::before, .hero-animated *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
/* Soft warm panel keeps copy readable while leaving the hero photo visible. */
.hero-frame { padding: clamp(20px, 2.8vw, 30px); border: 1px solid #ffffffa8; border-left: 4px solid #c94337; background: rgba(255, 250, 241, .55); box-shadow: 0 12px 34px rgba(25, 32, 39, .16); }
.hero-animated h1.hero-lead { text-shadow: none; }
.hero-location,.hero-animated .hero-intro,.hero-animated .button-ghost { text-shadow: none; }
@media (max-width: 720px) { .hero-frame { padding: 20px 18px; border-left-width: 3px; background: rgba(255, 250, 241, .55); } }
.hero-animated h1.hero-lead { font-size: clamp(30px, 3.2vw, 40px); line-height: 1.15; letter-spacing: -1.1px; text-transform: none; }
.hero-animated h1.hero-lead span { display: inline-block; color: #8b522c; font-size: .68em; font-weight: 700; letter-spacing: -.4px; white-space: nowrap; }
@media (max-width: 720px) { .hero-animated h1.hero-lead { font-size: clamp(28px, 7.2vw, 35px); letter-spacing: -.8px; } }
.hero-animated h1.hero-lead { color: #1e2f43; font-size: clamp(22px, 1.8vw, 27px); line-height: 1.2; letter-spacing: -.55px; white-space: nowrap; }
.hero-animated h1.hero-lead span { display: none; }
@media (max-width: 720px) { .hero-animated h1.hero-lead { font-size: clamp(14px, 4.5vw, 18px); letter-spacing: -.3px; } }
.hero-animated .button-call-secondary { background: #26394b; color: #fff; border-radius: 0; box-shadow: none; }
.hero-animated .button-call-secondary:hover { background: #1b2b3a; }
.about-call-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.about-call-actions .button { margin: 0; }
.urgent-quote { margin: 22px 0 0; color: #26392b; font-size: 15px; font-weight: 700; line-height: 1.55; }
.hero-animated .hero-actions .button-lime { color: #20251d; background: #ffc107; }
.hero-animated .hero-actions .button-lime:hover { background: #e6ad00; }
.footer-calls { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.footer-calls .footer-call { margin-left: 0; }
@media (max-width: 720px) { .footer-calls { margin: 0 0 0 auto; gap: 10px; flex-wrap: wrap; justify-content: flex-end; } }
/* Embedded map with a compact location and contact card, inspired by the supplied reference. */
.location-map-section { width: min(100%, 1204px); margin: 0 auto 30px; }
.location-map { display: block; width: 100%; height: clamp(230px, 30vw, 360px); border: 0; background: #e5e8e2; }
.location-map-band { padding: 30px 20px; background: #171916; }
.location-map-card { width: min(100%, 760px); margin: 0 auto; padding: 18px 22px; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 24px; color: #fff; background: #405b32; border: 1px solid #ffffff20; border-radius: 8px; }
.location-map-detail { display: flex; align-items: center; gap: 12px; min-width: 0; }
.location-map-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; color: #e47d39; background: #fff; font-size: 20px; }
.location-map-detail>span:last-child { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.location-map-detail small { color: #e1e9d8; font-size: 9px; letter-spacing: .8px; }
.location-map-detail b,.location-map-detail a { color: #fff; font-size: 13px; font-weight: 700; }
.location-map-detail a:hover { text-decoration: underline; }
.location-map-cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 42px; padding: 0 18px; color: #fff; background: #ee8a26; border-radius: 4px; font-size: 11px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.location-map-cta:hover { background: #dc7418; }
@media (max-width: 720px) {
  .location-map-section { margin-bottom: 22px; }
  .location-map { height: 260px; }
  .location-map-band { padding: 18px 12px; }
  .location-map-card { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .location-map-cta { width: 100%; }
}
.location-map-actions { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.location-map-directions { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; color: #f4f1e9; border: 1px solid #ffffff75; border-radius: 4px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.location-map-directions:hover { background: #ffffff18; }
@media (max-width: 720px) { .location-map-actions { width: 100%; } }

/* Fluid full-bleed hero and viewport-driven page grids. */
.hero-animated {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  background-color: #fff8f0;
  background-image: url('/assets/hero-pest-control.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 78% center;
}
@media (min-width: 768px) {
  .hero-animated { background-position: center; }
}
@media (min-width: 1024px) {
  .hero-animated { min-height: max(100vh, 750px); min-height: max(100svh, 750px); }
}
.hero-animated .hero-inner {
  position: relative;
  z-index: 10;
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 1280px;
  min-height: inherit;
  margin: 0 auto;
  padding: 24px 16px 48px;
}
.hero-animated .hero-copy,
.hero-stack,
.hero-frame { width: 100%; min-width: 0; }
.hero-animated .hero-copy { max-width: 680px; padding: 0; }
.hero-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  max-width: 42rem;
}
.hero-sign { display: block; align-self: flex-start; width: min(100%, 260px); height: auto; margin-left: .5rem; object-fit: contain; }
.hero-frame {
  position: relative;
  z-index: 1;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.82);
  border-left: 4px solid #b42318;
  border-radius: 0 8px 8px 0;
  background: rgba(255,255,255,.95);
  box-shadow: 0 4px 16px rgba(15,23,42,.16);
  backdrop-filter: blur(4px);
  animation: frame-arrive .8s ease-out both;
}
.hero-animated h1.hero-lead {
  max-width: 100%;
  margin: 0;
  color: #0f172a;
  font: 700 clamp(1.25rem, 2.4vw, 1.875rem)/1.2 var(--display);
  letter-spacing: -.025em;
  white-space: normal;
  overflow-wrap: normal;
  text-shadow: none;
}
.hero-animated .hero-intro {
  max-width: 58ch;
  margin: 10px 0 0;
  color: #334155;
  font-size: clamp(.9rem, 1.2vw, 1rem);
  line-height: 1.6;
  text-shadow: none;
}
.hero-animated .hero-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin-top: 16px;
}
.hero-call-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}
.hero-animated .hero-call-actions .button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 6px;
  box-shadow: none;
  text-align: center;
}
.hero-animated .hero-call-actions .button-lime {
  color: #111;
  background: #ffc107;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
  transition: background-color .2s ease;
}
.hero-animated .hero-call-actions .button-lime:hover { background: #e0a800; }
.hero-animated .hero-call-actions .button-call-secondary { color: #fff; background: #26394b; }
.hero-animated .hero-call-actions .button-call-secondary:hover { background: #1b2b3a; }
.hero-animated .hero-actions .button-ghost {
  align-self: flex-start;
  width: auto;
  min-height: 42px;
  padding-left: 0;
  color: #233246;
  text-align: left;
  text-shadow: none;
}
.hero-animated .hero-actions .button-ghost span { color: #b42318; }
.hero-animated .hero-foot {
  position: relative;
  inset: auto;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 12px 16px 18px;
  color: #293748;
  background: transparent;
  text-shadow: 0 1px 2px #fff;
}
.hero-animated .hero-foot i { background: #b42318; }
.hero-animated .scroll-cue { margin-left: auto; color: #4b5967; }
@media (min-width: 640px) {
  .hero-animated .hero-inner { padding-right: 24px; padding-left: 24px; }
  .hero-stack { gap: 24px; }
  .hero-sign { width: min(100%, 320px); margin-left: 1rem; }
  .hero-frame { padding: 24px; }
  .hero-animated .hero-actions { align-items: flex-start; gap: 12px; margin-top: 24px; }
  .hero-call-actions { flex-direction: row; flex-wrap: wrap; align-items: center; width: 100%; }
  .hero-animated .hero-call-actions .button { width: auto; flex: 1 1 180px; }
  .hero-animated .hero-actions .button-ghost { align-self: auto; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-animated .hero-inner { justify-content: flex-end; padding-top: clamp(240px, max(32vw, 56svh), 760px); }
  .hero-animated .hero-copy { max-width: 600px; }
  .hero-sign { width: min(100%, 380px); }
}
@media (min-width: 1024px) {
  .hero-animated .hero-inner { justify-content: flex-start; padding-top: clamp(290px, max(32vw, 56svh), 1200px); padding-bottom: 52px; }
  .hero-animated .hero-copy { max-width: 620px; }
  /* The full-resolution hero background already contains the hanging sign. */
  .hero-sign { display: none; }
}
@media (max-width: 639px) {
  .hero-animated .hero-inner { min-height: inherit; padding: 24px 16px 48px; }
  .hero-animated .hero-frame { padding: 16px; border-left-width: 4px; }
  .hero-animated h1.hero-lead { font-size: clamp(1.2rem, 5.6vw, 1.5rem); letter-spacing: -.02em; }
  .hero-animated .hero-intro { font-size: .9rem; }
  .hero-animated .hero-actions { gap: 8px; margin-top: 16px; }
  .hero-animated .hero-call-actions { gap: 10px; }
  .hero-animated .hero-call-actions .button { width: 100%; }
  .hero-animated .hero-foot { gap: 8px; padding: 10px 16px 16px; font-size: 7px; }
  .hero-animated .scroll-cue { margin-left: auto; }
}

/* Responsive section rhythm and grids: allow columns to wrap instead of
   holding onto desktop widths when browser zoom reduces the CSS viewport. */
.section-pad { padding: clamp(48px, 7vw, 96px) clamp(16px, 3vw, 38px); }
.service-grid,
.work-grid { width: 100%; grid-template-columns: minmax(0, 1fr); gap: clamp(12px, 2vw, 24px); }
.service-grid { max-width: 1204px; }
.work-grid { max-width: 1204px; }
.service-card,
.work-card,
.approach-copy,
.about-text,
.about-aside,
.faq-heading,
.faq-list,
.contact-copy,
.contact-form { min-width: 0; }
.service-card { min-height: 0; padding: clamp(18px, 2.5vw, 30px); }
.service-art { height: clamp(88px, 11vw, 150px); }
.work-card { padding: clamp(10px, 1.5vw, 16px); }
.work-photo { height: clamp(140px, 22vw, 260px); }
.work-location { overflow-wrap: anywhere; }
.approach,
.about,
.faq { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); }
.contact-panel { grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); padding: clamp(24px, 5vw, 54px); }
.faq-list details,
.faq-list summary { min-width: 0; }
.faq-list summary { gap: 16px; }
.faq-list summary span { flex: 0 0 auto; }
@media (min-width: 768px) {
  .service-grid,
  .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .work-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .approach { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .about { grid-template-columns: minmax(0, 1fr) minmax(0, .75fr); }
  .faq { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .contact-panel { grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr); }
}
.approach-visual { min-height: clamp(300px, 42vw, 480px); }
.approach-photo-shape { height: clamp(280px, 38vw, 420px); padding: clamp(20px, 4vw, 40px); }
@media (max-width: 767px) {
  .service-grid { gap: 12px; }
  .service-card p { font-size: clamp(12px, 3.3vw, 14px); }
  .service-card h3 { font-size: clamp(21px, 6vw, 25px); }
  .work-grid { grid-template-columns: minmax(0, 1fr); }
  .work-photo { height: clamp(130px, 42vw, 210px); }
  .contact-panel { padding: 24px 16px; }
}
@media (prefers-reduced-motion: reduce) { .hero-frame { animation: none; } }
