:root { color-scheme: light; --ink:#172033; --muted:#647087; --line:#dce2ec; --accent:#315ee8; --soft:#f4f7fc; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif; line-height: 1.7; }
a { color: inherit; }
.site-header { max-width: 1080px; margin: auto; padding: 28px 28px 20px; display:flex; justify-content:space-between; align-items:center; }
.brand { text-decoration:none; font-weight:800; letter-spacing:.14em; }
nav { display:flex; gap:22px; font-size:.9rem; color:var(--muted); } nav a { text-decoration:none; }
main { max-width: 1080px; margin:auto; padding: 0 28px; }
.hero { padding: 110px 0 125px; border-bottom:1px solid var(--line); }
.compact-hero { padding-bottom: 70px; }
.eyebrow { margin:0 0 12px; color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.16em; }
h1 { margin:0; font-size:clamp(2.6rem,7vw,5.3rem); line-height:1.12; letter-spacing:-.05em; }
.lead { max-width:520px; margin:28px 0 0; color:var(--muted); font-size:1.1rem; }
.section { padding: 86px 0; border-bottom:1px solid var(--line); }
.section-heading h2 { margin:0 0 30px; font-size:2rem; letter-spacing:-.04em; }
.app-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; }
.app-card { display:flex; gap:18px; padding:24px; background:var(--soft); border:1px solid var(--line); border-radius:20px; }
.app-icon { flex:0 0 64px; height:64px; border-radius:16px; display:grid; place-items:center; background:#061a55; color:#fff; font-size:2rem; font-weight:800; }
.app-card h3 { margin:0 0 4px; font-size:1.2rem; }.app-card p { margin:0 0 12px; color:var(--muted); font-size:.92rem; }.app-card .eyebrow { margin-bottom:3px; font-size:.65rem; }
.status { display:inline-block; padding:3px 9px; border-radius:999px; background:#e6edff; color:var(--accent); font-size:.75rem; font-weight:700; }
dl { margin:0; max-width:680px; } dl div { display:grid; grid-template-columns:140px 1fr; padding:14px 0; border-bottom:1px solid var(--line); } dt { color:var(--muted); } dd { margin:0; }
.contact p { color:var(--muted); }.email { color:var(--accent); font-weight:700; }
footer { max-width:1080px; margin:auto; padding:34px 28px 50px; color:var(--muted); font-size:.8rem; }.footer-links { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:12px; }.footer-links a { color:var(--ink); }
@media (max-width:620px) { .site-header { padding:20px; } nav { gap:12px; font-size:.78rem; } main { padding:0 20px; }.hero { padding:75px 0 85px; }.section { padding:62px 0; } dl div { grid-template-columns:110px 1fr; } footer { padding:28px 20px 40px; } }
