@font-face { font-family: 'Google Sans'; src: url('/fonts/GoogleSans-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Google Sans'; src: url('/fonts/GoogleSans-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Google Sans'; src: url('/fonts/GoogleSans-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
*, *::before, *::after { box-sizing: border-box; }
:root { --paper:#fbfbfd; --card:#fff; --ink:#1d1d1f; --soft:#424245; --gray:#6e6e73; --line:rgba(0,0,0,.1); --blue:#0071e3; --sans:'Google Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; font-family:var(--sans); background:var(--paper); color:var(--ink); line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:var(--blue); text-decoration:none; font-weight:500; }
a:hover { text-decoration:underline; }
header { position:sticky; top:0; z-index:50; min-height:56px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 16px; padding:8px 22px; background:rgba(251,251,253,.88); backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:9px; font-weight:700; letter-spacing:-.02em; color:var(--ink); }
.brand:hover { text-decoration:none; }
.brand-icon { display:grid; place-items:center; width:26px; height:26px; color:var(--ink); }
.brand-icon svg { width:20px; height:20px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.container { max-width:920px; margin:0 auto; padding:clamp(34px,7vw,72px) 22px clamp(44px,8vw,82px); }
.eyebrow { color:var(--blue); font-size:.82rem; font-weight:700; letter-spacing:.04em; }
h1 { margin:10px 0 8px; font-size:clamp(2rem,5vw,3rem); line-height:1.08; letter-spacing:-.035em; }
.subtitle { color:var(--gray); margin:0 0 clamp(28px,5vw,48px); }
.card { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:clamp(25px,5vw,48px); box-shadow:0 20px 60px -40px rgba(0,0,0,.35); }
h2 { margin:2.4rem 0 .9rem; padding-bottom:.55rem; border-bottom:1px solid var(--line); font-size:1.35rem; letter-spacing:-.02em; }
h2:first-child { margin-top:0; }
h3 { margin:1.5rem 0 .55rem; font-size:1.05rem; }
p { margin:.3rem 0 .95rem; color:var(--soft); }
ul,ol { margin:.5rem 0 1rem; padding-left:1.45rem; }
li { margin-bottom:.45rem; color:var(--soft); }
strong { color:var(--ink); }
code { background:#f0f0f3; padding:.15rem .4rem; border-radius:6px; }
.notice { margin:1rem 0 1.4rem; padding:15px 17px; border-left:4px solid var(--blue); border-radius:4px 12px 12px 4px; background:#f0f7ff; }
.table-wrap { overflow-x:auto; margin:1rem 0 1.4rem; }
table { width:100%; min-width:620px; border-collapse:separate; border-spacing:0; font-size:.9rem; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
th { background:#f5f5f7; text-align:left; padding:.72rem .85rem; border-bottom:1px solid var(--line); }
td { padding:.72rem .85rem; border-bottom:1px solid var(--line); color:var(--soft); vertical-align:top; }
tr:last-child td { border-bottom:0; }
td+td,th+th { border-left:1px solid var(--line); }
.legal-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--line); }
footer { padding:30px 22px; text-align:center; color:var(--gray); border-top:1px solid var(--line); font-size:.85rem; }
@media (max-width:600px) { header { padding:12px 16px; } .container { padding-left:16px; padding-right:16px; } .card { border-radius:18px; } }
