@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,700;0,800;0,900;1,700&display=swap');
:root{--green:#3f7d50;--green-dark:#285f3a;--cream:#fbf1e5;--peach:#f3d4c4;--pink:#eeb8bf;--white:#fff;--ink:#24422f;--line:rgba(63,125,80,.25);--shadow:0 18px 50px rgba(31,63,42,.12)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--green);background:#fff;font-family:"Trebuchet MS",Arial,sans-serif;line-height:1.5}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,231,215,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(63,125,80,.08)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand img{width:165px;height:auto}.nav-links{display:flex;align-items:center;gap:38px;font-weight:800;text-transform:uppercase;font-size:.9rem;letter-spacing:.04em}.nav-links a{padding:10px 0;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:2px;background:var(--green);transition:.25s}.nav-links a:hover:after,.nav-links a:focus-visible:after{right:0}.menu-btn{display:none;border:0;background:transparent;color:var(--green);font-weight:800;font-size:1rem}.hero{min-height:720px;display:grid;align-items:center;position:relative;isolation:isolate;background:url("assets/hero.jpg") center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,49,30,.2),rgba(20,49,30,.02) 45%,rgba(20,49,30,.15))}.hero-content{display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:30px}.hero-title{margin:0;font-family:Georgia,serif;font-size:clamp(6rem,15vw,13rem);font-weight:500;line-height:.7;letter-spacing:-.08em;text-shadow:0 2px 30px rgba(255,255,255,.15)}.hero-copy{justify-self:end;max-width:430px;text-align:right;color:white;padding-bottom:20px}.hero-copy h1{font-size:clamp(2.5rem,5vw,5.2rem);line-height:.82;margin:0 0 28px;font-weight:900;letter-spacing:-.055em}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;border:1px solid currentColor;background:white;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.03em;transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.15)}.btn.green{background:var(--green);color:white;border-color:var(--green)}.section-title{margin:0;padding:25px 0;background:var(--peach);font-size:clamp(2rem,4vw,3.6rem);font-weight:900;text-transform:uppercase;letter-spacing:-.04em}.section-title .wrap{display:block}.services{background:var(--cream)}.service{display:grid;grid-template-columns:1fr 1fr;min-height:490px}.service:nth-child(even) .service-image{order:2}.service-image img{width:100%;height:100%;object-fit:cover}.service-content{padding:clamp(42px,7vw,86px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.service-content h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.02;margin:0;text-transform:uppercase;letter-spacing:-.04em}.service-content h3{font-size:1.25rem;line-height:1.25;font-style:italic;margin:20px 0 18px;padding-top:18px;border-top:1px solid var(--line);width:100%}.service-content ul{margin:0 0 28px;padding-left:1.2em;font-size:1.05rem}.service-content .btn{margin-top:auto;align-self:flex-end}.quick-contact{display:grid;grid-template-columns:1fr 1fr}.contact-intro{background:var(--green);color:var(--cream);padding:clamp(48px,7vw,90px)}.contact-intro h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08;text-transform:uppercase;margin:0 0 30px;letter-spacing:-.04em}.contact-intro p{max-width:370px;font-size:1.08rem}.contact-card{background:var(--pink);padding:clamp(48px,7vw,90px);display:flex;align-items:center}.form{width:100%;display:grid;gap:16px}.form input,.form textarea,.form select{width:100%;border:1px solid transparent;background:white;color:var(--ink);border-radius:18px;padding:13px 18px;outline:none}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(63,125,80,.12)}.form textarea{min-height:135px;resize:vertical}.form .btn{justify-self:center;min-width:220px;border:0}.footer{padding:58px 0;background:white}.footer-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:60px}.footer h3{margin:0 0 12px;text-transform:uppercase}.footer p{margin:4px 0}.socials{display:grid;gap:5px;text-transform:uppercase}.quote-main{background:var(--cream);padding:70px 0 100px}.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.quote-copy{position:sticky;top:120px}.quote-copy h1{font-size:clamp(2.8rem,6vw,5rem);line-height:.95;text-transform:uppercase;margin:0 0 25px;letter-spacing:-.05em}.detailed-form{background:white;border-radius:26px;padding:clamp(24px,5vw,55px);box-shadow:var(--shadow);display:grid;gap:30px}.field-group{display:grid;gap:12px}.field-group>label,.field-group legend{font-weight:800;font-size:1.05rem}.field-group legend{margin-bottom:12px}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.choice input{margin-top:5px}.privacy{font-size:.9rem;opacity:.85}.success{display:none;padding:13px 16px;border-radius:12px;background:#e1f1e6;color:var(--green-dark);font-weight:700}.success.show{display:block}@media(max-width:800px){.wrap{width:min(100% - 28px,640px)}.nav{height:70px}.brand img{width:138px}.menu-btn{display:block}.nav-links{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 22px;background:var(--peach);box-shadow:0 15px 30px rgba(0,0,0,.08)}.nav-links.open{display:flex}.hero{min-height:650px;background-position:58% center}.hero-content{grid-template-columns:1fr;align-content:center}.hero-title{font-size:clamp(5.4rem,26vw,8rem)}.hero-copy{justify-self:start;text-align:left;padding:30px 0 0;max-width:360px}.hero-copy h1{font-size:3.3rem}.service,.quick-contact,.quote-grid{grid-template-columns:1fr}.service:nth-child(even) .service-image{order:0}.service-image{height:300px}.service-content{min-height:450px}.footer-grid{grid-template-columns:1fr}.quote-copy{position:static}.options{grid-template-columns:1fr}.quote-main{padding-top:45px}}
body{background:#edf0ec}.site-header,main,.footer{width:min(100%,2560px);margin-inline:auto}.site-header,main{box-shadow:0 0 45px rgba(31,63,42,.08)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:801px){.service:nth-child(even) .service-image{order:0}}
@media(max-width:800px){.service .service-image{order:-1}}
.footer a:hover,.footer a:focus-visible{text-decoration:underline;text-underline-offset:3px}.socials a{width:max-content}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;font-size:.92rem}.privacy a{text-decoration:underline;text-underline-offset:3px}.legal-main{background:var(--cream);padding:64px 0 96px;min-height:65vh}.legal-card{max-width:900px;background:#fff;border-radius:26px;padding:clamp(28px,6vw,64px);box-shadow:var(--shadow)}.legal-card h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.95;text-transform:uppercase;letter-spacing:-.05em;margin:0 0 38px}.legal-card h2{margin:34px 0 10px;font-size:1.35rem}.legal-card p,.legal-card li{font-size:1rem}.legal-card ul{padding-left:1.25rem}.legal-note{padding:14px 18px;border-left:4px solid var(--green);background:var(--cream)}
.form-error{margin:0;color:#8b1e1e;font-weight:700}.form button:disabled,.detailed-form button:disabled{cursor:wait;opacity:.65;transform:none}
.hero-copy h1,.section-title,.service-content h2,.contact-intro h2,.quote-copy h1{font-family:'Poppins',Arial,sans-serif}
.hero-logo{width:min(100%,760px);height:auto;filter:drop-shadow(0 2px 22px rgba(255,255,255,.2))}
@media(max-width:800px){.hero-logo{width:min(100%,520px)}}
