/* Free tools (SEO quick check / headers check). Builds on styles.css tokens: same ink rules, Archivo widths, win/loss colours. */
.tool-hero{padding:var(--s7) 0 var(--s8)}
.tool-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
.tool-hero h1{font-size:clamp(2.5rem,6vw,5rem);max-width:16ch}
.kicker{display:inline-block;margin:0 0 var(--s4);padding:2px 8px;background:var(--ink);color:var(--paper);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.check-form{background:var(--paper);padding:var(--s5);box-shadow:0 18px 40px -18px rgba(20,20,20,.45);border-top:3px solid var(--ink)}
.check-form label{display:block;font-weight:800;font-stretch:72%;font-size:1.375rem;text-transform:uppercase;margin-bottom:var(--s3);line-height:1}
.check-row{display:flex;gap:0}
.check-row input{flex:1 1 auto;min-width:0;font:inherit;font-size:1.125rem;color:var(--ink);background:#fff;border:2px solid var(--ink);border-right:0;border-radius:0;padding:var(--s3);min-height:56px;-webkit-appearance:none;appearance:none}
.check-row input:focus{outline:3px solid var(--ink);outline-offset:2px}
.check-row input[aria-invalid="true"]{border-color:var(--loss);box-shadow:inset 4px 0 0 var(--loss)}
.check-row .btn{min-height:56px;flex:0 0 auto}
.check-form .hint{margin-top:var(--s3)}
.check-form .ferr{margin-top:var(--s2)}
.btn[aria-busy="true"]{cursor:progress;opacity:.85}
.btn .spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:none}
.btn[aria-busy="true"] .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

.result{padding:var(--s8) 0 var(--s7)}
.result[hidden]{display:none}
.scoreline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s4) var(--s6);align-items:end;border-top:3px solid var(--ink);padding-top:var(--s4);margin-bottom:var(--s5)}
.score-big{font-size:clamp(4.5rem,11vw,8rem);font-weight:900;font-stretch:62%;line-height:.82;letter-spacing:-.02em}
.score-big small{font-size:.32em;font-stretch:72%;letter-spacing:0;color:var(--ink-2);margin-left:4px}
.score-big.g-good{color:var(--win)}.score-big.g-mid{color:var(--ink)}.score-big.g-bad{color:var(--loss)}
.score-meta h2{font-size:clamp(1.75rem,3.4vw,2.75rem);font-weight:900;font-stretch:64%;line-height:.96;margin-bottom:var(--s2);overflow-wrap:anywhere}
.score-meta p{margin:0;color:var(--ink-2);font-size:.9375rem;overflow-wrap:anywhere}
.tally{display:flex;gap:var(--s2);list-style:none;margin:0;padding:0}
.tally li{min-width:72px;padding:var(--s2) var(--s3);border:2px solid var(--ink);text-align:center;font-weight:700;font-stretch:85%;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;line-height:1.1}
.tally b{display:block;font-size:1.75rem;font-weight:900;font-stretch:62%;line-height:1}
.tally .t-fail{background:var(--loss);border-color:var(--loss);color:#fff}
.tally .t-warn{background:var(--field)}
.tally .t-pass{background:var(--win);border-color:var(--win);color:#fff}

.checks{width:100%;border-collapse:collapse}
.checks th,.checks td{text-align:left;vertical-align:top;padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--rule)}
.checks thead th{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--ink)}
.checks .st{width:76px}
.checks tbody th{font-weight:800;font-stretch:80%;font-size:1.0625rem;width:22%;line-height:1.2}
.checks .found{font-family:var(--mono);font-size:.875rem;width:32%;overflow-wrap:anywhere;color:var(--ink)}
.checks .fix{font-size:.9375rem;color:var(--ink-2)}
.checks tr.is-pass .fix{color:var(--ink-2)}
.pill{display:inline-block;min-width:56px;padding:3px 8px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center;border:2px solid var(--ink)}
.pill.pass{background:var(--win);border-color:var(--win);color:#fff}
.pill.warn{background:var(--field);color:var(--ink)}
.pill.fail{background:var(--loss);border-color:var(--loss);color:#fff}
.checks tr.is-fail th{box-shadow:inset 0 0 0 0 var(--loss)}

.cta-band{margin-top:var(--s7);background:var(--ink);color:var(--paper);padding:var(--s6);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s5) var(--s7);align-items:center}
.cta-band h2{font-size:clamp(2rem,4vw,3.25rem);font-weight:900;font-stretch:64%;line-height:.95;color:var(--paper)}
.cta-band p{color:#d9d6cd;margin:var(--s3) 0 0;max-width:52ch}
.cta-band .ctas{justify-content:flex-start}
.cta-band .price{font-weight:900;font-stretch:62%;font-size:2.5rem;line-height:1;display:block;margin-bottom:var(--s3);color:var(--field)}

.lead-box{margin-top:var(--s6);border:2px solid var(--ink);padding:var(--s5);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--s4) var(--s6);background:var(--paper)}
.lead-box h3{font-size:1.625rem;font-weight:900;font-stretch:66%;text-transform:uppercase;line-height:1}
.lead-box p{margin:var(--s2) 0 0;font-size:.9375rem;color:var(--ink-2)}
.lead-box .check-row input{min-height:52px}
.lead-box .check-row .btn{min-height:52px}
.consent{display:flex;gap:var(--s2);align-items:flex-start;margin-top:var(--s3);font-size:.875rem;color:var(--ink-2)}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink);flex:0 0 auto}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok-note{font-weight:700;color:var(--win)}

.howto{padding:var(--s8) 0 var(--s9)}
.howto .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.howto .cols>div{padding:var(--s5) var(--s5) var(--s5) 0;border-right:1px solid var(--rule)}
.howto .cols>div+div{padding-left:var(--s5)}
.howto .cols>div:last-child{border-right:0}
.howto h3{font-size:1.375rem;font-weight:800;font-stretch:72%;margin-bottom:var(--s3);text-transform:uppercase}
.howto ul{margin:0;padding-left:1.1em}
.howto li{margin-bottom:var(--s1)}
.passive{margin-top:var(--s6);padding:var(--s4) var(--s5);background:var(--paper-2);border-left:6px solid var(--win);font-weight:600;font-stretch:92%}
.passive p:last-child{margin:0}

.snip-tabs{display:flex;flex-wrap:wrap;gap:0;margin-top:var(--s5);border-bottom:2px solid var(--ink)}
.snip-tabs button{font:inherit;font-weight:700;font-stretch:85%;font-size:.9375rem;padding:var(--s2) var(--s4);min-height:44px;background:transparent;color:var(--ink);border:2px solid transparent;border-bottom:0;cursor:pointer;margin-bottom:-2px}
.snip-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.snip-tabs button:hover:not([aria-selected="true"]){text-decoration:underline}
.snip{position:relative;background:#141414;color:#f3f2ee;margin:0;padding:var(--s5);overflow-x:auto;font-family:var(--mono);font-size:.875rem;line-height:1.55;white-space:pre}
.snip-wrap{position:relative}
.snip-copy{position:absolute;top:var(--s3);right:var(--s3)}
.snip-note{font-size:.875rem;color:var(--ink-2);margin-top:var(--s3)}

.tool-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4) var(--s6);align-items:center;border:2px solid var(--ink);padding:var(--s5);background:var(--paper)}
.tool-promo h3{font-size:1.75rem;font-weight:900;font-stretch:64%;text-transform:uppercase;line-height:1}
.tool-promo p{margin:var(--s2) 0 0;color:var(--ink-2)}
.nav-new{display:inline-block;margin-left:4px;padding:0 4px;background:var(--ink);color:var(--paper);font-size:.625rem;font-weight:800;letter-spacing:.06em;vertical-align:.2em}

@media (max-width:1023px){
  .tool-hero .hero-grid{grid-template-columns:1fr}
  .cta-band,.lead-box{grid-template-columns:1fr}
  .howto .cols{grid-template-columns:1fr}
  .howto .cols>div,.howto .cols>div+div{padding:var(--s4) 0;border-right:0;border-bottom:1px solid var(--rule)}
}
@media (max-width:720px){
  .check-row{flex-direction:column}
  .check-row input{border-right:2px solid var(--ink);border-bottom:0}
  .check-row .btn{width:100%}
  .scoreline{grid-template-columns:auto minmax(0,1fr)}
  .tally{grid-column:1/-1}
  .tally li{flex:1}
  .checks thead{display:none}
  .checks,.checks tbody,.checks tr,.checks th,.checks td{display:block;width:auto!important}
  .checks tr{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--rule)}
  .checks th,.checks td{border:0;padding:2px 0}
  .checks .st{grid-row:span 3}
  .tool-promo{grid-template-columns:1fr}
  .cta-band{padding:var(--s5)}
}
@media print{.check-form,.lead-box,.cta-band .ctas,.snip-copy{display:none}}

/* utility (no inline styles: holicsecurity CSP forbids them) */
.snips-head{margin:var(--s7) 0 0}
.promo-gap{margin-top:var(--s6)}
.passive-ink{border-left-color:var(--ink)}
.snip-wrap .snip{padding-top:56px}
