/* RoofingLicenseCheck — oxide brick + steel slate on warm paper. No sticky header. */
:root{
  --brick:#93392b; --brick-deep:#622419; --ink:#28231f;
  --steel:#45566b; --steel-deep:#2e3b49; --steel-soft:#e7edf3;
  --clay-dark:#8a3a24; --clay-soft:#f6e3d8;
  --paper:#faf6f1; --paper-alt:#f2eae0; --card:#ffffff;
  --line:#decdbd;
  --bad:#9c2318; --bad-bg:#fbeae7;
  --warn:#7a4d0f; --warn-bg:#fdf3d7;
  --good:#1e5631; --good-bg:#e8f3e6;
  --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--paper);color:var(--ink);font-size:17px;line-height:1.55}
h1,h2,h3,.display{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--steel-deep)}
h1{font-size:2.05rem;margin:.2em 0 .45em}
h2{font-size:1.55rem;margin:.4em 0 .5em}
h3{font-size:1.18rem;margin:.6em 0 .35em}
p{margin:.55em 0}
a{color:var(--brick);text-decoration:underline}
a:hover{text-decoration:none}
.wrap{max-width:1060px;margin:0 auto;padding:0 18px}
.small{font-size:.88rem}
.muted{color:#5f574f}
.center{text-align:center}

/* Header */
header.site{background:var(--paper);border-bottom:3px solid var(--brick)}
.header-in{display:flex;align-items:center;gap:14px;padding:14px 0}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.logo-mark{width:44px;height:44px;flex:0 0 44px}
.lockup{font-family:Georgia,serif;font-size:1.38rem;font-weight:700;letter-spacing:.2px;line-height:1}
.lockup .w1{color:var(--brick-deep)}
.lockup .w2{color:var(--steel)}
.lockup .w3{color:var(--ink)}
.tagline{font-size:.8rem;color:#5f574f;margin-top:3px}
nav.main{margin-left:auto}
nav.main a{display:inline-block;margin-left:16px;color:var(--steel-deep);font-weight:600;text-decoration:none;font-size:.98rem}
nav.main a:hover{color:var(--brick);text-decoration:underline}

/* Sections */
section{padding:34px 0}
section.alt{background:var(--paper-alt)}
section.dark{background:var(--steel-deep);color:#edf1f5}
section.hero{background:linear-gradient(160deg,var(--brick) 0%,var(--brick-deep) 78%);color:#fdf8f1;padding:40px 0 46px}
section.dark h2,section.dark h3,section.hero h1,section.hero h2,section.hero h3{color:#fdf8f1}
section.dark a,section.hero a{color:#f0b49f}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:var(--clay-dark);margin:0 0 6px}
section.dark .eyebrow{color:#f0b49f}
section.hero .eyebrow,section.hero a{color:#f9dcc9}
.lede{font-size:1.13rem;max-width:44em}
section.hero .lede{color:#f8e9e0}

/* Buttons */
.btn{display:inline-block;background:var(--brick);color:#fff;font-weight:700;border:none;
  border-radius:10px;padding:15px 26px;font-size:1.02rem;cursor:pointer;text-decoration:none;min-height:52px;line-height:1.25;text-align:center}
.btn:hover{background:#7e2f23;text-decoration:none}
.btn.deep{background:var(--steel);color:#fff}
.btn.deep:hover{background:#37485c}
section .card a.btn,section .panel a.btn,section .verdict a.btn,section .lock a.btn,section a.btn{color:#fff}

/* Cards, panels, tables */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:18px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;color:var(--ink)}
section .card h3{color:var(--steel-deep)}
.card p{color:var(--ink)}
.panel{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--brick);border-radius:var(--radius);padding:20px 22px;color:var(--ink)}
section .panel h3{color:var(--steel-deep)}
.panel p,.panel li{color:var(--ink)}
section.dark .card,section.dark .panel,section.hero .card,section.hero .panel{box-shadow:0 4px 18px rgba(0,0,0,.25)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:16px 0}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.95rem;color:var(--ink);background:var(--card)}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #ecdfd0;vertical-align:top}
th{background:var(--steel);color:#fff;font-weight:700}
tr:last-child td{border-bottom:none}
td a{color:var(--brick)}
section .card a,section .panel a,section .tablewrap a,section .lock a,section .notice a,section .checker a{color:var(--brick)} /* scoped (0,2,1) beats section.dark/hero a (0,1,2): light components keep dark links in dark sections */

/* Checker */
.checker{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;color:var(--ink)}
section .checker h3{color:var(--steel-deep)}
.checker label{display:block;font-weight:600;margin:14px 0 6px;color:var(--steel-deep)}
.checker select,.checker input[type=number],.checker input[type=text]{width:100%;font-size:17px;padding:13px 12px;border:2px solid #d3bfab;border-radius:10px;background:#fff;color:var(--ink);min-height:52px}
.checker select:focus,.checker input:focus{border-color:var(--brick);outline:3px solid var(--clay-soft)}
.checker .btn{width:100%;margin-top:18px}
.checker .hint{font-size:.88rem;color:#5f574f;margin-top:4px}
.checker fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 14px 14px;margin:16px 0 0}
.checker legend{font-weight:700;color:var(--steel-deep);padding:0 6px}

/* Verdict (JS-injected) */
.verdict{border-radius:var(--radius);padding:20px 22px;margin-top:20px;border:2px solid}
.verdict h3{margin-top:0;font-size:1.3rem}
.verdict p,.verdict li{color:var(--ink)}
.verdict .vlabel{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800;margin:0 0 4px}
.verdict.good{background:var(--good-bg);border-color:var(--good)}
.verdict.good h3,.verdict.good .vlabel{color:var(--good)}
.verdict.warn{background:var(--warn-bg);border-color:#d9a92c}
.verdict.warn h3,.verdict.warn .vlabel{color:var(--warn)}
.verdict.bad{background:var(--bad-bg);border-color:var(--bad)}
.verdict.bad h3,.verdict.bad .vlabel{color:var(--bad)}
.verdict.info{background:var(--steel-soft);border-color:var(--steel)}
.verdict.info h3,.verdict.info .vlabel{color:var(--steel-deep)}
.verdict .big{font-size:1.35rem;font-weight:700;color:var(--steel-deep)}
.verdict .src{font-size:.85rem;color:#5f574f;border-top:1px dashed #cdb69e;padding-top:10px;margin-top:14px}
.verdict table{min-width:0}
section .verdict a{color:#8a3a24}
section .verdict a.btn,section .checker a.btn,section .notice a.btn{color:#fff} /* button labels stay paper on their own brick ground, every section flavor */

/* Lock panel */
.lock{background:#fffaf2;border:2px dashed var(--clay-dark);border-radius:var(--radius);padding:20px 22px;color:var(--ink)}
section .lock h3{color:var(--steel-deep)}
.lock p{color:var(--ink)}
.lock .price{font-size:1.5rem;font-weight:800;color:var(--brick)}

/* Footer */
footer.site{background:var(--steel-deep);color:#dfe6ec;padding:34px 0 28px;margin-top:0}
footer.site h3{color:#fdf8f1}
footer.site a{color:#f0b49f}
footer.site p,footer.site li{color:#dfe6ec}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
footer.site ul{list-style:none;padding:0;margin:.4em 0}
footer.site li{margin:.3em 0}
.footline{border-top:1px solid #47586c;margin-top:22px;padding-top:16px;font-size:.88rem}

section .notice h3{color:var(--steel-deep)}
.notice{background:#fff;border:1px solid var(--line);border-left:6px solid var(--steel);border-radius:var(--radius);padding:16px 20px;color:var(--ink)}
.notice p{color:var(--ink)}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:10px 0;color:var(--ink)}
.faq summary{font-weight:700;cursor:pointer;color:var(--steel-deep);font-size:1.02rem}
.faq details p{color:var(--ink)}
ul.tight li{margin:.3em 0}
.pill{display:inline-block;background:var(--clay-soft);color:var(--clay-dark);border-radius:999px;padding:3px 12px;font-size:.82rem;font-weight:700;margin:2px 4px 2px 0}
section.dark .pill,section.hero .pill{background:#47586c;color:#f0b49f}

@media (max-width:759px){
  h1{font-size:1.72rem} h2{font-size:1.38rem}
  .header-in{flex-wrap:wrap}
  nav.main{display:flex;flex-wrap:wrap;width:100%;margin-left:0;gap:2px 18px;padding-top:4px}
  nav.main a{margin-left:0;padding:10px 4px}
  .tagline{display:none}
  section{padding:26px 0}
  .checker,.card,.panel,.verdict,.lock{padding:17px}
  .btn{width:100%}
}
