:root{
  --ink:#10245f; --text:#263454; --muted:#68738c; --line:#dce5f4; --paper:#fff;
  --blue:#225fd5; --green:#11a679; --purple:#7552d6; --orange:#ef9a12; --soft:#f5f8ff;
  font-family: Inter, ui-rounded, "Arial Rounded MT Bold", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:#fbfcff;color:var(--text)}
button,input{font:inherit}.shell{width:min(1180px,calc(100% - 32px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{background:linear-gradient(180deg,#fff 0%,#f2f7ff 100%);border-bottom:1px solid var(--line);padding:26px 0 34px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:900;font-size:21px;text-decoration:none;letter-spacing:-.02em}.brand-dot{color:var(--green);font-size:15px}.hero-copy{padding:56px 0 28px;max-width:820px}.eyebrow,.kicker,.mini-title{font-size:12px;letter-spacing:.11em;font-weight:900;color:var(--blue)}h1{margin:8px 0 18px;color:var(--ink);font-size:clamp(46px,7vw,86px);line-height:.94;letter-spacing:-.055em}h1 span{color:var(--green)}.dek{font-size:clamp(18px,2.2vw,24px);line-height:1.45;max-width:760px;color:#53617c;margin:0}.search-wrap{position:relative;max-width:780px}.search-wrap input{width:100%;border:2px solid #cfdbef;border-radius:18px;background:white;padding:18px 54px 18px 20px;font-size:18px;outline:none;box-shadow:0 8px 25px rgba(31,70,140,.06)}.search-wrap input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(34,95,213,.1)}.search-icon{position:absolute;right:19px;top:11px;font-size:31px;color:var(--blue)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.chip{border:1px solid #d2dded;background:#fff;color:#465371;padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:750}.chip.active,.chip:hover{background:var(--ink);color:white;border-color:var(--ink)}
.main{padding-top:30px;padding-bottom:80px}.intro-strip{display:flex;gap:9px 18px;flex-wrap:wrap;align-items:center;padding:18px 20px;background:#eefbf7;border:1px solid #bfeadb;border-radius:18px;color:#306455;margin-bottom:30px}.intro-strip strong{color:#087b59}.results-line{min-height:26px;color:var(--muted);font-size:14px;margin:0 0 12px 4px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{min-width:0}.card-button{display:block;width:100%;height:100%;text-align:left;padding:0;border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;cursor:pointer;box-shadow:0 8px 24px rgba(24,54,105,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s}.card-button:hover{transform:translateY(-4px);box-shadow:0 15px 38px rgba(24,54,105,.11);border-color:#b7c9e8}.image-wrap{aspect-ratio:4/3;background:white;border-bottom:1px solid #edf1f7;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-wrap img{width:100%;height:100%;object-fit:contain}.card-copy{padding:18px 19px 20px}.card h2{margin:5px 0 8px;color:var(--ink);font-size:22px;letter-spacing:-.025em}.card p{margin:0;color:#68738b;line-height:1.45;font-size:14px}.open-label{display:inline-flex;margin-top:14px;color:var(--blue);font-weight:850;font-size:13px}.missing-card{margin-top:28px;border:1px dashed #aebbd1;border-radius:22px;padding:26px;background:#f8faff;color:#5d6980}.missing-card h2{color:var(--ink);margin:5px 0 8px}.missing-card p{max-width:780px;line-height:1.55}.missing-card code{background:#edf1f8;padding:2px 6px;border-radius:6px}
footer{border-top:1px solid var(--line);background:#fff}.footer-inner{display:flex;justify-content:space-between;padding:30px 0;color:#7a849a}.footer-inner strong{color:var(--ink)}
.viewer{width:min(1120px,calc(100% - 28px));max-height:94vh;border:0;border-radius:26px;padding:0;background:#fff;box-shadow:0 35px 100px rgba(12,27,65,.35)}.viewer::backdrop{background:rgba(10,19,43,.72);backdrop-filter:blur(5px)}.viewer-scroll{overflow:auto;max-height:94vh;padding:30px}.close{position:sticky;float:right;top:14px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:#10245f;color:white;font-size:28px;line-height:1;cursor:pointer}.viewer-head{padding:10px 70px 20px 4px;max-width:800px}.viewer-head h2{font-size:clamp(32px,5vw,58px);color:var(--ink);letter-spacing:-.045em;margin:7px 0 10px}.viewer-head p{font-size:19px;line-height:1.5;color:#61708b;margin:0}.viewer img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:20px;background:white}.viewer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.viewer-bottom>div{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:18px}.viewer-bottom p{margin:6px 0 0;line-height:1.5}.viewer-nav{display:flex;justify-content:space-between;margin-top:22px}.viewer-nav button{border:1px solid var(--line);background:white;border-radius:12px;padding:11px 14px;color:var(--ink);font-weight:800;cursor:pointer}.viewer-nav button:hover{border-color:var(--blue);color:var(--blue)}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.hero-copy{padding-top:38px}.viewer-bottom{grid-template-columns:1fr}}
@media (max-width:580px){.shell{width:min(100% - 20px,1180px)}.hero{padding-top:18px}.hero-copy{padding:34px 0 22px}.dek{font-size:17px}.grid{grid-template-columns:1fr;gap:16px}.card-button{border-radius:20px}.chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.chip{white-space:nowrap}.viewer{width:100%;max-height:100vh;height:100vh;border-radius:0}.viewer-scroll{max-height:100vh;padding:16px}.viewer-head{padding-right:48px}.viewer-head p{font-size:16px}.close{top:6px}.intro-strip{font-size:14px}}
