/* Shared shell for tool + niche pages. v7 "Forensic report": paper + ink + red pen + one green.
   Radius lock: buttons pill, cards 14px, inputs 8px. */
:root{
  --bg:#fafaf7; --bg2:#ffffff; --surface:#ffffff; --line:#11111114; --line2:#11111129;
  --ink:#111111; --muted:#565b54;
  --green:#0e6b4a; --green-deep:#0a5238;
  --paper:#ffffff; --paper-ink:#111111; --paper-muted:#565b54; --paper-line:#11111114;
  --amber:#c98f2b; --red:#d9482b;
  --h2:clamp(1.7rem,1rem + 2.6vw,2.9rem);
  --ease:cubic-bezier(.16,1,.3,1);
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:#12a15033}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
body{background:var(--bg);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;font-size:clamp(1rem,.95rem+.3vw,1.05rem);line-height:1.62}
h1,h2{font-family:'Archivo';font-weight:900;font-stretch:115%;line-height:1.04;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}
a{color:inherit}
.wrap{max-width:880px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}

nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;height:62px;padding:0 clamp(1.25rem,4vw,3rem);background:#fafaf7ea;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav .logo{font-family:'Archivo';font-weight:900;font-size:1.05rem;text-decoration:none;letter-spacing:-.02em}
nav .logo em{color:var(--green);font-style:normal}
nav .links{display:flex;align-items:center;gap:1.4rem;font-size:.9rem}
nav .links a{text-decoration:none;color:var(--muted)}
nav .links a:hover,nav .links a[aria-current]{color:var(--ink)}
nav .btn{padding:.55rem 1.2rem;font-size:.85rem}

.btn{display:inline-block;background:var(--green);color:#fff;font:700 1rem 'Archivo';text-decoration:none;border:0;border-radius:999px;padding:.9rem 1.9rem;cursor:pointer;transition:background .25s,transform .25s var(--ease)}
.btn:hover{background:var(--green-deep);transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn[disabled]{opacity:.55;cursor:wait;transform:none}

.hero-lite{padding:clamp(3rem,6vw,5rem) 0 2.2rem}
.kicker{font:500 .7rem var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.hero-lite h1{font-size:clamp(1.9rem,1rem + 2.6vw,3rem);max-width:16ch}
.hero-lite .sub{color:var(--muted);max-width:32rem;margin-top:1rem}

.toolform{display:flex;gap:.7rem;margin-top:1.8rem;flex-wrap:wrap}
.toolform input{flex:1;min-width:240px;border:1px solid var(--line2);border-radius:8px;background:#fff;padding:.9rem 1.1rem;font:600 1rem 'Archivo';color:var(--ink)}
.toolform input::placeholder{color:#8a908a}
.toolform input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
.hint{font-size:.82rem;color:var(--muted);margin-top:.7rem}
.err{display:none;color:var(--red);font-weight:600;margin-top:.9rem}

.card{background:#fff;border:1px solid var(--line2);border-radius:14px;padding:1.6rem;box-shadow:0 24px 55px -35px #11111147}

.row{display:flex;align-items:flex-start;gap:.7rem;border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;background:var(--bg)}
.row+.row{margin-top:.55rem}
.dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:.45rem}
.dot.f{background:var(--red)}.dot.w{background:var(--amber)}.dot.p{background:var(--green)}
.row b{font-size:.95rem}
.row p{font-size:.85rem;color:var(--muted);margin-top:.1rem}

/* the audit document (sample-audit page) */
.doc.card{box-shadow:0 30px 70px -35px #11111159}
.doc .meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;border-bottom:2px solid var(--ink)}
.doc .fix{background:var(--bg);border-color:var(--line)}

footer{border-top:1px solid var(--line);padding:2rem 0;color:var(--muted);font-size:.85rem;margin-top:clamp(3rem,6vw,5rem)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;max-width:1160px}
footer a{color:var(--green);text-decoration:none}

@media (max-width:560px){nav .links{gap:.9rem}nav .links .navtools{display:none}}
