/* Memphis home rescue system — 20260818
   off-white paper · deep midnight blue · warm gold CTA · muted teal secondary
   system sans, short headline lines, full-width bands, call-only */

:root{
  --paper:#f5f3ee;
  --panel:#fbfaf6;
  --ink:#16212f;
  --muted:#54616f;
  --navy:#0e2036;
  --navy2:#173254;
  --gold:#cf9526;
  --goldDeep:#a5730f;
  --goldInk:#1c1405;
  --teal:#2e6f69;
  --tealDeep:#235953;
  --tealInk:#ffffff;
  --line:#e2ded4;
  --display:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding-bottom:0;background:var(--paper);color:var(--ink);
  font:1rem/1.62 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;width:100%;object-fit:cover}
a{color:inherit;text-underline-offset:3px}
h1,h2,h3{font-family:var(--display)}
:where(a,summary,button,input):focus-visible{outline:3px solid var(--goldDeep);outline-offset:2px}

.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:120;background:#fff;color:var(--ink);padding:9px 12px;font-weight:800}
.shell{width:min(1120px,calc(100% - 34px));margin-inline:auto}

/* ---------- chrome ---------- */
.topline{min-height:38px;padding:8px 16px;display:flex;align-items:center;justify-content:center;
  gap:8px 16px;flex-wrap:wrap;background:var(--teal);color:#fff;
  font-size:.7rem;font-weight:800;letter-spacing:.06em;text-align:center}
.topline a{color:#fff;font-weight:900;text-decoration:none;white-space:nowrap}

header{min-height:70px;padding:11px 17px;display:flex;align-items:center;justify-content:space-between;
  gap:14px;background:var(--navy);color:#fff}
.brand{display:flex;max-width:260px;flex-direction:column;text-decoration:none;line-height:1.1}
.brand b{font-size:1rem;font-weight:800}
.brand small{margin-top:4px;font-size:.55rem;letter-spacing:.05em;text-transform:uppercase;color:#b9c6d6}
header nav{display:none}
.headcall{padding:10px 13px;background:var(--gold);color:var(--goldInk);border-radius:4px;
  font-size:.78rem;font-weight:900;text-decoration:none;white-space:nowrap}

footer{padding:30px 18px 24px;background:#09182a;color:#fff;border-top:1px solid #29415c}
footer strong{font-family:var(--display);font-size:1.05rem}
footer p{margin:8px 0 0;color:#c3cfdc;font-size:.9rem;max-width:52ch}
footer nav{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:16px;font-size:.82rem;font-weight:700}
footer nav a{color:#e7edf3;text-decoration:none}
.footcall{display:inline-block;margin-top:14px;color:var(--gold);font-weight:900;font-size:1.2rem;text-decoration:none}
.credit{margin-top:22px;font-size:.64rem;color:#93a2b3}
.credit a{color:#b6c3d2}

.sticky{position:fixed;z-index:90;left:0;right:0;bottom:0;min-height:66px;
  display:none;align-items:center;justify-content:center;gap:10px;
  background:var(--gold);color:var(--goldInk);border-top:3px solid var(--goldDeep);
  font-weight:900;text-transform:uppercase;letter-spacing:.03em;text-decoration:none}
.sticky span{font-size:.82rem}
.sticky b{font-size:1.08rem}

/* ---------- shared bits ---------- */
.eyebrow{margin:0 0 12px;color:var(--tealDeep);font-size:.72rem;font-weight:900;
  letter-spacing:.12em;text-transform:uppercase}
.eyebrow.light{color:#7fd0c8}

.btn{display:flex;min-height:60px;margin:6px 0;padding:11px 20px;flex-direction:column;
  justify-content:center;background:var(--gold);color:var(--goldInk);border-radius:5px;
  border:2px solid var(--goldDeep);font-weight:900;line-height:1.14;text-decoration:none;text-align:center}
.btn span{font-size:.82rem;letter-spacing:.02em}
.btn b{font-size:1.35rem}
.btn:hover{background:#dca330}
.btn-inline{margin-top:26px}

/* ---------- hero ---------- */
.hero{padding:26px 0 30px;background:var(--paper);border-bottom:1px solid var(--line)}
.hero h1{margin:0 0 14px;font-size:clamp(2rem,7vw,2.55rem);line-height:1.04;letter-spacing:-.02em;color:var(--navy)}
.hero .sub{margin:0 0 18px;font-size:1.05rem;color:var(--muted);max-width:44ch}
.btn-note{margin:9px 0 0;font-size:.82rem;font-weight:700;color:var(--tealDeep)}
.chips{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{padding:6px 11px;background:#fff;border:1px solid var(--line);border-radius:999px;
  font-size:.74rem;font-weight:800;color:var(--navy)}

.hero-proof{margin-top:26px;padding:20px 20px 8px;background:var(--navy);color:#fff;
  border-radius:8px;border-left:6px solid var(--teal)}
.proof-title{margin:0 0 6px;font-size:.72rem;font-weight:900;letter-spacing:.1em;
  text-transform:uppercase;color:#8fd6ce}
.pstat{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid #24384f}
.pstat b{flex:0 0 auto;min-width:78px;font-family:var(--display);font-size:1.55rem;color:var(--gold);line-height:1}
.pstat span{font-size:.86rem;color:#cdd8e4}
.star{color:var(--gold);font-size:1.1rem}

/* ---------- shallow photo band ---------- */
.photoband{position:relative;background:var(--navy)}
.photoband img{height:230px}
.photoband-tag{position:absolute;left:0;right:0;bottom:0;margin:0;padding:9px 16px;
  background:rgba(14,32,54,.82);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.02em;text-align:center}

/* ---------- credentials strip ---------- */
.creds{background:var(--panel);border-bottom:1px solid var(--line)}
.creds-row{display:grid;gap:0;padding:6px 0}
.cred{padding:18px 0;border-top:1px solid var(--line)}
.creds-row .cred:first-child{border-top:0}
.cred b{display:block;font-family:var(--display);font-size:1.02rem;color:var(--navy)}
.cred span{display:block;margin-top:5px;font-size:.9rem;color:var(--muted)}

/* ---------- section headings ---------- */
.svc,.why,.steps,.local,.protect,.faq,.cta{padding:48px 0}
.svc h2,.why h2,.steps h2,.local h2,.protect h2,.faq h2,.cta h2{
  margin:0 0 14px;font-size:clamp(1.65rem,5.5vw,2.35rem);line-height:1.08;letter-spacing:-.02em;color:var(--navy)}
.svc-intro{margin:0 0 22px;font-size:1.02rem;color:var(--muted);max-width:60ch}

/* ---------- numbered service bands ---------- */
.svc-list{display:flex;flex-direction:column}
.svc-row{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;
  padding:20px 0;border-top:2px solid var(--line)}
.svc-row:first-child{border-top:2px solid var(--navy)}
.svc-n{grid-row:span 2;font-family:var(--display);font-size:1.5rem;font-weight:900;
  color:var(--teal);line-height:1;padding-top:2px}
.svc-row h3{margin:0;font-size:1.1rem;color:var(--navy)}
.svc-row p{margin:6px 0 0;font-size:.94rem;color:var(--muted)}

/* ---------- comparison table ---------- */
.why{background:var(--panel);border-block:1px solid var(--line)}
.tablewrap{overflow-x:auto;border:2px solid var(--navy);border-radius:8px;background:#fff}
table{width:100%;min-width:520px;border-collapse:collapse;font-size:.9rem}
thead th{padding:13px 14px;background:var(--navy);color:#fff;font-size:.8rem;text-align:left;vertical-align:bottom}
thead th.us{background:var(--teal)}
tbody th{padding:13px 14px;text-align:left;font-weight:800;color:var(--navy);background:var(--panel);width:34%}
tbody td{padding:13px 14px;color:var(--muted);border-left:1px solid var(--line)}
tbody td.us{color:var(--ink);font-weight:800;background:#fbf4e4}
tbody tr{border-top:1px solid var(--line)}

/* ---------- process (teal secondary block) ---------- */
.steps{background:var(--teal);color:#fff}
.steps h2{color:#fff}
.steps-grid{display:grid;gap:0}
.step{padding:20px 0;border-top:1px solid rgba(255,255,255,.28)}
.steps-grid .step:first-child{border-top:0}
.step b{display:block;font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#bdeae4}
.step h3{margin:6px 0 6px;font-size:1.12rem;color:#fff}
.step p{margin:0;font-size:.92rem;color:#e3f2f0}

/* ---------- city banner ---------- */
.localband{background:var(--navy);border-block:4px solid var(--teal)}
.localband img{height:200px}

/* ---------- local module ---------- */
.local{background:var(--paper)}
.local-grid{display:grid;gap:14px}
.local p{margin:0 0 14px;font-size:1rem;color:var(--ink)}
.local p:last-child{margin-bottom:0}

/* ---------- property protection ---------- */
.protect{background:var(--panel);border-block:1px solid var(--line)}
.protect-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.protect-list li{position:relative;padding:15px 0 15px 34px;border-top:1px solid var(--line);
  font-size:.96rem;color:var(--muted)}
.protect-list li:first-child{border-top:0}
.protect-list li::before{content:"";position:absolute;left:0;top:19px;width:16px;height:9px;
  border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}
.protect-list b{color:var(--navy)}

/* ---------- FAQ ---------- */
.faq{background:var(--paper)}
.faq details{padding:16px 0;border-top:2px solid var(--line)}
.faq details:first-of-type{border-top:2px solid var(--navy)}
.faq summary{list-style:none;cursor:pointer;font-family:var(--display);font-weight:800;font-size:1.02rem;
  color:var(--navy);padding-right:30px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:2px;top:-2px;font-size:1.4rem;color:var(--teal);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 2px;color:var(--muted)}

/* ---------- final CTA ---------- */
.cta{background:var(--navy);color:#fff;text-align:center}
.cta h2{color:#fff}
.cta-sub{margin:0 auto 20px;max-width:56ch;color:#c8d3e0;font-size:1rem}
.cta .btn{display:inline-flex;text-align:center}

/* ---------- inner pages (guide / legal) — retained ---------- */
.guide,.legal{padding:40px 0 70px;max-width:820px}
.guide h1,.legal h1{margin:0 0 16px;font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.08;
  letter-spacing:-.02em;color:var(--navy)}
.guide h2,.legal h2{margin:34px 0 10px;font-size:1.3rem;color:var(--navy)}
.guide p,.legal p{margin:0 0 14px;color:var(--ink)}
.lead{font-size:1.18rem;font-weight:600;color:var(--muted)}
.deck{font-size:1.1rem;font-weight:600;color:var(--muted)}
.guidecall{margin-top:34px;padding:24px;background:var(--navy);color:#fff;border-radius:8px;border-left:6px solid var(--teal)}
.guidecall h2{margin-top:0;color:#fff}
.guidecall p{color:#c8d3e0}
.callbutton{display:inline-flex;min-height:60px;margin-top:8px;padding:11px 20px;flex-direction:column;
  justify-content:center;background:var(--gold);color:var(--goldInk);border-radius:5px;border:2px solid var(--goldDeep);
  font-weight:900;line-height:1.14;text-decoration:none}
.callbutton span{font-size:.82rem}
.callbutton b{font-size:1.3rem}
.answer{padding:48px 0}
.answergrid{display:grid;gap:18px}

/* ---------- sticky call bar: mobile/tablet only (≤760px) ---------- */
@media(max-width:760px){
  body{padding-bottom:66px}
  .sticky{display:flex}
}

/* ---------- desktop ---------- */
@media(min-width:840px){
  .topline{justify-content:space-between;padding-inline:max(26px,calc((100vw - 1180px)/2))}
  header{min-height:84px;padding:14px max(26px,calc((100vw - 1180px)/2))}
  .brand{max-width:420px}
  .brand b{font-size:1.2rem}
  header nav{display:flex;gap:26px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
  header nav a{color:#dbe4ee;text-decoration:none}
  header nav a:hover{color:#fff}
  .headcall{font-size:.9rem;padding:11px 16px}

  .hero{padding:52px 0 56px}
  .hero .shell.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:48px;align-items:start}
  .hero h1{font-size:clamp(2.6rem,3.4vw,3.35rem)}
  .hero .sub{font-size:1.15rem}
  .hero-proof{margin-top:6px}

  .photoband img{height:300px}

  .creds-row{grid-template-columns:repeat(3,1fr);gap:34px;padding:26px 0}
  .cred{padding:0;border-top:0;border-left:3px solid var(--teal);padding-left:16px}
  .creds-row .cred:first-child{border-top:0}

  .svc,.why,.steps,.local,.protect,.faq{padding:78px 0}
  .cta{padding:46px 0 48px}
  .cta .eyebrow{margin-bottom:8px}
  .cta h2{margin-bottom:10px}
  .cta-sub{margin-bottom:16px}
  footer{display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:10px 54px;
    align-items:start;padding:28px max(26px,calc((100vw - 1120px)/2)) 22px}
  footer nav{justify-content:flex-end;margin-top:0}
  footer .credit{grid-column:1/-1;margin-top:8px;padding-top:14px;border-top:1px solid #24384f}
  .svc-row{grid-template-columns:auto 220px 1fr;align-items:baseline;gap:24px;padding:24px 0}
  .svc-n{grid-row:auto;font-size:1.9rem}
  .svc-row h3{font-size:1.18rem}

  .steps-grid{grid-template-columns:repeat(4,1fr);gap:28px}
  .step{padding:0;border-top:0;border-left:2px solid rgba(255,255,255,.35);padding-left:16px}
  .steps-grid .step:first-child{border-top:0}

  .localband img{height:320px}

  .local-grid{grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}

  .protect-list{grid-template-columns:1fr 1fr;gap:0 44px}
  .protect-list li,.protect-list li:first-child{border-top:1px solid var(--line)}

  .faq{max-width:860px}

  .guide,.legal{padding:56px 0 90px}
  .answergrid{grid-template-columns:.85fr 1.15fr;gap:64px}
}

@media(max-width:390px){
  .topline span{display:none}
  .headcall{display:none}
  .brand{max-width:none}
  .brand b{font-size:.92rem}

  /* fit the full hero above the sticky bar on first screen */
  .hero{padding:10px 0 14px}
  .eyebrow{margin-bottom:5px}
  .hero h1{font-size:2rem;line-height:1.02;margin-bottom:6px}
  .hero .sub{font-size:1rem;line-height:1.38;margin:0 0 8px;max-width:none}
  .btn{min-height:48px;margin:4px 0}
  .btn b{font-size:1.22rem}
  .btn-note{margin-top:5px}
  .chips{margin-top:8px;gap:6px}
  .chips li{padding:5px 10px}
  .hero-proof{margin-top:10px;padding:10px 13px 3px;border-left-width:5px}
  .proof-title{margin-bottom:3px}
  .pstat{padding:5px 0;gap:10px}
  .pstat b{min-width:60px;font-size:1.3rem}
  .pstat span{font-size:.82rem;line-height:1.25}
  .cta{padding:34px 0 36px}
  .cta .btn{display:flex;width:100%}
  footer{padding:26px 17px 22px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
