* { box-sizing: border-box; }
html { min-width: 320px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: var(--accent); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible { outline:3px solid var(--white); outline-offset:2px; box-shadow:0 0 0 5px var(--ink); }
.shell { width: min(100% - 28px, 920px); margin: 14px auto; }
.nav { min-height: 62px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 14px 10px 18px; border:1px solid var(--line); border-radius:999px; background:rgb(var(--surface-rgb) / 0.9); }
.brand { display:inline-flex; align-items:center; gap:9px; color:var(--ink); text-decoration:none; font-size:22px; font-weight:850; }
.brand img { width:34px; height:34px; }
.nav-links { display:flex; align-items:center; gap:18px; }
.nav-links a { color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; }
.nav-links a:hover { color:var(--accent); }
.content { margin-top:14px; padding:clamp(28px,6vw,64px); border:1px solid var(--line); border-radius:18px; background:var(--card); }
.kicker { margin:0 0 12px; color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.14em; }
h1 { max-width:760px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(38px,8vw,66px); font-weight:500; line-height:1; }
.lede { max-width:720px; margin:20px 0 0; color:var(--muted); font-size:18px; line-height:1.6; }
.meta { margin:18px 0 0; color:var(--muted); font-size:13px; }
.summary { margin:30px 0; padding:20px; border-radius:14px; color:var(--accent-dark); background:var(--soft); font-size:15px; line-height:1.6; }
.feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:30px; }
.feature-card { padding:22px; border:1px solid var(--line); border-radius:15px; background:var(--surface-subtle); }
.feature-card .number { width:32px; height:32px; display:grid; place-items:center; margin-bottom:18px; border-radius:50%; color:var(--accent-dark); background:var(--soft); font-size:12px; font-weight:800; }
.feature-card h2, .feature-card h3 { margin:0; font-size:19px; }
.feature-card p { margin:9px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
.comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px; }
.comparison section { padding:22px; border-radius:15px; }
.comparison .is { background:var(--soft); }
.comparison .is-not { border:1px solid var(--line); background:var(--white); }
.comparison h2 { font-size:19px; }
.comparison ul { margin-bottom:0; }
.statement { margin-top:34px; padding:clamp(24px,5vw,42px); border-radius:18px; color:var(--white); background:var(--accent-dark); }
.statement h2 { max-width:650px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(28px,5vw,42px); font-weight:500; line-height:1.12; }
.statement p { max-width:650px; color:rgb(var(--surface-rgb) / 0.75); }
.statement .button { color:var(--accent-dark); background:var(--white); }
.sections { display:grid; gap:30px; margin-top:34px; }
section h2 { margin:0; font-size:22px; }
section h3 { margin:22px 0 0; font-size:16px; }
section p, section li { color:var(--muted); font-size:15px; line-height:1.65; }
section ul { padding-left:22px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:999px; padding:0 22px; color:var(--white); background:var(--accent); cursor:pointer; font-weight:750; text-decoration:none; }
.button:hover { background:var(--accent-dark); }
.button.secondary { border:1px solid var(--line); color:var(--ink); background:var(--white); }
.button[aria-disabled="true"] { opacity:.55; pointer-events:none; }
.download-content { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(145deg,var(--white) 0%,var(--surface-subtle) 54%,var(--soft) 145%); }
.download-content::before { content:""; position:absolute; z-index:-1; top:-150px; right:-180px; width:430px; height:430px; border-radius:50%; background:rgb(var(--accent-rgb) / 0.09); }
.download-hero { max-width:760px; }
.download-content h1 { max-width:720px; font-family:Arial,Helvetica,sans-serif; font-size:clamp(40px,6.2vw,58px); line-height:1.01; letter-spacing:-.04em; }
.download-content .lede { max-width:680px; margin-top:18px; font-size:16px; line-height:1.55; }
.download-assurances { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:24px 0 0; padding:0; list-style:none; }
.download-assurances li { min-width:0; padding:13px 14px; border:1px solid rgb(var(--accent-rgb) / 0.14); border-radius:13px; background:rgb(var(--surface-rgb) / 0.72); box-shadow:0 8px 22px rgb(var(--shadow-rgb) / 0.045); }
.download-assurances strong, .download-assurances span { display:block; }
.download-assurances strong { color:var(--accent-dark); font-size:12px; }
.download-assurances span { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.download-section-label { margin:32px 0 0; color:var(--accent); font-size:10px; font-weight:850; letter-spacing:.14em; }
.platform-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:18px; margin-top:12px; }
.platform-download-card { min-width:0; min-height:344px; display:flex; flex-direction:column; padding:24px; border:1px solid rgb(var(--accent-rgb) / 0.16); border-radius:22px; background:rgb(var(--surface-rgb) / 0.9); box-shadow:0 16px 38px rgb(var(--shadow-rgb) / 0.07); }
.platform-download-intro { display:grid; grid-template-columns:auto minmax(0,1fr); gap:17px; align-items:start; }
.platform-download-product { width:68px; height:68px; display:grid; place-items:center; align-self:start; border:1px solid rgb(var(--accent-rgb) / 0.16); border-radius:18px; color:var(--accent-dark); background:linear-gradient(145deg,var(--white),var(--soft)); box-shadow:0 9px 22px rgb(var(--shadow-rgb) / 0.09); }
.platform-logo { display:block; fill:currentColor; }
.platform-logo-macos { width:32px; height:38px; }
.platform-logo-windows { width:36px; height:36px; }
.platform-label { display:block; margin-bottom:5px; color:var(--accent); font-size:9px; font-weight:850; letter-spacing:.14em; }
.platform-download-details h2 { margin:0; color:var(--ink); font-size:19px; font-weight:750; letter-spacing:-.02em; line-height:1.15; }
.platform-download-details > p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.architecture-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:auto; padding-top:22px; }
.architecture-download { min-width:0; min-height:66px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:8px; border:1px solid rgb(var(--accent-rgb) / 0.19); border-radius:17px; padding:10px 10px 10px 14px; color:var(--ink); background:linear-gradient(145deg,var(--white),rgb(var(--accent-rgb) / 0.035)); box-shadow:0 8px 20px rgb(var(--shadow-rgb) / 0.055); text-decoration:none; transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease,background 160ms ease; }
.architecture-download:hover { border-color:rgb(var(--accent-rgb) / 0.46); background:var(--white); box-shadow:0 10px 24px rgb(var(--accent-dark-rgb) / 0.11); transform:translateY(-2px); }
.architecture-download:focus-visible { outline:3px solid var(--white); outline-offset:2px; box-shadow:0 0 0 5px var(--ink); }
.architecture-download[aria-disabled="true"] { color:var(--muted); background:var(--paper); opacity:.72; pointer-events:none; }
.architecture-download-copy { min-width:0; display:grid; gap:3px; }
.architecture-download-copy > span { overflow-wrap:anywhere; font-size:12px; font-weight:800; line-height:1.2; }
.architecture-download-copy small { color:var(--muted); font-size:9.5px; line-height:1.3; }
.architecture-download > svg { width:28px; height:28px; flex:0 0 28px; padding:6px; border-radius:50%; color:var(--accent-dark); background:var(--soft); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:color 160ms ease,background 160ms ease; }
.architecture-download:hover > svg { color:var(--white); background:var(--accent); }
.architecture-download-wide { grid-column:1 / -1; }
.architecture-downloads[hidden], .architecture-download[hidden], .architecture-pending[hidden] { display:none; }
.windows-architecture-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:auto; padding-top:22px; }
.architecture-pending { min-width:0; min-height:66px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; padding:10px 12px; border:1px dashed rgb(var(--accent-rgb) / 0.28); border-radius:17px; color:var(--accent-dark); background:var(--soft); }
.coming-soon-badge { display:inline-flex; align-items:center; border-radius:999px; padding:3px 7px; color:var(--accent-dark); background:rgb(var(--surface-rgb) / 0.72); font-size:8px; font-weight:850; letter-spacing:.07em; line-height:1.2; text-transform:uppercase; }
.download-status:empty { display:none; }
.download-feedback { min-height:58px; margin-top:16px; padding:13px 15px; border:1px solid rgb(var(--accent-rgb) / 0.12); border-radius:13px; background:rgb(var(--surface-rgb) / 0.68); }
.download-status { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.download-retry { margin-top:10px; min-height:40px; padding:9px 14px; border:1px solid rgb(var(--accent-rgb) / 0.24); border-radius:10px; color:var(--accent); background:var(--white); cursor:pointer; font:inherit; font-size:13px; font-weight:800; }
.download-retry:hover { border-color:rgb(var(--accent-rgb) / 0.42); background:var(--soft); }
.download-retry:focus-visible { outline:3px solid var(--white); outline-offset:2px; box-shadow:0 0 0 5px var(--ink); }
.fine-print { margin-top:34px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; line-height:1.55; }
.footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding:24px 8px; color:var(--muted); font-size:12px; }
.footer nav { display:flex; gap:16px; }
@media (prefers-reduced-motion:reduce) { .architecture-download { transition:none; } }
@media (max-width:760px) { .download-assurances { grid-template-columns:1fr; } .platform-downloads { grid-template-columns:1fr; } .platform-download-card { min-height:0; } }
@media (max-width:640px) { .nav-links a:not(:first-child) { display:none; } .content { padding:28px 22px; } .download-content h1 { font-size:clamp(36px,11vw,48px); } .feature-grid, .comparison { grid-template-columns:1fr; } }
@media (max-width:520px) { .architecture-downloads, .windows-architecture-grid { grid-template-columns:1fr; } }
