/* ============================================================
   DA/PA Checker — design tokens
   ink #101828 | slate bg #F4F6F8 | card #FFFFFF
   accent (authority green) #0B6E4F | accent-dark #085B41
   score bands: low #D92D20 / mid #F79009 / high #12B76A
   type: Space Grotesk (display) / Inter (body) / JetBrains Mono (data)
   ============================================================ */
:root{
  --purple:#6C4FE0;
  --ink:#111A2E; --ink-soft:#475467; --line:#E4E7EC;
  --bg:#F4F6F8; --card:#fff;
  --accent:#0E9C86; --accent-dark:#0B7A6A; --accent-soft:#E6F7F4;
  --low:#D92D20; --mid:#F79009; --high:#0FBF8F;
  --radius:12px;
  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--font-display);line-height:1.2}
h1{font-size:clamp(1.9rem,4vw,2.8rem)}
h2{font-size:1.5rem;margin:2.2rem 0 .8rem}
h3{font-size:1.1rem;margin:1.4rem 0 .4rem}
p{margin-bottom:.9rem;color:var(--ink-soft)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* header */
.site-header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-row{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{font-family:var(--font-mono);font-weight:700;background:var(--ink);color:#fff;padding:4px 9px;border-radius:8px;font-size:.9rem}
.brand-mark i{color:#2BE7B8;font-style:normal}
.brand-name{font-family:var(--font-display);font-weight:700;color:var(--ink)}
.main-nav{display:flex;gap:22px;align-items:center}
.main-nav a{color:var(--ink-soft);font-weight:500;font-size:.95rem}
.main-nav a:hover{color:var(--ink);text-decoration:none}
.nav-cta{background:var(--accent);color:#fff!important;padding:8px 16px;border-radius:8px}
.nav-cta:hover{background:var(--accent-dark)}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer}

/* hero + checker card */
.hero{padding:52px 0 16px;text-align:center;background:
  radial-gradient(600px 300px at 20% 0%, #E4F8F4 0%, transparent 60%),
  radial-gradient(600px 300px at 80% 0%, #EDEAFB 0%, transparent 60%)}
.hero .eyebrow{font-family:var(--font-mono);color:var(--accent);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.hero p.lede{max-width:640px;margin:10px auto 0}
.checker-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:28px auto 0;max-width:820px;box-shadow:0 10px 34px rgba(16,24,40,.09);text-align:left}
.checker-card:focus-within{border-color:var(--accent)}
.report-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.report-title{margin:0;font-size:1.25rem}
.btn-sm{padding:9px 16px;font-size:.9rem}
td.soft{color:var(--ink-soft);font-weight:500}
.checker-card textarea{width:100%;min-height:140px;border:1px solid var(--line);border-radius:8px;padding:14px;font-family:var(--font-mono);font-size:.9rem;resize:vertical}
.checker-card textarea:focus{border-color:var(--accent);outline:none}
.checker-meta{display:flex;justify-content:space-between;align-items:center;margin:10px 0 16px;font-size:.85rem;color:var(--ink-soft)}
.url-count{font-family:var(--font-mono)}
.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:13px 26px;font-family:var(--font-display);font-weight:700;font-size:1rem;cursor:pointer}
.btn:hover{background:var(--accent-dark)}
.btn:disabled{opacity:.55;cursor:wait}
.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:12px 20px}
.btn-ghost:hover{background:var(--accent-soft)}
.demo-note{background:#FFFAEB;border:1px solid #FEDF89;color:#93370D;border-radius:8px;padding:10px 14px;font-size:.85rem;margin-bottom:14px}

/* results table */
.results{margin:26px auto 0;max-width:820px;display:none}
.results.show{display:block}
table.res{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 22px rgba(16,24,40,.07)}
table.res tr:hover td{background:#FAFBFC}
table.res th{font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:12px 14px;background:var(--ink);color:#fff}
table.res td{padding:12px 14px;border-top:1px solid var(--line);font-size:.92rem}
td.mono, .chip{font-family:var(--font-mono);font-weight:700}
.chip{display:inline-block;min-width:44px;text-align:center;padding:3px 8px;border-radius:999px;color:#fff;font-size:.85rem}
.chip.low{background:var(--low)}.chip.mid{background:var(--mid)}.chip.high{background:var(--high)}
.results-actions{margin-top:12px;display:flex;gap:10px}

/* content sections */
.content{max-width:820px;margin:40px auto 60px;padding:0 20px}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0}
.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.feature h3{margin-top:0}
.tool-page .checker-card{max-width:680px}
.result-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:18px;font-family:var(--font-mono);font-size:.9rem;white-space:pre-wrap;display:none}
.result-box.show{display:block}
.error-msg{color:var(--low);font-size:.9rem;margin-top:10px;display:none}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-bottom:10px}
.faq summary{font-weight:600;cursor:pointer;color:var(--ink)}

/* footer */
.site-footer{background:var(--ink);color:#D0D5DD;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;padding:44px 20px 20px}
.site-footer h4{font-family:var(--font-display);color:#fff;margin-bottom:10px}
.site-footer a{display:block;color:#D0D5DD;margin-bottom:6px;font-size:.92rem}
.footer-logo{display:inline-block;margin-bottom:10px}
.footer-tag{font-size:.9rem;color:#98A2B3}
.footer-legal{border-top:1px solid #344054;padding:16px 20px}
.footer-legal p{font-size:.8rem;color:#98A2B3;margin:0}

@media (max-width:760px){
  .main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--card);flex-direction:column;padding:16px;border-bottom:1px solid var(--line)}
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
  .footer-grid{grid-template-columns:1fr}
  table.res th:nth-child(6),table.res td:nth-child(6),table.res th:nth-child(7),table.res td:nth-child(7){display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.brand-logo{width:38px;height:38px;border-radius:9px;display:block}
