/* VirtualFlex legal pages — aligned with the site's blue, cyan and navy visual system */
.legal-page { background:#fff; color:#29485d; }
.legal-main { margin:0; padding:0 0 80px; }
.legal-container { width:min(1380px, calc(100% - 48px)); margin:0 auto; }
.legal-hero { position:relative; overflow:hidden; padding:150px 0 64px; color:#fff; background:linear-gradient(115deg,#041c2c 0%,#082d46 66%,#075b83 100%); }
.legal-hero::after { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(25,181,230,.28); border-radius:50%; right:-120px; top:-250px; box-shadow:0 0 0 55px rgba(25,181,230,.04),0 0 0 110px rgba(25,181,230,.035); pointer-events:none; }
.legal-hero .legal-container { position:relative; z-index:1; }
.legal-eyebrow { display:inline-block; margin-bottom:18px; color:#19c5ed; font-size:13px; font-weight:800; letter-spacing:2px; }
.legal-hero h1 { max-width:900px; margin:0 0 22px; color:#fff; font-size:clamp(34px,4.2vw,62px); line-height:1.1; letter-spacing:-1.2px; }
.legal-hero__lead { max-width:940px; margin:0; color:#d8e8f2; font-size:clamp(17px,1.6vw,22px); line-height:1.7; }
.legal-meta { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:28px; color:#b8d0df; font-size:14px; }
.legal-meta span,.legal-meta a { position:relative; }
.legal-meta a { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.legal-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:48px; align-items:start; padding-top:58px; }
.legal-layout--single { display:block; max-width:1080px; }
.legal-sidebar { position:sticky; top:118px; padding:24px 18px; border:1px solid #d9e8ef; border-radius:16px; background:#f5fafc; }
.legal-sidebar__title { display:block; margin:0 0 14px; color:#0b5f8a; font-size:12px; font-weight:800; letter-spacing:1.5px; }
.legal-sidebar a { display:block; padding:9px 0; color:#29485d; font-size:14px; line-height:1.4; text-decoration:none; border-bottom:1px solid #e4edf2; }
.legal-sidebar a:last-child { border-bottom:0; }
.legal-sidebar a:hover,.legal-content a { color:#075fa7; }
.legal-content { min-width:0; }
.legal-section { padding:0 0 38px; margin:0 0 36px; border-bottom:1px solid #e0eaf0; scroll-margin-top:120px; }
.legal-section:last-of-type { border-bottom:0; }
.legal-section__heading { display:flex; align-items:center; gap:16px; margin:0 0 22px; }
.legal-section__heading > span { display:flex; flex:0 0 56px; width:56px; height:56px; align-items:center; justify-content:center; border-radius:15px; color:#07538d; background:#e0f0ff; font-size:20px; font-weight:800; }
.legal-section h2 { margin:0; color:#071c35; font-size:clamp(24px,2.3vw,34px); line-height:1.2; }
.legal-section p { margin:0 0 16px; color:#536f87; font-size:17px; line-height:1.75; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section a { text-decoration:underline; text-underline-offset:3px; }
.legal-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.legal-card,.legal-mini-card { padding:24px; border:1px solid #dce6f0; border-radius:22px; background:#fff; box-shadow:0 2px 0 rgba(5,37,64,.015); }
.legal-card h3 { display:flex; align-items:center; gap:12px; margin:0 0 14px; color:#075fa7; font-size:22px; line-height:1.3; }
.legal-card h3 span { display:inline-flex; align-items:center; justify-content:center; min-width:26px; color:#075fa7; font-size:23px; }
.legal-card p,.legal-mini-card p { margin:0; font-size:16px; line-height:1.65; }
.legal-card-grid--compact { gap:14px; }
.legal-mini-card { padding:20px 22px; border-radius:14px; background:#f7f9fb; }
.legal-mini-card h3 { margin:0 0 9px; color:#071c35; font-size:19px; }
.legal-list { display:grid; gap:12px; margin:18px 0 0; padding-left:24px; color:#536f87; font-size:17px; line-height:1.7; }
.legal-list li::marker { color:#0875bd; }
.legal-table-wrap { width:100%; margin:22px 0; overflow-x:auto; border:1px solid #dce6f0; border-radius:14px; }
.legal-table { width:100%; border-collapse:collapse; min-width:600px; background:#fff; }
.legal-table th { padding:16px; text-align:left; color:#071c35; background:#f1f7fa; font-size:15px; }
.legal-table td { padding:16px; vertical-align:top; color:#536f87; border-top:1px solid #e2ebf1; font-size:15px; line-height:1.6; }
.legal-callout { padding:20px 24px; border-left:4px solid #19b5e6; border-radius:0 12px 12px 0; background:#f2f9fc; color:#29485d !important; }
.legal-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.legal-feature { min-height:150px; padding:22px 18px; text-align:center; border:1px solid #dce6f0; border-radius:22px; background:#f7f9fb; }
.legal-feature > span { display:block; margin-bottom:12px; color:#075fa7; font-size:28px; }
.legal-feature h3 { margin:0 0 8px; color:#071c35; font-size:18px; }
.legal-feature p { margin:0; font-size:15px; line-height:1.6; }
.legal-rights-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.legal-right { display:flex; align-items:flex-start; gap:16px; padding:20px; border:1px solid #dce6f0; border-radius:15px; background:#f7f9fb; }
.legal-right > span { flex:0 0 26px; color:#0875bd; font-size:25px; font-weight:700; text-align:center; }
.legal-right p { margin:0; font-size:16px; line-height:1.6; }
.legal-right strong { color:#29485d; }
.legal-section--contact { padding:30px; border:1px solid #dce6f0 !important; border-radius:22px; background:#f7fafc; }
.legal-contact-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:24px; padding:24px; border-radius:16px; color:#d8e8f2; background:#0b1a30; }
.legal-contact-card > div { display:flex; flex-direction:column; gap:7px; overflow-wrap:anywhere; }
.legal-contact-label { color:#19c5ed; font-size:11px; font-weight:800; letter-spacing:1.5px; }
.legal-contact-card strong,.legal-contact-card span:not(.legal-contact-label) { color:#fff; font-size:16px; line-height:1.55; }
.legal-contact-card a { color:#fff; font-size:16px; }
.legal-disclaimer { padding:16px 20px; border-radius:12px; background:#f5f8fa; color:#72869a; font-size:13px; line-height:1.6; }
@media (max-width:1000px) { .legal-layout { grid-template-columns:1fr; gap:28px; padding-top:38px; } .legal-sidebar { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; } .legal-sidebar__title { grid-column:1/-1; } .legal-hero { padding-top:130px; } }
@media (max-width:640px) { .legal-container { width:calc(100% - 32px); } .legal-hero { padding:118px 0 42px; } .legal-hero h1 { letter-spacing:-.5px; } .legal-meta { display:grid; gap:9px; } .legal-layout { padding-top:28px; } .legal-sidebar { grid-template-columns:1fr; padding:18px; } .legal-section { padding-bottom:28px; margin-bottom:28px; } .legal-section__heading { gap:12px; align-items:flex-start; } .legal-section__heading > span { flex-basis:44px; width:44px; height:44px; border-radius:12px; font-size:16px; } .legal-section h2 { font-size:25px; padding-top:4px; } .legal-section p,.legal-list { font-size:16px; } .legal-card-grid,.legal-rights-grid,.legal-feature-grid,.legal-contact-card { grid-template-columns:1fr; } .legal-card { padding:21px; border-radius:17px; } .legal-card h3 { font-size:20px; } .legal-section--contact { padding:20px; } .legal-contact-card { padding:20px; } }
