/* Texas Foundation Repair, styles (v3) */
/* Font loading moved to <link> tags in each page's <head> for performance,
   see CITY-PAGE-TEMPLATE.txt. Do not re-add an @import here, it blocks render. */

:root{
  --ink:#10151B; --navy:#1B3A5C; --navy-deep:#122840;
  --amber:#E0A526; --paper:#F7F6F3; --stone:#DCD8D0; --stone-dark:#B4AEA3;
  --clay:#8A6A4F;
  --display:'Archivo',system-ui,sans-serif;
  --body:'Source Serif 4',Georgia,serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
  font-size:1.0625rem;line-height:1.62;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:1060px;margin:0 auto;padding:0 18px}
a{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.skip{position:absolute;left:-9999px;background:var(--amber);color:var(--ink);padding:10px 16px;font-weight:800;z-index:99}
.skip:focus{left:8px;top:8px}

h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,5.4vw,3.15rem)}
h2{font-size:clamp(1.5rem,3.4vw,2.15rem);margin-top:0}
h3{font-size:1.12rem;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 1.05em}
.eyebrow{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--clay);margin:0 0 .8rem;display:block}

/* ---------- CALL BAR ---------- */
.callbar{background:var(--navy-deep);color:#fff;border-bottom:3px solid var(--amber);
  position:sticky;top:0;z-index:60}
.callbar .wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  justify-content:space-between;padding:11px 18px}
.brand{font-family:var(--display);font-weight:800;font-size:1rem;color:#fff;
  text-decoration:none;line-height:1.15}
.brand span{display:block;font-family:var(--mono);font-weight:400;font-size:.6rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-top:3px}
.callbtn{font-family:var(--display);font-weight:800;font-size:1.1rem;color:var(--ink);
  background:var(--amber);text-decoration:none;padding:10px 18px;border-radius:2px;
  white-space:nowrap;text-align:center}
.callbtn:hover{background:#F2B93A}
.callbtn small{display:block;font-family:var(--mono);font-weight:400;font-size:.56rem;
  letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:1px;text-align:center}

/* Force a predictable stacked layout on narrow phones regardless of brand text length */
@media(max-width:480px){
  .callbar .wrap{flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px}
  .callbar .brand{text-align:center}
  .callbtn{width:100%}
}

/* ---------- NAV (hamburger on mobile, row on desktop) ---------- */
.nav{background:#fff;border-bottom:1px solid var(--stone);position:sticky;top:53px;z-index:55}
.nav-mobile{display:block}
.nav-desktop{display:none;list-style:none;margin:0;padding:0}
.nav-s{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--navy);padding:13px 0;user-select:none}
.nav-s::-webkit-details-marker{display:none}
.nav-s svg{flex:0 0 auto}
.nav-mobile[open] .ic-open{display:none}
.nav-mobile:not([open]) .ic-close{display:none}
.nav-mobile ul{list-style:none;margin:0;padding:2px 0 14px;display:flex;flex-direction:column;gap:1px}
.nav-mobile ul a{display:block;padding:11px 6px;font-family:var(--mono);font-size:.78rem;
  letter-spacing:.04em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--stone)}
.nav-mobile ul a:hover{background:var(--paper);color:var(--navy)}

@media(min-width:880px){
  .nav{position:static}
  .nav-mobile{display:none}
  .nav-desktop{display:flex;flex-wrap:wrap}
  .nav-desktop a{display:block;padding:13px 15px;font-family:var(--mono);font-size:.72rem;
    letter-spacing:.11em;text-transform:uppercase;color:var(--navy);text-decoration:none;
    border-bottom:2px solid transparent;white-space:nowrap}
  .nav-desktop a:hover{border-bottom-color:var(--amber)}
}

/* ---------- HERO (light) ---------- */
.top{background:var(--paper);padding:36px 0 42px;border-bottom:1px solid var(--stone)}
.top h1{color:var(--ink)}
.top .lede{font-size:clamp(1rem,2vw,1.17rem);color:#3C4A57;margin-bottom:20px}
.top-grid{display:grid;gap:26px;grid-template-columns:1fr}
@media(min-width:880px){.top-grid{grid-template-columns:1fr 1fr;align-items:start;gap:40px}}
.trust{list-style:none;margin:16px 0 0;padding:0;font-family:var(--mono);
  font-size:.78rem;letter-spacing:.03em;color:#41505F}
.trust li{padding-left:20px;position:relative;margin-bottom:6px}
.trust li::before{content:"\2039";position:absolute;left:3px;color:var(--clay);font-weight:700}

/* ---------- FORM ---------- */
.form-wrap{background:#fff;border:1px solid var(--stone);border-top:4px solid var(--amber);
  padding:22px;border-radius:2px;box-shadow:0 4px 24px rgba(16,21,27,.06)}
.form-wrap h2{font-size:1.34rem;margin-bottom:3px;color:var(--ink)}
.form-wrap .sub{font-size:.9rem;color:#5A6875;margin-bottom:12px}
label{display:block;font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--clay);margin:11px 0 4px}
input,select,textarea{width:100%;padding:11px 12px;font-family:var(--body);font-size:1rem;
  border:1px solid var(--stone-dark);border-radius:2px;background:var(--paper);color:var(--ink)}
textarea{min-height:74px;resize:vertical}
.fineprint{font-size:.77rem;color:#6B7683;margin:11px 0 0;line-height:1.5}
.form-row{display:grid;gap:10px;grid-template-columns:1fr 1fr}

.btn{display:inline-block;font-family:var(--display);font-weight:800;font-size:1rem;
  padding:14px 28px;border-radius:2px;text-decoration:none;border:0;cursor:pointer}
.btn--amber{background:var(--amber);color:var(--ink)}
.btn--amber:hover{background:#F2B93A}
.btn--amber[disabled]{opacity:.6;cursor:default}
.btn--block{display:block;width:100%;text-align:center;margin-top:16px}

.quote-sent{background:#F2F6F2;border:1px solid #BFD6C8;border-top:4px solid #5B8C6E;
  border-radius:2px;padding:26px 22px}
.quote-sent h3{color:#2F5E44;margin-bottom:8px}
.quote-sent p{margin-bottom:0;color:#33463C}
.quote-sent[hidden]{display:none}

/* ---------- SECTIONS ---------- */
section{padding:48px 0}
.band{background:#fff;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone)}

.grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}
@media(min-width:820px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid var(--stone);border-left:3px solid var(--amber);
  padding:20px;border-radius:2px}
.card h3{margin-top:0}.card p{margin-bottom:0;font-size:.96rem}
.card h3 a{color:inherit;text-decoration:none;border-bottom:2px solid var(--amber)}
.card h3 a:hover{color:var(--navy)}
.card--flat{border-left-color:var(--stone-dark);background:var(--paper)}

/* Split: prose | side panel or diagram */
.split{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:860px){.split{grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}}
.panel{background:var(--paper);border:1px solid var(--stone);border-top:4px solid var(--amber);
  padding:22px;border-radius:2px}
.panel h3{margin-top:0;font-size:1.05rem}
.panel dl{margin:0}
.panel dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--clay);margin-top:14px}
.panel dt:first-child{margin-top:0}
.panel dd{margin:3px 0 0;font-size:.96rem}

/* Steps row (shared widget) */
.steps-intro{font-size:1.02rem;color:#33414F;margin:34px 0 0}
.steps{display:grid;gap:20px;grid-template-columns:1fr;margin-top:18px;
  border-top:1px solid var(--stone);padding-top:28px}
@media(min-width:640px){.steps{grid-template-columns:1fr 1fr}}
@media(min-width:940px){.steps{grid-template-columns:repeat(4,1fr);gap:26px}}
.step{border-left:3px solid var(--amber);padding-left:16px}
.step-n{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--clay);display:block;margin-bottom:7px}
.step h3{font-size:1.05rem;margin:0 0 6px}
.step p{margin:0;font-size:.95rem;color:#41505F}

/* ---------- CHECKER ---------- */
.checker-controls{display:grid;gap:14px;grid-template-columns:1fr;margin-bottom:20px}
@media(min-width:720px){.checker-controls{grid-template-columns:1fr 1.5fr}}
.checker-controls label{margin-top:0}
.verdict{background:var(--paper);border:1px solid var(--stone-dark);
  border-left:6px solid var(--stone-dark);padding:22px;border-radius:2px}
.verdict .tier{font-family:var(--display);font-weight:800;font-size:1.42rem;display:block;line-height:1.1}
.verdict .tier-meta{font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;
  text-transform:uppercase;color:#5A6875;display:block;margin-top:5px}
.verdict-head{margin-bottom:13px}
.verdict-body{font-size:1.01rem;margin-bottom:13px}
.verdict-facts ul{margin:0 0 16px;padding:0;list-style:none}
.verdict-facts li{position:relative;padding-left:19px;margin-bottom:6px;font-size:.94rem;color:#41505F}
.verdict-facts li::before{content:"\2039";position:absolute;left:3px;font-weight:700;color:var(--clay)}
.verdict-cta-note{font-size:.92rem;color:#5A6875;font-style:italic;margin:0}
.verdict.t-monitor{border-left-color:#5B8C6E;background:#F2F6F2}
.verdict.t-monitor .tier{color:#2F5E44}
.verdict.t-inspect{border-left-color:var(--amber);background:#FBF6EA}
.verdict.t-inspect .tier{color:#8A6410}
.verdict.t-now{border-left-color:#C0392B;background:#FBF1F0}
.verdict.t-now .tier{color:#93291D}
.tier-key{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;
  font-family:var(--mono);font-size:.69rem;letter-spacing:.06em;color:#5A6875}
.tier-key span{display:flex;align-items:center;gap:6px}
.k{width:11px;height:11px;display:inline-block;border-radius:1px}
.k-monitor{background:#5B8C6E}.k-inspect{background:var(--amber)}.k-now{background:#C0392B}

/* ---------- TABLE ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:.96rem;margin:6px 0}
.tbl th,.tbl td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--stone)}
.tbl th{font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--clay);font-weight:500}
.tbl td:last-child{font-family:var(--mono);white-space:nowrap}
.note{font-size:.85rem;color:#5A6875;font-style:italic}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--stone)}
.faq summary{cursor:pointer;list-style:none;padding:15px 28px 15px 0;position:relative;
  font-family:var(--display);font-weight:600;font-size:1.01rem;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--mono);
  font-size:1.15rem;color:var(--clay)}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:0 0 16px;font-size:.97rem;color:#33414F}

/* ---------- DIAGRAM ---------- */
.strata{display:block;width:100%;height:auto}
.strata-cap{font-family:var(--mono);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;
  color:#6B7683;padding-top:9px}

/* ---------- CITIES ---------- */
.cities{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.cities a{display:block;font-family:var(--mono);font-size:.79rem;text-decoration:none;
  padding:9px 14px;border:1px solid var(--stone-dark);border-radius:2px;color:var(--navy);background:#fff}
.cities a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.cities .soon{color:#8A939C;border-style:dashed;background:transparent}

/* ---------- CTA ROW ---------- */
.ctarow{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:28px}
.ctarow .btn{margin:0}
.ctarow a:not(.btn){font-size:.95rem}
@media(max-width:520px){
  .ctarow{flex-direction:column;align-items:stretch}
  .ctarow .btn{width:100%;text-align:center}
  .ctarow a:not(.btn){text-align:center}
}

/* ---------- THANK YOU / 404 ---------- */
.centered{max-width:620px;margin:0 auto;text-align:center;padding:70px 18px}
.big-num{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--navy);
  margin:22px 0 6px}

.post-date{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;
  color:#5A6875;margin:0 0 14px;display:block}
.post-date strong{color:var(--clay);font-weight:500}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:#9AA6B2;padding:44px 0 30px;font-size:.88rem}
footer a{color:#C6D2DE;text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
.foot-cols{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:760px){.foot-cols{grid-template-columns:1.4fr 1fr 1fr;gap:44px}}
.foot-h{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--amber);margin:0 0 12px;display:block}
.foot-cols p{margin:0 0 8px}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:8px}
.foot-addr{font-style:normal;line-height:1.65;margin:0}
.foot-tel{font-family:var(--display);font-weight:800;font-size:1.22rem;color:#fff!important;
  display:inline-block;margin-bottom:4px}
.foot-bar{border-top:1px solid #2A323B;margin-top:34px;padding-top:20px;
  display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:baseline}
.foot-bar p{margin:0;font-size:.78rem;color:#8695A1}
.foot-bar p a{text-decoration:underline;text-underline-offset:2px}
footer .disclosure{margin:14px 0 0;font-size:.79rem;line-height:1.65;color:#8695A1}
