:root{
  --bg:#f6f3ec;
  --ink:#1d1a16;
  --muted:#5f594e;
  --accent:#a4392c;
  --accent-dk:#7c2a20;
  --line:#e4ddcf;
  --card:#fffdf8;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.pole{
  height:7px;
  background:repeating-linear-gradient(-45deg,var(--accent) 0 13px,#f0e7d6 13px 26px);
}
.wrap{max-width:660px;margin:0 auto;padding:0 24px}
section{padding:46px 0}
section + section{border-top:1px solid var(--line)}

h1,h2,h3{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-weight:600;line-height:1.15}
a{color:var(--accent-dk)}

/* hero */
.hero{padding-top:54px;padding-bottom:50px}
.wordmark{
  font-size:14px;letter-spacing:.24em;text-transform:uppercase;
  font-weight:700;color:var(--accent);
}
h1{font-size:clamp(2.15rem,7.4vw,3.15rem);margin:18px 0 0;letter-spacing:-.01em}
.lead{font-size:1.16rem;color:var(--muted);margin-top:18px;max-width:30em}
.proof{margin-top:14px;font-size:1.03rem;color:var(--ink);max-width:30em}
.proof a{font-weight:700;color:var(--accent-dk)}

.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{
  display:inline-block;padding:14px 22px;border-radius:9px;
  font-weight:700;font-size:15px;text-decoration:none;
  border:1.5px solid var(--accent-dk);
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dk)}
.btn-ghost{background:transparent;color:var(--accent-dk)}
.btn-ghost:hover{background:#efe7d8}

.eyebrow{
  font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;
  font-weight:700;color:var(--accent);
}
h2{font-size:1.62rem;margin:10px 0 4px}
section > .wrap > p{color:var(--muted);max-width:34em}

/* benefits */
.benefits{list-style:none;margin-top:22px}
.benefits li{
  padding:15px 0 15px 30px;position:relative;
  border-top:1px solid var(--line);
}
.benefits li:first-child{border-top:none}
.benefits li::before{
  content:"";position:absolute;left:0;top:23px;
  width:11px;height:11px;border-radius:3px;
  background:var(--accent);
}
.benefits strong{display:block;font-weight:700}
.benefits span{color:var(--muted)}

/* steps */
.steps{list-style:none;margin-top:24px;counter-reset:s}
.steps li{display:flex;gap:16px;padding:14px 0}
.step-no{
  flex:none;width:34px;height:34px;border-radius:50%;
  background:var(--accent);color:#fff;
  font-family:Georgia,serif;font-size:17px;
  display:flex;align-items:center;justify-content:center;
}
.steps h3{font-size:1.12rem}
.steps p{color:var(--muted);margin:2px 0 6px}
.tag{
  display:inline-block;font-size:11.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;
  color:var(--accent-dk);background:#efe7d8;
  padding:3px 9px;border-radius:5px;
}

/* contact */
.contact{
  background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:34px 28px;margin-top:26px;text-align:center;
}
.contact h2{margin:0}
.phone{
  display:inline-block;margin:14px 0 6px;
  font-family:Georgia,serif;font-size:clamp(1.7rem,6vw,2.2rem);
  color:var(--accent-dk);text-decoration:none;letter-spacing:.01em;
}
.phone:hover{text-decoration:underline}
.email{display:block;font-size:1.05rem;font-weight:600}
.contact .note{color:var(--muted);font-size:.95rem;margin-top:16px}

footer{padding:30px 0 40px;text-align:center;color:var(--muted);font-size:13.5px}
footer .pole-mini{
  width:48px;height:5px;margin:0 auto 14px;border-radius:3px;
  background:repeating-linear-gradient(-45deg,var(--accent) 0 9px,#e4d9c4 9px 18px);
}

/* ---- setup page (/setup) ---- */
.checks,.offlist{list-style:none}
.checks{margin-top:18px}
.checks li{padding:8px 0 8px 28px;position:relative;color:var(--muted)}
.checks li strong{color:var(--ink)}
.checks li::before{
  content:"";position:absolute;left:2px;top:14px;
  width:9px;height:9px;border-radius:3px;background:var(--accent);
}

.numbox{
  background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:20px;margin-top:20px;text-align:center;
}
.numbox .label{
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;color:var(--accent);
}
.ai-n-pretty{
  display:block;margin-top:7px;
  font-family:Georgia,serif;font-size:clamp(1.5rem,6.5vw,2.05rem);
  color:var(--accent-dk);letter-spacing:.01em;
}

.carrier-pick{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.carrier-btn{
  flex:1 1 130px;padding:13px 14px;border-radius:9px;
  font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;
  border:1.5px solid var(--accent-dk);
  background:transparent;color:var(--accent-dk);
}
.carrier-btn[aria-pressed="true"]{background:var(--accent);color:#fff}
.carrier-prompt{color:var(--muted);margin-top:14px;font-size:.95rem}

.carrier-section{margin-top:26px}
.carrier-title{font-family:Georgia,serif;font-weight:600;font-size:1.22rem}
.carrier-title .sub{
  display:block;font-size:.85rem;font-weight:400;color:var(--muted);margin-top:3px;
}
.carrier-section > p{color:var(--muted);margin-top:10px}

.dialcode{
  display:block;margin:12px 0 6px;padding:17px 16px;
  background:var(--ink);color:#f6f3ec;border-radius:10px;
  font-family:ui-monospace,Menlo,Consolas,"Courier New",monospace;
  font-size:clamp(1.1rem,5.4vw,1.45rem);font-weight:600;
  text-align:center;letter-spacing:.03em;
  text-decoration:none;word-break:break-all;
}
a.dialcode:hover{background:var(--accent-dk)}
.dialcode-note{font-size:.85rem;color:var(--muted);margin-top:0}

code{
  font-family:ui-monospace,Menlo,Consolas,"Courier New",monospace;
  background:#efe7d8;color:var(--accent-dk);
  padding:2px 7px;border-radius:5px;font-weight:600;font-size:.92em;
}

.offlist{margin-top:16px}
.offlist li{padding:10px 0;border-top:1px solid var(--line)}
.offlist li:first-child{border-top:none}

/* ---- footer nav (marketing pages) ---- */
.foot-nav{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.foot-nav a{
  color:var(--muted);text-decoration:none;font-weight:600;
  font-size:13.5px;padding:2px 14px;
}
.foot-nav a + a{border-left:1px solid var(--line)}
.foot-nav a:hover{color:var(--accent-dk)}
.foot-nav a[aria-current="page"]{color:var(--accent)}

/* ---- faq page (/faq) ---- */
.faq-list{margin-top:24px}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{
  list-style:none;cursor:pointer;
  padding:18px 36px 18px 0;position:relative;
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;
  font-size:1.12rem;font-weight:600;color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";position:absolute;right:4px;top:14px;
  font-family:Georgia,serif;font-size:1.55rem;line-height:1;color:var(--accent);
}
.faq-item[open] summary::after{content:"\2013"}
.faq-item p{color:var(--muted);max-width:34em;padding:0 0 20px;margin-top:-2px}

/* tel:/sms: CTA — tap to act on phones; selectable number chip on desktop */
@media (hover: none) and (pointer: coarse) { .desk-only { display: none; } }
@media (hover: hover) and (pointer: fine)  { .tap-only  { display: none; } }
