/* LORM brand: Montserrat with IBM Plex Mono for labels and figures; slate blue on warm off-white with black. */
@font-face{font-family:"Montserrat";src:url("fonts/Montserrat-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --blue:#2C5672;          /* brand blue: large type, bars, fills */
  --blue-strong:#244A63;   /* brand blue darkened for small text and buttons on white */
  --blue-deep:#1B3A4F;
  --cyan:#98A8B1;          /* brand dot: only on blue or navy */
  --navy:#141312;
  --ink:#141312;
  --muted:#4F5A61;
  --faint:#5F6A70;
  --line:#E3E6E6;
  --line-strong:#C9D3D9;
  --wash:#EEF2F4;
  --wash-blue:#E7EDF0;
  --bg:#FAF9F6;
  --radius:14px;
  --font:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --page:1200px;
  --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:hover{color:var(--blue-strong)}
img,svg{max-width:100%}
p{margin:0 0 18px}
h1,h2,h3,h4{font-family:var(--font);color:var(--ink);margin:0 0 16px}
h1{font-size:clamp(40px,6vw,76px);line-height:1.02;font-weight:800;letter-spacing:-.035em}
h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;font-weight:800;letter-spacing:-.03em}
h3{font-size:21px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
h4{font-size:15px;font-weight:700}
strong{font-weight:700}
button,select,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
code,pre{font-family:var(--mono)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{top:12px}
.preparation{background:var(--navy);color:#D8DEE2;text-align:center;font:600 10px/1 var(--font);letter-spacing:.18em;padding:7px 12px}

/* Wordmark */
.wordmark{font-weight:800;letter-spacing:-.02em;font-size:28px;line-height:1;color:var(--ink)}
.wordmark-dot{color:var(--blue)}
.brand{display:inline-flex;align-items:center}
.brand:hover .wordmark{color:var(--ink)}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:50}
.header-inner{max-width:var(--page);margin:0 auto;padding:0 var(--gutter);height:76px;display:flex;align-items:center;gap:36px}
.main-nav{display:flex;gap:30px;font-weight:600;font-size:15px;margin-left:auto}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{list-style:none;cursor:pointer;font-weight:700;padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;min-height:44px;display:flex;align-items:center}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{position:absolute;right:0;top:calc(100% + 10px);width:min(280px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 50px #14131222;padding:8px;display:flex;flex-direction:column}
.mobile-menu nav a{padding:12px 14px;border-radius:10px;font-weight:600}
.mobile-menu nav a:hover,.mobile-menu nav a[aria-current]{background:var(--wash-blue);color:var(--blue-strong)}

/* Layout */
main{display:block;max-width:var(--page);margin:0 auto;padding:0 var(--gutter);min-height:60vh}
main:focus{outline:none}
.breadcrumbs{padding-top:26px;font-size:13px;font-weight:600;color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;gap:10px}
.breadcrumbs li+li::before{content:"/";color:var(--faint)}
.breadcrumbs a{color:var(--blue-strong)}
.breadcrumbs [aria-current]{color:var(--ink)}

/* Buttons and links */
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);font-weight:700;font-size:15px;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.button:hover{border-color:var(--blue);color:var(--blue-strong)}
.button.primary{background:var(--blue-strong);border-color:var(--blue-strong);color:#fff}
.button.primary:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
body .button.is-disabled,body .button.primary.is-disabled,body .button.primary.is-disabled:hover{background:var(--wash);border-color:var(--line-strong);color:var(--muted);cursor:default}
.card-links .is-disabled{color:var(--muted)}
.button.ghost{border-color:transparent;background:transparent;padding-left:8px;padding-right:8px}
.button.ghost:hover{text-decoration:underline;text-underline-offset:5px}
.button.light{background:#fff;border-color:#fff;color:var(--blue-deep)}
.button.light:hover{background:var(--wash-blue);color:var(--blue-deep)}
.button.outline-light{background:transparent;border-color:#ffffff99;color:#fff}
.button.outline-light:hover{border-color:#fff;color:#fff;background:#ffffff1a}
.button.disabled{opacity:.55;pointer-events:none}
.text-link{font-weight:700;color:var(--blue-strong);font-size:15px}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.kicker,.section-kicker,.eyebrow,.panel-kicker,.card-meta{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-strong);margin:0 0 14px}
.card-meta{color:var(--muted);letter-spacing:.08em}
.lead,.hero-lead,.section-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--muted);max-width:640px}
.fine-print{font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px;max-width:820px}
.muted{color:var(--muted);font-size:14px}
.status{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--wash);color:var(--muted);border:1px solid var(--line)}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--faint)}
.status.is-live{background:var(--wash-blue);color:var(--blue-strong);border-color:#D6E1E8}
.status.is-live::before{background:var(--blue)}

/* Home hero */
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:center;padding:72px 0 56px}
.hero h1{max-width:12ch}
.hero-lead{margin-top:6px}
.hero-panel{background:var(--navy);color:#fff;border-radius:22px;padding:34px;position:relative;overflow:hidden;box-shadow:0 30px 60px #1413122e}
.hero-panel::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#2C567266,transparent 70%)}
.panel-kicker{color:var(--cyan);letter-spacing:.14em}
.panel-title{font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0 0 26px;color:#fff}
.panel-compare{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px;margin-bottom:20px}
.panel-compare>div{display:flex;flex-direction:column}
.panel-value{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;color:#AEB8BE}
.panel-value.is-bright{font-size:64px;color:var(--cyan)}
.panel-label{font-size:13px;color:#D8DEE2;margin-top:8px;font-weight:500}
.panel-arrow{font-size:30px;color:#6F86B8;padding-bottom:22px}
.panel-note{font-size:13px;color:#AEB8BE;margin:0 0 20px}
.panel-link{font-weight:700;color:#fff;border-bottom:2px solid var(--blue)}
.panel-link:hover{color:var(--cyan)}

/* Stat strip */
.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-strip>div{padding:26px 24px 26px 0}
.stat-strip>div+div{padding-left:24px;border-left:1px solid var(--line)}
.stat-strip dt{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.03em;color:var(--blue);line-height:1.1}
.stat-strip dd{margin:8px 0 0;font-size:14px;color:var(--muted);line-height:1.5}

/* Sections */
.band{padding:72px 0;border-top:1px solid var(--line)}
.stat-strip+.band{border-top:0}
.band-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:34px}
.band-head h2{margin:0}
.band-head .section-lead{margin:0}
.page-head{padding:64px 0 48px}
.page-head h1{max-width:18ch}

/* Leaderboard */
.leaderboard{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}
.lb-switch{display:inline-flex;gap:4px;background:var(--wash);border-radius:999px;padding:4px;margin-bottom:18px}
.lb-switch button{border:0;background:transparent;border-radius:999px;padding:9px 16px;font-weight:700;font-size:14px;color:var(--muted);min-height:40px}
.lb-switch button[aria-selected=true]{background:#fff;color:var(--blue-strong);box-shadow:0 1px 4px #1413121f}
.lb-note{font-size:13px;color:var(--muted);margin:0 0 6px}
.leaderboard-svg{display:block;width:100%;height:auto;font-family:var(--font)}
.lb-grid{stroke:var(--line);stroke-width:1}
.leaderboard-svg.is-compact{display:none}
.lb-track{fill:var(--wash)}
@media(max-width:600px){.leaderboard-svg:not(.is-compact){display:none}.leaderboard-svg.is-compact{display:block}.is-compact .lb-label{font-size:14px}.is-compact .lb-value{font-size:14px}}
.lb-tick{font-size:12px;fill:var(--faint);font-weight:500}
.lb-label{font-size:15px;font-weight:600;fill:var(--muted)}
.lb-label.lb-lorm{fill:var(--ink);font-weight:800}
.lb-bar.lb-lorm{fill:var(--blue)}
.lb-bar.lb-other{fill:#98A8B1}
.lb-value{font-size:15px;font-weight:800;fill:var(--muted)}
.lb-value.lb-lorm{fill:var(--blue-strong)}
.lb-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.lb-details summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--blue-strong);padding:6px 0}
.table-scroll{overflow-x:auto;margin-top:10px}
.lb-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.lb-table caption{text-align:left;font-size:13px;color:var(--muted);padding:6px 0 12px}
.lb-table th,.lb-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
.lb-table td{font-variant-numeric:tabular-nums}
.lb-table thead th{font-size:12px;color:var(--muted);font-weight:700}
.lb-table thead button{border:0;background:none;padding:0;font-weight:700;color:inherit;text-align:left}
.lb-table thead button::after{content:" ↕";color:var(--faint)}
.lb-table thead th[aria-sort=ascending] button::after{content:" ↑";color:var(--blue-strong)}
.lb-table thead th[aria-sort=descending] button::after{content:" ↓";color:var(--blue-strong)}
.lb-table tr.is-lorm th{color:var(--blue-strong);font-weight:800}
.lb-table tr.is-lorm{background:#F4F7F8}
.lb-table strong{color:var(--ink)}

/* Project cards */
.project-cards{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}
.project-card{border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:6px;background:#fff;transition:border-color .15s,box-shadow .15s}
.project-card:hover{border-color:#B9C7D0;box-shadow:0 14px 34px #1413120f}
.project-card.is-featured{background:linear-gradient(160deg,#F1F5F7,#fff 60%);border-color:#D6E1E8}
.project-card.is-next{background:var(--wash);border-style:dashed}
.project-card p{color:var(--muted);font-size:15px}
.card-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.card-top .card-meta{margin:0}
.card-figure{margin-top:auto}
.card-figure strong{display:block;font-size:40px;font-weight:800;letter-spacing:-.03em;color:var(--blue);line-height:1.1}
.card-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-weight:700;font-size:14px}
.card-links a{color:var(--blue-strong)}
.card-links a:hover{text-decoration:underline;text-underline-offset:4px}

/* Blue call-to-action band */
.cta-band{margin:24px 0 80px;background:var(--blue-strong);background-image:radial-gradient(circle at 92% 10%,#2C5672,transparent 55%);color:#fff;border-radius:26px;padding:52px;display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:30px;align-items:center}
.cta-band h2{color:#fff;margin-bottom:12px}
.cta-band h2::after{content:".";color:var(--cyan)}
.cta-band p{color:#E3EAEE;font-size:17px;max-width:560px;margin:0}
.cta-band .actions{margin:0}

/* Footer */
.site-footer{background:var(--navy);color:#D8DEE2;margin-top:40px}
.footer-inner{max-width:var(--page);margin:0 auto;padding:56px var(--gutter) 36px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.site-footer .wordmark{color:#fff}
.site-footer .wordmark-dot{color:var(--cyan)}
.footer-brand p{margin-top:14px;font-size:14px}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:14px}
.footer-col h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#98A8B1;margin:0 0 4px}
.footer-col a:hover,.footer-links a:hover{color:var(--cyan)}
.site-footer address{font-style:normal;font-size:13px;line-height:1.6;margin-top:6px;color:#AEB8BE}
.footer-legal{grid-column:1/-1;border-top:1px solid #33363A;padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#AEB8BE}
.footer-legal p{margin:0}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 22px}

/* SENSUS project page: contents rail and sections */
.project-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:56px;padding-top:24px}
.rail{position:sticky;top:24px;align-self:start;padding-top:30px}
.rail-title{font-size:13px;font-weight:800;margin:0 0 14px}
.rail-nav{display:flex;flex-direction:column;border-left:2px solid var(--line)}
.rail-nav a{padding:8px 0 8px 16px;margin-left:-2px;border-left:2px solid transparent;font-size:14px;font-weight:600;color:var(--muted)}
.rail-nav a:hover{color:var(--ink)}
.rail-nav a[aria-current]{color:var(--blue-strong);border-left-color:var(--blue)}
.rail-progress{height:4px;background:var(--wash);border-radius:4px;margin-top:20px;overflow:hidden}
.rail-progress span{display:block;height:100%;width:0;background:var(--blue);transition:width .1s linear}
.project-content{min-width:0}
.project-hero{padding:30px 0 40px}
.project-hero h1{font-size:clamp(36px,5vw,64px);max-width:16ch}
.release-line{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:20px}
.project-section{padding:64px 0 24px;border-top:1px solid var(--line);scroll-margin-top:20px}
.project-section h2{max-width:22ch}
.project-section .section-lead{margin-bottom:28px}
.step-number{font-size:13px;font-weight:800;color:var(--blue-strong);letter-spacing:.06em}
.overview-cards{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.overview-cards li{background:var(--wash);border-radius:var(--radius);padding:24px}
.overview-cards h2,.overview-cards h3{font-size:20px;letter-spacing:-.01em;margin:10px 0 8px}
.overview-cards p{font-size:15px;color:var(--muted);margin:0}

/* Steps */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.step-card details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .15s,box-shadow .15s}
.step-card details[open]{border-color:#B9C7D0;box-shadow:0 12px 30px #1413120d}
.step-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 130px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:20px 22px}
.step-card summary::-webkit-details-marker{display:none}
.step-card summary::after{content:"+";font-size:22px;font-weight:600;color:var(--blue-strong);text-align:right}
.step-card details[open] summary::after{content:"−"}
.step-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.step-title{font-size:18px;font-weight:700}
.step-card details>p{padding:0 22px 0 82px;color:var(--muted);max-width:760px}
.step-example{margin:0 22px 22px 82px;background:var(--wash);border-radius:12px;padding:18px 20px;font-size:14px}
.step-example dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-strong);margin-top:10px}
.step-example dt:first-child{margin-top:0}
.step-example dd{margin:4px 0 0}
.step-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.step-facts dt{margin:0}
.step-facts dd{font-size:20px;font-weight:800;color:var(--ink)}
.step-facts>dt:nth-of-type(n){grid-row:1}
.step-facts>dd:nth-of-type(n){grid-row:2}
.step-checklist{padding-left:38px}
.step-checklist li{margin-bottom:8px}

/* Exhibit: one recorded case, two replies */
.exhibit-tabs{display:inline-flex;gap:4px;background:var(--wash);border-radius:999px;padding:4px;margin-bottom:18px}
.exhibit-tabs button{border:0;background:transparent;border-radius:999px;padding:9px 18px;font-weight:700;font-size:14px;color:var(--muted);min-height:40px}
.exhibit-tabs button[aria-selected=true]{background:#fff;color:var(--blue-strong);box-shadow:0 1px 4px #1413121f}
.exhibit-case+.exhibit-case{margin-top:28px}
.exhibit-context{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.exhibit-context>div{background:var(--wash);border-radius:var(--radius);padding:18px 20px}
.exhibit-context h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-strong);margin-bottom:8px}
.exhibit-context p{margin:0;font-size:15px}
.exhibit-picker{display:flex;align-items:center;gap:12px;font-weight:700;font-size:14px;margin:0 0 14px}
.exhibit-picker select{min-height:44px;padding:8px 14px;border-radius:10px;border:1.5px solid var(--line-strong);background:#fff;font-weight:600}
.exhibit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.exhibit-side{display:grid;gap:16px}
.exhibit-reply{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff}
.exhibit-side.is-lorm .exhibit-reply{border:2px solid var(--blue);background:#F6F8F9}
.exhibit-reply header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.exhibit-reply h4{margin:0;font-size:15px}
.exhibit-score{font-size:22px;font-weight:800;color:var(--muted)}
.exhibit-side.is-lorm .exhibit-score{color:var(--blue-strong)}
.recorded-response{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
.exhibit-marks{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}
.exhibit-marks summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--blue-strong);padding:6px 0}
.mark-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;font-size:13px}
.mark-list li{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start}
.mark{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:6px;text-align:center}
.is-met .mark{background:#E3F0FF;color:var(--blue-deep)}
.is-missed .mark{background:#F1F2F5;color:var(--muted)}
.is-serious .mark{background:#FFE8E5;color:#A3261A}

/* Get-the-data flow */
.flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:flow}
.flow li{border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative}
.flow h3{margin:8px 0}
.flow p{color:var(--muted);font-size:15px}
.command{display:block;background:var(--navy);color:#E3EAEE;padding:12px 14px;border-radius:10px;font-size:14px}

/* Paper card and limits */
.paper-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:var(--wash);border-radius:22px;padding:28px}
.paper-card h3{font-size:22px}
.paper-card p{color:var(--muted)}
.paper-card .actions{margin:0}
.limits{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.limits li{font-size:14px;color:var(--muted);border-left:3px solid var(--line-strong);padding:4px 0 4px 14px}
.limits strong{color:var(--ink)}

/* Research index */
.project-list{display:grid;gap:16px}
.project-row{display:grid;grid-template-columns:150px minmax(0,1fr) 220px;gap:28px;align-items:start;border:1px solid var(--line);border-radius:22px;padding:28px}
.project-row.is-featured{border-color:#D6E1E8;background:linear-gradient(160deg,#F1F5F7,#fff 60%)}
.row-status{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.row-status .card-meta{margin:0}
.row-body h3{font-size:24px}
.row-body p{color:var(--muted)}
.row-figure{margin:0;text-align:right}
.row-figure strong{display:block;font-size:30px;font-weight:800;color:var(--blue);letter-spacing:-.02em}
.row-figure span{font-size:13px;color:var(--muted)}

/* Data page */
.data-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center}
.data-facts{margin:0;border:1px solid var(--line);border-radius:22px;padding:8px 24px;background:#fff}
.data-facts>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.data-facts>div:last-child{border-bottom:0}
.data-facts dt{font-size:13px;font-weight:700;color:var(--muted)}
.data-facts dd{margin:0;font-weight:600}
.data-facts>div:first-child dd{font-size:28px;font-weight:800;color:var(--blue);line-height:1}
.file-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.file-list li{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.file-list a{font-family:var(--mono);font-weight:600;color:var(--blue-strong)}
.file-list span{color:var(--muted);font-size:15px}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.about-grid h2{font-size:clamp(26px,2.8vw,36px)}
.about-grid p{color:var(--muted);font-size:17px}

/* SENSUS workspace inside the project page */
.sensus-workspace{margin-top:24px}

/* Generic content used by the paper, the v2 preview and redirect pages */
.section{padding:48px 0;border-top:1px solid var(--line)}
.narrow{max-width:760px}
.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.columns p{color:var(--muted);font-size:15px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.release-badge{display:inline-block;background:var(--wash-blue);color:var(--blue-strong);font-weight:700;font-size:12px;padding:5px 11px;border-radius:999px}
.callout{background:var(--wash-blue);border-left:4px solid var(--blue);border-radius:0 12px 12px 0;padding:16px 20px;font-size:15px}
table{border-collapse:collapse}
.table-wrap{overflow-x:auto}
.table-wrap table{width:100%;font-size:14px}
.table-wrap th,.table-wrap td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}
details>summary{cursor:pointer}

/* Paper page */
.publication-head{padding:48px 0 36px}
.publication-head h1{font-size:clamp(36px,5vw,62px);max-width:20ch}
.publication-head>p:not(.lead):not(.publication-meta){font-size:18px;font-weight:700;color:var(--blue-strong)}
.publication-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;font-weight:600;color:var(--muted)}
.publication-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:56px;align-items:start}
.publication-toc{position:sticky;top:24px;padding-top:24px}
.publication-toc nav{display:flex;flex-direction:column;border-left:2px solid var(--line)}
.publication-toc nav a{padding:8px 0 8px 16px;margin-left:-2px;border-left:2px solid transparent;font-size:14px;font-weight:600;color:var(--muted)}
.publication-toc nav a[aria-current]{color:var(--blue-strong);border-left-color:var(--blue)}
.publication-toc-toggle{display:none}
.publication-content{min-width:0;max-width:820px}
.publication-content section{padding:48px 0;border-top:1px solid var(--line);scroll-margin-top:20px}
.publication-content h2{font-size:clamp(26px,3vw,38px)}
.publication-content h3{font-size:20px;margin-top:28px}
.publication-content p,.publication-content li{color:var(--muted);font-size:16px;line-height:1.75}
.publication-content strong{color:var(--ink)}
.publication-figure{margin:24px 0}
.publication-figure figcaption{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.6}
.score-chart{display:block;width:100%;height:auto;border-radius:12px}
.publication-table,.evidence-table{overflow-x:auto}
.publication-table{margin:20px 0;border:1px solid var(--line);border-radius:var(--radius)}
.evidence-table{width:100%;font-size:14px;min-width:560px}
.evidence-table caption{text-align:left;padding:14px 16px;font-size:13px;font-weight:700;color:var(--ink)}
.evidence-table th,.evidence-table td{text-align:left;padding:11px 16px;border-top:1px solid var(--line);vertical-align:top}
.evidence-table thead th{font-size:12px;color:var(--muted);background:var(--wash)}
.lorm-comparison-row{background:#F4F7F8}
.lorm-comparison-row th{color:var(--blue-strong)}
.comparison-qualification,.comparison-unranked{font-size:13px!important}
.research-disclosure{border:1px solid var(--line);border-radius:var(--radius);padding:4px 20px;margin:20px 0}
.research-disclosure>summary{font-weight:700;color:var(--blue-strong);padding:14px 0}
.method-pipeline{background:var(--wash-blue);border-radius:12px;padding:14px 18px;font-weight:700;color:var(--blue-deep)!important}
.evidence-navigation{font-size:14px}
.evidence-navigation a{color:var(--blue-strong);font-weight:700}
.results-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:16px 0}
.results-filters label,.example-controls label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.results-filters select,.example-controls select{min-height:44px;padding:8px 12px;border-radius:10px;border:1.5px solid var(--line-strong);background:#fff}
.results-count{font-size:13px;color:var(--muted)}
.results-explorer meter{display:block;width:110px;margin-top:4px}
.results-explorer tr[data-training=lorm] th{color:var(--blue-strong);font-weight:800}
.recorded-example{border:1px solid var(--line);border-radius:var(--radius);padding:4px 20px;margin:16px 0}
.recorded-example>summary{font-weight:700;padding:14px 0}
.example-context{background:var(--wash);border-radius:12px;padding:16px 18px;margin:12px 0}
.example-context h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-strong);margin:8px 0}
.example-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.example-card{border:1px solid var(--line);border-radius:12px;padding:16px}
.example-card[data-lorm-response]{border:2px solid var(--blue)}
.example-card h4{margin-top:0}
.example-score{font-size:13px;font-weight:700;color:var(--muted)}
.publication-note{font-size:13px!important}
.publication-content cite{font-style:italic}

/* Contact, dialogs and policies */
.contact-page{max-width:640px;margin:0 auto;padding:56px 0}
.site-dialog{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:36px;border:0;border-radius:22px;background:#fff;color:var(--ink);overflow-y:auto;box-shadow:0 30px 80px #14131240}
.site-dialog::backdrop{background:#141312a6;backdrop-filter:blur(4px)}
.dialog-open{overflow:hidden}
.dialog-close{position:absolute;right:16px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:var(--wash);font-size:24px;line-height:1}
.dialog-close:hover{background:var(--wash-blue);color:var(--blue-strong)}
.dialog-fallback-close{display:block;margin-bottom:16px;font-weight:700;color:var(--blue-strong)}
.dialogs-ready .dialog-fallback-close,html:not(.dialogs-ready) .dialog-close{display:none}
html:not(.dialogs-ready) .site-dialog:not([open]):target{display:block;position:fixed;inset:24px 0;z-index:200}
.site-dialog h2{font-size:30px;padding-right:44px}
#contact-form{display:grid;gap:8px}
#contact-form label{font-size:14px;font-weight:700}
#contact-form input:not([type=checkbox]),#contact-form textarea{width:100%;border:1.5px solid var(--line-strong);border-radius:10px;padding:10px 12px;font-size:16px;background:#fff}
#contact-form input:focus,#contact-form textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2C567233}
#contact-form textarea{min-height:110px;resize:vertical}
#contact-form .muted{font-size:12px;margin:0}
.consent{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start;font-weight:500!important;font-size:13px!important;margin:6px 0}
.consent input{margin-top:4px}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#contact-form .button{justify-self:start}
#contact-form button:disabled{opacity:.6;cursor:wait}
#contact-status{font-size:14px;margin:0}
#contact-status:empty{display:none}
#terms-of-service,#privacy-policy{width:min(880px,calc(100% - 32px));padding:0 36px 28px}
#terms-of-service .dialog-close,#privacy-policy .dialog-close{position:sticky;display:block;top:12px;margin:12px 0 0 auto;z-index:1}
.legal-content{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.legal-content h2{font-size:28px}
.legal-content h3{font-size:19px;margin:26px 0 10px}
.legal-content h4{font-size:15px;margin:18px 0 8px}
.legal-content ul{padding-left:22px}
.legal-table{overflow-x:auto;margin:18px 0}
.legal-table table{min-width:560px;font-size:12px}
.legal-table th,.legal-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}

/* Responsive */
@media(max-width:1000px){
  .hero{grid-template-columns:minmax(0,1fr);gap:36px;padding:48px 0 40px}
  .project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-cards .is-featured{grid-column:1/-1}
  .project-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .rail{display:none}
  .project-row{grid-template-columns:minmax(0,1fr);gap:12px}
  .row-figure{text-align:left}
  .publication-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .publication-toc{position:static;padding:0}
  .publication-toc nav{flex-direction:row;flex-wrap:wrap;border-left:0;gap:4px 18px;padding:12px 0}
  .publication-toc nav a{padding:6px 0;border-left:0;margin:0}
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .main-nav,.header-cta{display:none}
  .mobile-menu{display:block;margin-left:auto}
  .header-inner{height:64px}
  .wordmark{font-size:24px}
  .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-strip>div{padding:20px 12px 20px 0}
  .stat-strip>div+div{padding-left:0;border-left:0}
  .stat-strip>div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .stat-strip>div:nth-child(n+3){border-top:1px solid var(--line)}
  .band{padding:48px 0}
  .band-head{grid-template-columns:1fr;gap:12px}
  .leaderboard{padding:18px 14px;border-radius:16px}
  .lb-switch{display:flex;width:100%}
  .lb-switch button{flex:1;padding:9px 8px;font-size:13px}
  .project-cards,.overview-cards,.flow,.limits,.columns,.split,.about-grid,.data-head,.exhibit-context,.exhibit-grid,.example-grid{grid-template-columns:minmax(0,1fr)}
  .cta-band{grid-template-columns:1fr;padding:32px 24px;margin-bottom:48px}
  .paper-card{grid-template-columns:1fr;padding:22px}
  .step-card summary{grid-template-columns:36px minmax(0,1fr) 20px;padding:16px}
  .step-eyebrow{display:none}
  .step-card details>p{padding:0 16px}
  .step-example{margin:0 16px 16px}
  .file-list li{grid-template-columns:minmax(0,1fr);gap:4px}
  .footer-inner{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:40px}
  .hero-panel{padding:26px}
  .panel-value.is-bright{font-size:48px}
  .panel-value{font-size:36px}
  h1{overflow-wrap:break-word}
  .actions .button{flex:1 1 auto}
  .lb-table{min-width:480px}
  .data-facts>div{grid-template-columns:110px minmax(0,1fr)}
  .mark-list li{grid-template-columns:minmax(0,1fr)}
  .mark{justify-self:start}
  .page-head{padding:40px 0 28px}
  .site-dialog{padding:28px 20px}
  #terms-of-service,#privacy-policy{padding:0 20px 22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header,.site-footer,.preparation,.rail,.lb-switch{display:none}}

/* Research-lab layout: a calm introduction, then the work in reading order. */
.intro{padding:96px 0 72px;max-width:900px}
.intro h1{font-size:clamp(40px,6vw,72px);margin-bottom:24px}
.intro-lead{font-size:clamp(19px,2vw,23px);line-height:1.55;color:var(--muted);max-width:760px;margin:0}
.flow-section{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;padding:56px 0;border-top:1px solid var(--line)}
.flow-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted);padding-top:6px}
.flow-number{font-size:13px;font-weight:800;color:var(--blue-strong);letter-spacing:.08em}
.flow-body{min-width:0}
.flow-body h2{font-size:clamp(26px,3vw,36px);margin-bottom:12px}
.flow-body .section-lead{margin-bottom:24px;max-width:760px}
.flow-body .leaderboard{margin-bottom:20px}
.fact-row{display:flex;flex-wrap:wrap;gap:12px 48px;margin:20px 0}
.fact-row dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fact-row dd{margin:4px 0 0;font-size:24px;font-weight:800;color:var(--ink)}
.fact-row dd.is-lorm{color:var(--blue-strong)}
.content-section{padding:48px 0;border-top:1px solid var(--line);scroll-margin-top:20px}
.content-section>h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:12px}
.content-section .section-lead{margin-bottom:24px}
.meta-line{font-size:14px;font-weight:600;color:var(--muted);margin-top:18px}
.page-head .lead{max-width:760px}
.link-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.link-list li{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.link-list a{font-weight:700;color:var(--blue-strong)}
.link-list span{color:var(--muted);font-size:15px}
.guide{padding:0;margin:0;list-style:none;counter-reset:guide;display:grid;gap:0}
.guide>li{counter-increment:guide;display:grid;grid-template-columns:56px minmax(0,1fr);padding:22px 0;border-top:1px solid var(--line)}
.guide>li::before{content:counter(guide,decimal-leading-zero);font-size:13px;font-weight:800;color:var(--blue-strong);padding-top:4px;grid-row:1/span 4}
.guide>li>*{grid-column:2}
.guide h3{font-size:18px;margin:0 0 6px}
.guide p{color:var(--muted);margin-bottom:10px;max-width:720px}
.guide .table-wrap{max-width:560px}
.next-step{display:flex;flex-direction:column;gap:6px;margin:24px 0 72px;padding:28px 32px;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s}
.next-step:hover{border-color:var(--blue);color:inherit}
.next-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.next-title{font-size:22px;font-weight:800;color:var(--blue-strong)}
.about-grid{grid-template-columns:200px minmax(0,1fr)!important;gap:40px!important}
.about-grid h2{font-size:22px!important}
.about-address{font-style:normal;color:var(--muted);margin-top:12px}
.chart-figure{border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.publication-content .leaderboard{border-radius:var(--radius)}
@media(max-width:760px){
  .intro{padding:56px 0 40px}
  .flow-section{grid-template-columns:minmax(0,1fr);gap:12px;padding:40px 0}
  .flow-label{flex-direction:row;gap:12px;padding:0}
  .link-list li{grid-template-columns:minmax(0,1fr);gap:4px}
  .about-grid{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .guide>li{grid-template-columns:40px minmax(0,1fr)}
  .next-step{padding:22px}
}

/* Header menus: each section opens a panel of its pages on hover or keyboard focus. */
.main-nav{display:flex;gap:6px;margin-left:auto;align-items:center}
.nav-item{position:relative}
.nav-top{display:flex;align-items:center;gap:7px;padding:26px 12px;font-weight:600;font-size:15px;border-bottom:0!important}
.nav-top[aria-current]{color:var(--blue-strong)}
.nav-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);opacity:.55;transition:transform .15s}
.nav-item:hover .nav-caret,.nav-item:focus-within .nav-caret{transform:rotate(225deg) translateY(-1px)}
.nav-menu{position:absolute;top:100%;right:-12px;min-width:320px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 50px #1413121f;padding:10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:100}
.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{opacity:1;visibility:visible;transform:none}
.menu-link{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:10px}
.menu-link:hover,.menu-link:focus-visible{background:var(--wash-blue);color:inherit}
.menu-title{font-weight:700;font-size:15px;color:var(--ink)}
.menu-note{font-size:13px;color:var(--muted)}
.menu-group{padding:11px 14px;margin:4px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.menu-group-title{font-weight:700;font-size:15px;margin:0 0 6px}
.menu-sub{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
.menu-sub a{font-size:14px;font-weight:600;color:var(--blue-strong);padding:5px 0}
.menu-sub a:hover{text-decoration:underline;text-underline-offset:4px}
.mobile-group{padding:6px 4px;border-bottom:1px solid var(--line)}
.mobile-group:last-child{border-bottom:0}
.mobile-head{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:8px 10px 2px}
.mobile-subhead{font-size:13px;font-weight:700;margin:8px 14px 0}
.mobile-menu nav a.mobile-sub{padding:7px 14px 7px 26px;font-size:14px}
.mobile-menu nav{max-height:calc(100dvh - 100px);overflow-y:auto}
.footer-inner{grid-template-columns:2fr 1fr 1fr!important}
.footer-address{margin-top:14px}

/* The four pages of a benchmark read in order; the step bar shows where you are. */
.flow-steps{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:22px 0 0;padding:12px 0;border-bottom:1px solid var(--line)}
.flow-steps-title{font-size:13px;font-weight:800}
.flow-steps ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.flow-steps li{display:flex;align-items:center;gap:6px}
.flow-steps li+li::before{content:"→";color:var(--faint);font-size:13px}
.flow-steps a{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted)}
.flow-steps a:hover{background:var(--wash);color:var(--ink)}
.flow-steps a[aria-current]{background:var(--wash-blue);color:var(--blue-strong)}
.flow-step-number{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--line);color:var(--ink);font-size:11px;font-weight:800}
.flow-steps a[aria-current] .flow-step-number{background:var(--blue-strong);color:#fff}
.sensus-explorer .flow-steps a{color:#4F5A61}.sensus-explorer .flow-steps a[aria-current]{color:#244A63}

/* Home and index pages */
.home-section{padding:56px 0;border-top:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px}
.section-head h2{margin:0;font-size:clamp(26px,3vw,36px)}
.home-section .section-lead{margin-bottom:24px}
.step-links{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.step-links a{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s}
.step-links a:hover{border-color:var(--blue);color:inherit}
.step-links span{grid-row:1/span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--wash-blue);color:var(--blue-strong);font-weight:800;font-size:13px}
.step-links strong{font-size:16px}
.step-links em{font-style:normal;font-size:13px;color:var(--muted)}
.portal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}
.portal-card{display:flex;flex-direction:column;gap:8px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s}
.portal-card:hover{border-color:var(--blue);color:inherit}
.portal-card h3{margin:0;font-size:22px}
.portal-card p{color:var(--muted);margin:0 0 6px;flex:1}
.release-list,.pub-list{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid var(--line)}
.release-list li{display:grid;grid-template-columns:130px 110px minmax(0,1fr);grid-template-areas:"date type title" "date type summary";column-gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.release-list time{grid-area:date;font-size:14px;color:var(--muted);font-weight:600}
.type{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-strong)}
.release-list .type{grid-area:type;padding-top:3px}
.release-list a{grid-area:title;font-weight:700;font-size:17px}
.release-list .summary{grid-area:summary;color:var(--muted);font-size:15px}
.pub-list li{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.pub-meta{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted);font-weight:600}
.pub-body h3{font-size:21px;margin-bottom:8px}
.pub-body p{color:var(--muted)}
.catalog{display:grid;gap:16px}
.catalog-card{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;padding:28px;border:1px solid var(--line);border-radius:22px}
.catalog-card h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 10px}
.catalog-card p{color:var(--muted)}
.catalog-side{background:var(--wash);border-radius:var(--radius);padding:18px 20px;margin:0;align-self:start}
.catalog-side-title{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.top-models{list-style:none;padding:0;margin:0;counter-reset:top}
.top-models li{counter-increment:top;display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
.top-models li:last-child{border-bottom:0}
.top-models li span::before{content:counter(top) ". ";color:var(--faint)}
.top-models li.is-lorm strong{color:var(--blue-strong)}
.catalog-facts>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.catalog-facts>div:last-child{border-bottom:0}
.catalog-facts dt{color:var(--muted);font-weight:600}
.catalog-facts dd{margin:0;font-weight:700}
@media(max-width:1000px){.step-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){
  .portal-cards,.catalog-card,.pub-list li{grid-template-columns:minmax(0,1fr)}
  .catalog-card{gap:16px;padding:22px}
  .release-list li{grid-template-columns:minmax(0,1fr);grid-template-areas:"date" "type" "title" "summary";row-gap:2px}
  .section-head{flex-direction:column;align-items:flex-start}
  .flow-steps{gap:8px}
  .footer-inner{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:480px){.step-links{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.main-nav{display:none}.mobile-menu{display:block;margin-left:auto}}

/* Inline contact form on the About page */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.about-contact #contact-form{max-width:620px;margin-top:8px}


/* Research-lab type layer (all pages) and the home hero with the headline result beside the introduction. IBM Plex Mono (SIL Open Font License) sets labels and figures. */
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
:root{--data:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--mono:var(--data)}
h1{font-weight:700;letter-spacing:-.04em}
h2{font-weight:700;letter-spacing:-.03em}
.kicker,.section-kicker,.eyebrow,.panel-kicker,.card-meta,.hero-kicker{font:500 12px/1.4 var(--data);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-strong)}
.kicker::before,.section-kicker::before,.eyebrow::before,.hero-kicker::before{content:"";display:inline-block;width:20px;height:1.5px;background:currentColor;vertical-align:middle;margin-right:10px}
.home .home-hero{max-width:none;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;padding:88px 0 80px}
.home .home-hero h1{font-size:clamp(40px,5.2vw,68px);line-height:1.02;margin:18px 0 22px}
.home .intro-lead{font-size:clamp(17px,1.6vw,20px);max-width:560px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-actions .button{flex:0 0 auto}
.hero-result{margin:0;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#fff,var(--wash));padding:28px 28px 22px;box-shadow:0 1px 0 #fff inset,0 24px 60px -32px #1B3A4F40}
.hero-result figcaption{display:grid;gap:8px;margin-bottom:26px}
.hr-kicker{font:500 11px/1.4 var(--data);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hr-title{font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.015em;color:var(--ink)}
.hr-bars{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.hr-bars li{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name value" "bar bar";gap:6px 12px;align-items:baseline;margin:0}
.hr-name{grid-area:name;font-size:14px;font-weight:600;color:var(--ink)}
.hr-value{grid-area:value;font:500 15px/1 var(--data);font-variant-numeric:tabular-nums;color:var(--ink)}
.hr-track{grid-area:bar;display:block;width:100%;height:8px;border-radius:4px;overflow:hidden}
.hr-bg{fill:var(--line)}
.hr-bar{fill:#9AA6BD}
.hr-bars .is-lorm .hr-bar{fill:var(--blue)}
.hr-bars .is-lorm .hr-name,.hr-bars .is-lorm .hr-value{color:var(--blue-strong)}
.hr-bars .is-lorm .hr-value{font-size:18px}
.hr-bars .is-base .hr-bar{fill:#C9D3D9}
.hr-bars .is-base .hr-name,.hr-bars .is-base .hr-value{color:var(--muted);font-weight:500}
.hr-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 20px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--muted)}
.hr-foot strong{font:500 13px var(--data);color:var(--ink)}
.hr-foot a{font-weight:700;color:var(--blue-strong);white-space:nowrap}
.release-list time,.step-links span,time{font-family:var(--data);font-variant-numeric:tabular-nums}
@media(max-width:900px){.home .home-hero{grid-template-columns:1fr;padding:56px 0 48px}}
.release-list time{font-weight:400;font-size:13px;color:var(--muted)}
table,.lb-table,.top-models strong,.stat-strip dt{font-variant-numeric:tabular-nums}
.home .step-links{margin:0 0 24px}

/* Site palette: slate blue on warm off-white with black. Text colours keep at least 4.5:1 contrast. */
body{
  --bg:#FAF9F6;--surface:#FFFFFF;
  --ink:#141312;--muted:#4F5A61;--faint:#5F6A70;
  --blue:#2C5672;--blue-strong:#244A63;--blue-deep:#141312;--cyan:#98A8B1;
  --navy:#141312;--line:#E3E6E6;--line-strong:#C9D1D5;--wash:#EEF2F4;--wash-blue:#E7EDF0;
  background:var(--bg)
}
body .preparation{background:var(--navy);color:#C9D3D9}
body .site-header{background:var(--bg)}
body .button:not(.primary),body .leaderboard,body .portal-card,body .step-links a{background:var(--surface)}
body .lb-switch button[aria-selected=true]{background:var(--surface);box-shadow:0 1px 4px #1413121f}
body .lb-bar.lb-other{fill:#98A8B1}
body .hero-result{background:linear-gradient(180deg,var(--surface),var(--wash));box-shadow:0 1px 0 #fff inset,0 24px 60px -32px #2C567240}
body .hr-bar{fill:#98A8B1}
body .hr-bars .is-base .hr-bar{fill:#E6D3C4}
body .site-footer{color:#D8DEE2}
body .footer-col h2{color:#98A8B1}
body .footer-legal{border-top-color:#33363A;color:#AEB8BE}
body .button.primary{background:var(--ink);border-color:var(--ink);color:#fff}
body .button.primary:hover{background:var(--blue-strong);border-color:var(--blue-strong)}
body .button:not(.primary){border-color:var(--ink)}
body .hero-result{border-color:var(--line-strong);border-top:3px solid var(--blue)}
body .hr-track{height:10px}
body .home-hero h1{color:var(--ink)}
body .hr-bg{fill:#E7EDF0}
body .hr-bars .is-base .hr-bar{fill:#C9D3D9}

/* Recorded case: score headline, quoted replies and one shared checklist with stamps. */
.case-compare{display:grid;gap:18px}
.case-headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:6px 0 2px}
.case-score{display:flex;align-items:baseline;gap:14px;margin:0;font-size:clamp(34px,4vw,48px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--muted)}
.case-score .is-lorm{color:var(--blue)}
.case-arrow{font-weight:400;color:var(--faint)}
.case-sub{margin:0;font:500 13px/1.5 var(--data);color:var(--muted)}
.case-reply{background:var(--wash);border-radius:var(--radius);padding:18px 18px 20px;border:1px solid transparent}
.case-reply.is-lorm{border-color:var(--blue)}
.case-reply header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.case-reply h3{margin:0;font-size:15px}
.case-meta{font:500 12px/1.4 var(--data);color:var(--muted);white-space:nowrap}
.case-reply.is-lorm .case-meta{color:var(--blue-strong)}
.case-reply blockquote{position:relative;margin:0;background:var(--surface,#fff);border:1px solid var(--line);border-radius:10px;padding:18px 20px 18px 22px;font-size:15px;line-height:1.65}
.case-reply blockquote::before{content:"“";position:absolute;left:-6px;top:-14px;font:700 40px/1 var(--font);color:var(--line-strong)}
.case-checklist{width:100%;border-collapse:collapse;font-size:14px}
.case-checklist th,.case-checklist td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.case-checklist thead th{font:500 11px/1.4 var(--data);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:transparent}
.case-checklist thead th+th,.case-checklist td{width:170px;white-space:nowrap}
.case-checklist tbody th{font-weight:500;color:var(--ink)}
.case-checklist tr.is-diff{background:#F3F6F7}
.case-checklist tr.is-diff th{font-weight:600}
.line-code{display:inline-block;min-width:38px;margin-right:8px;font:500 12px var(--data);color:var(--faint)}
.stamp{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:600 12px/1.2 var(--font);white-space:nowrap}
.stamp.is-met{background:#E7EDF0;color:var(--blue-strong)}
.stamp.is-missed{background:#F1F1EF;color:var(--muted)}
.stamp.is-serious{background:#F6E3E0;color:#9A3B2E}
.stamp-icon{font-size:11px}
@media(max-width:700px){.case-checklist thead th+th,.case-checklist td{width:auto}.case-checklist th,.case-checklist td{padding:10px 8px}}
.case-checklist tbody th .line{display:grid;grid-template-columns:46px 1fr;align-items:baseline}
.case-checklist tbody th .line-code{margin:0}

/* Two-line headlines (home and About): the second line in the accent colour, as on the original site. */
.home .home-hero h1 span,.about-head h1 span{color:var(--blue)}
.home .intro-lead{color:var(--ink);font-size:clamp(19px,1.9vw,23px);letter-spacing:-.01em}
.about-head h1{max-width:none}
.about-art{margin:0 0 56px;border-radius:14px;overflow:hidden}
.about-art img{display:block;width:100%;height:clamp(200px,28vw,340px);object-fit:cover;object-position:center 68%}
.about-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.about-feature.is-flipped .about-feature-text{order:2}
.about-feature h2{font-size:clamp(26px,2.8vw,36px);margin:0 0 18px}
.about-feature p{color:var(--muted);font-size:17px}
.about-feature .mission-statement{color:var(--ink);font-size:clamp(20px,2vw,24px);line-height:1.45;letter-spacing:-.01em}
.about-feature img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
@media(max-width:860px){.about-feature{grid-template-columns:minmax(0,1fr);gap:24px}.about-feature.is-flipped .about-feature-text{order:0}}
@media(min-width:901px){.home .home-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.home .home-hero h1{font-size:clamp(40px,5.2vw,68px);letter-spacing:-.035em}
.home .home-hero h1{color:var(--blue)}
.home .hero-actions .button.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.home .hero-actions .button.primary:hover,.home .hero-actions .button.primary:focus-visible{background:var(--blue-strong);border-color:var(--blue-strong);color:#fff}

/* Recorded replies in the case comparison are rendered (emphasis, lists, mathematics); the exact text stays one click away. */
.case-reply .recorded-response{white-space:normal}
.case-reply .recorded-response p{margin:0 0 10px}
.case-reply .recorded-response p:last-child{margin-bottom:0}
.case-reply .response-original{margin-top:10px;font-size:12px;color:var(--muted)}
.case-reply .response-original summary{cursor:pointer}
.case-reply .response-original pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 var(--data);margin:8px 0 0}
/* Mathematics in recorded replies (pilot-math.js), as on the Duel and Evaluation Cases pages. */
.case-reply .p-blank{display:inline-block;min-width:1.5em;height:1.05em;border-bottom:2px solid currentColor}
.case-reply .p-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;font-size:.84em;line-height:1.12;margin:0 .12em;text-align:center;white-space:nowrap}
.case-reply .p-fn{padding:0 .2em .05em;border-bottom:1.3px solid currentColor;min-width:.9em}
.case-reply .p-fd{padding:.05em .2em 0;min-width:.9em}
.case-reply .p-mixed{white-space:nowrap}
.case-reply .p-mw{margin-right:.06em}
.case-reply .p-mdisplay{text-align:center;margin:.5em 0;font-size:1.04em}
.case-reply .p-marray{display:inline-block;text-align:right;line-height:1.3}
.case-reply .p-marray-total{border-top:1px solid currentColor}
.case-reply .p-imath{white-space:nowrap}
.case-reply .p-mbox{display:inline-block;border:1px solid currentColor;padding:0 .2em}
.case-reply .p-mbold{font-weight:700}
.case-reply .p-mpara{margin:0 0 .55em;white-space:normal}
.case-reply .p-mpara:last-child{margin-bottom:0}
.case-reply .p-mlist{margin:.15em 0 .55em;padding-left:1.4em;white-space:normal}
.case-reply .p-mlist li{margin:.15em 0}
h1,h2{text-wrap:balance}

/* Research paper: references, the grader instruction and notes. */
.references{padding-left:1.4em;font-size:14px;line-height:1.6;color:var(--muted)}
.references li{margin:0 0 10px;scroll-margin-top:90px}
.references li:target{background:var(--wash);border-radius:6px}
.references em{font-style:italic}
.paper-prompt{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;font:12.5px/1.6 var(--data);color:var(--ink)}
.publication-head .publication-note{max-width:760px;font-size:14px;color:var(--muted);border-left:3px solid var(--line-strong);padding-left:12px}
p.publication-note{font-size:13px;color:var(--muted)}
.paper-table td{white-space:nowrap}
.references a{color:var(--blue-strong);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.references a:hover{color:var(--blue)}
.publication-content ol.behaviours{list-style:none;padding-left:0}
.publication-content ol.behaviours li{margin:6px 0}
.paper-replies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 32px}
.paper-replies .case-reply{background:var(--wash);border-radius:12px;padding:14px 16px}
.paper-replies .recorded-response{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:8px 0 0;font-size:14px;line-height:1.6;white-space:normal}
.lb-ci{stroke:#141312;stroke-width:1.5}
@media(max-width:760px){.paper-replies{grid-template-columns:minmax(0,1fr)}}
.paper-formula{font:15px/1.6 var(--data);background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;display:inline-block}
.paper-table.paper-wrap td{white-space:normal}
.paper-table.paper-wrap tbody th{min-width:190px}
/* Research paper: figure 1 (one case, start to finish) and the key findings. */
.teaser{display:grid;gap:12px}
.teaser-case{background:var(--wash);border-radius:12px;padding:12px 16px}
.teaser-case p{margin:4px 0;font-size:14px}
.teaser-label{font:500 11px/1.4 var(--data);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-strong);margin:0 0 6px}
.teaser-replies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.teaser-reply{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}
.teaser-reply.is-ours{border-color:var(--blue)}
.teaser-reply .recorded-response{margin:0;font-size:13.5px;line-height:1.55;white-space:normal}
.teaser-checklist{width:100%;border-collapse:collapse;font-size:13px}
.teaser-checklist th,.teaser-checklist td{border-top:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top;font-weight:400}
.teaser-checklist thead th{font-weight:700;font-size:12px;color:var(--muted)}
.teaser-checklist td{text-align:center;font-weight:700;width:120px;white-space:nowrap}
.teaser-checklist td.is-met{color:#1B5E20}
.teaser-checklist td.is-missed{color:#B71C1C}
.teaser-checklist td.teaser-tag{width:64px;text-align:left;font:500 11px var(--data);color:var(--blue-strong)}
.paper-figure svg{display:block;width:100%;height:auto}
.publication-content ol.key-findings{background:var(--wash);border-radius:12px;padding:14px 18px 14px 36px}
.publication-content ol.key-findings li{margin:6px 0}
@media(max-width:760px){.teaser-replies{grid-template-columns:minmax(0,1fr)}}

/* Phone: menu links stack one per line; the How It Works facts wrap into two columns. */
.mobile-menu nav a{display:block}
@media(max-width:700px){.step-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.step-facts>dt:nth-of-type(n),.step-facts>dd:nth-of-type(n){grid-row:auto}.step-facts>dd{margin-bottom:6px}}

/* Phones: every link and control is at least about 40px tall to tap, without changing how it looks. */
@media(max-width:700px){
  .footer-col{gap:0}
  .footer-col h2{margin-bottom:4px}
  .footer-col a{padding:9px 0}
  .footer-links a{display:inline-block;padding:9px 0}
  .exhibit-picker{flex-wrap:wrap}
  .exhibit-picker select{min-width:0;max-width:100%}
}
.mname,.p-info,.disclose,.hr-foot a,.lb-table thead button,.breadcrumbs a{position:relative}
@media(pointer:coarse){
  .mname::before,.p-info::before,.disclose::before,.hr-foot a::before,.lb-table thead button::before,.breadcrumbs a::before{content:"";position:absolute;inset:-12px -8px}
}
@media(max-width:700px){.response-original>summary{padding:10px 0}}
/* Phones: the three home buttons form a tidy block (Get Data across, the other two side by side). */
@media(max-width:480px){
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero-actions .button{justify-content:center;text-align:center;margin:0}
  .hero-actions .button.primary{grid-column:1 / -1}
}
/* Phones: the four reading steps sit in a tidy 2 by 2 grid instead of wrapping with a stray arrow. */
@media(max-width:480px){
  .flow-steps ol{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
  .flow-steps li+li::before{content:none}
  .flow-steps a{width:100%;padding:9px 12px}
}
/* Phones: each checklist line of a case comparison reads across the full width, with the two models' marks in labelled columns below it. */
@media(max-width:560px){
  .case-checklist,.case-checklist thead,.case-checklist tbody{display:block;width:100%}
  .case-checklist tr{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;border-bottom:1px solid var(--line);padding:10px 8px}
  .case-checklist th,.case-checklist td{display:block;width:auto !important;border:0;padding:0;white-space:normal !important}
  .case-checklist thead tr{padding:6px 8px;position:static}
  .case-checklist thead th:first-child{display:none}
  .case-checklist tbody th{grid-column:1 / -1;margin-bottom:8px}
  .case-checklist tbody th .line{grid-template-columns:38px 1fr}
}
/* Paper tables: the caption sits above the table and wraps to the screen; only the table scrolls sideways. */
.paper-tablefig{margin:24px 0}
.paper-tablefig .table-caption{font-size:13px;font-weight:600;line-height:1.5;color:var(--ink);margin:0 0 10px}
.paper-tablefig .publication-table{margin:0}
