/* Shared IDS / HERE experience candidate. See BRAND-DIRECTION.md and visual-decisions.json. */
@font-face{font-family:"Instrument Serif";src:url("assets/instrument-serif-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("assets/instrument-serif-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Archivo Condensed";src:url("assets/archivo-condensed.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Lexend;src:url("assets/lexend.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#171717;--paper:#fdfcf9;--muted:#686762;--rule:#d4d2cc;--focus:#282828;--font-display:"Instrument Serif",Georgia,serif;--font-label:"Archivo Condensed","Arial Narrow",sans-serif;--font-ui:Arial,Helvetica,sans-serif;--gutter:clamp(22px,5vw,88px);--measure:1440px;--duration:180ms;--ease:cubic-bezier(.2,.65,.3,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--font-ui);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit;cursor:pointer}
a,button{touch-action:manipulation}
button:disabled{cursor:not-allowed;opacity:.45}
button{background:none;border:0}
input,textarea{color:var(--ink);background:var(--paper)}
:focus-visible{outline:2px solid var(--focus);outline-offset:6px}
::selection{color:var(--paper);background:var(--ink)}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}
h1,h2,.large-copy{font-family:var(--font-display);font-weight:400;line-height:1.02;letter-spacing:-.025em}
h1{font-size:clamp(72px,8.6vw,132px)}
h2{font-size:clamp(44px,4.4vw,70px)}
em{font-weight:400}
p+p{margin-top:1.15em}
.overline,.eyebrow{font-family:var(--font-label);font-size:13px;line-height:1.3;letter-spacing:.08em}
.source-note,.muted,.coverage{color:var(--muted);font-size:13px;line-height:1.6}
.skip{position:fixed;z-index:100;left:20px;top:-100px;padding:12px 20px;background:var(--ink);color:var(--paper)}
.skip:focus{top:12px}
.family-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px var(--gutter);max-width:calc(var(--measure) + var(--gutter)*2);margin:auto;font-size:13px}
.ids-signature{display:flex;align-items:center;gap:9px;font:24px/1 var(--font-label);letter-spacing:-.05em}
.ids-signature img{background:#111;object-fit:contain;width:38px;height:38px;border-radius:50%;padding:2px}
.family-header nav{display:flex;gap:34px}
.family-header nav a,.here-link{padding:8px 0;border-bottom:1px solid transparent}
.family-header nav a:hover,.here-link:hover{border-color:currentColor}
.line-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid currentColor;padding:6px 0;font-size:14px;line-height:1.5}
.line-link span{transition:transform var(--duration) var(--ease)}
.line-link:hover span{transform:translate(2px,-2px)}
.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;padding:13px 22px;border:1px solid var(--ink);border-radius:2px;font-size:14px;line-height:1.4}
.button.dark{background:var(--ink);color:var(--paper)}
.button.cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.button.small{padding:9px 15px;font-size:13px}
.button:hover{opacity:.82}
.text-button{padding:6px 0;text-decoration:underline;text-underline-offset:5px;font-size:13px;text-align:left}
footer{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:40px var(--gutter);font-size:12px;line-height:1.5;max-width:calc(var(--measure) + var(--gutter)*2);margin:auto}
footer .footer-brand{font-family:var(--font-display);font-size:30px}
footer>span{color:var(--muted)}
footer>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px}
#build-id{color:var(--muted);font:11px var(--font-label);width:100%;text-align:right}
dialog{padding:42px;width:min(92vw,820px);max-height:88dvh;border:1px solid var(--rule);color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #0003;overflow:auto}
dialog::backdrop{background:#17171794;backdrop-filter:blur(5px)}
dialog .close{position:absolute;top:14px;right:17px;width:42px;height:42px;font-size:29px;line-height:1;border:1px solid var(--rule);border-radius:50%;background:var(--paper)}
dialog h2{font-size:42px;margin:12px 30px 22px 0}
dialog p{margin-bottom:18px}
dialog dl{margin:24px 0;line-height:1.5}
dialog dl>div{display:grid;grid-template-columns:100px 1fr;gap:15px;border-top:1px solid var(--rule);padding:12px 0;font-size:13px}
dialog dt{color:var(--muted)}
dialog dd{margin:0;overflow-wrap:anywhere}
dialog .button{margin:5px 12px 5px 0}
form label{display:flex;flex-direction:column;gap:6px;font-size:13px;margin:0 0 17px}
input,textarea{border:1px solid #afaea8;border-radius:0;padding:12px;min-width:0}
textarea{resize:vertical}
form button{margin:0 0 18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#prepare-error:empty{display:none}
#prepare-error{padding:10px 14px;background:#eeeae3;font-size:13px}
.comparison{overflow-x:auto}
.comparison table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6;table-layout:fixed}
.comparison th,.comparison td{border-top:1px solid var(--rule);text-align:left;vertical-align:top;padding:12px;overflow-wrap:anywhere}
.comparison th:first-child{width:21%}
.comparison th{font-weight:500}
.no-script{padding:25px var(--gutter);background:#eeeae3}
@media(max-width:700px){html{scroll-padding-top:25px}.family-header{gap:15px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.family-header nav{gap:20px;margin-left:auto;font-size:12px}.here-link{display:none}.family-header .ids-signature{font-size:21px}.family-header .ids-signature img{width:32px;height:32px}footer{align-items:flex-start;flex-wrap:wrap;gap:18px}footer>div{justify-content:flex-start;width:100%}#build-id{text-align:left}.form-grid{grid-template-columns:1fr;gap:0}dialog{padding:30px 20px;width:calc(100vw - 24px);max-height:92dvh}dialog h2{font-size:36px}dialog dl>div{grid-template-columns:80px 1fr}.comparison th,.comparison td{padding:10px 6px;font-size:11px}.button{padding:13px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.family-header nav a{min-height:44px;display:flex;align-items:center}.ids-signature{min-height:44px}dialog .close{min-width:44px;min-height:44px}

/* A long evidence record or form must always offer an on-screen way to close. */
.record-toolbar{position:sticky;top:-42px;z-index:3;padding:14px 0;background:var(--paper);border-bottom:1px solid var(--rule);margin:-14px 0 24px}.record-toolbar .close{position:absolute;right:0;top:14px;margin:0;float:none}.record-toolbar p{margin:0}.record-toolbar h2{font-size:36px;margin:10px 46px 5px 0}@media(max-width:700px){.record-toolbar{top:-30px}.record-toolbar h2{font-size:32px}}

.family-header{position:sticky;top:0;z-index:20;background:var(--paper)}footer>span a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){html{scroll-padding-top:94px}}
