
:root{
  --elite-green:#044c26;
  --elite-green-2:#0b6b41;
  --elite-accent:#5fd19a;
  --elite-bg:#f6faf7;
  --elite-text:#13221a;
  --elite-muted:#5d6d64;
  --elite-border:rgba(4,76,38,.10);
  --elite-shadow:0 24px 60px rgba(4,76,38,.10);
}
html,body{overflow-x:hidden}
.elite-utility-template-main,
.elite-utility-wrap{width:100%;max-width:none;margin:0;padding:0}
.elite-shell{max-width:1240px;margin:0 auto;padding:0 24px}
.elite-shell-hero{min-height:clamp(440px,58vw,620px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:2}
.elite-utility-hero{
  position:relative;
  background:radial-gradient(circle at 70% 30%, rgba(95,209,154,.16), transparent 28%),linear-gradient(135deg,#032b16 0%,#044c26 42%,#0a5e39 100%);
  overflow:hidden;
}
.elite-utility-hero-overlay::before,
.elite-utility-hero-overlay::after{
  content:"";
  position:absolute;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(95,209,154,.18),rgba(95,209,154,.04));
}

.elite-utility-hero h1{
  font-size:clamp(46px,6vw,86px);
  line-height:.98;
  letter-spacing:-.045em;
  color:#fff;
  margin:18px 0 18px;
  font-weight:900;
  max-width:14ch;
}
.elite-hero-meta,.elite-hero-subtext{color:rgba(255,255,255,.92)}
.elite-hero-meta{font-size:18px;font-weight:700;margin:0 0 12px}
.elite-hero-meta span{opacity:.55;margin:0 14px}
.elite-hero-phone{
  font-size:clamp(34px,4vw,58px);
  font-weight:900;
  color:#fff;
  text-decoration:none;
  display:inline-block;
  margin:8px 0 10px;
}
.elite-hero-subtext{
  font-size:19px;
  line-height:1.7;
  max-width:820px;
  margin:0;
}
.elite-main-section{background:#fff;padding:72px 0 54px}
.elite-grid-2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.8fr);gap:38px;align-items:start}
.elite-card{border-radius:28px;padding:34px 28px;box-shadow:var(--elite-shadow)}
.elite-card-light{background:#fff}
.elite-card-dark{background:linear-gradient(180deg,#04552a 0%,#044c26 100%);color:#fff}
.elite-card-dark h2,.elite-card-dark h3,.elite-card-dark p{color:#fff !important}
.elite-card-light h2,.elite-card-light h3,.elite-forms-grid h2,.elite-faq-list h2{color:#111 !important;letter-spacing:-.03em}
.elite-card h2,.elite-card h3{font-size:clamp(28px,3vw,42px);line-height:1.05;margin:0 0 18px}
.elite-card p,.elite-card li{font-size:19px;line-height:1.8;color:var(--elite-text)}
.elite-form label{display:block;color:#111;font-weight:700;margin-bottom:16px}
.elite-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.elite-form input,.elite-form textarea{width:100%;margin-top:8px;border:1px solid rgba(4,76,38,.12);border-radius:16px;padding:16px 18px;box-sizing:border-box;font:inherit;background:#fff}
.elite-btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 26px;border-radius:999px;text-decoration:none;font-weight:800;font-size:18px;box-shadow:0 12px 28px rgba(4,76,38,.20);border:none;cursor:pointer}
.elite-btn-dark{background:linear-gradient(135deg,#044c26 0%,#0b6b41 58%,#5fd19a 100%);color:#fff !important}
.elite-btn-light{background:#fff;color:#044c26 !important}
.elite-map-wrap{border-radius:22px;overflow:hidden;min-height:360px}
.elite-map-wrap iframe{display:block;width:100%;height:420px;border:0}
.elite-map-placeholder{min-height:360px;display:flex;align-items:center;justify-content:center;border-radius:22px;background:#eef5f0;color:#234233;text-align:center;padding:24px}
.elite-forms-grid,.elite-faq-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.elite-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.elite-gallery-item img{width:100%;height:340px;object-fit:cover;border-radius:28px;display:block;box-shadow:var(--elite-shadow)}
.elite-success{background:#ecf9f0;color:#195535;border-radius:14px;padding:12px 14px}
@media (max-width:900px){
  .elite-grid-2,.elite-forms-grid,.elite-gallery-grid,.elite-faq-list,.elite-field-row{grid-template-columns:1fr}
  .elite-shell-hero{min-height:430px;padding:32px 0}
  .elite-utility-hero h1{font-size:clamp(42px,12vw,62px)}
  .elite-hero-phone{font-size:34px}
}
