/* Shared styles for the Ministry's companion pages (scorecard, book, signup). Tokens match legal.css. */
:root{--paper:#EAE4D6;--ink:#1B1A17;--muted:#5A5244;--brass:#8E6F2E;--rule:rgba(27,26,23,.18);--callout:#F3EEDF;--stamp:#8B1E1E;--panel:#F6F1E3}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#141215;--ink:#E9E1CC;--muted:#B4AA95;--brass:#D8B46A;--rule:rgba(233,225,204,.18);--callout:#1E1A1C;--stamp:#E27D6F;--panel:#1B181A}}
:root[data-theme="dark"]{--paper:#141215;--ink:#E9E1CC;--muted:#B4AA95;--brass:#D8B46A;--rule:rgba(233,225,204,.18);--callout:#1E1A1C;--stamp:#E27D6F;--panel:#1B181A}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'EB Garamond',Georgia,serif;font-size:19px;line-height:1.6}
main{max-width:760px;margin:0 auto;padding:28px 16px 70px}
a{color:var(--brass)}
.back{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--brass);text-decoration:none}
.back:hover{text-decoration:underline}
.eyebrow{margin:26px 0 6px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1{margin:0 0 8px;font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:clamp(28px,6.4vw,42px);line-height:1.12;text-wrap:balance}
h2{margin:36px 0 8px;font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:22px;text-wrap:balance}
h3{margin:0 0 6px;font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:18px}
p,li{margin:0 0 12px}
.lede{font-size:22px;line-height:1.45;margin:0 0 20px}
.mono{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--muted)}
.panel{background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--brass);border-radius:3px;padding:18px 20px;margin:20px 0}
.btn{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:14px;letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:2px;cursor:pointer;text-decoration:none}
.btn.alt{background:transparent;color:var(--ink)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.stamp{display:inline-block;font-family:'Cinzel',Georgia,serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--stamp);border:3px solid var(--stamp);padding:4px 12px;transform:rotate(-3deg);font-size:15px}
label.field{display:block;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px}
input[type=text],input[type=email]{width:100%;font:inherit;font-size:19px;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--rule);padding:6px 2px;border-radius:0}
input[type=text]:focus,input[type=email]:focus{border-bottom-color:var(--brass)}
.check{display:flex;gap:12px;align-items:flex-start;margin:10px 0;cursor:pointer}
.check input{appearance:none;flex:none;width:24px;height:24px;margin:3px 0 0;border:2px solid var(--ink);display:grid;place-content:center;background:transparent;cursor:pointer}
.check input:checked{background:var(--brass);border-color:var(--brass)}
.check input:checked::after{content:"✓";color:var(--paper);font:700 16px/1 'IBM Plex Mono',monospace}
.check input:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.check span{min-width:0}
.check small{display:block;color:var(--muted);font-style:italic;font-size:16px}
.fine{font-size:15px;color:var(--muted)}
footer.site-nav{max-width:760px;margin:0 auto;padding:0 16px 44px;font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--muted)}
footer.site-nav a{margin-right:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:520px){body{font-size:18px}.lede{font-size:20px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.noprint{display:none!important}body{background:#fff;color:#000}}
