:root{
  --bg:#000000; --ink:#ededed; --ink-2:#9a9a9a; --faint:#6a6a6a;
  --rule:#242424; --line:#1a1a1a;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{background:#000000}
body{background:#000000;min-height:100vh;font-family:var(--sans);color:var(--ink);
  line-height:1.65;-webkit-font-smoothing:antialiased;font-size:16px}
a{color:inherit}
img{max-width:100%}

.wrap{max-width:720px;margin:0 auto;padding:0 30px}
.wrap-n{max-width:660px;margin:0 auto;padding:0 30px}

/* header */
header{border-bottom:1px solid var(--rule)}
.hd{max-width:980px;margin:0 auto;padding:24px 30px;display:flex;
  align-items:center;justify-content:space-between;gap:20px}
.mark{font-size:15px;font-weight:600;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.nav{display:flex;gap:24px;align-items:center}
.nav a{font-size:13px;color:var(--ink-2);text-decoration:none;transition:color .15s}
.nav a:hover{color:var(--ink)}
.nav a.cta{color:var(--ink);border:1px solid #3a3a3a;padding:7px 14px;border-radius:2px}
.nav a.cta:hover{border-color:#6a6a6a}

main{padding:66px 0 96px}
.kicker{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);font-weight:500}
h1{font-size:31px;font-weight:600;line-height:1.2;letter-spacing:-.022em;margin:16px 0 0}
h2{font-size:20px;font-weight:600;letter-spacing:-.015em;margin:0 0 4px}
h3{font-size:16px;font-weight:600;letter-spacing:-.01em}
p{margin-top:15px}
.lead{font-size:18px;color:var(--ink-2);margin-top:18px}
.sep{height:1px;background:var(--rule);margin:54px 0}
.sect{margin-top:62px}
.sect > .kicker{margin-bottom:18px;display:block}

/* home steps + body-text-right */
.step{padding:22px 0;border-bottom:1px solid var(--line)}
.step .s-n{font-size:11.5px;color:var(--faint);letter-spacing:.05em}
.step h3{margin-top:6px}
.step p{margin-top:8px;padding-left:34px;color:var(--ink-2);font-size:15px}

.home-links{margin-top:36px;display:flex;flex-direction:column;gap:2px}
.home-links a{font-size:13.5px;color:var(--ink-2);text-decoration:none;padding:14px 0;
  border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;transition:color .15s}
.home-links a:hover{color:var(--ink)}
.home-links a span:last-child{color:var(--faint)}

/* subscription tiers */
.tiers{margin-top:36px;display:flex;flex-direction:column;gap:18px}
.tier{border:1px solid var(--rule);border-radius:3px;padding:28px 26px}
.tier .t-name{font-size:14px;font-weight:600;letter-spacing:.01em}
.tier .t-price{font-size:34px;font-weight:600;letter-spacing:-.02em;margin-top:14px}
.tier .t-price span{font-size:14px;font-weight:400;color:var(--faint);letter-spacing:0}
.tier .t-desc{font-size:14.5px;color:var(--ink-2);margin-top:10px}
.tier ul{list-style:none;margin-top:18px}
.tier li{font-size:14px;color:var(--ink-2);padding:7px 0 7px 18px;position:relative;
  border-top:1px solid var(--line)}
.tier li:before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;
  background:#5a5a5a;border-radius:50%}

/* coverage / jurisdiction list — clean rows, no boxes */
.cov-list{margin-top:8px}
.cov-list .row{display:flex;justify-content:space-between;gap:16px;
  padding:13px 0;border-bottom:1px solid var(--line)}
.cov-list .row .r-name{font-size:15px;color:var(--ink)}
.cov-list .row .r-note{font-size:13px;color:var(--faint);text-align:right}
.jur-grid{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.jur-grid .j{padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}

/* intake form */
.q-sec{margin-top:44px}
.q-sec .q-h{display:flex;align-items:baseline;gap:12px;padding-bottom:8px;
  border-bottom:1px solid var(--rule)}
.q-sec .q-n{font-size:12px;color:var(--faint)}
.q-sec .q-t{font-size:16px;font-weight:600;letter-spacing:-.01em}
.q-field{margin-top:20px}
.q-field label{display:block;font-size:14px;color:var(--ink);margin-bottom:9px}
.q-field input[type=text],.q-field select,.q-field textarea{
  width:100%;background:#0c0c0c;border:1px solid #2c2c2c;color:var(--ink);
  font-family:var(--sans);font-size:14px;padding:11px 12px;border-radius:2px;outline:none}
.q-field textarea{min-height:78px;resize:vertical}
.q-opts{display:flex;flex-wrap:wrap;gap:9px}
.q-opt{font-size:13px;color:var(--ink-2);border:1px solid #2c2c2c;
  padding:8px 13px;border-radius:2px;cursor:default}
.q-note{font-size:12.5px;color:var(--faint);margin-top:7px}
.q-submit{margin-top:40px;background:transparent;border:1px solid #4a4a4a;color:var(--ink);
  font-family:var(--sans);font-size:14px;font-weight:500;padding:13px 26px;border-radius:2px;cursor:pointer}

/* blog */
.post-row{display:block;text-decoration:none;padding:20px 0;border-bottom:1px solid var(--rule)}
.post-row:hover .p-t{color:#fff}
.p-d{font-size:11.5px;color:var(--faint);letter-spacing:.03em}
.p-t{font-size:17px;font-weight:600;color:var(--ink);margin-top:5px;
  letter-spacing:-.012em;transition:color .15s}
.p-x{font-size:14.5px;color:var(--ink-2);margin-top:5px}
article .a-date{font-size:11.5px;color:var(--faint);letter-spacing:.04em}
article h1{margin-top:14px}
article .a-body{margin-top:30px}
article .a-body p{font-size:16.5px;line-height:1.72;color:var(--ink)}
article .a-body h2{font-size:18px;margin-top:38px}
.back{display:inline-block;margin-top:54px;font-size:13px;color:var(--ink-2);text-decoration:none}
.back:hover{color:var(--ink)}

/* contact */
.email{font-size:20px;font-weight:600;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--rule);padding-bottom:3px}

/* footer */
footer{border-top:1px solid var(--rule);padding:42px 0 58px}
.ft{max-width:980px;margin:0 auto;padding:0 30px;display:flex;flex-direction:column;gap:6px}
.f-mark{font-size:13px;font-weight:600;color:var(--ink)}
.f-line{font-size:13px;color:var(--faint)}
.f-links{margin-top:14px;display:flex;gap:18px;flex-wrap:wrap}
.f-links a{font-size:11.5px;color:var(--ink-2);text-decoration:none}
.f-links a:hover{color:var(--ink)}

@media(max-width:600px){
  main{padding:48px 0 66px}
  h1{font-size:25px}
  .hd{padding:18px 22px}
  .wrap,.wrap-n{padding:0 22px}
  .nav{gap:16px}
  .jur-grid{grid-template-columns:1fr}
}
