/* Theme tokens copied from irismed.co (Webflow): Inter Tight, dark blue #063a50, primary #2d62ff, neutral #f2f9fb. */
/* Inter Tight (SIL OFL 1.1) is self-hosted: the CSP allows font-src 'self' only, no third-party font servers. */
@font-face { font-family:"Inter Tight"; font-style:normal; font-weight:400 600; font-display:swap; src:url(fonts/inter-tight-latin.woff2) format("woff2"); }
:root { --dark-blue:#063a50; --primary:#2d62ff; --neutral:#f2f9fb; --stroke:#e6f7f9; --muted:#5b7a88; --card:#fff; --green:#0f9d58; --amber:#c7791a; --slate:#43464d; --radius:1.25rem; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font:16px/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif; color:var(--dark-blue); background:#fff; }
a { color:inherit; }
.wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
header { background:#fff; }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:18px; flex-wrap:wrap; }
.brand { display:flex; align-items:center; gap:10px; font-weight:500; font-size:17px; color:var(--dark-blue); text-decoration:none; }
.brand img { width:36px; height:36px; display:block; border-radius:8px; }
.brand b { font-weight:600; font-size:22px; letter-spacing:-.02em; margin-right:6px; }
.brand span { opacity:.8; }
.btn { display:inline-block; border:1px solid var(--dark-blue); background:#fff; border-radius:100em; padding:.6em 1.55em; font-weight:600; font-size:15px; color:var(--dark-blue); text-decoration:none; }
.btn.primary { background:var(--dark-blue); color:#fff; }
.actions { display:flex; gap:8px; }
.hero { background:var(--dark-blue); color:#fff; border-radius:var(--radius); padding:64px 32px 56px; margin:8px 0 24px; text-align:center;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:52px 52px; }
.hero h1 { margin:0 auto 12px; max-width:760px; font-size:44px; font-weight:500; line-height:1.15; letter-spacing:-.01em; }
.hero p { margin:0 auto; max-width:560px; color:rgba(255,255,255,.8); font-size:18px; }
.card { background:#fff; border:1px solid var(--stroke); border-radius:var(--radius); padding:28px; }
h2 { font-size:22px; font-weight:500; margin:0 0 4px; }
.sub { color:var(--muted); margin:0 0 18px; font-size:15px; }
section { margin-bottom:20px; }
.badges { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:12px; margin-top:12px; }
.badge { background:var(--neutral); border:1px solid var(--stroke); border-radius:var(--radius); padding:24px 16px; text-align:center; }
.badge img { width:160px; height:187px; }
.badge .name { font-weight:600; margin-top:10px; }
.badge .reviewed { color:var(--muted); font-size:14px; margin-top:4px; }
.pill { display:inline-block; margin-top:8px; font-size:13px; font-weight:600; border-radius:100em; padding:3px 12px; }
.pill.compliant { color:var(--green); background:#e9f7ef; border:1px solid #b9e6cb; }
.pill.in_progress { color:var(--amber); background:#fff6e8; border:1px solid #f5ddb3; }
.pill.started { color:var(--slate); background:var(--neutral); border:1px solid var(--stroke); }
.stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:12px; margin-bottom:20px; }
.stat { background:var(--neutral); border:1px solid var(--stroke); border-radius:var(--radius); padding:20px 24px; }
.stat b { font-size:34px; font-weight:500; display:block; line-height:1.1; }
.stat span { color:var(--muted); font-size:14px; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:720px) { .two { grid-template-columns:1fr; } .hero { padding:44px 20px 40px; } .hero h1 { font-size:32px; } }
ul.list { list-style:none; margin:0; padding:0; }
ul.list li { display:flex; justify-content:space-between; gap:8px; padding:11px 0; border-top:1px solid var(--stroke); }
ul.list li:first-child { border-top:0; }
.ok { color:var(--green); font-weight:600; font-size:13px; white-space:nowrap; }
.vendors { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px; }
.vendor { background:var(--neutral); border:1px solid var(--stroke); border-radius:16px; padding:16px; }
.vendor b { display:block; font-weight:600; }
.vendor span { color:var(--muted); font-size:14px; }
footer { color:var(--muted); font-size:14px; text-align:center; padding-block:28px 48px; }
footer a { color:var(--dark-blue); text-decoration:none; font-weight:500; }
