/* ===== ATO Lawn Maintenance LLC styles ===== */
:root{
  --green-600:#1c8c3a;
  --green-500:#2fb45a;
  --green-400:#50c878;
  --bg:#f7f8f7;
  --text:#1a1d1a;
  --muted:#5c6b5f;
  --card:#ffffff;
  --ring:rgba(28,140,58,.2);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

/* Layout helpers */
.container{width:min(1100px, 92%); margin-inline:auto}
.section{padding:64px 0}
.section.alt{background:#ffffff}
.section-head{margin-bottom:28px}
.section-head h2{font-size: clamp(1.6rem, 2.2vw + 1rem, 2.2rem); margin:0 0 6px}
.muted{color:var(--muted)}
.small{font-size:.9rem}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.9); backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0}
.logo{font-weight:800; text-decoration:none; color:var(--text); letter-spacing:.2px}
.nav ul{display:flex; gap:18px; list-style:none; padding:0; margin:0}
.nav a{color:var(--text); text-decoration:none; font-weight:600}
.nav a:hover{color:var(--green-600)}
.menu-toggle{display:none; background:none; border:0; cursor:pointer; padding:8px; border-radius:10px}
.menu-toggle .bar{display:block; width:24px; height:2px; background:var(--text); margin:5px 0; transition:.25s}

/* Buttons */
.btn{display:inline-block; padding:12px 18px; border-radius:999px; text-decoration:none; font-weight:700; box-shadow:0 6px 16px rgba(0,0,0,.08); transition:.2s transform ease, .2s box-shadow}
.btn:hover{transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,0,0,.12)}
.btn-primary{background:var(--green-600); color:#fff}
.btn-outline{background:#fff; color:var(--green-600); border:2px solid #ffa500}
.btn-call{background:var(--green-500); color:#fff; padding:10px 14px}

/* Hero */
.hero{position:relative; min-height:66vh; display:grid; place-items:center;}
.hero-media{
  position:absolute; inset:0;
  background-image: linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,.35)), url('images/yard-3.jpg');
  background-size:cover; background-position:center;
  z-index:-1;
}
.hero-content{padding:84px 0; text-align:center; color:#fff}
.hero h1{font-size: clamp(2rem, 3vw + 1rem, 3rem); margin:0 0 10px}
.hero p{font-size:1.1rem; margin:0 0 18px}
.hero-ctas{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}

/* Cards grid */
.services-grid{
  display:grid; grid-template-columns: repeat( auto-fit, minmax(220px, 1fr) ); gap:18px;
}
.card{
  background:var(--card);
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.06);
}
.card h3{margin:8px 0 6px}
.card .icon{width:44px; height:44px; display:grid; place-items:center; background:var(--ring); color:var(--green-600); border-radius:10px;}

/* Area list */
.area-list{display:flex; gap:12px; flex-wrap:wrap; padding:0; list-style:none; margin:0 0 12px}
.area-list li{background:var(--card); border:1px solid #ffa500; padding:8px 12px; border-radius:999px; font-weight:600}
.map-link a{text-decoration:none; font-weight:700; color:var(--green-600)}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns: repeat( auto-fit, minmax(260px, 1fr) ); gap:16px}
.gallery-grid figure{margin:0; background:var(--card); border:1px solid rgba(0,0,0,.06); border-radius:16px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.06)}
.gallery-grid img{width:100%; height:240px; object-fit:cover; display:block}
.gallery-grid figcaption{padding:10px 12px; font-weight:600}

/* Contact */
.contact-wrap{display:grid; grid-template-columns:1.1fr 1fr; gap:22px; align-items:start}
.contact-card{background:var(--card); border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:18px; box-shadow:0 8px 24px rgba(0,0,0,.06)}
.contact-form{background:var(--card); border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:18px; box-shadow:0 8px 24px rgba(0,0,0,.06); display:grid; gap:10px}
.contact-form input, .contact-form textarea{
  font: inherit; padding:10px 12px; border-radius:12px; border:1px solid #dfe4df; outline:none;
}
.contact-form input:focus, .contact-form textarea:focus{border-color: var(--green-500); box-shadow: 0 0 0 4px var(--ring)}

/* Footer */
.site-footer{padding:28px 0; background:#111; color:#e9f2ea}
.footer-inner{display:flex; align-items:center; justify-content:space-between; gap:10px}
.site-footer a{color:#c8f5d5; text-decoration:none; margin-left:12px}
.site-footer a:hover{color:#fff}
@media only screen and (max-width: 600px) {
  footer nav {width: 75%;}
}

/* Nav */
#nav-list li:after {
    content: '•';
    color: orange;
    padding-left: 10px;
}

li:last-child:after {
    display: none;
}

/* Mobile */
@media (max-width: 880px){
  .menu-toggle{display:block}
  .nav ul{position:fixed; inset:56px 0 auto 0; background:#ffffff; padding:16px 24px; flex-direction:column; gap:12px; border-bottom:1px solid rgba(0,0,0,.08); transform:translateY(-120%); transition:.3s}
  .nav.open ul{transform:translateY(0)}
  .btn-call{display:none}
  .contact-wrap{grid-template-columns:1fr}
  li:after {display: none;}
}

/* Scroll-fade animations (CSS View Timeline for modern browsers) */
.reveal{opacity:.001; transform:translateY(12px); animation: fadeUp both ease-out; animation-timeline: view(); animation-range: entry 25% cover 30%}
@keyframes fadeUp{to{opacity:1; transform:none}}
