.legal-body{min-height:100vh;background:#f3f6f3}
.legal-header{min-height:72px;padding:env(safe-area-inset-top) max(24px,calc((100vw - 1240px)/2)) 0;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#061b29;border-bottom:3px solid #08a9c5;color:#fff}
.legal-header .brand{min-height:44px;color:#fff}.legal-header>a:last-child{min-height:44px;padding:10px 14px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#e5f5f7;font-family:var(--font-utility);font-size:13px;font-weight:750;text-decoration:none}
.legal-main{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:76px 0 110px}.legal-main>p:first-child{margin:0;color:#087d97;font-family:var(--font-utility);font-size:12px;font-weight:800;letter-spacing:.12em}.legal-main h1{margin-bottom:16px;font-family:var(--font-display);font-size:clamp(40px,5vw,58px);font-weight:900;letter-spacing:-.055em;line-height:1.05}.legal-main>.updated{color:#566b73;font-size:13px}
.legal-card{overflow-wrap:anywhere;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;color:#243b44;font-size:16px;line-height:1.78}.legal-card h2{margin:36px 0 10px;padding-top:24px;border-top:1px solid var(--line);color:#0b2531;font-family:var(--font-display);font-size:24px;letter-spacing:-.025em}.legal-card h2:first-child{margin-top:0;padding-top:0;border-top:0}.legal-card a{color:#067e9c;font-weight:700}.legal-card .notice{margin-top:36px;padding:16px 18px;border-left:3px solid var(--cyan);background:#e5f1f2;color:#304e58}
.legal-footer{min-height:92px;padding:32px max(24px,calc((100vw - 1120px)/2));background:#03141e;color:#90a8af;font-family:var(--font-utility);font-size:12px}
@media(min-width:820px){.legal-main{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:64px;align-items:start}.legal-main>p:first-child{grid-column:1;grid-row:1}.legal-main>h1{grid-column:1;grid-row:2;margin-top:8px}.legal-main>.updated{grid-column:1;grid-row:3;position:sticky;top:110px}.legal-card{grid-column:2;grid-row:1 / span 4;padding:0 0 0 44px}}
@media(max-width:819px){.legal-header{min-height:64px;padding-right:max(16px,env(safe-area-inset-right));padding-left:max(16px,env(safe-area-inset-left))}.legal-main{width:auto;margin:0;padding:52px max(20px,env(safe-area-inset-right)) 80px max(20px,env(safe-area-inset-left))}.legal-card{margin-top:28px;padding:28px 0 0;border-top:1px solid var(--line);border-left:0}.legal-footer{padding-right:max(20px,env(safe-area-inset-right));padding-bottom:32px;padding-left:max(20px,env(safe-area-inset-left))}}
@media(max-width:479px){.legal-header>a:last-child{padding-inline:10px;font-size:12px}.legal-main{padding-top:40px}.legal-main h1{font-size:36px}.legal-card{font-size:16px;line-height:1.72}.legal-card h2{font-size:22px}}
@media(max-width:359px){.legal-header{min-height:0;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px;flex-wrap:wrap;row-gap:6px}.legal-header .brand{flex:1 0 100%;min-width:0}.legal-header>a:last-child{margin-left:auto}}

/* Shared brand pass: policy pages should feel like the same product, not a CMS export. */
.legal-header{min-height:70px;background:rgba(6,27,41,.98);box-shadow:0 1px 0 rgba(199,244,247,.16)}
.legal-header>a:last-child{border-radius:7px;background:rgba(255,255,255,.04);font-size:12px}
.legal-main{max-width:1180px;padding-top:82px}
.legal-main>p:first-child{font-size:11px;letter-spacing:.14em}
.legal-main h1{font-size:clamp(42px,5vw,64px)}
.legal-card{max-width:780px;border-left:2px solid #d5e4e4;padding-left:42px;font-size:16px;line-height:1.82}
.legal-card h2{margin-top:40px;padding-top:26px;font-size:25px}
.legal-card .notice{border-left-width:2px;background:#e7f3f3}
.legal-footer{min-height:84px;padding-top:28px;padding-bottom:28px}
@media(min-width:820px){.legal-main{grid-template-columns:300px minmax(0,1fr);column-gap:60px}.legal-card{padding-left:38px}}
@media(max-width:819px){.legal-main{padding-top:56px}.legal-card{max-width:none;padding-left:0;border-left:0}}
