:root { --navy:#10283f; --ink:#18334c; --teal:#087c74; --mist:#f3f7f8; --line:#dbe6e8; --muted:#607585; --warning:#fffaf0; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial,Helvetica,sans-serif; }
.wrap { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.site-header { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:12px max(24px,calc((100vw - 1120px)/2)); }
.site-header img { display:block; object-fit:contain; }
.isg-logo { width:min(290px,55vw); max-height:64px; object-position:left; }
.ce-logo { width:min(245px,35vw); max-height:68px; object-position:right; }
.hero { position:relative; overflow:hidden; padding:72px 0 82px; color:#fff; background:var(--navy); }
.hero::after { content:""; position:absolute; width:420px; height:420px; right:-100px; top:-190px; border:1px solid rgba(24,168,155,.25); border-radius:50%; box-shadow:0 0 0 70px rgba(24,168,155,.04),0 0 0 140px rgba(24,168,155,.025); }
.hero .wrap { position:relative; z-index:1; }
.eyebrow,.kicker { margin:0 0 12px; color:#9fcbc9; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:9px; }
.eyebrow span { width:8px; height:8px; border-radius:50%; background:#4be0c9; }
h1 { margin:0 0 18px; max-width:760px; font-size:clamp(42px,6vw,66px); line-height:1.02; letter-spacing:-.045em; }
.intro { margin:0; color:#c5d6df; font-size:19px; line-height:1.6; }
.assessment-summary { display:grid; grid-template-columns:repeat(3,1fr); max-width:850px; margin:40px 0 0; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.055); }
.assessment-summary div { padding:18px 22px; border-right:1px solid rgba(255,255,255,.1); }
.assessment-summary div:last-child { border:0; }
.assessment-summary dt { margin-bottom:6px; color:#92a9b7; font-size:10px; text-transform:uppercase; letter-spacing:.11em; }
.assessment-summary dd { margin:0; font-size:14px; font-weight:700; }
.content { padding-top:54px; padding-bottom:80px; }
.warning,.state-message { padding:22px 24px; border-radius:12px; }
.warning { border:1px solid #eed7a6; border-left:4px solid #d99f2b; background:var(--warning); }
.warning p,.state-message p { margin:7px 0 0; line-height:1.6; font-size:14px; }
.state-message { margin-bottom:24px; border:1px solid #e1bcbc; background:#fff3f3; color:#7a2929; }
.steps { display:grid; grid-template-columns:.8fr 1.6fr; gap:70px; padding:65px 0; border-bottom:1px solid var(--line); }
.kicker { color:var(--teal); }
h2 { margin:0; color:var(--navy); font-size:31px; letter-spacing:-.03em; }
.steps ol { display:grid; gap:22px; margin:0; padding:0; list-style:none; }
.steps li { display:flex; gap:17px; }
.steps li>span { flex:0 0 34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--teal); background:#e7f5f3; font-weight:800; }
.steps li p { margin:0; color:var(--muted); line-height:1.6; font-size:14px; }
.steps li strong { display:block; color:var(--ink); }
.downloads { padding-top:65px; }
.confirmation { display:flex; gap:14px; margin:26px 0 24px; padding:18px 20px; border:1px solid var(--line); border-radius:12px; background:#fbfdfd; cursor:pointer; }
.confirmation input { width:18px; height:18px; accent-color:var(--teal); }
.confirmation strong,.confirmation small { display:block; }
.confirmation small { margin-top:4px; color:var(--muted); }
.file-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.file-card { display:flex; flex-direction:column; min-height:370px; padding:27px; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 30px rgba(20,49,68,.045); }
.file-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.file-type { align-self:flex-start; padding:5px 8px; border-radius:6px; color:#46616e; background:var(--mist); font-size:10px; font-weight:800; letter-spacing:.08em; }
.file-group { color:var(--muted); font-size:11px; font-weight:700; text-align:right; }
.file-card h3 { margin:17px 0 9px; color:var(--navy); }
.file-card p { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.55; }
.expected { padding:12px 14px; border-radius:9px; background:var(--mist); font-size:12px; }
.file-hash { margin:0 0 12px; padding:11px 13px; border:1px solid var(--line); border-radius:9px; font-size:11px; }
.file-hash strong,.file-hash code { display:block; }
.file-hash code { margin-top:5px; overflow-wrap:anywhere; color:var(--muted); font-size:10px; line-height:1.4; }
.download-button { margin-top:auto; padding:13px 16px; border:0; border-radius:9px; color:#8a999f; background:#edf1f2; font-weight:800; text-align:left; }
.download-button.ready { color:#fff; background:var(--teal); cursor:pointer; }
.download-button:disabled { cursor:not-allowed; }
.help { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-top:50px; padding:25px 28px; border-radius:14px; color:#fff; background:var(--navy); }
.help p { margin:5px 0 0; color:#bfd0d9; font-size:13px; }
.help a { color:#5ad7c8; font-weight:800; text-decoration:none; }
footer { display:flex; justify-content:space-between; gap:20px; padding:25px max(24px,calc((100vw - 1120px)/2)); color:#7c8c94; background:var(--mist); font-size:11px; }
@media (max-width:760px) { .site-header{min-height:74px}.hero{padding:55px 0 62px}.assessment-summary{grid-template-columns:1fr}.assessment-summary div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.steps{grid-template-columns:1fr;gap:32px}.file-grid{grid-template-columns:1fr}.help{align-items:flex-start;flex-direction:column}footer{flex-direction:column} }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
