/* Legal documents and account access extend the shared navigation theme. */
.ip-legal-page .lg-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; align-items:start; }
.ip-legal-page .lg-sidebar { position:sticky; top:112px; }
.ip-legal-page .lg-contents { border-block:1px solid var(--ip-line); padding-block:18px; }
.ip-legal-page .lg-contents summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font-size:13px; font-weight:500; }
.ip-legal-page .lg-contents summary::-webkit-details-marker { display:none; }
.ip-legal-page .lg-contents summary::marker { content:''; }
.ip-legal-page .lg-contents summary:focus-visible { outline:2px solid #8e2033; outline-offset:5px; }
.ip-legal-page .lg-contents summary > span { display:inline-block; font-size:21px; line-height:1; color:var(--ip-muted); transition:transform .2s ease; }
.ip-legal-page .lg-contents[open] summary > span { transform:rotate(45deg); }
.ip-legal-page .lg-contents nav { display:grid; gap:3px; margin-top:17px; }
.ip-legal-page .lg-contents nav a { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:baseline; gap:7px; font-size:12px; line-height:1.6; padding-block:9px; color:var(--ip-muted); transition:color .2s ease; }
.ip-legal-page .lg-contents nav a:hover, .ip-legal-page .lg-contents nav a[aria-current='location'] { color:var(--ip-ink); }
.ip-legal-page .lg-index { font-size:9px; color:#77626c; }
.ip-legal-page .lg-help { padding-top:23px; }
.ip-legal-page .lg-help p { font-size:11px; margin:0 0 6px; }
.ip-legal-page .lg-help a { display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:44px; font-size:12px; font-weight:500; }
.ip-legal-page .lg-help a span { font-size:20px; transition:transform .25s ease; }
.ip-legal-page .lg-help a:hover span { transform:translate(3px,-3px); }
.ip-legal-page .lg-article { min-width:0; padding:36px 40px; background:var(--ip-panel); border:1px solid var(--ip-line); border-radius:6px; }
.ip-legal-page .lg-article > p { font-size:12px; color:var(--ip-muted); margin:0 0 26px; padding-bottom:22px; border-bottom:1px solid var(--ip-line); }
.ip-legal-page .lg-section { scroll-margin-top:112px; }
.ip-legal-page .lg-section + .lg-section { border-top:1px solid var(--ip-line); margin-top:30px; padding-top:30px; }
.ip-legal-page .lg-section h2 { font-size:24px; font-weight:500; line-height:1.35; margin:0 0 19px; }
.ip-legal-page .lg-section h3 { font-size:18px; font-weight:500; line-height:1.5; margin:25px 0 14px; }
.ip-legal-page .lg-section p, .ip-legal-page .lg-section li { font-size:15px; line-height:1.9; color:var(--ip-muted); overflow-wrap:anywhere; }
.ip-legal-page .lg-section p { margin:0 0 18px; }
.ip-legal-page .lg-section p:last-child { margin-bottom:0; }
.ip-legal-page .lg-section ul, .ip-legal-page .lg-section ol { padding-left:22px; margin:14px 0 21px; }
.ip-legal-page .lg-section li { padding-left:3px; margin-bottom:9px; }
.ip-legal-page .lg-section li:last-child { margin-bottom:0; }
.ip-legal-page .lg-section li > ul { margin-block:8px 17px; }
.ip-legal-page .lg-section strong { font-weight:600; color:var(--ip-ink); }
.ip-legal-page .lg-section a { color:var(--ip-ink); text-decoration:underline; text-underline-offset:4px; }
.ip-legal-page .lg-section code { background:#ffffff; color:var(--ip-ink); padding:2px 5px; border-radius:3px; font-size:.9em; }
/* Account access uses a focused form rather than the editorial page hero. */
.ip-auth-page { padding:0; }
.ip-auth-page h1 { color:var(--ip-ink); font:500 30px/1.2 'Inter',sans-serif; letter-spacing:-.04em; text-transform:none; margin:0 0 10px; }
.ip-auth-page p { font:400 14px/1.65 'Inter',sans-serif; color:var(--ip-muted); margin:0; }
.ip-auth-page a { color:inherit; text-decoration:none; }
.ip-auth-page .auth-layout { display:grid; place-items:center; min-height:0; padding:32px 24px; }
.ip-auth-page .auth-wrap { width:100%; max-width:920px; }
.ip-auth-page .auth-surface { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); overflow:hidden; border:1px solid var(--ip-line); border-radius:10px; background:var(--ip-panel); box-shadow:0 8px 32px rgba(36,23,28,.035); animation:auth-enter .35s ease both; }
.ip-auth-page .auth-card { min-width:0; padding:28px; }
.ip-auth-page .auth-notes { min-width:0; padding:30px; background:#8e2033; color:#ffffff; }
.ip-auth-page .auth-eyebrow { display:block; margin-bottom:18px; color:#cc243b; font:500 10px/1.5 'Inter',sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.ip-auth-page .auth-notes h2 { color:#ffffff; font:500 32px/1.15 'Inter',sans-serif; letter-spacing:-.04em; text-transform:none; margin:0 0 20px; }
.ip-auth-page .auth-notes p { color:#f4f0f2; font-size:14px; line-height:1.8; }
.ip-auth-page .auth-notes > p { margin-bottom:20px; }
.ip-auth-page .auth-note { border-top:1px solid rgba(255,255,255,.18); padding-top:18px; margin-top:18px; }
.ip-auth-page .auth-note h3 { color:#ffffff; font:500 16px/1.4 'Inter',sans-serif; letter-spacing:-.015em; text-transform:none; margin:0 0 8px; }
.ip-auth-page .auth-note p { font-size:13px; }
.ip-auth-page .auth-card-intro { font-size:14px; margin-bottom:20px; }
.ip-auth-page .login-tabs { display:flex; gap:4px; padding:4px; background:#f2f2e9; border:1px solid #f4f0f2; border-radius:6px; margin-bottom:20px; }
.ip-auth-page .login-tab { flex:1; min-width:0; min-height:40px; padding:9px 12px; border:0; border-radius:4px; background:transparent; color:var(--ip-muted); font:500 13px/1.4 'Inter',sans-serif; transition:background .18s ease,color .18s ease,box-shadow .18s ease; }
.ip-auth-page .login-tab.active { background:#8e2033; color:#ffffff; box-shadow:0 1px 3px rgba(36,23,28,.1); }
.ip-auth-page .login-panel { display:grid; gap:18px; animation:auth-enter .2s ease both; }
.ip-auth-page .auth-field { min-width:0; }
.ip-auth-page .auth-field label { display:block; margin-bottom:8px; color:var(--ip-ink); font:500 13px/1.5 'Inter',sans-serif; }
.ip-auth-page .auth-field input { display:block; width:100%; min-width:0; height:48px; padding:11px 13px; border:1px solid #cbb9c1; border-radius:5px; box-shadow:none; background:#fffefb; color:var(--ip-ink); font:400 16px/1.5 'Inter',sans-serif; transition:border-color .18s ease,box-shadow .18s ease; }
.ip-auth-page .auth-field input::placeholder { color:#77626c; opacity:1; font-size:14px; }
.ip-auth-page .auth-field input:focus { border-color:#8e2033; outline:2px solid rgba(11,61,35,.12); outline-offset:1px; }
.ip-auth-page .auth-field small { display:block; font-size:12px; color:var(--ip-muted); line-height:1.6; margin-top:8px; }
.ip-auth-page .auth-label-row { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:5px 12px; }
.ip-auth-page .auth-label-row a { display:inline-block; font-size:12px; margin-bottom:8px; }
.ip-auth-page .auth-label-row a:hover { text-decoration:underline; text-underline-offset:3px; }
.ip-auth-page .auth-password-field { position:relative; }
.ip-auth-page .auth-password-field input { padding-right:65px; }
.ip-auth-page .auth-password-field button { position:absolute; right:4px; top:4px; min-width:50px; min-height:40px; padding:8px; border:0; border-radius:3px; background:transparent; color:var(--ip-muted); font:500 12px 'Inter',sans-serif; }
.ip-auth-page .auth-submit { width:100%; justify-content:center; font-size:14px; border-radius:5px; }
.ip-auth-page .auth-submit:disabled, .ip-auth-page #otp-resend:disabled { opacity:.6; cursor:wait; }
.ip-auth-page .auth-register { padding-top:18px; margin-top:20px; border-top:1px solid #f4f0f2; text-align:center; font-size:13px; }
.ip-auth-page .auth-register a { color:var(--ip-ink); font-weight:600; text-underline-offset:3px; }
.ip-auth-page .auth-register a:hover { text-decoration:underline; }
.ip-auth-page .auth-support { margin-top:14px; text-align:center; font-size:12px; }
.ip-auth-page .auth-support a { display:inline-block; padding:8px; text-underline-offset:3px; }
.ip-auth-page .auth-support a:hover { text-decoration:underline; }
.ip-auth-page .otp-msg { font-size:12px; line-height:1.7; color:var(--ip-muted); }
.ip-auth-page .otp-msg:empty { display:none; }
.ip-auth-page .otp-msg.is-error { color:#a92d28; }
.ip-auth-page .otp-msg.is-success { color:#8e2033; }
.ip-auth-page #otp-resend-wrap { font-size:12px; }
.ip-auth-page #otp-resend { min-height:38px; padding:6px 0; border:0; background:transparent; color:var(--ip-ink); text-decoration:underline; text-underline-offset:4px; font:500 12px 'Inter',sans-serif; }
@keyframes auth-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .ip-auth-page .auth-surface, .ip-auth-page .login-panel { animation:none; } .ip-auth-page * { transition:none; } }
@media (max-width:700px) {
    .ip-auth-page .auth-layout { min-height:0; padding:24px 20px; }
    .ip-auth-page .auth-wrap { max-width:440px; }
    .ip-auth-page .auth-surface { grid-template-columns:1fr; }
    .ip-auth-page .auth-card { padding:24px 20px; }
    .ip-auth-page .auth-notes { padding:24px 20px; }
    .ip-auth-page .auth-notes h2 { font-size:30px; }
}
@media (max-width:360px) { .ip-auth-page .auth-layout { padding-inline:16px; } .ip-auth-page .auth-card { padding:26px 20px; } }
@media (max-width:1000px) { .ip-legal-page .lg-layout { grid-template-columns:190px minmax(0,1fr); gap:30px; } .ip-legal-page .lg-article { padding:30px; } }
@media (max-width:900px) { .ip-legal-page .lg-layout { grid-template-columns:1fr; gap:28px; } .ip-legal-page .lg-sidebar { position:static; } .ip-legal-page .lg-help { display:none; } }
@media (max-width:700px) {
    .ip-legal-page .lg-article { padding:26px 22px; }
    .ip-legal-page .lg-section h2 { font-size:22px; }
    .ip-legal-page .lg-section p, .ip-legal-page .lg-section li { font-size:14px; }
}

.ip-legal-page .lg-section ul > li { display:list-item; list-style-type:disc; }
.ip-legal-page .lg-section ul ul > li { list-style-type:circle; }
.ip-legal-page .lg-section ol > li { display:list-item; list-style-type:decimal; }
