body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  margin:0;
  line-height:1.6;
  color:#17301f;
  background:
    radial-gradient(circle at top left, rgba(196,226,183,.85), transparent 34rem),
    linear-gradient(180deg,#f7fbf4 0%,#eef7ea 100%);
}
a{color:#176b3a}
.wrap{max-width:1080px;margin:auto;padding:24px}
.nav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.nav a{font-weight:700;text-decoration:none;margin-left:12px}
.hero{padding:56px 0 42px;max-width:820px}
.hero-with-image{display:grid;grid-template-columns:minmax(0,.94fr) minmax(300px,1.06fr);gap:32px;align-items:center;max-width:none}
.hero-copy{max-width:760px}
.hero-photo,.photo-grid img{display:block;width:100%;height:auto;border-radius:26px;box-shadow:0 18px 48px rgba(23,48,31,.14);object-fit:cover}
.hero-photo{aspect-ratio:16/9}
.eyebrow,.badge{display:inline-block;background:#dff2d9;border-radius:999px;padding:5px 11px;font-weight:800;color:#164b2a}
.card{background:white;border:1px solid #dbe8d4;border-radius:18px;padding:24px;margin:18px 0;box-shadow:0 8px 24px rgba(23,48,31,.06)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 28px}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:10px 0 30px}
.photo-grid img{aspect-ratio:16/9}
.content-section,.faq-section{background:white;border:1px solid #dbe8d4;border-radius:22px;padding:26px;margin:24px 0;box-shadow:0 8px 24px rgba(23,48,31,.06)}
.content-section h2,.faq-section h2{margin-top:0}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.info-grid div{background:#f8fcf6;border:1px solid #dbe8d4;border-radius:16px;padding:18px}
.info-grid h3{margin:.1rem 0 .45rem;line-height:1.2;color:#17301f}
.info-grid p{margin:0;color:#405743}
.faq-section details{border-top:1px solid #dbe8d4;padding:14px 0}
.faq-section details:first-of-type{border-top:0}
.faq-section summary{cursor:pointer;font-weight:900;color:#17301f}
.faq-section p{margin:.65rem 0 0;color:#405743}
.service-card{margin:0;position:relative;overflow:hidden}
.service-card:before{content:"";display:block;width:42px;height:4px;border-radius:99px;background:#1f7a43;margin-bottom:14px}
.service-card h2{font-size:1.1rem;margin:.1rem 0 .55rem}
.service-card p{margin:0;color:#4f6656}
.cta{display:inline-block;background:#1f7a43;color:white;padding:12px 19px;border-radius:999px;text-decoration:none;font-weight:800;border:0;font:inherit;cursor:pointer;box-shadow:0 8px 18px rgba(31,122,67,.22)}
.cta:hover{background:#176336}
.secondary{background:#edf7e9;color:#17512d}
.disclosure{font-size:.94rem;background:#eef7ea;border-left:4px solid #1f7a43;padding:13px 15px;border-radius:8px}
.compact{font-size:.9rem;margin:16px 0 0}
.warning{background:#fff7df;border-left-color:#b88400}
.muted{color:#58705f}
.request-section{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:28px;align-items:start;background:#ffffff;border:1px solid #dbe8d4;border-radius:26px;padding:28px;margin:30px 0;box-shadow:0 18px 48px rgba(23,48,31,.1)}
.request-intro{position:sticky;top:18px;padding:4px 0}
.request-intro h2{font-size:clamp(1.8rem,3vw,2.55rem);margin:.45rem 0 .75rem}
.request-intro p{color:#4f6656;margin-top:0}
.check-list{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px}
.check-list li{position:relative;padding-left:28px;color:#314d39}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#dff2d9;color:#176b3a;font-weight:900;font-size:.78rem;line-height:20px;text-align:center}
.request-form{background:#f8fcf6;border:1px solid #dbe8d4;border-radius:22px;padding:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.field{display:grid;gap:6px;margin:0}
.field.full{grid-column:1/-1}
.field label{font-weight:800;color:#243f2b;font-size:.95rem}
.required-label:after{content:" *";color:#c62828;font-weight:900}
.optional{font-weight:700;color:#53685a;font-size:.82rem}
.field input,.field select,.field textarea{box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #b9cbb2;border-radius:12px;font:inherit;background:white;color:#17301f;transition:border-color .15s ease, box-shadow .15s ease, background .15s ease}
.field textarea{resize:vertical;min-height:92px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#1f7a43;box-shadow:0 0 0 4px rgba(31,122,67,.13);background:#fff}
.checkbox{display:flex;gap:10px;align-items:flex-start}
.checkbox input{margin-top:.32rem;accent-color:#1f7a43}
.consent-box{background:white;border:1px solid #dbe8d4;border-radius:14px;padding:14px;margin-top:16px;font-size:.88rem;color:#405743}
.submit-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:18px}
.footer{margin-top:48px;border-top:1px solid #dbe8d4;padding-top:22px;font-size:.92rem}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #dbe8d4;text-align:left;padding:10px;vertical-align:top}
.logo{font-weight:900}
.small{font-size:.9rem}
h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:.25em 0}
h2{line-height:1.2}
@media (max-width:900px){
  .hero-with-image{grid-template-columns:1fr;gap:20px;padding-top:42px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .request-section{grid-template-columns:1fr;padding:22px}
  .request-intro{position:static}
}
@media (max-width:620px){
  .wrap{padding:18px}
  .hero{padding:42px 0 28px}
  .hero-photo,.photo-grid img{border-radius:18px}
  .nav span:last-child{display:flex;gap:10px;flex-wrap:wrap}
  .nav a{margin-left:0}
  .service-grid,.photo-grid,.form-grid,.info-grid{grid-template-columns:1fr}
  .request-form{padding:16px}
  .submit-row .cta{width:100%;text-align:center}
}
