:root { color-scheme: dark; --bg:#101b2b; --surface:#15263b; --text:#f7f9fc; --muted:#b5c4d6; --line:#34465d; --accent:#69c8bd; }
    * { box-sizing: border-box; }
    html { min-height: 100%; }
    body { margin:0; min-height:100vh; background:radial-gradient(ellipse at 50% 24%,#1a3851 0%,#101b2b 57%,#0b1523 100%); color:var(--text); font: 16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
    .wrap { max-width:1100px; min-height:100vh; margin:auto; padding:32px clamp(22px,5vw,64px); display:flex; flex-direction:column; }
    header, footer { display:flex; justify-content:space-between; align-items:center; gap:20px; }
    .brand { display:flex; gap:13px; align-items:center; font-size:clamp(1.25rem,3vw,1.65rem); font-weight:750; letter-spacing:-.04em; }
    .mark { width:34px; height:34px; display:inline-block; position:relative; flex-shrink:0; }
    .mark:before,.mark:after { content:""; position:absolute; border:3px solid var(--accent); border-radius:4px; width:19px; height:19px; }
    .mark:before { left:0; bottom:0; border-top:0; border-right:0; }
    .mark:after { right:0; top:0; border-left:0; border-bottom:0; }
    .eyebrow { color:var(--accent); text-transform:uppercase; font-size:.77rem; font-weight:750; letter-spacing:.18em; }
    main { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:90px 0 105px; }
    h1 { margin:18px 0 20px; font-size:clamp(2.55rem,6.5vw,5.3rem); line-height:1.12; letter-spacing:-.055em; font-weight:760; max-width:900px; }
    .lead { font-size:clamp(1.17rem,2vw,1.5rem); color:#d8e5f0; max-width:730px; margin:0 0 18px; }
    .detail { max-width:680px; color:var(--muted); margin:0; font-size:1.04rem; }
    .status { display:inline-flex; margin-top:38px; align-items:center; gap:10px; padding:10px 21px; border-radius:99px; border:1px solid #36777a; color:#dffef8; background:#163e51; font-weight:650; font-size:.91rem; }
    .dot { width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px #69c8bd22; }
    footer { border-top:1px solid var(--line); padding-top:23px; color:#a5b6cc; font-size:.85rem; flex-wrap:wrap; }
    footer a { color:#d2e7ec; text-decoration:underline; text-decoration-color:#738da2; text-underline-offset:4px; }
    footer a:hover, footer a:focus { color:white; }
    @media(max-width:600px) { .wrap { padding:22px; } header { align-items:flex-start; } .eyebrow.header { font-size:.66rem; text-align:right; margin-top:10px;} main { padding:85px 0; } footer { justify-content:center; text-align:center;} }
    a { color:#a1ede3; text-underline-offset:4px; }
    a:hover,a:focus-visible { color:#fff; }
    .brand-link { color:var(--text); text-decoration:none; }
    .brand-link:hover,.brand-link:focus-visible { color:var(--text); }
    .legal-main { flex:1; display:block; text-align:left; padding:62px 0 74px; width:100%; max-width:820px; margin:0 auto; }
    .legal-main h1 { font-size:clamp(2.25rem,5.5vw,3.7rem); margin:12px 0 26px; line-height:1.17; letter-spacing:-.045em; }
    .legal-main h2 { margin:40px 0 12px; font-size:1.24rem; font-weight:680; letter-spacing:-.018em; }
    .legal-main p { color:#c8d6e5; margin:10px 0 18px; max-width:76ch; }
    .legal-main strong { color:#ecf3f8; }
    .legal-main .legal-intro { color:#d8e5f0; font-size:1.08rem; }
    .legal-main .notice { margin:26px 0 40px; padding:18px 22px; background:#1c3147; border:1px solid #557d8d; border-radius:12px; color:#d7e7ee; font-size:.91rem; }
    .legal-main .notice strong { color:#e5faf6; }
    .legal-main .placeholder { color:#ffddb2; background:#3e3342; border-radius:4px; padding:1px 5px; }
    .page-nav { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
    .page-nav a { font-size:.9rem; color:#c1d7e3; text-decoration:none; }
    .page-nav a[aria-current="page"] { color:var(--accent); font-weight:700; }
    .page-nav a:hover,.page-nav a:focus-visible { color:white; text-decoration:underline; }
    .footer-links { display:flex; gap:15px; flex-wrap:wrap; }
    @media(max-width:680px) { .legal-main { padding:56px 0 70px; } header { flex-wrap:wrap; } .page-nav { width:100%; gap:17px; } }

