:root{
    --forest:#0B3D2E;
    --turf:#2E7D32;
    --bright:#7ED957;
    --bg:#F8FAF9;
    --bg-tint:#EAF3EA;
    --ink:#132420;
    --slate:#3D4B45;
    --slate-soft:#5E6B64;
    --rule:#DCE6DE;
    --max:1120px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--slate);
    font-family:'Inter', sans-serif;
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Montserrat', sans-serif;
    color:var(--ink);
    line-height:1.08;
    margin:0;
    letter-spacing:-0.2px;
  }
  a{color:inherit;}
  img,svg{display:block;max-width:100%;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
  .measure{max-width:62ch;}

  a:focus-visible,button:focus-visible{
    outline:3px solid var(--bright);
    outline-offset:3px;
  }

  @media (prefers-reduced-motion: no-preference){
    @keyframes fadeUp{
      from{opacity:0;transform:translateY(14px);}
      to{opacity:1;transform:translateY(0);}
    }
    .hero h1{animation:fadeUp 0.7s ease-out both;}
    .hero-lede{animation:fadeUp 0.7s ease-out 0.12s both;}
    .hero-ctas{animation:fadeUp 0.7s ease-out 0.22s both;}
    .hero-note{animation:fadeUp 0.7s ease-out 0.3s both;}

    @keyframes slowZoom{
      from{transform:scale(1);}
      to{transform:scale(1.08);}
    }
    .hero-visual img{animation:slowZoom 16s ease-in-out infinite alternate;}

    @keyframes pulseGlow{
      0%,100%{opacity:0.55;transform:scale(1);}
      50%{opacity:1;transform:scale(1.06);}
    }
    .cta-band .btn-primary{position:relative;}
    .cta-band .btn-primary::before{
      content:"";position:absolute;inset:-6px;border-radius:8px;
      background:var(--bright);opacity:0.4;z-index:-1;filter:blur(10px);
      animation:pulseGlow 2.6s ease-in-out infinite;
    }

    .spec-row{transition:background-color 0.25s ease, transform 0.25s ease;}
    .spec-row:hover{background:var(--bg-tint);transform:translateX(4px);}
    .btn{transition:transform 0.2s ease, background-color 0.2s ease;}
    .btn:hover{transform:translateY(-2px);}
  }

  /* Header */
  header{
    position:sticky;top:0;z-index:40;
    background:var(--bg);
    border-bottom:1px solid var(--rule);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:12px 28px;
    max-width:var(--max);margin:0 auto;
  }
  .logo-link{display:flex;align-items:center;min-height:44px;flex:none;}
  .logo-mark{height:56px;width:auto;}
  .nav-links{display:flex;gap:32px;list-style:none;margin:0;padding:0;}
  .nav-links a{
    text-decoration:none;
    font-size:15px;
    font-weight:500;
    color:var(--slate);
  }
  .nav-links a:hover{color:var(--forest);}
  .btn{
    display:inline-block;
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:15px;
    padding:12px 22px;
    border-radius:4px;
    text-decoration:none;
    border:1.5px solid transparent;
    cursor:pointer;
  }
  .btn-primary{background:var(--bright);color:var(--forest);}
  .btn-primary:hover{background:#65c245;}
  .btn-ghost{background:transparent;color:var(--forest);border-color:var(--forest);}
  .btn-ghost:hover{background:var(--forest);color:#fff;}

  /* Hero */
  .hero{padding:80px 0 96px;background:var(--bg);}
  .hero .wrap{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:56px;
    align-items:center;
  }
  .hero h1{
    font-size:clamp(38px,5vw,60px);
    font-weight:800;
    text-wrap:balance;
  }
  .hero-lede{
    margin-top:22px;
    font-size:18.5px;
    color:var(--slate-soft);
    max-width:46ch;
  }
  .hero-ctas{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
  .hero-note{margin-top:18px;font-size:14px;color:var(--slate-soft);}

  .hero-visual{
    position:relative;
    border-radius:10px;
    overflow:hidden;
    aspect-ratio:4/3.4;
  }
  .hero-visual img{
    width:100%;height:100%;object-fit:cover;
  }
  .hero-visual::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(11,61,46,0) 40%, rgba(11,61,46,0.88) 100%);
  }
  .hero-visual-caption{
    position:absolute;left:22px;right:22px;bottom:20px;z-index:2;
    color:#fff;
  }
  .hero-visual-caption strong{display:block;font-family:'Montserrat',sans-serif;font-size:17px;}
  .hero-visual-caption span{font-size:13.5px;color:#D9EBD9;}

  /* Problem */
  .problem{background:var(--forest);color:var(--bg);padding:80px 0;}
  .problem h2{color:var(--bg);font-size:clamp(30px,3.6vw,44px);}
  .problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px;align-items:start;}
  .problem-list{list-style:none;margin:0;padding:0;}
  .problem-list li{
    display:flex;gap:16px;align-items:flex-start;
    padding:20px 0;border-top:1px solid rgba(248,250,249,0.16);
    font-size:16.5px;color:#D9EBD9;
  }
  .problem-list li:last-child{border-bottom:1px solid rgba(248,250,249,0.16);}
  .problem-list strong{color:#fff;font-weight:600;}
  .problem-list svg{margin-top:2px;color:var(--bright);flex:none;}

  /* Services */
  .services{padding:96px 0;background:var(--bg);}
  .section-head{max-width:640px;}
  .section-head p{color:var(--slate-soft);font-size:17.5px;margin-top:14px;}
  .spec-sheet{margin-top:48px;border-top:2px solid var(--ink);}
  .spec-row{
    display:grid;grid-template-columns:52px 1fr 1.4fr;gap:24px;
    padding:30px 0;border-bottom:1px solid var(--rule);align-items:flex-start;
  }
  .spec-icon{
    width:44px;height:44px;border-radius:8px;background:var(--bg-tint);
    display:flex;align-items:center;justify-content:center;color:var(--forest);
  }
  .spec-name{font-family:'Montserrat', sans-serif;font-size:21px;color:var(--ink);font-weight:700;padding-top:6px;}
  .spec-desc{color:var(--slate-soft);font-size:16px;padding-top:6px;}

  /* Case studies */
  .cases{background:var(--bg-tint);padding:96px 0;}
  .case-row{display:grid;grid-template-columns:0.85fr 1.15fr;gap:44px;padding:44px 0;border-bottom:1px solid var(--rule);}
  .case-row:first-of-type{border-top:1px solid var(--rule);}
  .case-visual{
    position:relative;border-radius:8px;overflow:hidden;
    min-height:150px;background:var(--forest);
    background-image:linear-gradient(135deg, rgba(11,61,46,0.85), rgba(11,61,46,0.55)), url('assets/grass-texture.jpg');
    background-size:cover;background-position:center;
    padding:20px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .case-tag{
    display:inline-block;align-self:flex-start;font-size:13px;font-weight:600;
    color:var(--forest);background:var(--bright);padding:5px 10px;border-radius:3px;
  }
  .case-visual svg{color:rgba(255,255,255,0.65);width:52px;height:52px;}
  .case-row h3{font-size:26px;font-weight:700;margin-top:4px;}
  .case-loc{color:var(--slate-soft);font-size:15px;margin-top:4px;}
  .case-body p{color:var(--slate);font-size:16.5px;margin:0 0 12px;}
  .case-scope{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px;}
  .case-scope li{font-size:13.5px;color:var(--slate-soft);background:#fff;border:1px solid var(--rule);padding:5px 10px;border-radius:3px;}

  /* Process */
  .process{padding:96px 0;background:var(--bg);}
  .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px;}
  .process-step{border-top:3px solid var(--turf);padding-top:20px;}
  .process-icon{width:38px;height:38px;color:var(--forest);margin-bottom:14px;}
  .process-step .step-num{font-family:'Montserrat', sans-serif;font-size:13.5px;font-weight:700;color:var(--turf);letter-spacing:1px;}
  .process-step h3{font-size:22px;margin-top:8px;}
  .process-step p{color:var(--slate-soft);font-size:15.5px;margin-top:10px;}

  /* CTA band */
  .cta-band{
    background:var(--forest);color:#fff;padding:64px 0;position:relative;overflow:hidden;
    background-image:linear-gradient(135deg, rgba(11,61,46,0.93), rgba(11,61,46,0.8)), url('assets/grass-texture.jpg');
    background-size:cover;background-position:right center;
  }
  .cta-band-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;position:relative;}
  .cta-band h2{color:#fff;font-size:clamp(28px,3.4vw,38px);max-width:520px;}

  /* Footer (legacy, still used by the city landing pages) */
  footer:not(.site-footer){padding:40px 0;border-top:1px solid var(--rule);background:var(--bg);}
  .footer-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;font-size:14.5px;color:var(--slate-soft);}
  .footer-logo{height:26px;width:auto;opacity:0.85;}
  footer:not(.site-footer) a{text-decoration:none;color:var(--slate-soft);}
  footer:not(.site-footer) a:hover{color:var(--forest);}

  /* Site footer */
  .site-footer{background:var(--forest);color:#D9EBD9;padding:64px 0 0;font-size:15px;}
  .footer-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;}
  .footer-brand .footer-brand-logo{height:44px;width:auto;}
  .footer-brand p{margin:18px 0 0;max-width:34ch;line-height:1.55;}
  .footer-brand .footer-entity{font-size:13.5px;color:#A9C4B1;margin-top:12px;}
  .footer-title{
    font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;color:#fff;
    letter-spacing:1px;text-transform:uppercase;margin:0 0 14px;
  }
  .footer-title + ul + .footer-title{margin-top:26px;}
  .footer-links{list-style:none;margin:0;padding:0;}
  .footer-links a,.footer-contact a{
    display:inline-flex;align-items:center;gap:8px;padding:5px 0;
    color:#D9EBD9;text-decoration:none;
  }
  .footer-links a:hover,.footer-contact a:hover{color:var(--bright);}
  .footer-contact a svg{flex:none;color:var(--bright);}
  .footer-social{display:flex;gap:10px;margin-top:18px;}
  .footer-social a{
    width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,0.08);color:var(--bright);transition:background-color 0.2s ease,color 0.2s ease;
  }
  .footer-social a:hover{background:var(--bright);color:var(--forest);}
  .footer-bottom{
    margin-top:56px;border-top:1px solid rgba(248,250,249,0.16);padding:20px 0 24px;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;
    font-size:13.5px;color:#A9C4B1;
  }
  .footer-legal{display:flex;gap:20px;}
  .footer-legal a{color:#A9C4B1;text-decoration:none;}
  .footer-legal a:hover{color:var(--bright);}
  .site-footer a:focus-visible{outline-color:var(--bright);}
  @media (max-width:900px){
    .footer-cols{grid-template-columns:repeat(3,1fr);gap:36px 28px;}
    .footer-brand{grid-column:1/-1;}
  }
  @media (max-width:640px){
    .footer-cols{grid-template-columns:1fr 1fr;}
    .footer-contact{grid-column:1/-1;}
    .footer-links a,.footer-contact a,.footer-legal a{min-height:44px;min-width:44px;padding:0;}
    .footer-legal a{display:inline-flex;align-items:center;}
  }
  @media (max-width:520px){
    .site-footer{padding-top:48px;}
    .footer-cols{grid-template-columns:1fr;}
    .footer-bottom{flex-direction:column;align-items:flex-start;margin-top:40px;}
  }

  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr;}
    .hero-visual{order:-1;}
    .problem-grid{grid-template-columns:1fr;}
    .spec-row{grid-template-columns:44px 1fr;}
    .spec-row .spec-desc{grid-column:1/-1;}
    .case-row{grid-template-columns:1fr;}
    .process-grid{grid-template-columns:1fr;}
    .nav-links{display:none;}
    .cta-band-inner{flex-direction:column;align-items:flex-start;}
  }

/* ---- Shared: page hero (services/about/contact/city pages) ---- */
.page-hero{padding:64px 0 56px;background:var(--bg);}
.page-hero .eyebrow-tag{
  display:inline-block;font-size:13.5px;font-weight:600;color:var(--forest);
  background:var(--bg-tint);padding:6px 12px;border-radius:4px;margin-bottom:16px;
}
.page-hero h1{font-size:clamp(32px,4.4vw,50px);font-weight:800;max-width:16ch;}
.page-hero p{margin-top:16px;color:var(--slate-soft);font-size:18px;max-width:56ch;}
.page-hero .breadcrumb,.breadcrumb{font-size:13px;font-weight:400;line-height:1.4;color:var(--slate-soft);margin:0 0 12px;}
.breadcrumb a{color:var(--slate-soft);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;}
.breadcrumb a:hover{color:var(--forest);text-decoration-color:currentColor;}

/* ---- Results / charts ---- */
.results{padding:88px 0;background:var(--bg-tint);}
.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:44px;}
.chart-card{
  background:#fff;border:1px solid var(--rule);border-radius:10px;padding:28px 26px 24px;
}
.chart-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;}
.chart-card h3{font-size:19px;font-weight:700;}
.chart-card .chart-loc{font-size:13.5px;color:var(--slate-soft);margin-top:3px;}
.chart-badge{
  font-size:13px;font-weight:700;color:var(--forest);background:var(--bright);
  padding:5px 10px;border-radius:20px;white-space:nowrap;
}
.bar-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.bar-label{width:60px;flex:none;font-size:13.5px;color:var(--slate-soft);}
.bar-track{flex:1;height:34px;background:var(--bg-tint);border-radius:5px;overflow:hidden;position:relative;}
.bar-fill{height:100%;border-radius:5px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;}
.bar-fill span{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;}
.bar-fill.start{background:#B9C7BD;}
.bar-fill.end{background:var(--forest);}
.chart-note{font-size:13.5px;color:var(--slate-soft);margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);}

@media (prefers-reduced-motion: no-preference){
  @keyframes growBar{from{width:0;}}
  .bar-fill{animation:growBar 1.1s cubic-bezier(.2,.7,.3,1) both;}
}

/* ---- Service detail blocks (services page) ---- */
.detail-block{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  padding:56px 0;border-bottom:1px solid var(--rule);
}
.detail-block:first-of-type{border-top:1px solid var(--rule);}
.detail-block.reverse .detail-copy{order:2;}
.detail-icon-lg{
  width:56px;height:56px;border-radius:12px;background:var(--bg-tint);
  display:flex;align-items:center;justify-content:center;color:var(--forest);margin-bottom:18px;
}
.detail-copy h3{font-size:26px;font-weight:700;}
.detail-copy p{color:var(--slate-soft);font-size:16.5px;margin-top:12px;}
.detail-list{list-style:none;padding:0;margin:18px 0 0;}
.detail-list li{
  display:flex;gap:10px;font-size:15.5px;color:var(--slate);padding:8px 0;
}
.detail-list li svg{flex:none;color:var(--forest);margin-top:2px;}
.detail-panel{
  background:var(--bg-tint);border-radius:10px;padding:30px;min-height:220px;
  display:flex;align-items:center;justify-content:center;
}

/* ---- About page ---- */
.about-block{padding:64px 0;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-top:20px;}
.about-photo{border-radius:10px;overflow:hidden;background:var(--forest);min-height:280px;
  background-image:linear-gradient(135deg, rgba(11,61,46,0.85), rgba(11,61,46,0.5)), url('assets/grass-texture.jpg');
  background-size:cover;background-position:center;}
.timeline{list-style:none;padding:0;margin:24px 0 0;border-left:2px solid var(--rule);}
.timeline li{padding:0 0 24px 24px;position:relative;}
.timeline li::before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--forest);}
.timeline strong{display:block;font-family:'Montserrat',sans-serif;font-size:15.5px;color:var(--ink);}
.timeline span{font-size:14.5px;color:var(--slate-soft);}

/* ---- Contact page ---- */
.contact-block{padding:72px 0 96px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:36px;}
.contact-card{
  background:var(--bg-tint);border-radius:10px;padding:32px;
}
.contact-card h3{font-size:20px;font-weight:700;margin-bottom:18px;}
.contact-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--rule);}
.contact-row:first-of-type{border-top:none;}
.contact-row svg{flex:none;color:var(--forest);}
.contact-row a{text-decoration:none;font-weight:600;color:var(--ink);}
.contact-row a:hover{color:var(--forest);}
.contact-note-box{
  border:1px dashed var(--rule);border-radius:8px;padding:18px 20px;margin-top:24px;
  font-size:14px;color:var(--slate-soft);
}

/* ---- City pages ---- */
.city-context{padding:72px 0;background:var(--bg);}
.city-context-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;}
.city-stat-card{background:var(--bg-tint);border-radius:10px;padding:24px;margin-bottom:14px;}
.city-stat-card strong{display:block;font-family:'Montserrat',sans-serif;font-size:22px;color:var(--forest);}
.city-stat-card span{font-size:14px;color:var(--slate-soft);}

@media (max-width:860px){
  .results-grid{grid-template-columns:1fr;}
  .detail-block, .detail-block.reverse .detail-copy{grid-template-columns:1fr;order:0;}
  .about-grid,.contact-grid,.city-context-grid{grid-template-columns:1fr;}
}

/* ===== Dropdown navigation ===== */
.nav-links{position:relative;}
.nav-item{position:relative;}
.nav-item > a, .nav-item > span, .nav-trigger{
  display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  text-decoration:none;font-size:15px;font-weight:500;color:var(--slate);
  padding:6px 0;
}
.nav-trigger{background:none;border:0;font-family:inherit;min-height:44px;}
.nav-item > a{min-height:44px;}
.nav-item > a:hover, .nav-item > span:hover, .nav-trigger:hover{color:var(--forest);}
.nav-item .caret{width:12px;height:12px;transition:transform 0.2s ease;}
.nav-item.open .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px);}
.nav-item.open .caret{transform:rotate(180deg);}
.nav-cta-item{display:none;}
@media (max-width:1180px){
  .nav-links{gap:20px;}
  .nav .nav-cta-bar{padding:11px 16px;}
}
.dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid var(--rule);border-radius:8px;
  box-shadow:0 12px 32px rgba(11,61,46,0.12);
  padding:8px;min-width:270px;opacity:0;visibility:hidden;transition:all 0.18s ease;z-index:60;
}
.nav-item:hover .dropdown, .nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px);}
.nav-item:hover .caret{transform:rotate(180deg);}
.dropdown a{
  display:block;padding:10px 12px;border-radius:6px;text-decoration:none;
  font-size:14.5px;font-weight:500;color:var(--slate);white-space:nowrap;
}
.dropdown a:hover{background:var(--bg-tint);color:var(--forest);}

/* Mobile nav */
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;color:var(--ink);
  width:44px;height:44px;align-items:center;justify-content:center;margin-right:-8px;flex:none;
}
.nav-toggle .icon-close{display:none;}
.nav-toggle[aria-expanded="true"] .icon-open{display:none;}
.nav-toggle[aria-expanded="true"] .icon-close{display:block;}
@media (max-width:1024px){
  .nav{padding:10px 20px;}
  .logo-mark{height:48px;}
  .nav-toggle{display:flex;order:3;}
  .nav .nav-cta-bar{margin-left:auto;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--bg);border-bottom:1px solid var(--rule);
    flex-direction:column;gap:0;padding:4px 20px 20px;align-items:stretch;
    box-shadow:0 16px 30px rgba(11,61,46,0.08);
    max-height:calc(100vh - 72px);overflow-y:auto;overscroll-behavior:contain;
  }
  .nav-links.open{display:flex;}
  .nav-item{border-bottom:1px solid var(--rule);}
  .nav-item:last-child{border-bottom:none;}
  .nav-item > a, .nav-item > span, .nav-trigger{
    width:100%;min-height:48px;padding:12px 0;justify-content:space-between;font-size:16px;
  }
  .dropdown, .nav-item.open .dropdown{
    position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:none;
    border:none;padding:0 0 10px 14px;min-width:auto;transition:none;
  }
  .nav-item.has-sub:not(.open) .dropdown{display:none;}
  .dropdown a{display:flex;align-items:center;min-height:44px;padding:8px 12px;white-space:normal;font-size:15px;}
  .nav-item:hover .caret{transform:none;}
  .nav-item.open .caret{transform:rotate(180deg);}
}
@media (max-width:600px){
  .nav .nav-cta-bar{display:none;}
  .nav-cta-item{display:block;border-bottom:none;padding-top:16px;}
  .nav-cta-item .btn{display:flex;justify-content:center;min-height:48px;align-items:center;}
  .nav-toggle{margin-left:auto;}
  .logo-mark{height:44px;}
}
@media (max-width:360px){
  .nav{padding:10px 16px;}
  .logo-mark{height:38px;}
}

/* ===== Blog ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;}
.blog-card{
  background:#fff;border:1px solid var(--rule);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,61,46,0.1);}
.blog-card-img{height:150px;background:var(--forest);
  background-image:linear-gradient(135deg, rgba(11,61,46,0.8), rgba(46,125,50,0.6)), url('assets/grass-texture.jpg');
  background-size:cover;background-position:center;}
.blog-card-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.blog-card .blog-tag{font-size:12.5px;font-weight:600;color:var(--turf);text-transform:uppercase;letter-spacing:0.5px;}
.blog-card h3{font-size:19px;margin-top:8px;line-height:1.25;}
.blog-card p{color:var(--slate-soft);font-size:14.5px;margin-top:10px;flex:1;}
.blog-card a.read{margin-top:16px;font-weight:600;font-size:14.5px;color:var(--forest);text-decoration:none;}
.blog-card a.read:hover{text-decoration:underline;}

/* Blog post body */
.post{padding:56px 0 88px;}
.post-body{max-width:70ch;margin:0 auto;}
.post-body h2{font-size:26px;margin:36px 0 14px;}
.post-body h3{font-size:20px;margin:28px 0 10px;}
.post-body p{font-size:17px;color:var(--slate);margin:0 0 18px;}
.post-body ul{margin:0 0 18px;padding-left:22px;color:var(--slate);}
.post-body li{margin-bottom:8px;}
.post-meta{color:var(--slate-soft);font-size:14.5px;margin-bottom:8px;}
.post-cta{background:var(--bg-tint);border-radius:10px;padding:28px;margin-top:40px;text-align:center;}
.post-cta h3{font-size:21px;}
.post-cta p{color:var(--slate-soft);margin:10px 0 18px;}

@media (max-width:900px){
  .blog-grid{grid-template-columns:1fr;}
}
