:root {
	--legal-paper: #f6f3ed;
	--legal-card: #ffffff;
	--legal-warn: #fff2e8;
}

.legal-page { background:var(--legal-paper); }
.legal-hero { padding:78px 0 58px; color:#fff; background:linear-gradient(135deg,var(--navy) 0%,#063853 100%); }
.legal-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.45fr); align-items:end; gap:60px; }
.legal-hero h1 { max-width:820px; margin:10px 0 18px; font-size:clamp(2.65rem,6vw,5.8rem); line-height:.92; letter-spacing:-.055em; }
.legal-hero-copy { max-width:720px; margin:0; color:#d7e4ea; font-size:1.12rem; }
.legal-meta { padding:22px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.07); }
.legal-meta strong,.legal-meta span { display:block; }
.legal-meta strong { margin-bottom:7px; color:#fff; }
.legal-meta span { color:#c6d7df; font-size:.88rem; }
.legal-draft-notice { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; padding:22px 24px; border:1px solid rgba(255,103,29,.25); border-radius:16px; color:var(--navy); background:var(--legal-warn); box-shadow:0 14px 35px rgba(0,38,62,.07); }
.legal-draft-notice strong { padding:7px 10px; border-radius:999px; color:var(--navy); background:var(--orange); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.legal-draft-notice p { margin:1px 0 0; line-height:1.65; }
.legal-content { padding:54px 0 90px; }
.legal-layout { display:grid; grid-template-columns:260px minmax(0,820px); justify-content:center; align-items:start; gap:56px; margin-top:38px; }
.legal-toc { position:sticky; top:110px; padding:24px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.72); }
.legal-toc h2 { margin:0 0 14px; color:var(--navy); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.legal-toc ol { display:grid; gap:9px; margin:0; padding-left:20px; color:#57707e; font-size:.9rem; }
.legal-toc a { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; }
.legal-toc a:hover,.legal-toc a:focus-visible { color:var(--orange); text-decoration-color:currentColor; }
.legal-article { min-width:0; padding:clamp(28px,5vw,58px); border:1px solid var(--line); border-radius:22px; background:var(--legal-card); box-shadow:0 20px 55px rgba(0,38,62,.07); }
.legal-section + .legal-section { margin-top:44px; padding-top:44px; border-top:1px solid var(--line); }
.legal-section h2 { margin:0 0 18px; color:var(--navy); font-size:clamp(1.45rem,2.5vw,2rem); letter-spacing:-.025em; }
.legal-section h3 { margin:28px 0 10px; color:var(--navy); font-size:1.05rem; }
.legal-section p,.legal-section li { color:#425e6d; line-height:1.75; }
.legal-section p { margin:0 0 15px; }
.legal-section ul { display:grid; gap:8px; margin:12px 0 20px; padding-left:22px; }
.legal-section a { color:#005d91; text-decoration:underline; text-underline-offset:3px; }
.legal-details { display:grid; grid-template-columns:180px 1fr; margin:20px 0 0; border-top:1px solid var(--line); }
.legal-details dt,.legal-details dd { margin:0; padding:12px 0; border-bottom:1px solid var(--line); }
.legal-details dt { color:var(--navy); font-weight:800; }
.legal-details dd { color:#425e6d; }
.legal-pending { margin:24px 0 0; padding:18px 20px; border-left:4px solid var(--orange); border-radius:0 12px 12px 0; color:#425e6d; background:var(--legal-warn); }
.legal-pending strong { color:var(--navy); }
.legal-table-wrap { overflow-x:auto; margin:22px 0; border:1px solid var(--line); border-radius:12px; }
.legal-table { width:100%; min-width:690px; border-collapse:collapse; font-size:.86rem; }
.legal-table th,.legal-table td { padding:14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-table th { color:var(--navy); background:#eef4f6; }
.legal-table tr:last-child td { border-bottom:0; }
.legal-footer-note { margin-top:42px; color:#6b808b; font-size:.82rem; }
.footer-legal { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 15px; }
.footer-legal a { color:#d8e4e9; text-decoration:underline; text-decoration-color:rgba(216,228,233,.35); text-underline-offset:4px; }
.footer-legal a:hover,.footer-legal a:focus-visible { color:#fff; text-decoration-color:#fff; }
.footer-legal em { color:#7e98a6; }

@media (max-width:900px) {
	.legal-hero-grid,.legal-layout { grid-template-columns:1fr; }
	.legal-hero-grid { gap:28px; }
	.legal-meta { max-width:480px; }
	.legal-layout { gap:25px; }
	.legal-toc { position:static; }
	.legal-toc ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 26px; }
}

@media (max-width:620px) {
	.legal-hero { padding:54px 0 42px; }
	.legal-hero h1 { font-size:clamp(2.55rem,14vw,4.2rem); }
	.legal-content { padding:34px 0 65px; }
	.legal-draft-notice { grid-template-columns:1fr; padding:18px; }
	.legal-draft-notice strong { justify-self:start; }
	.legal-toc { padding:20px; }
	.legal-toc ol { grid-template-columns:1fr; }
	.legal-article { padding:25px 20px; border-radius:16px; }
	.legal-section + .legal-section { margin-top:34px; padding-top:34px; }
	.legal-details { grid-template-columns:1fr; }
	.legal-details dt { padding-bottom:2px; border-bottom:0; }
	.legal-details dd { padding-top:2px; }
	.footer-legal { justify-content:flex-start; }
}
