:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif; color:#182132; background:#fffaf3; }
* { box-sizing:border-box; }
body { margin:0; line-height:1.85; }
a { color:#b43b0b; }
.legal-header { position:sticky; top:0; z-index:2; padding:16px max(20px, calc((100vw - 900px)/2)); background:rgba(255,250,243,.95); border-bottom:1px solid #f1d7bd; backdrop-filter:blur(12px); }
.legal-header a { color:#d9470b; font-size:1.35rem; font-weight:900; text-decoration:none; }
.legal-page { padding:36px 20px 64px; }
.legal-document { max-width:900px; margin:auto; padding:clamp(24px,5vw,64px); border:1px solid #f1d7bd; border-radius:28px; background:#fff; box-shadow:0 20px 55px rgba(54,40,25,.08); }
.legal-back { display:inline-block; margin-bottom:18px; font-weight:700; text-decoration:none; }
h1 { margin:0 0 34px; font-size:clamp(1.75rem,5vw,2.6rem); line-height:1.35; }
h2 { margin:40px 0 14px; padding-bottom:8px; border-bottom:2px solid #ffe5c9; font-size:1.25rem; }
p { margin:0 0 12px; white-space:pre-wrap; }
.effective-date { margin-top:36px; color:#687286; font-weight:700; }
.legal-confirm-action { margin-top:48px; padding-top:28px; border-top:2px solid #ffe5c9; text-align:center; }
.legal-confirm-return { display:inline-flex; align-items:center; justify-content:center; width:min(100%,420px); min-height:58px; padding:14px 24px; border-radius:16px; background:#ff4b0b; box-shadow:0 12px 28px rgba(255,75,11,.2); color:#fff; font-size:1rem; font-weight:900; line-height:1.5; text-decoration:none; }
.legal-confirm-return:hover { background:#e94108; }
.legal-confirm-return:focus-visible { outline:3px solid rgba(255,75,11,.3); outline-offset:4px; }
.legal-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; padding:24px; border-top:1px solid #f1d7bd; background:#fff; font-size:.9rem; }
@media (max-width:600px) { .legal-page{padding:18px 12px 40px}.legal-document{padding:24px 18px;border-radius:20px}h2{margin-top:32px} }
