:root { --navy:#102b46; --ink:#16324d; --muted:#586e83; --line:#dce4ec; --surface:#f3f6fa; --accent:#176bde; --gold:#c8952a; --gold-light:#e0aa45; }
* { box-sizing:border-box; }
body { margin:0; background:var(--surface); color:var(--ink); font:15px/1.65 Lato,system-ui,-apple-system,sans-serif; }
a { color:var(--accent); text-underline-offset:3px; }
a:focus-visible, input:focus-visible, select:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Inter,system-ui,-apple-system,sans-serif; letter-spacing:0; line-height:1.25; }
.proof-section-title { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.field-wrap { max-width:1200px; margin:auto; padding:0 28px; }
.proof-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; padding:24px 0; border-bottom:1px solid var(--line); font-size:.9rem; font-weight:600; color:var(--muted); }
.proof-breadcrumb a { color:inherit; }
.proof-heading { padding:32px 0 8px; }
.eyebrow { color:var(--accent); font-size:.75rem; font-weight:700; margin-bottom:12px; }
h1 { font-size:2rem; margin-bottom:14px; }
.proof-heading>p:last-child { color:var(--muted); max-width:760px; margin-bottom:12px; }
.proof-toolbar { display:grid; grid-template-columns:minmax(0,430px) minmax(0,210px) auto; align-items:end; justify-content:start; gap:12px; margin:16px 0 24px; }
.proof-toolbar label { display:block; font-size:.75rem; font-weight:600; margin-bottom:5px; }
.proof-search { flex:1 1 280px; max-width:430px; }
.proof-filter { flex:0 1 210px; min-width:0; }
.proof-toolbar input,.proof-toolbar select { width:100%; height:40px; padding:8px 10px; font:400 .85rem/1.4 Lato,system-ui,sans-serif; color:var(--ink); background:#fff; border:1px solid #c7d4e1; border-radius:5px; }
#proof-count { display:flex; align-items:center; flex:0 0 auto; height:40px; margin:0; font-size:.85rem; font-weight:400; line-height:1; color:var(--muted); white-space:nowrap; }
.case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.field-case { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--line); border-radius:8px; background:white; scroll-margin-top:90px; }
.field-case[hidden], .proof-empty[hidden] { display:none; }
.case-top { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-bottom:18px; }
.case-label { font-size:.72rem; font-weight:700; color:var(--accent); }
.case-status { padding:3px 8px; border-radius:4px; font-size:.68rem; font-weight:700; line-height:1.6; }
.case-status--approved { background:#e6f4ef; color:#22634f; }
.case-status--hold { background:#fff0dc; color:#875411; }
.case-status--review { background:#edf1f7; color:#435c76; }
.field-case h3 { font-size:1.18rem; margin:0 0 12px; }
.field-case h3 a { color:var(--ink); text-decoration:none; }
.field-case h3 a:hover { text-decoration:underline; }
.case-client { font-size:.8rem; color:var(--muted); margin-bottom:22px; }
.field-case dl { margin:0 0 24px; }
.field-case dl>div+div { margin-top:18px; }
.field-case dt { font-size:.8rem; font-weight:700; margin-bottom:6px; }
.field-case dd { margin:0; font-size:.85rem; color:var(--muted); line-height:1.65; }
.source-link { margin-top:auto; font-size:.8rem; font-weight:600; color:#805a12; }
.proof-empty { padding:32px 0; color:var(--muted); }
.proof-empty button { font:inherit; border:0; background:none; padding:0 4px; color:var(--accent); text-decoration:underline; cursor:pointer; }
.proof-note { margin:24px 0; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:.8rem; color:var(--muted); }
.proof-methodology { margin:24px 0; scroll-margin-top:90px; }
.proof-methodology summary { cursor:pointer; font-size:.9rem; font-weight:600; }
.proof-methodology>div { max-width:850px; margin-top:20px; font-size:.85rem; color:var(--muted); }
.caption { font-size:.75rem; overflow-wrap:anywhere; }
.proof-contact { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:32px 0 48px; padding-top:24px; border-top:1px solid var(--line); font-size:.9rem; }
.proof-contact p { flex:1 1 280px; margin:0; font-weight:700; text-align:center; }
.proof-contact a { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 18px; background:var(--gold); color:var(--navy); border:1px solid var(--gold); border-radius:4px; font-weight:700; text-decoration:none; }
.proof-contact a:hover { background:var(--gold-light); border-color:var(--gold-light); }
footer { padding:32px 28px; background:var(--navy); color:white; }
.footer-inner,.footer-copy { max-width:1144px; margin:auto; }
.footer-logo { font-family:Selima,cursive; font-size:2rem; margin-bottom:16px; }
.footer-links { display:flex; flex-wrap:wrap; gap:10px 24px; list-style:none; margin:0 0 24px; padding:0; }
footer a { color:#c8d7e6; font-size:.8rem; text-decoration:none; }
footer a:hover { text-decoration:underline; }
.footer-copy { font-size:.75rem; color:#c8d7e6; padding-top:16px; border-top:1px solid #38526d; }
@media(max-width:720px) { .field-wrap { padding:0 20px; } .case-grid { grid-template-columns:minmax(0,1fr); } .field-case { padding:20px; } h1 { font-size:1.7rem; } .proof-heading { padding-top:24px; } .proof-toolbar { grid-template-columns:minmax(0,1fr) minmax(0,150px); gap:8px; } .proof-search,.proof-filter { min-width:0; max-width:none; } #proof-count { grid-column:1 / -1; height:auto; margin:0; } }
