:root { --ink:#10233d; --blue:#0d5fb8; --pale:#edf5fd; --line:#cddceb; --paper:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif; line-height:1.65; }
a { color:inherit; }
.topbar { max-width:1160px; height:82px; margin:auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:12px; color:var(--ink); font-weight:750; letter-spacing:.02em; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border:2px solid var(--blue); border-radius:50%; color:var(--blue); font-size:13px; font-weight:800; }
nav { display:flex; gap:24px; font-size:14px; } nav a { text-decoration:none; } nav a:hover { color:var(--blue); }
.hero { min-height:540px; padding:95px max(28px,calc((100vw - 1104px)/2)); color:#fff; background:radial-gradient(circle at 83% 12%,#2b86d7 0,transparent 32%),linear-gradient(124deg,#071b35 0%,#0a3971 56%,#0d5fb8 100%); }
.eyebrow { margin:0 0 14px; color:#4d93dc; font-size:12px; font-weight:800; letter-spacing:.16em; }.hero .eyebrow { color:#b7dcff; }
h1,h2,h3,p { margin-top:0; } h1 { max-width:700px; margin-bottom:20px; font-size:clamp(42px,6vw,76px); line-height:1.1; letter-spacing:-.04em; } h2 { font-size:36px; line-height:1.2; letter-spacing:-.03em; }
.lede { max-width:620px; font-size:18px; color:#d8e9fa; }.actions { display:flex; flex-wrap:wrap; gap:12px; margin:34px 0 22px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border-radius:4px; font-weight:700; text-decoration:none; }.primary { background:#fff; color:#0b4d97; }.secondary { border:1px solid #aacded; color:#fff; }.notice { max-width:620px; color:#b9d6f0; font-size:12px; }
.section { max-width:1160px; margin:auto; padding:92px 28px; }.section-heading { margin-bottom:34px; }.cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.card { min-height:325px; padding:33px; border:1px solid var(--line); border-radius:8px; background:#fff; }.number { color:var(--blue); font-weight:800; }.card h3 { margin-bottom:12px; font-size:24px; }.card p:not(.number) { color:#45566b; }.card ul { padding-left:19px; color:#45566b; font-size:14px; }.text-link { color:var(--blue); font-size:14px; font-weight:750; text-decoration:none; }
.access { display:grid; grid-template-columns:1fr 1fr; gap:62px; align-items:center; background:var(--pale); border-radius:10px; }.access p { color:#45566b; }.payment-box { padding:32px; background:#fff; border-radius:8px; box-shadow:0 14px 38px rgba(24,80,133,.12); }.status { color:var(--blue)!important; font-size:12px; font-weight:800; letter-spacing:.12em; }.payment-box h3 { font-size:24px; }.disabled { width:100%; color:#62758b; background:#e5edf4; cursor:not-allowed; }.small { margin:15px 0 0!important; font-size:12px; }
.contact { padding-top:74px; padding-bottom:74px; }.contact h2 { margin-bottom:18px; font-size:30px; }.contact a { color:var(--blue); } footer { display:flex; justify-content:space-between; gap:12px; padding:25px max(28px,calc((100vw - 1104px)/2)); color:#7d8c9d; border-top:1px solid #e4eaf0; font-size:13px; }.product-page { max-width:1104px; min-height:calc(100vh - 164px); margin:auto; padding:82px 28px; }.product-page h1 { color:var(--ink); font-size:clamp(42px,5vw,64px); }.dark { color:#45566b; }.product-grid { display:grid; grid-template-columns:1fr 400px; gap:72px; margin-top:58px; }.product-grid h2,.boundary h2 { font-size:28px; }.check-list { margin:0; padding:0; list-style:none; }.check-list li { position:relative; padding:0 0 18px 27px; color:#45566b; }.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--blue); font-weight:800; }.order-box { padding:30px; border:1px solid var(--line); border-radius:8px; background:var(--pale); }.order-box .price { margin-bottom:12px; color:var(--blue); font-size:28px; font-weight:850; }.order-box h3 { font-size:22px; }.order-box .button { margin-top:8px; }.boundary { max-width:770px; margin-top:66px; padding-top:34px; border-top:1px solid var(--line); }.boundary p { color:#45566b; }
@media (max-width:720px) { .topbar { height:72px; } nav { display:none; }.hero { min-height:auto; padding-top:76px; padding-bottom:70px; }.cards,.access,.product-grid { grid-template-columns:1fr; }.access { margin:0 16px; padding:54px 28px; gap:25px; }.section,.product-page { padding:64px 28px; }.product-grid { gap:30px; margin-top:40px; } footer { flex-direction:column; } }
