
/* Montgomery County Foundation Repair
   Palette drawn from the county's own ground: Black Belt prairie soil,
   Selma Group chalk, weathered marl, Coastal Plain sand. */
:root{
  --soil:#171B14;
  --soil-2:#242A20;
  --soil-3:#39412F;
  --chalk:#F5F3EB;
  --chalk-2:#EAE7DA;
  --marl:#CFCABA;
  --sand:#C08A2E;
  --sand-lo:#8A6015;
  --sand-hi:#E0AE4E;
  --ink:#14170F;
  --ink-2:#4B5142;
  --line:#D3CEBE;
  --line-dk:#3A4132;
  --wrap:1120px;
  --r:3px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--chalk);color:var(--ink);
  font-family:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
  padding-bottom:64px;
}
@media(min-width:860px){body{padding-bottom:0}}
img{max-width:100%;height:auto}
a{color:var(--sand-lo);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--sand);outline-offset:2px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}

h1,h2,h3{font-family:"Bitter",Georgia,serif;font-weight:700;line-height:1.2;color:var(--ink);letter-spacing:-.01em}
h1{font-size:2rem;margin:0 0 .6rem}
h2{font-size:1.4rem;margin:2.4rem 0 .7rem}
h3{font-size:1.1rem;margin:1.8rem 0 .4rem}
@media(min-width:760px){h1{font-size:2.9rem}h2{font-size:1.75rem}}
p{margin:0 0 1.05rem}

.eyebrow{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sand-lo);margin:0 0 .7rem;display:block;font-weight:500;
}
.lede{font-size:1.13rem;line-height:1.6;color:var(--ink-2);max-width:62ch}
@media(min-width:760px){.lede{font-size:1.24rem}}

/* --- signature: the stratigraphy rule -------------------------------------
   Four bands = the four Coastal Plain divisions the USGS maps inside
   Montgomery County. Used as the page's structural marker. */
.strata{display:flex;height:9px;width:100%;overflow:hidden;border-radius:1px}
.strata i{display:block;flex:1}
.strata i:nth-child(1){background:var(--sand-hi)}   /* river terraces  */
.strata i:nth-child(2){background:var(--chalk-2);flex:1.4}  /* Black Prairie chalk */
.strata i:nth-child(3){background:var(--sand-lo);flex:.8}   /* Chunnenuggee Hills */
.strata i:nth-child(4){background:var(--soil-3);flex:.6}    /* floodplains */
.strata-key{
  display:none;gap:14px;flex-wrap:wrap;margin-top:10px;
  font-family:"IBM Plex Mono",monospace;font-size:.63rem;letter-spacing:.09em;
  text-transform:uppercase;color:#8B9180;
}
@media(min-width:760px){.strata-key{display:flex;margin-bottom:6px}}
.strata-key span{white-space:nowrap}
.strata-key span::before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;vertical-align:1px}
.strata-key span:nth-child(1)::before{background:var(--sand-hi)}
.strata-key span:nth-child(2)::before{background:var(--chalk-2)}
.strata-key span:nth-child(3)::before{background:var(--sand-lo)}
.strata-key span:nth-child(4)::before{background:var(--soil-3)}

/* --- header ------------------------------------------------------------- */
.topbar{background:var(--soil);color:var(--chalk)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.logo b{font-family:"Bitter",Georgia,serif;font-size:1.02rem;color:var(--chalk);letter-spacing:-.01em}
.logo span{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sand-hi);margin-top:3px}
@media(min-width:760px){.logo b{font-size:1.22rem}}
.callbtn{
  background:var(--sand);color:var(--soil);font-weight:700;text-decoration:none;
  padding:9px 15px;border-radius:var(--r);white-space:nowrap;font-size:.94rem;
  border:1px solid var(--sand-hi);
}
.callbtn:hover{background:var(--sand-hi);color:var(--soil)}
.callbtn small{display:block;font-family:"IBM Plex Mono",monospace;font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;font-weight:400;opacity:.75}

nav.main{background:var(--soil-2);border-top:1px solid var(--line-dk)}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}
nav.main a{
  display:block;padding:11px 14px;color:var(--marl);text-decoration:none;white-space:nowrap;
  font-size:.83rem;font-weight:600;letter-spacing:.02em;
}
nav.main a:hover,nav.main a[aria-current]{color:var(--soil);background:var(--sand-hi)}

/* --- disclosure --------------------------------------------------------- */
.disclose{background:var(--chalk-2);border-bottom:1px solid var(--line);font-size:.83rem;color:var(--ink-2)}
.disclose .wrap{padding-top:9px;padding-bottom:9px}
.disclose strong{color:var(--ink)}

/* --- hero --------------------------------------------------------------- */
.hero{background:var(--soil);color:var(--chalk-2);padding:38px 0 34px}
.hero h1{color:var(--chalk)}
.hero .lede{color:var(--marl)}
.hero .strata{margin-bottom:22px;max-width:420px}
.hero-grid{display:grid;gap:26px;grid-template-columns:1fr;align-items:start;margin-top:14px}
@media(min-width:940px){.hero-grid{grid-template-columns:1.55fr .9fr;gap:48px}}
.hero-panel{border:1px solid var(--soil-3);border-radius:var(--r);padding:20px;background:var(--soil-2)}
.hero-panel h2{color:var(--chalk);font-size:1.02rem;margin:0 0 12px}
.hero-panel dl{margin:0;font-size:.88rem}
.hero-panel dt{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--sand-hi);margin-top:13px}
.hero-panel dt:first-child{margin-top:0}
.hero-panel dd{margin:2px 0 0;color:var(--marl)}
.hero-panel dd a{color:var(--sand-hi);text-decoration:none;font-weight:700;font-size:1.12rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn{
  display:inline-block;padding:13px 22px;border-radius:var(--r);text-decoration:none;
  font-weight:700;font-size:1rem;border:1px solid transparent;text-align:center;
}
.btn-a{background:var(--sand);color:var(--soil);border-color:var(--sand-hi)}
.btn-a:hover{background:var(--sand-hi);color:var(--soil)}
.btn-b{background:transparent;color:var(--chalk);border-color:var(--soil-3)}
.btn-b:hover{background:var(--soil-2);color:var(--chalk)}
.btn-c{background:var(--soil);color:var(--chalk);border-color:var(--soil)}
.btn-c:hover{background:var(--soil-2);color:var(--chalk)}
@media(min-width:760px){.hero{padding:64px 0 56px}}

/* --- body content ------------------------------------------------------- */
main{padding:30px 0 10px}
.prose{max-width:70ch}
.prose h2:first-child{margin-top:0}
ul.checks{list-style:none;margin:0 0 1.3rem;padding:0}
ul.checks li{position:relative;padding:0 0 0 24px;margin-bottom:.5rem}
ul.checks li::before{
  content:"";position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--sand-lo);
}
ol.steps{list-style:none;counter-reset:s;margin:0 0 1.3rem;padding:0}
ol.steps li{counter-increment:s;position:relative;padding:0 0 0 38px;margin-bottom:1rem}
ol.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:0;top:.05em;
  font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--sand-lo);font-weight:600;
}

/* --- cards -------------------------------------------------------------- */
.grid{display:grid;gap:12px;grid-template-columns:1fr;margin:22px 0 8px}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.grid.three{grid-template-columns:1fr 1fr 1fr}}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:18px;text-decoration:none;color:var(--ink);display:block;
  border-left:3px solid var(--sand);
}
.card:hover{border-left-color:var(--soil);background:var(--chalk-2);color:var(--ink)}
.card b{font-family:"Bitter",Georgia,serif;display:block;font-size:1.03rem;margin-bottom:5px}
.card span{font-size:.9rem;color:var(--ink-2);display:block}
.card em{
  font-family:"IBM Plex Mono",monospace;font-style:normal;font-size:.63rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--sand-lo);display:block;margin-top:8px;
}

/* --- section band ------------------------------------------------------- */
.band{background:var(--chalk-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;margin:38px 0 0}
.band h2{margin-top:0}

/* --- form --------------------------------------------------------------- */
.formwrap{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:26px 0}
.formwrap h2{margin-top:0}
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;font-size:.88rem;margin-bottom:5px}
.field input,.field select,.field textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r);
  font-family:inherit;font-size:1rem;background:var(--chalk);color:var(--ink);
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sand);background:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formnote{font-size:.8rem;color:var(--ink-2);margin-top:12px}
button.submit{
  width:100%;padding:15px;background:var(--sand);color:var(--soil);border:1px solid var(--sand-hi);
  border-radius:var(--r);font-family:inherit;font-size:1.05rem;font-weight:700;cursor:pointer;
}
button.submit:hover{background:var(--sand-hi)}

/* --- CTA strip ---------------------------------------------------------- */
.ctastrip{background:var(--soil);color:var(--chalk);padding:34px 0;margin-top:44px}
.ctastrip h2{color:var(--chalk);margin-top:0}
.ctastrip p{color:var(--marl);max-width:60ch}
.tel{color:var(--sand-hi);font-weight:700;text-decoration:none}
.tel:hover{color:#fff}

/* --- breadcrumb & interlinks -------------------------------------------- */
.crumb{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.07em;color:var(--ink-2);margin:0 0 14px;text-transform:uppercase}
.crumb a{color:var(--ink-2)}
.crumb.on-dark{color:var(--marl)}
.crumb.on-dark a{color:var(--marl)}
.inline-links{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.inline-links li a{
  display:inline-block;padding:6px 11px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);font-size:.83rem;text-decoration:none;color:var(--ink);
}
.inline-links li a:hover{background:var(--soil);color:var(--chalk);border-color:var(--soil)}

/* --- FAQ ---------------------------------------------------------------- */
.faq{border-top:1px solid var(--line);padding:18px 0}
.faq h3{margin:0 0 .4rem;font-size:1.05rem}
.faq p{margin:0;color:var(--ink-2)}

/* --- footer ------------------------------------------------------------- */
footer{background:var(--soil);color:var(--marl);padding:0 0 34px;margin-top:0;font-size:.9rem}
footer .strata{margin-bottom:30px}
footer a{color:var(--marl);text-decoration:none}
footer a:hover{color:var(--sand-hi)}
.fgrid{display:grid;gap:26px;grid-template-columns:1fr}
@media(min-width:700px){.fgrid{grid-template-columns:1.3fr 1fr 1fr}}
.fgrid h4{font-family:"Bitter",Georgia,serif;color:var(--chalk);font-size:.95rem;margin:0 0 10px}
.fgrid ul{list-style:none;margin:0;padding:0;columns:1}
.fgrid li{margin-bottom:6px;font-size:.86rem}
.legal{border-top:1px solid var(--line-dk);margin-top:28px;padding-top:18px;font-size:.79rem;color:#8B9180;line-height:1.6}
.legal p{margin:0 0 .6rem}

/* --- sticky mobile call bar --------------------------------------------- */
.stickycall{
  position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;
  border-top:1px solid var(--sand-hi);
}
.stickycall a{
  flex:1;text-align:center;padding:15px 8px;text-decoration:none;font-weight:700;font-size:.95rem;
}
.stickycall a.c1{background:var(--sand);color:var(--soil)}
.stickycall a.c2{background:var(--soil);color:var(--chalk)}
@media(min-width:860px){.stickycall{display:none}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
