/* Tier2Flow — committed light palette. Compliance buyers, daytime browsers, print-friendly. */
:root{
  color-scheme: light;
  --ink:#12181f;
  --ink-2:#3b4654;
  --ink-3:#6b7684;
  --ground:#fbfaf8;
  --panel:#ffffff;
  --panel-2:#f4f2ee;
  --line:#e3e0da;
  --line-2:#cfcbc2;
  --accent:#b4491f;
  --accent-soft:#fdf1ec;
  --good:#1f6b45;
  --good-soft:#eef6f1;
  --warn:#8a6d1f;
  --warn-soft:#fbf5e4;
  --radius:10px;
  --measure:66ch;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink-2);
  font:400 17px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.02em;font-weight:640}
p{margin:0 0 1em}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--ink)}
strong{color:var(--ink);font-weight:640}
hr{border:0;border-top:1px solid var(--line);margin:0}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:720px}
section{padding:72px 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:0}
.eyebrow{
  font:640 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);margin:0 0 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
h2.sec{font-size:30px;margin-bottom:12px;max-width:20ch}
.sec-lede{font-size:18px;color:var(--ink-3);max-width:var(--measure);margin-bottom:36px}

/* ---------- header ---------- */
.site-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 0;
}
.mark{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  font:700 19px/1 var(--sans);letter-spacing:-.03em;color:var(--ink)
}
.mark-logo{display:block;flex:none;border-radius:6px}
.mark .wordmark{display:inline-flex;align-items:baseline;gap:1px}
.mark .wordmark span{color:var(--accent)}
.head-back{font-size:14px;color:var(--ink-3);text-decoration:none}
.head-back:hover{color:var(--ink)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 22px;border-radius:var(--radius);border:1px solid transparent;
  font:640 15px/1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:#000;color:#fff}
.btn-ghost{background:var(--panel);color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--panel-2);color:var(--ink);border-color:var(--ink-3)}
.btn-sm{padding:9px 15px;font-size:14px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:28px 0 12px}
.cta-note{font-size:14px;color:var(--ink-3);margin:0}
/* Secondary path, deliberately not a button: the call is available, not offered. */
.cta-alt{display:inline-block;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}
.cta-alt:hover{color:var(--ink)}

/* ---------- hero ---------- */
.hero{padding:56px 0 76px}
.hero h1{font-size:clamp(34px,5.4vw,54px);max-width:17ch;margin-bottom:22px}
.hero .lede{font-size:20px;line-height:1.55;max-width:56ch;color:var(--ink-2)}
.hero .lede b{color:var(--ink)}
.countdown{
  display:inline-flex;align-items:baseline;gap:8px;margin-top:34px;padding:10px 16px;
  background:var(--accent-soft);border:1px solid #f0d8cd;border-radius:var(--radius);
  font-size:15px;color:#8c3a19
}
.countdown b{font:700 19px/1 var(--mono);color:var(--accent)}

/* ---------- cards / grids ---------- */
.grid{display:grid;gap:16px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;display:flex;flex-direction:column
}
.card.hi{border-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.card h3{font-size:16px;margin-bottom:6px}
.card .kicker{font:640 11px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.card.hi .kicker{color:var(--accent)}
.price{font:700 30px/1 var(--sans);color:var(--ink);letter-spacing:-.03em;margin:2px 0 4px}
.price small{font:400 15px/1 var(--sans);color:var(--ink-3);letter-spacing:0}
.card p{font-size:15px;color:var(--ink-3);margin:10px 0 0}
.card .foot{margin-top:auto;padding-top:16px;font-size:14px;color:var(--ink-3)}

/* ---------- calculator ---------- */
.calc{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;margin-top:20px;display:flex;flex-wrap:wrap;gap:28px;align-items:center
}
.calc label{font:640 14px/1 var(--sans);color:var(--ink);display:block;margin-bottom:10px}
.calc input{
  width:96px;padding:11px 13px;border:1px solid var(--line-2);border-radius:8px;
  font:640 18px/1 var(--mono);color:var(--ink);background:var(--ground)
}
.calc-out{display:flex;flex-wrap:wrap;gap:28px}
.calc-out div{min-width:130px}
.calc-out .k{font:640 11px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.calc-out .v{font:700 22px/1.1 var(--sans);color:var(--ink);letter-spacing:-.02em}
.calc-out .v.accent{color:var(--accent)}
.calc-out .sub{font-size:13px;color:var(--ink-3);margin-top:5px}

/* ---------- tables ---------- */
.tablewrap{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);
  overflow-x:auto;-webkit-overflow-scrolling:touch
}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:860px}
thead th{
  position:sticky;top:0;background:var(--panel-2);text-align:left;
  font:640 11px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);
  padding:13px 14px;border-bottom:1px solid var(--line-2);white-space:nowrap
}
tbody td{
  padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2);
  white-space:nowrap
}
/* Only the agency name is long enough to earn a wrap. */
td.serc{white-space:normal;min-width:230px;max-width:270px;line-height:1.45}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fcfbf9}
td.state{white-space:nowrap}
td.state a{color:var(--ink);font-weight:640;text-decoration:none}
td.state a:hover{color:var(--accent);text-decoration:underline}
td.state .code{font:600 11px/1 var(--mono);color:var(--ink-3);margin-left:7px}

.scrollhint{
  font-size:13px;color:var(--ink-3);margin:0 0 9px;display:flex;justify-content:flex-end
}
.unk{color:var(--ink-3);font-style:italic}
.pill{
  display:inline-block;padding:2px 7px;border-radius:5px;
  font:640 10px/1.5 var(--sans);letter-spacing:.06em;text-transform:uppercase;vertical-align:1px
}
.pill-primary{background:var(--accent-soft);color:var(--accent)}
.pill-fed{background:var(--panel-2);color:var(--ink-3)}
.pill-ok{background:var(--good-soft);color:var(--good)}

.databanner{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--warn-soft);border:1px solid #eadfbc;border-radius:var(--radius);
  padding:16px 18px;margin-bottom:22px;font-size:14.5px;color:#6f5716
}
.databanner b{color:#4d3c0d}
.databanner .icon{font:700 13px/1.4 var(--mono);flex:none;color:var(--warn)}
.footnotes{margin-top:22px;font-size:14px;color:var(--ink-3);max-width:var(--measure)}
.footnotes p{margin:0 0 .7em}

/* ---------- deliverables ---------- */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:13px;grid-template-columns:repeat(2,1fr)}
.checks li{position:relative;padding-left:29px;font-size:15.5px;line-height:1.5}
.checks li::before{
  content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:4px;
  background:var(--good-soft);border:1px solid #bfdccb
}
.checks li::after{
  content:"";position:absolute;left:5px;top:10px;width:4px;height:8px;
  border:solid var(--good);border-width:0 2px 2px 0;transform:rotate(42deg)
}
.checks li b{display:block;color:var(--ink);font-weight:640}

/* ---------- guarantee ---------- */
.guarantee{
  background:var(--panel);border:1px solid var(--ink);border-radius:var(--radius);padding:32px
}
.guarantee h2{font-size:25px;margin-bottom:14px}
.terms{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.terms li{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
.terms .t{flex:none;width:170px;font-weight:640;color:var(--ink)}
.terms .d{color:var(--ink-3)}

/* ---------- faq ---------- */
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer;padding:19px 0;font:640 16.5px/1.4 var(--sans);color:var(--ink);
  list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ink-3);font:400 22px/1 var(--sans);flex:none}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 20px;max-width:var(--measure);font-size:15.5px}
.faq .a p:last-child{margin-bottom:0}

/* ---------- state detail ---------- */
.state-hero{padding:40px 0 8px}
.state-hero h1{font-size:clamp(30px,4.4vw,42px);margin-bottom:14px}
.state-hero .lede{font-size:18px;color:var(--ink-3);max-width:var(--measure)}
.dl{border-top:1px solid var(--line);margin:32px 0 0}
.dl-row{display:flex;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.dl-row dt{flex:none;width:230px;font-weight:640;color:var(--ink);font-size:15px;margin:0}
.dl-row dd{margin:0;font-size:15.5px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:44px 0 60px;font-size:14px;color:var(--ink-3)}
footer .frow{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}
footer a{color:var(--ink-3)}
footer a:hover{color:var(--ink)}
footer .legal{max-width:44ch;line-height:1.65}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .grid-3,.grid-2{grid-template-columns:1fr}
  .checks{grid-template-columns:1fr}
  .dl-row{flex-direction:column;gap:5px}
  .dl-row dt{width:auto}
  .terms li{flex-direction:column;gap:3px}
  .terms .t{width:auto}
  section{padding:56px 0}
  .hero{padding:40px 0 56px}
}
@media (max-width:520px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .calc{gap:20px}
  .calc-out{gap:20px}
}
@media print{
  body{background:#fff}
  .btn,.cta-row,.countdown{display:none}
  section{padding:24px 0;break-inside:avoid}
  table{min-width:0;font-size:10px}
  tbody td{white-space:normal}
  .scrollhint,.databanner{display:none}
}
