/* Sponsored Award Self-Check. Tool-specific layer over redesign.css and the shared lead-tool.css.
   Uses only the site tokens (--ink, --paper, --wash, --card, --accent, --accent-wash, --rule, --rule-firm, --muted, --display, --body, --mono). */

/* Hero: a ledger-style head with a four-area index beside the headline */
.sac-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px 56px;align-items:center;padding-block:64px 36px;border-bottom:2px solid var(--ink);margin-bottom:40px}
.sac-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:12px 0 0;max-width:14ch}
.sac-hero h1 em{font-family:var(--accent-serif,'Instrument Serif',Georgia,serif);font-style:italic;font-weight:400;color:var(--accent)}
.sac-hero .lead{font-size:19px;max-width:46ch;margin:18px 0 0}
.sac-hero .btns{margin-top:22px}
.sac-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-firm)}
.sac-index li{display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.sac-index .n{font:500 13px/1 var(--mono,'IBM Plex Mono',monospace);letter-spacing:.08em;color:var(--accent)}
.sac-index .a{font-weight:600}
.sac-index .c{font:400 13px/1 var(--mono,'IBM Plex Mono',monospace);color:var(--muted)}
.sac-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;padding:0;list-style:none;font:500 12px/1.4 var(--mono,'IBM Plex Mono',monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sac-facts li::before{content:"";display:inline-block;width:6px;height:6px;background:var(--accent);margin-right:8px;vertical-align:1px}

/* Sticky progress strip */
.sac-progress{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:12px 0;margin-bottom:8px;background:var(--paper);border-bottom:1px solid var(--rule)}
.sac-progress .cnt{font:500 14px/1 var(--mono,'IBM Plex Mono',monospace);white-space:nowrap}
.sac-progress .cnt b{font-weight:500;color:var(--accent)}
.sac-pips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex:1;max-width:320px}
.sac-pip{--f:0;height:8px;background:linear-gradient(90deg,var(--accent) calc(var(--f)*100%),var(--wash) 0);border:1px solid var(--rule-firm);transition:background .25s}
.sac-progress.complete .cnt{color:var(--accent)}

/* Questions */
.sac-form{display:grid;gap:8px}
.sac-area{display:grid;gap:4px;padding:28px 0 8px}
.sac-area-head{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:6px}
.sac-area-n{font:400 34px/1 var(--display,'Gloock',serif);color:var(--accent)}
.sac-area-head h3{margin:0;font-size:clamp(22px,2.4vw,28px);line-height:1.15}
.sac-q{border:0;margin:0;padding:16px 0 18px;border-bottom:1px solid var(--rule);display:grid;gap:12px;scroll-margin-top:72px}
.sac-q legend{padding:0;font-size:17px;line-height:1.45;max-width:62ch;float:left;width:100%}
.sac-q legend + *{clear:both}
.sac-qn{font:500 13px/1 var(--mono,'IBM Plex Mono',monospace);color:var(--muted);margin-right:4px}
.sac-q.miss{background:linear-gradient(90deg,var(--accent-wash,var(--wash)),transparent 70%);box-shadow:inset 3px 0 0 var(--accent);padding-left:14px}
.sac-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--rule-firm);background:var(--card);max-width:560px}
.sac-opt{position:relative;display:block;cursor:pointer}
.sac-opt + .sac-opt{border-left:1px solid var(--rule-firm)}
.sac-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sac-opt span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 8px;font-size:15px;font-weight:500;text-align:center;transition:background .15s,color .15s}
.sac-opt:hover span{background:var(--wash)}
.sac-opt input:checked + span{background:var(--accent);color:var(--paper)}
.sac-opt input:focus-visible + span{outline:3px solid var(--accent);outline-offset:-3px}
.sac-submit{display:grid;gap:14px;padding-top:24px}
.sac-submit .small{margin:0}

/* Result */
.sac-result{scroll-margin-top:12px;outline:none;border-top:2px solid var(--ink);padding-top:28px;margin-top:40px;margin-bottom:48px;display:grid;gap:28px}
.sac-result[hidden]{display:none}
.sac-score{display:grid;grid-template-columns:auto 1fr;gap:12px 36px;align-items:end}
.sac-total{font:400 clamp(72px,13vw,148px)/.85 var(--display,'Gloock',serif);letter-spacing:-.02em}
.sac-total .of{font-size:.32em;color:var(--muted);letter-spacing:0;margin-left:0}
.sac-score .cap{margin:0;max-width:44ch;color:var(--muted)}
.sac-score .cap b{display:block;color:var(--ink);font-size:13px;font-family:var(--mono,'IBM Plex Mono',monospace);font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.sac-bars{display:grid;gap:18px;max-width:720px}
.sac-bar{display:grid;gap:8px;position:relative}
.sac-bar .t{display:flex;justify-content:space-between;gap:12px;font-size:16px}
.sac-bar .nm{font-weight:600}
.sac-bar .sc{font:500 14px/1.4 var(--mono,'IBM Plex Mono',monospace);color:var(--muted);white-space:nowrap}
.notches{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.notches i{display:block;height:14px;background:var(--wash);border:1px solid var(--rule)}
.notches i.on{background:var(--ink);border-color:var(--ink)}
.sac-bar.weak .notches i.on{background:var(--accent);border-color:var(--accent)}
.sac-bar.weak .nm{color:var(--accent)}
.sac-bar .flag{justify-self:start;font:500 11px/1 var(--mono,'IBM Plex Mono',monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.sac-weaklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sac-weak{border:1px solid var(--rule-firm);border-top:4px solid var(--accent);background:var(--card);padding:18px 20px 20px;display:grid;gap:8px;align-content:start}
.sac-weak .k{font:500 12px/1 var(--mono,'IBM Plex Mono',monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sac-weak h4{margin:0;font:400 24px/1.15 var(--display,'Gloock',serif)}
.sac-weak p{margin:0}
.sac-note{margin:0;padding:12px 16px;border-left:3px solid var(--rule-firm);background:var(--wash);font-size:15px;max-width:66ch}
.sac-note[hidden]{display:none}
.sac-nexts{display:grid;gap:14px;max-width:760px}
.sac-next{display:grid;gap:6px;padding:20px 22px;border:1px solid var(--rule-firm);background:var(--card);color:var(--ink);text-decoration:none}
.sac-next:hover{border-color:var(--accent)}
.sac-next.main{border:2px solid var(--ink)}
.sac-next .k{font:500 11px/1 var(--mono,'IBM Plex Mono',monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sac-next .h{font:400 26px/1.15 var(--display,'Gloock',serif)}
.sac-next .d{color:var(--muted);max-width:60ch}
.sac-next .go{color:var(--accent);font-weight:600}
.sac-next .go::after{content:" \2192"}

@media (max-width:760px){
  .sac-hero{grid-template-columns:1fr;padding-block:40px 28px;gap:28px}
  .sac-weaklist{grid-template-columns:1fr}
  .sac-score{grid-template-columns:1fr;gap:10px}
  .sac-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sac-opt:nth-child(3){border-left:0}
  .sac-opt:nth-child(n+3){border-top:1px solid var(--rule-firm)}
  .sac-progress{gap:12px}
}
@media (prefers-reduced-motion:reduce){.sac-pip,.sac-opt span{transition:none}}
/* Finder: one question per screen (build 2026-11-11.5) */
.lt-step{display:grid;gap:14px;max-width:560px;border:1px solid var(--rule-firm,#b9b2a6);background:var(--card,#fff);padding:20px}
.lt-step[hidden],.lt-step .done[hidden]{display:none}
.lt-prog{display:flex;justify-content:space-between;font-size:14px;color:var(--muted,#5c574f)}
.lt-prog .track{height:6px;background:var(--wash,#f3efe8);border:1px solid var(--rule,#ddd6ca);margin-top:6px}
.lt-prog .fill{display:block;height:100%;background:var(--accent,#9b2c1f)}
.lt-step h3{margin:0;font-size:19px;line-height:1.35}
.lt-step h3:focus{outline:2px solid var(--accent,#9b2c1f);outline-offset:2px}
.lt-ans{display:grid;gap:10px}
.lt-ans button{font:600 17px var(--body,system-ui,sans-serif);text-align:left;min-height:52px;padding:12px 16px;border:1px solid var(--rule-firm,#b9b2a6);background:var(--paper,#fff);color:var(--ink,#1d1b18);cursor:pointer}
.lt-ans button:hover,.lt-ans button:focus-visible{border-color:var(--accent,#9b2c1f);outline:2px solid var(--accent,#9b2c1f);outline-offset:1px}
.lt-ans button[aria-pressed=true]{background:var(--wash,#f3efe8);border-color:var(--accent,#9b2c1f)}
.lt-ans button[aria-pressed=true]::after{content:"  \2713"}
.lt-nav{display:flex;gap:10px;flex-wrap:wrap}
.lt.enhanced .lt-area,.lt.enhanced .lt-submit{display:none}

/* Step screens for Tools 1 and 2 (UI build 2026-11-11.5) */
.lt-step .lt-ans[hidden],.lt-step h3[hidden]{display:none}
.lt-step .done{margin:0;font-weight:600}
.lt-step .done:focus{outline:2px solid var(--accent,#9b2c1f);outline-offset:2px}
.lt.enhanced #sacAreas,.lt.enhanced .sac-progress,.lt.enhanced .sac-submit button[type=submit]{display:none}
.lt.enhanced .sac-submit{border:0;padding-top:12px}
.lt-form.stepped{max-width:560px;border:1px solid var(--rule-firm,#b9b2a6);background:var(--card,#fff);padding:20px}
.lt-form.stepped .lt-stephead{display:grid;gap:8px;margin-bottom:6px}
.lt-form.stepped .lt-field[hidden],.lt-form.stepped .btns [hidden]{display:none}
.lt-form.stepped .lt-radio{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 16px;margin-top:10px;border:1px solid var(--rule-firm,#b9b2a6);background:var(--paper,#fff);font-weight:600;cursor:pointer}
.lt-form.stepped .lt-radio:has(input:checked){background:var(--wash,#f3efe8);border-color:var(--accent,#9b2c1f)}
.lt-form.stepped .lt-radio:focus-within{outline:2px solid var(--accent,#9b2c1f);outline-offset:1px}
.lt-nav [hidden],.lt-step .lt-nav [hidden]{display:none}
