:root{--ink:#16332d;--green:#1d6b58;--mint:#dcebe4;--cream:#f6f8f4;--white:#fff;--line:#d7e0db;--soft:#7a8c86}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:99}.privacy-bar{min-height:52px;padding:10px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:#fff;font-size:14px}.privacy-bar>div{display:flex;align-items:center;gap:10px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#f0b66f;box-shadow:0 0 0 5px rgba(240,182,111,.16)}button{font:inherit}.text-button,.footer-link{border:0;background:none;color:inherit;cursor:pointer;font-weight:600}.text-button{white-space:nowrap}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);position:relative}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:46px;height:46px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font:700 13px Manrope}.brand strong,.brand small{display:block}.brand strong{font:700 18px Manrope;letter-spacing:.08em}.brand small{font-size:11px;color:var(--soft);margin-top:2px;letter-spacing:.05em}nav{display:flex;align-items:center;gap:34px}nav a{color:inherit;text-decoration:none;font-size:14px;font-weight:600}.nav-cta{border:1px solid var(--ink);padding:12px 22px;border-radius:99px}.menu{display:none}.hero{min-height:690px;padding:clamp(70px,10vw,140px) clamp(20px,7vw,110px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:8vw;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:700;color:var(--green);margin:0 0 20px}.hero h1,.section-heading h2,.about h2,.reviews h2,.contact h2{font:600 clamp(42px,6.6vw,92px)/.98 Manrope;margin:0;letter-spacing:-.055em}.hero h1 em{font-style:normal;color:var(--green)}.lead{font-size:18px;line-height:1.7;color:#50675f;max-width:640px;margin:32px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:99px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid var(--green);cursor:pointer}.primary{background:var(--green);color:#fff}.secondary{color:var(--green)}.hero-card{background:var(--mint);border-radius:180px 180px 20px 20px;min-height:500px;padding:80px 48px 34px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.hero-card>p{font-size:13px;color:var(--green);text-transform:uppercase;letter-spacing:.14em}.hero-card>strong{font:600 clamp(30px,3.3vw,50px)/1.25 Manrope}.location-chip{background:#fff;padding:16px 20px;border-radius:99px;margin-top:34px;font-weight:600;text-align:center}.signal{position:absolute;top:90px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px}.signal span{display:block;width:6px;background:var(--green);border-radius:9px}.signal span:nth-child(1),.signal span:nth-child(5){height:18px}.signal span:nth-child(2),.signal span:nth-child(4){height:45px}.signal span:nth-child(3){height:72px}.specialties{background:#fff;padding:110px clamp(20px,7vw,110px)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:70px}.section-heading h2{font-size:clamp(38px,5vw,68px)}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.cards article{padding:32px 34px 40px;border-right:1px solid var(--line)}.cards article:first-child{padding-left:0}.cards article:last-child{border:0}.number{color:var(--soft);font-size:12px}.line-icon{font-size:38px;color:var(--green);margin:48px 0 40px}.cards h3{font:600 28px Manrope;margin:0 0 16px}.cards p{color:#61746e;line-height:1.7;margin:0}.about{padding:120px clamp(20px,7vw,110px);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:center}.about-label{width:min(360px,80vw);aspect-ratio:1;border:1px solid #b9ccc3;border-radius:50%;display:grid;place-items:center;position:relative}.about-label span{font:600 80px Manrope;color:var(--green)}.about-label p{position:absolute;bottom:45px;text-align:center;font-size:13px;text-transform:uppercase;letter-spacing:.15em}.about h2,.reviews h2,.contact h2{font-size:clamp(38px,5vw,66px)}.about-copy>p:last-child{max-width:620px;line-height:1.8;color:#536a62;font-size:17px;margin-top:30px}.reviews{background:#eaf1ed;padding:100px clamp(20px,7vw,110px);display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:center}.review-empty{background:#fff;padding:40px;border-radius:18px}.review-empty>span{font:600 70px Georgia;color:var(--mint);line-height:.7}.review-empty p{font-size:18px;color:#60736c;margin:12px 0 26px}.contact{background:var(--green);color:#fff;padding:110px clamp(20px,7vw,110px);display:grid;grid-template-columns:1fr .7fr;gap:10vw;align-items:end}.light{color:#a9d1c2}.contact-note{color:#cae0d8;font-size:17px;line-height:1.7;max-width:430px;margin-top:28px}.contact address{font-style:normal;border-top:1px solid rgba(255,255,255,.35);padding-top:28px}.contact address span{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#b9d6cb;display:block;margin-bottom:18px}.contact address strong{font:600 30px/1.35 Manrope}.contact address a{display:block;color:#fff;margin-top:30px;font-weight:700;text-decoration:none}footer{padding:42px clamp(20px,5vw,72px);display:grid;grid-template-columns:.7fr 1.5fr auto;align-items:center;gap:30px;background:#fff}.company p{margin:4px 0;font-size:12px;color:#6d8079}.footer-link{text-decoration:underline;text-underline-offset:4px;font-size:12px}dialog{width:min(900px,calc(100vw - 30px));max-height:88vh;border:0;border-radius:18px;padding:0;color:var(--ink);box-shadow:0 30px 80px rgba(10,36,30,.25)}dialog::backdrop{background:rgba(10,30,25,.68);backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;z-index:1;background:#fff;padding:28px 38px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.dialog-head h2{font:600 clamp(25px,4vw,38px)/1.1 Manrope;margin:0}.dialog-head .eyebrow{margin-bottom:10px}.close{border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:50%;font-size:27px;cursor:pointer}.notice-body{padding:35px 38px 55px;line-height:1.75;color:#455d55}.notice-body h3{font:700 22px Manrope;color:var(--ink);margin:36px 0 10px}.notice-body h3:first-child{margin-top:0}.notice-body h4{color:var(--ink);margin-bottom:8px}.notice-body li{margin-bottom:9px}.notice-body a{color:var(--green);font-weight:700}.signature{margin-top:35px}.small-dialog{max-width:560px;padding-bottom:35px}.small-dialog>p{padding:10px 38px;line-height:1.7}.small-dialog .dialog-head{position:relative}@media(max-width:850px){.privacy-bar{align-items:flex-start;flex-direction:column;gap:6px}.header{height:76px}.menu{display:block;border:1px solid var(--ink);border-radius:99px;background:none;padding:9px 15px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:24px;z-index:8;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:75px}.hero-card{min-height:420px;margin-top:20px}.section-heading,.reviews{grid-template-columns:1fr;display:grid;gap:35px}.cards{grid-template-columns:1fr}.cards article,.cards article:first-child{padding:30px 0;border-right:0;border-bottom:1px solid var(--line)}.line-icon{margin:26px 0}.about{grid-template-columns:1fr}.about-label{margin:auto}.contact{grid-template-columns:1fr}.contact address{margin-top:30px}footer{grid-template-columns:1fr}.company{order:3}.footer-link{text-align:left;padding:0}.dialog-head,.notice-body{padding-left:22px;padding-right:22px}}@media(max-width:520px){.privacy-bar{font-size:12px}.hero{min-height:auto}.hero h1{font-size:48px}.hero-card{padding:70px 28px 28px;border-radius:130px 130px 18px 18px}.hero-actions .button{width:100%}.about-label span{font-size:60px}.footer-brand{display:none}}
