html, body { margin:0; min-height:100%; }
.legal-page, .legal-page * { box-sizing:border-box; }
.legal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:24px; background:rgba(10,16,22,.68); backdrop-filter:blur(12px); }
.legal-dialog { width:min(980px,100%); max-height:min(90vh,980px); display:flex; flex-direction:column; overflow:hidden; border:1px solid #d5e0e5; border-radius:24px; background:#f9fcfd; color:#172a35; box-shadow:0 28px 90px rgba(4,16,25,.32); }
.legal-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:28px 32px 22px; border-bottom:1px solid #dfe8eb; background:linear-gradient(135deg,#ffffff,#edf8fa); }
.legal-kicker { display:block; margin-bottom:8px; color:#087c96; font-size:11px; font-weight:800; letter-spacing:.16em; }
.legal-dialog h1,.legal-page-heading h1 { margin:0; color:#12232d; font-size:clamp(24px,4vw,40px); line-height:1.06; letter-spacing:-.045em; }
.legal-dialog-header small { display:block; margin-top:9px; color:#6c8089; font-size:12px; }
.legal-close { display:grid; flex:none; width:38px; height:38px; place-items:center; border:1px solid #cddde1; border-radius:50%; background:#fff; color:#52707b; font-size:27px; line-height:1; cursor:pointer; }
.legal-close:hover,.legal-close:focus-visible { border-color:#0891b2; color:#087c96; }
.legal-dialog-content { overflow:auto; padding:30px 34px 10px; }
.legal-intro { margin:0 0 24px; padding:16px 18px; border-left:3px solid #0891b2; border-radius:0 12px 12px 0; background:#eaf7f9; color:#36515d; line-height:1.65; }
.legal-section { padding:0 0 24px; }
.legal-section h2 { margin:0 0 9px; color:#173744; font-size:18px; line-height:1.3; letter-spacing:-.02em; }
.legal-section p,.legal-section li { color:#405760; font-size:14px; line-height:1.72; }
.legal-section p { margin:0 0 10px; }
.legal-section ul { margin:7px 0 0; padding-left:22px; }
.legal-section li { margin:6px 0; }
.legal-review-note { display:grid; gap:6px; margin:10px 0 18px; padding:16px 18px; border:1px solid #eed9a7; border-radius:12px; background:#fff9e9; color:#6f5722; font-size:13px; line-height:1.6; }
.legal-review-note strong { color:#624b16; }
.legal-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 32px; border-top:1px solid #dfe8eb; background:#fff; }
.legal-dialog-footer a,.legal-page-header a,.legal-page-footer a,.legal-page-footer button { color:#087c96; font-weight:700; text-decoration:none; }
.legal-dialog-footer a:hover,.legal-page-header a:hover,.legal-page-footer a:hover,.legal-page-footer button:hover { text-decoration:underline; }
.legal-dialog-footer .legal-done { min-width:100px; margin:0; }

.legal-page { min-height:100vh; background:#fff !important; color:#202124; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.legal-page :focus-visible { outline:3px solid #ffbf47; outline-offset:3px; }
.legal-page-header { position:sticky; top:0; z-index:20; border-bottom:1px solid #dadce0; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); }
.legal-header-primary { display:flex; align-items:center; justify-content:space-between; min-height:76px; padding:0 28px; }
.legal-page-brand { display:inline-flex; align-items:center; gap:14px; color:#202124 !important; font-size:21px; font-weight:600 !important; text-decoration:none !important; }
.legal-page-brand img { width:52px; height:52px; object-fit:contain; }
.legal-page-header > nav { display:flex; align-items:center; gap:36px; min-height:52px; padding:0 28px; overflow-x:auto; border-top:1px solid #f1f3f4; scrollbar-width:none; }
.legal-page-header > nav::-webkit-scrollbar { display:none; }
.legal-page-header > nav a { position:relative; display:flex; align-items:center; align-self:stretch; flex:none; color:#303134; font-size:15px; font-weight:500; text-decoration:none; }
.legal-page-header > nav a:hover { color:#087c96; text-decoration:none; }
.legal-page-header > nav a.active { color:#087c96; }
.legal-page-header > nav a.active::after { position:absolute; right:0; bottom:0; left:0; height:3px; background:#087c96; content:""; }
.legal-page-cta { display:inline-flex; align-items:center; gap:8px; padding:10px 15px; border-radius:8px; background:#123541; color:#fff !important; font-size:13px; font-weight:700 !important; text-decoration:none !important; }
.legal-document-layout,.legal-hub-layout { display:grid; grid-template-columns:304px minmax(0,1fr); width:100%; min-height:calc(100vh - 129px); margin:0; }
.legal-sidebar { position:sticky; top:129px; align-self:start; max-height:calc(100vh - 129px); overflow:auto; padding:38px 30px 54px; border-right:1px solid #e2e5e9; background:#fff !important; }
.legal-sidebar > strong { display:block; margin:0 0 16px; color:#202124; font-size:14px; font-weight:700; }
.legal-sidebar nav { display:flex; flex-direction:column; gap:2px; }
.legal-sidebar nav a,.legal-sidebar-all { display:block; padding:10px 12px; border-radius:7px; color:#3c4043; font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; }
.legal-sidebar nav a:hover,.legal-sidebar nav a:focus-visible,.legal-sidebar-all:hover { background:#f5f8f8; color:#087c96; text-decoration:none; }
.legal-sidebar nav a.active { background:#eaf5f6; color:#087c96; font-weight:700; }
.legal-sidebar-divider { height:1px; margin:22px 0 14px; background:#e5e7ea; }
.legal-sidebar-all { color:#087c96; font-weight:600; }
.legal-page-card { width:min(860px,calc(100% - 96px)); margin:0; padding:72px 48px 100px; border:0; border-radius:0; background:#fff; box-shadow:none; }
.legal-page-heading { padding-bottom:30px; margin-bottom:38px; border-bottom:1px solid #e1e4e8; }
.legal-page-heading h1 { max-width:760px; font-size:clamp(34px,4vw,52px); line-height:1.12; letter-spacing:-.035em; }
.legal-page-heading p { margin:15px 0 0; color:#6b7075; font-size:13px; }
.legal-page-card .legal-intro { margin:0 0 52px; padding:0; border:0; border-radius:0; background:transparent; color:#4b5156; font-size:17px; line-height:1.75; }
.legal-page .legal-section { scroll-margin-top:160px; padding:0 0 48px; }
.legal-page .legal-section h2 { margin:0 0 20px; color:#23395d; font-size:clamp(22px,2vw,28px); font-weight:700; line-height:1.35; letter-spacing:-.015em; }
.legal-page .legal-section p,.legal-page .legal-section li { color:#3c4043; font-size:16px; line-height:1.78; }
.legal-page .legal-section strong,.legal-page .legal-placeholder-list strong,.legal-page-footer strong { color:#202124; font-weight:700; }
.legal-page .legal-entity-name { color:#4f2a8f !important; font-weight:700 !important; }
.legal-page .legal-email-value { color:#087c96 !important; font-weight:700 !important; }
.legal-page .legal-section p { margin:0 0 22px; }
.legal-page .legal-section ul { margin:4px 0 16px; padding-left:26px; }
.legal-page .legal-section li { margin:0 0 14px; padding-left:6px; }
.legal-page .legal-review-note { margin:12px 0 0; padding:20px 22px; border-color:#f0d89a; border-radius:8px; background:#fffaf0; }
.legal-page-footer { display:grid; grid-template-columns:minmax(260px,1fr) minmax(0,auto) minmax(160px,1fr); align-items:center; gap:28px; width:min(100%,1728px); min-height:96px; box-sizing:border-box; margin:0 auto; padding:24px 32px; border-top:1px solid #dadce0; color:#4b4f52; font-size:14px; font-weight:500; }
.legal-page-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; }
.legal-page-footer a { color:#303134; font-weight:600; }
.legal-page-footer a:hover { color:#087c96; }
.legal-page-footer button { border:0; padding:0; background:none; color:#303134; font:600 14px Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; cursor:pointer; }
.legal-page-footer > span { min-width:0; }
.legal-footer-copyright { display:grid; gap:2px; line-height:1.35; }
.legal-footer-main { display:inline-flex; align-items:baseline; gap:4px; white-space:nowrap; }
.legal-footer-copyright .legal-entity-name { white-space:nowrap; }
.legal-footer-rights { display:block; }
.legal-footer-back { justify-self:end; white-space:nowrap; }
.legal-primary-action { margin:0 0 28px; min-height:44px; padding:0 18px; border:1px solid #073844; border-radius:8px; background:#073844; color:#fff; font-weight:700; cursor:pointer; }
.legal-primary-action:focus-visible,.legal-page-footer button:focus-visible { outline:3px solid #ffbf47; outline-offset:3px; }
.legal-hub-content { padding:64px 64px 90px; }
.legal-hub-hero { max-width:820px; margin:0 0 54px; padding:0; }
.legal-hub-hero h1 { max-width:760px; margin:0; color:#202124; font-size:clamp(42px,5vw,66px); font-weight:500; line-height:1.05; letter-spacing:-.045em; }
.legal-hub-hero p { max-width:640px; margin:22px 0 0; color:#5f6368; font-size:18px; line-height:1.7; }
.legal-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1040px; margin:0 0 34px; border-top:1px solid #dadce0; }
.legal-card-link { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; min-height:150px; padding:27px 24px 26px 0; border:0; border-bottom:1px solid #dadce0; border-radius:0; background:#fff; color:#202124; text-decoration:none; box-shadow:none; transition:background .15s ease,color .15s ease; }
.legal-card-link:nth-child(odd) { padding-right:36px; }
.legal-card-link:nth-child(even) { padding-left:36px; border-left:1px solid #dadce0; }
.legal-card-link:hover,.legal-card-link:focus-visible { transform:none; border-color:#dadce0; background:#f8fbfb; box-shadow:none; }
.legal-card-copy { display:grid; align-content:start; gap:9px; }
.legal-card-copy strong { color:#202124; font-size:18px; font-weight:600; }
.legal-card-copy span { color:#5f6368; font-size:14px; line-height:1.6; }
.legal-card-copy small { color:#087c96; font-size:12px; font-weight:700; }
.legal-card-arrow { flex:none; margin-top:1px; color:#087c96; font-size:28px; font-weight:300; line-height:1; }
.legal-placeholder-card { max-width:860px; }
.legal-placeholder-list { margin:0 0 42px; padding-left:25px; }
.legal-placeholder-list li { margin:0 0 17px; color:#3c4043; font-size:16px; line-height:1.75; }
.legal-faq-card { width:min(920px,calc(100% - 96px)); }
.legal-faq-section { padding-bottom:52px !important; }
.legal-faq-section h2 { font-size:25px !important; }
.legal-faq-section p { max-width:820px; }
.legal-contact-card { max-width:860px; }
.legal-contact-block { max-width:760px; padding:0 0 38px; border-bottom:1px solid #eef1f5; margin-bottom:34px; }
.legal-contact-block:last-of-type { border-bottom:0; margin-bottom:0; }
.legal-contact-block h2 { margin:0 0 18px; color:#23395d; font-size:22px; font-weight:700; line-height:1.4; }
.legal-contact-block p { margin:0 0 18px; color:#3c4043; font-size:16px; line-height:1.78; }
.legal-contact-address { margin:0; color:#3c4043; font-size:16px; font-style:normal; line-height:1.75; }
.legal-contact-address strong { display:inline-block; margin-bottom:8px; color:#202124; font-weight:700; }
.legal-contact-address .legal-entity-name { color:#4f2a8f !important; }
.legal-contact-email { margin-top:4px !important; }
.legal-contact-email a { color:#087c96; text-decoration:none; }
.legal-contact-email a .legal-email-value { color:#087c96 !important; }
.legal-contact-email a:hover { text-decoration:underline; }

@media (max-width:1100px) {
  .legal-page-footer { grid-template-columns:1fr; align-items:start; gap:14px; }
  .legal-page-footer nav { justify-content:flex-start; }
  .legal-footer-back { justify-self:start; }
}

@media (max-width:900px) {
  .legal-document-layout,.legal-hub-layout { display:block; min-height:0; }
  .legal-sidebar { position:static; max-height:none; padding:13px 18px; overflow:hidden; border-right:0; border-bottom:1px solid #dadce0; }
  .legal-sidebar > strong,.legal-sidebar-divider,.legal-sidebar-all { display:none; }
  .legal-sidebar nav { flex-direction:row; gap:4px; overflow-x:auto; scrollbar-width:none; }
  .legal-sidebar nav::-webkit-scrollbar { display:none; }
  .legal-sidebar nav a { flex:none; padding:8px 11px; white-space:nowrap; }
  .legal-page-card { width:min(860px,calc(100% - 48px)); margin:0 auto; padding:54px 0 76px; }
  .legal-hub-content { padding:50px 28px 72px; }
}

@media (max-width:700px) {
  .legal-backdrop { padding:10px; }
  .legal-dialog { max-height:94vh; border-radius:18px; }
  .legal-dialog-header { padding:22px 20px 17px; }
  .legal-dialog-content { padding:22px 20px 6px; }
  .legal-dialog-footer { padding:14px 20px; }
  .legal-header-primary { min-height:64px; padding:0 16px; }
  .legal-page-brand { gap:9px; font-size:16px; }
  .legal-page-brand img { width:42px; height:42px; }
  .legal-page-header > nav { min-height:47px; gap:24px; padding:0 16px; }
  .legal-page-header > nav a { font-size:13px; }
  .legal-page-cta { padding:9px 11px; font-size:11px; }
  .legal-sidebar { padding:10px 12px; }
  .legal-page-card { width:calc(100% - 36px); padding:40px 0 62px; }
  .legal-page-heading { margin-bottom:30px; }
  .legal-page-heading h1 { font-size:34px; }
  .legal-page-card .legal-intro { margin-bottom:40px; font-size:16px; }
  .legal-page .legal-section { padding-bottom:38px; }
  .legal-page .legal-section h2 { font-size:21px; }
  .legal-page .legal-section p,.legal-page .legal-section li { font-size:15px; line-height:1.72; }
  .legal-page-footer { grid-template-columns:1fr; align-items:start; gap:14px; padding:24px 18px; }
  .legal-page-footer nav { justify-content:flex-start; gap:14px; }
  .legal-footer-back { justify-self:start; }
  .legal-hub-content { padding:40px 18px 56px; }
  .legal-hub-hero { margin-bottom:40px; }
  .legal-hub-hero p { font-size:15px; }
  .legal-card-grid { grid-template-columns:1fr; }
  .legal-card-link,.legal-card-link:nth-child(odd),.legal-card-link:nth-child(even) { min-height:0; padding:22px 8px; border-left:0; }
}
