/* Leo Local SEO — page sections */

.section{padding:84px 0}
.section--alt{background:var(--surface-2)}
.section--deep{background:var(--deep);color:rgba(255,255,255,.75)}
.section--deep h2,.section--deep h3{color:#fff}

.eyebrow{
  display:inline-block;
  font-size:12px;font-weight:800;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--olive-800);
  padding-bottom:7px;
  border-bottom:3px solid var(--yellow);
  margin-bottom:20px;
}
.section--deep .eyebrow{color:var(--yellow);border-color:rgba(245,215,79,.4)}

.section-head{max-width:62ch;margin-bottom:44px}
.section-head h2{font-size:clamp(27px,3.4vw,40px);margin:0 0 14px}
.section-head p{font-size:17px;margin:0}
.section-head--center{margin-inline:auto;text-align:center}

.lead{font-size:18px;line-height:1.7}
.muted{color:var(--ink-3)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ---------- Hero ---------- */
.hero{
  background:var(--surface-2);
  border-bottom:1px solid var(--line);
  padding:74px 0 78px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:56px;align-items:center;
}
.hero h1{
  font-size:clamp(33px,4.6vw,54px);
  margin:0 0 18px;
}
.hero h1 mark{
  background:linear-gradient(transparent 62%,var(--yellow) 62%);
  color:inherit;padding:0 2px;
}
.hero .lead{max-width:52ch;margin:0 0 6px}
.hero-points{
  list-style:none;margin:24px 0 0;padding:0;
  display:grid;gap:11px;
}
.hero-points li{
  position:relative;padding-left:28px;
  font-size:15.5px;font-weight:600;color:var(--ink);
}
.hero-points li::before{
  content:"";position:absolute;left:0;top:8px;
  width:14px;height:8px;
  border-left:3px solid var(--olive-700);
  border-bottom:3px solid var(--olive-700);
  transform:rotate(-45deg);
}

/* ---------- Trust strip ---------- */
.trust{
  padding:26px 0;
  background:var(--surface);
  border-bottom:1px solid var(--line);
}
.trust-inner{display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:center}
.trust-label{
  font-size:11.5px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);
}
.trust-logos{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:14px;flex:1 1 460px;
}

/* ---------- Services ---------- */
.svc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.svc{
  background:var(--surface);
  padding:32px 28px;
  display:flex;flex-direction:column;
  transition:background .18s ease;
}
.svc:hover{background:var(--surface-2)}
.svc-num{
  font-size:12px;font-weight:800;
  letter-spacing:.1em;color:var(--olive);
  margin-bottom:14px;
}
.svc h3{font-size:19px;margin:0 0 10px;letter-spacing:-.015em}
.svc p{font-size:14.5px;line-height:1.65;margin:0 0 18px;flex:1}
.svc a{
  font-size:12.5px;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;
  color:var(--olive-800);text-decoration:none;
}
.svc a:hover{text-decoration:underline}
.svc a::after{content:" →"}

/* ---------- Split rows ---------- */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;align-items:center;
}
.split + .split{margin-top:76px}
.split--flip .split-media{order:-1}
.split h2{font-size:clamp(24px,2.9vw,33px)}

.checklist{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:13px}
.checklist li{
  position:relative;padding-left:30px;
  font-size:15.5px;line-height:1.6;
}
.checklist li::before{
  content:"";position:absolute;left:0;top:3px;
  width:18px;height:18px;border-radius:3px;
  background:var(--yellow);
}
.checklist li::after{
  content:"";position:absolute;left:5px;top:8px;
  width:8px;height:4px;
  border-left:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  transform:rotate(-45deg);
}

/* ---------- Process ---------- */
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}
.step{border-top:4px solid var(--yellow);padding-top:22px}
.step-num{
  font-size:38px;font-weight:800;
  color:var(--olive);line-height:1;
  letter-spacing:-.04em;margin-bottom:12px;
}
.step h3{font-size:17.5px;margin:0 0 8px}
.step p{font-size:14.5px;line-height:1.6;margin:0}

/* ---------- Industries ---------- */
.ind-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:20px;
}
.ind{
  display:block;text-decoration:none;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--surface);
  transition:border-color .18s ease;
}
.ind:hover{border-color:var(--olive);text-decoration:none}
.ind-body{padding:16px 18px}
.ind-body strong{
  display:block;font-size:15.5px;
  color:var(--ink);letter-spacing:-.01em;
}
.ind-body span{font-size:13px;color:var(--ink-3)}

/* ---------- Reviews ---------- */
.rev-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.rev{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:26px 24px;
}
.rev-stars{
  display:flex;gap:3px;margin-bottom:14px;
  color:var(--yellow-600);
}
.rev-stars svg{width:17px;height:17px}
.rev p{font-size:15px;line-height:1.65;margin:0 0 18px;color:var(--ink)}
.rev-who{display:flex;align-items:center;gap:12px}
.rev-who .img-frame{width:42px;flex:0 0 auto}
.rev-who strong{display:block;font-size:14px;color:var(--ink)}
.rev-who span{font-size:12.5px;color:var(--ink-3)}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-inline:auto}
.faq details{
  border-bottom:1px solid var(--line);
  padding:20px 0;
}
.faq summary{
  cursor:pointer;list-style:none;
  font-size:17px;font-weight:700;color:var(--ink);
  display:flex;justify-content:space-between;gap:18px;
  align-items:flex-start;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";font-size:23px;font-weight:400;
  color:var(--olive);line-height:1;flex:0 0 auto;
}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:14px 0 0;font-size:15.5px;line-height:1.7}

/* ---------- Final CTA ---------- */
.cta-band{
  background:var(--olive-700);
  color:#fff;padding:64px 0;
}
.cta-band h2{color:#fff;font-size:clamp(26px,3.2vw,36px);margin:0 0 12px}
.cta-band p{font-size:17px;color:rgba(255,255,255,.9);margin:0 auto;max-width:56ch}
.cta-band .btn-row{justify-content:center}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);gap:32px}
  .rev-grid{grid-template-columns:1fr}
}
@media (max-width:860px){
  .section{padding:60px 0}
  .hero{padding:52px 0 58px}
  .hero-grid,.split{grid-template-columns:1fr;gap:34px}
  .split--flip .split-media{order:0}
  .split + .split{margin-top:56px}
}
@media (max-width:560px){
  .svc-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
}
