/* ASTRAVECT V6 — enterprise footer and legal-page system */
:root { --legal-ink:#102b49; --legal-muted:#61758b; --legal-line:#dce5ee; --legal-accent:#0b83c9; }
.footer-main-enterprise { grid-template-columns:minmax(210px,1.05fr) minmax(230px,1fr) minmax(150px,.62fr) minmax(185px,.72fr); gap:3.2%; padding-top:54px; padding-bottom:42px; }
.footer-brand-block { min-width:0; }
.footer-brand-block .footer-brand { max-width:252px; padding-top:4px; }
.footer-tagline { margin:17px 0 7px; color:#e4f1fb; font:600 12px/1.55 'IBM Plex Sans',sans-serif; letter-spacing:.015em; }
.footer-domain { display:block; color:#83a3bd; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.footer-links { gap:26px; }
.footer-legal { display:flex; flex-direction:column; align-items:flex-start; }
.footer-legal strong { display:block; margin-bottom:12px; color:#6cccf5; font-size:9px; letter-spacing:.18em; }
.footer-legal a { margin:0 0 10px; color:#c5d8e8; font-size:11px; transition:color .2s ease, transform .2s ease; }
.footer-legal a:hover { color:#fff; transform:translateX(2px); }
.footer-disclaimer { position:relative; z-index:2; max-width:1440px; margin:0 auto; padding:14px 5.1%; border-top:1px solid rgba(255,255,255,.11); color:#8ca7bd; font-size:10px; line-height:1.65; }
.footer-bottom { align-items:center; padding-top:14px; }
.footer-bottom a { color:#a9c1d5; font-size:10px; white-space:nowrap; }
.footer-bottom a:hover { color:#fff; }
.form-privacy-note { margin:7px 0 0; color:#718296; font-size:10px; line-height:1.6; }
.form-privacy-note a { color:#0879bd; text-decoration:underline; text-underline-offset:3px; }
:where(a,button,input,select,textarea):focus-visible { outline:3px solid rgba(13,145,214,.72); outline-offset:3px; }
.legal-main { min-height:60vh; background:#f7f9fc; }
.legal-hero { position:relative; overflow:hidden; color:#fff; background:radial-gradient(ellipse at 82% 0%,rgba(21,119,181,.42),transparent 42%),linear-gradient(116deg,#04172e 0%,#0a2b4d 62%,#071c35 100%); }
.legal-hero::after { content:""; position:absolute; right:-8%; bottom:-170px; width:560px; height:270px; border:1px solid rgba(94,190,232,.16); border-radius:50%; box-shadow:0 0 0 28px rgba(94,190,232,.035),0 0 0 60px rgba(94,190,232,.025),0 0 0 100px rgba(94,190,232,.018); pointer-events:none; }
.legal-hero-inner { position:relative; z-index:1; max-width:1240px; margin:0 auto; padding:74px 5.1% 55px; }
.legal-hero .eyebrow { display:flex; align-items:center; gap:12px; color:#75d7fa; font-size:10px; font-weight:700; letter-spacing:.19em; }
.legal-hero .eyebrow-line { display:inline-block; width:32px; height:2px; background:#28b9e8; }
.legal-hero h1 { max-width:800px; margin:20px 0 13px; color:#fff; font:800 clamp(38px,5vw,58px)/1.08 'IBM Plex Sans',sans-serif; letter-spacing:-.045em; }
.legal-hero-inner > p { max-width:760px; margin:0; color:#c4d8e9; font-size:16px; line-height:1.8; }
.legal-meta { display:flex; gap:9px; align-items:center; margin-top:25px; color:#8eacc5; font-size:11px; letter-spacing:.035em; }
.legal-meta time { color:#d4e6f4; }
.legal-layout { display:grid; grid-template-columns:210px minmax(0,790px); gap:70px; max-width:1190px; margin:0 auto; padding:64px 5.1% 90px; align-items:start; }
.legal-sidebar { position:sticky; top:112px; display:flex; flex-direction:column; align-items:flex-start; gap:13px; padding:18px 0 18px 18px; border-left:1px solid #dce6ef; }
.legal-sidebar > span { margin-bottom:5px; color:#8192a4; font-size:9px; font-weight:700; letter-spacing:.16em; }
.legal-sidebar a { color:#52677d; font-size:11px; line-height:1.5; transition:color .2s ease; }
.legal-sidebar a:hover { color:#087fc3; }
.legal-content { min-width:0; padding:0 0 4px; }
.legal-section { padding:0 0 29px; margin:0 0 29px; border-bottom:1px solid #e1e8ef; }
.legal-section h2 { margin:0 0 12px; color:#102d4c; font:750 20px/1.35 'IBM Plex Sans',sans-serif; letter-spacing:-.02em; }
.legal-section p { margin:0; color:#53677d; font-size:14px; line-height:1.9; }
.legal-callout { padding:21px 23px; border:1px solid #d5e5f0; border-left:3px solid #159bd5; border-radius:8px; background:#eef5fa; }
.legal-callout strong { display:block; margin-bottom:7px; color:#163c5d; font-size:12px; letter-spacing:.025em; }
.legal-callout p { margin:0; color:#61758a; font-size:12px; line-height:1.8; }
body[data-legal-title] .site-header .desktop-nav .nav-indicator { opacity:0 !important; }
@media(max-width:1100px) {
 .footer-main-enterprise { grid-template-columns:1fr 1fr; gap:30px 6%; }
 .footer-location { grid-column:auto; }
 .legal-layout { grid-template-columns:170px minmax(0,1fr); gap:40px; }
}
@media(max-width:700px) {
 .footer-main-enterprise { grid-template-columns:1fr 1fr; gap:28px 22px; padding:36px 5% 28px; }
 .footer-brand-block { grid-column:1/-1; }
 .footer-brand-block .footer-brand { max-width:220px; }
 .footer-links { grid-column:1; grid-row:2; grid-template-columns:1fr; gap:18px; }
 .footer-legal { grid-column:2; grid-row:2; }
 .footer-location { grid-column:1/-1; }
 .footer-disclaimer { padding:13px 5%; font-size:9px; }
 .footer-bottom { flex-direction:row; flex-wrap:wrap; padding:13px 5% 20px; font-size:9px; }
 .legal-hero-inner { padding:53px 5% 38px; }
 .legal-hero h1 { font-size:39px; }
 .legal-hero-inner > p { font-size:13px; line-height:1.75; }
 .legal-layout { display:block; padding:36px 5% 58px; }
 .legal-sidebar { position:static; flex-direction:row; flex-wrap:wrap; gap:10px 16px; padding:0 0 22px; margin-bottom:30px; border-left:0; border-bottom:1px solid #dce6ef; }
 .legal-sidebar > span { flex-basis:100%; }
 .legal-sidebar a { font-size:10px; }
 .legal-section { padding-bottom:23px; margin-bottom:23px; }
 .legal-section h2 { font-size:17px; }
 .legal-section p { font-size:12px; line-height:1.85; }
 .legal-callout { padding:17px; }
}
@media(prefers-reduced-motion:reduce) { .footer-legal a,.legal-sidebar a { transition:none !important; } }

.legal-external-link { display:inline-flex; margin-top:12px; color:#087fc3; font-size:11px; font-weight:650; text-underline-offset:3px; }
.legal-external-link:hover { color:#075f91; }
