/* Shared legal footer and standalone legal page, using the portal design tokens. */
[hidden]{display:none!important}
.portal-legal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:24px max(24px,6vw);border-top:1px solid var(--line);color:var(--muted);font-size:12px;background:var(--bg)}
.portal-legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 22px}.portal-legal-footer a{display:inline-flex;align-items:center;min-height:44px}.portal-legal-footer a:hover,.legal-page a:hover{color:var(--blue)}
.legal-page{overflow-wrap:anywhere}.legal-page p{line-height:1.8}.legal-page [id]{scroll-margin-top:24px}.legal-page a:not(.brand){text-underline-offset:4px}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(24px,6vw);border-bottom:1px solid var(--line)}.legal-header nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px}.legal-header nav a{min-height:44px;display:flex;align-items:center}
.legal-main{max-width:1240px;margin:0 auto;padding:72px 32px 80px}.legal-hero{max-width:740px;margin-bottom:38px}.legal-hero h1{font-size:clamp(38px,5vw,64px);letter-spacing:-2px;margin:22px 0}.legal-hero p{font-size:17px;max-width:600px}.legal-version{font-size:12px;color:var(--muted)}
.legal-draft{background:#32291c;border:1px solid #fcd38a55;border-radius:16px;padding:20px 24px;margin:0 0 48px;max-width:100%}.legal-draft strong{color:var(--amber);font-size:14px}.legal-draft p{color:#e5d3b5;font-size:13px;margin:8px 0 0}
.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px}.legal-nav{position:sticky;top:24px;align-self:start;display:grid;gap:5px;padding:10px 0}.legal-nav>.eyebrow{margin:0 0 17px}.legal-nav a{display:flex;gap:14px;align-items:center;min-height:48px;padding:10px 12px;border-radius:10px;color:var(--blue);font-size:11px}.legal-nav a span{color:var(--muted);font-size:13px}.legal-nav a:hover{background:var(--soft)}.legal-articles{min-width:0}.legal-block{padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid var(--line)}.legal-block h2{font-size:30px;letter-spacing:-1px;margin:16px 0 24px}.legal-block>p{font-size:14px}.legal-section{margin-top:32px}.legal-section h3{font-size:18px;line-height:1.5;margin-bottom:12px}.legal-section p{font-size:14px;color:#b9c6d8}
.provider-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--panel);margin:0}.provider-details div{min-width:0}.provider-details dt{font-size:11px;color:var(--muted);margin-bottom:10px}.provider-details dd{font-size:14px;margin:0;line-height:1.7}.provider-details a{color:var(--blue);text-decoration:underline}
.legal-note{padding:18px 20px;border-left:2px solid var(--blue);background:var(--soft);color:#b9d5f8!important;font-size:13px!important;border-radius:0 12px 12px 0;margin:22px 0}.legal-note p{font-size:13px;color:#b9d5f8;margin:6px 0 0}.legal-contact{display:grid;gap:10px;margin-top:26px}.legal-contact label{font-size:13px;color:var(--text);margin-top:8px}.legal-contact label span,.legal-contact small{color:var(--muted);font-size:12px;line-height:1.6}.legal-contact textarea{min-height:190px;line-height:1.7}.legal-contact .legal-caption{font-size:12px;margin:8px 0;line-height:1.7}.legal-caption a{text-decoration:underline;color:var(--blue)}.legal-field-meta{display:flex;justify-content:space-between;gap:16px}.legal-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:10px}.legal-actions a{font-size:13px;color:var(--blue);min-height:44px;display:flex;align-items:center;text-decoration:underline}.legal-error,.legal-success{font-size:13px;line-height:1.7;padding:14px 16px;border-radius:10px}.legal-error{color:#ffb3b3;background:#321d24}.legal-success{color:var(--green);background:#123023}#contact-status:empty{display:none}.legal-login{padding:18px;background:var(--soft);border-radius:12px}.legal-login p{font-size:13px;margin:0}.legal-history{margin-top:26px}.legal-history:empty{display:none}.legal-history details{padding:18px 0;border-bottom:1px solid var(--line)}.legal-history summary{cursor:pointer;min-height:44px;font-size:13px;line-height:1.6;color:var(--blue)}.legal-history summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.legal-history p{font-size:13px;white-space:pre-wrap}.legal-history small{font-size:11px}
.legal-sources{padding:0;list-style:none}.legal-sources li{border-bottom:1px solid var(--line)}.legal-sources a{display:block;min-height:48px;padding:14px 0;color:var(--blue);font-size:13px;line-height:1.6}.legal-footer{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:26px max(24px,6vw);font-size:12px;color:var(--muted)}.legal-footer a{display:flex;align-items:center;min-height:44px}
@media(max-width:850px){.legal-layout{grid-template-columns:1fr;gap:32px}.legal-nav{position:static;display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.legal-nav>.eyebrow{width:100%;margin:0 12px 8px}.legal-nav a{min-height:44px}.legal-main{padding:48px 24px}.legal-draft{margin-bottom:24px}.legal-header{align-items:flex-start;flex-direction:column;gap:10px}.legal-header nav{gap:8px 22px}.legal-block{padding-bottom:32px;margin-bottom:32px}.legal-block h2{font-size:27px}.legal-hero h1{letter-spacing:-1.4px}}
@media(max-width:480px){.provider-details{grid-template-columns:1fr;padding:22px}.legal-hero p{font-size:15px}.legal-main{padding:38px 20px}.legal-nav a{padding-left:8px;padding-right:8px}.legal-nav a span{font-size:12px}.legal-actions button{width:100%}.legal-draft{padding:18px}.portal-legal-footer{padding:20px}.portal-legal-footer nav{gap:2px 20px}}
@media print{.legal-header,.legal-nav,.legal-contact,.legal-history,.legal-footer,.skip{display:none!important}.legal-page,.legal-page p,.legal-section p,.legal-note,.legal-note p{background:white!important;color:black!important}.legal-main{max-width:none;padding:0}.legal-layout{display:block}.legal-block{break-inside:auto;margin:0 0 20px;padding:0 0 20px}.legal-section{break-inside:avoid-page}.legal-draft{background:white;border:1px solid black}.legal-draft strong,.legal-draft p{color:black}.provider-details{background:white;border-color:#555}.legal-page .eyebrow,.legal-version,.provider-details dt{color:#333}.legal-page h2,.legal-page h3{break-after:avoid}.legal-page a{color:black}.legal-sources a:after{content:' (' attr(href) ')';font-size:10px}}
