:root { --ink:#12203a; --muted:#61708a; --line:#e6ebf2; --wash:#f6f8fb; --blue:#1879ee; --mint:#31d6b1; --max:1120px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:#fff; font:16px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; } a { color:inherit; text-underline-offset:3px; } a:focus-visible { outline:3px solid var(--blue); outline-offset:3px; } .skip { position:absolute; left:-999px; } .skip:focus { left:16px; top:16px; z-index:10; background:#fff; padding:8px 12px; }
.wrap { width:min(calc(100% - 40px),var(--max)); margin:auto; } header { border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); } .nav { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; } .wordmark { font-weight:800; font-size:21px; letter-spacing:-.04em; text-decoration:none; } nav { display:flex; gap:22px; flex-wrap:wrap; } nav a { text-decoration:none; color:var(--muted); font-weight:650; }
.site-menu { position:relative; margin-left:auto; } .site-menu-toggle { display:flex; align-items:center; gap:7px; min-height:44px; padding:10px 12px; border:1px solid transparent; border-radius:10px; color:var(--muted); cursor:pointer; font-weight:750; list-style:none; user-select:none; } .site-menu-toggle::-webkit-details-marker { display:none; } .site-menu-toggle:hover,.site-menu[open] .site-menu-toggle { border-color:var(--line); background:var(--wash); color:var(--ink); } .site-menu-toggle span { font-size:12px; transition:transform .18s ease; } .site-menu[open] .site-menu-toggle span { transform:rotate(180deg); } .site-menu-list { position:absolute; top:calc(100% + 8px); right:0; z-index:20; display:grid; min-width:210px; padding:8px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 14px 30px rgba(18,32,58,.14); } .site-menu:not([open]) .site-menu-list { display:none; } .site-menu-list a { padding:10px 12px; border-radius:8px; color:var(--muted); font-weight:650; text-decoration:none; } .site-menu-list a:hover,.site-menu-list a:focus-visible { background:var(--wash); color:var(--ink); } .site-menu-list a[aria-current="page"] { background:#edf5ff; color:#1268c9; font-weight:750; } .notice a { color:var(--ink); font-weight:700; text-decoration-thickness:1px; }
main { padding-bottom:84px; } .hero { padding:100px 0 76px; background:linear-gradient(130deg,#f8fbff 5%,#fff 50%,#f0fffa); } .eyebrow { margin:0 0 14px; color:#267cc9; font-weight:750; font-size:14px; letter-spacing:.04em; } h1,h2,h3 { letter-spacing:-.045em; line-height:1.25; } h1 { max-width:770px; margin:0; font-size:clamp(38px,6vw,68px); } h2 { margin:0 0 18px; font-size:clamp(27px,4vw,42px); } h3 { margin:0 0 7px; font-size:20px; } .lead { max-width:700px; margin:22px 0 30px; color:var(--muted); font-size:19px; } .button { display:inline-block; border-radius:999px; padding:12px 19px; background:var(--ink); color:#fff; text-decoration:none; font-weight:750; } .button.outline { background:#fff; color:var(--ink); border:1px solid var(--line); margin-left:8px; }
section { padding:78px 0; } .muted { background:var(--wash); } .grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; } .grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); } .card { border:1px solid var(--line); border-radius:22px; background:#fff; padding:25px; } .card p { margin:0; color:var(--muted); } .offon-card { display:grid; grid-template-columns:108px 1fr; align-items:center; gap:28px; } .app-icon { width:108px; height:108px; object-fit:contain; } .wordmark-image { max-width:160px; height:auto; }
.policy { padding-top:56px; } .policy-head { border-bottom:1px solid var(--line); padding-bottom:30px; margin-bottom:35px; } .policy h2 { margin-top:45px; font-size:27px; } .policy h3 { margin-top:26px; } .policy p,.policy li { color:#34435b; } .policy table { width:100%; border-collapse:collapse; margin:18px 0 25px; font-size:14px; } .policy th,.policy td { vertical-align:top; padding:12px; border:1px solid var(--line); text-align:left; } .policy th { background:#f5f8fc; color:var(--ink); } .toc { padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--wash); } .toc ol { columns:2; margin:8px 0 0; padding-left:22px; } .notice { border-left:4px solid var(--blue); padding:12px 16px; background:#f4f9ff; color:#38506f; }
footer { border-top:1px solid var(--line); padding:34px 0 44px; color:var(--muted); font-size:14px; } footer .footer-row { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; } footer p { margin:5px 0; } .small { color:var(--muted); font-size:14px; } .contact-list { list-style:none; padding:0; } .contact-list li { padding:11px 0; border-bottom:1px solid var(--line); }
@media (max-width:720px) { .wrap { width:min(calc(100% - 32px),var(--max)); } .nav { min-height:64px; align-items:flex-start; padding:16px 0; } nav { justify-content:flex-end; gap:12px; font-size:14px; } .site-menu-toggle { min-height:44px; padding:10px; } .site-menu-list { width:min(250px,calc(100vw - 32px)); } .hero { padding:70px 0 54px; } section { padding:58px 0; } .grid,.grid.three { grid-template-columns:1fr; } .offon-card { grid-template-columns:78px 1fr; gap:18px; } .app-icon { width:78px; height:78px; } .toc ol { columns:1; } .policy table { font-size:13px; } .policy th,.policy td { padding:9px; } }
@media print { header,footer,.skip { display:none; } body { font:11pt/1.55 serif; } .policy { padding:0; } a { text-decoration:none; } }
