/* Existing COMPASS tokens. Local review artifact, NOT an Astra override. */
.cp-footer { --cp-navy:#0B1D2A; --cp-teal:#0FB5B3; --cp-orange:#FF8A00; --cp-milk:#F2EFEA; }
.cp-footer, .cp-footer * { box-sizing:border-box; }
.cp-footer { background:var(--cp-navy); color:var(--cp-milk); padding:56px 40px 24px; }
.cp-footer__inner { max-width:1240px; margin:0 auto; }
.cp-footer__top { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.35fr; gap:40px; padding-bottom:36px; }
.cp-footer__top > * { min-width:0; }
.cp-footer a { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; display:inline-flex; align-items:center; min-height:44px; min-width:44px; max-width:100%; overflow-wrap:anywhere; }
.cp-footer a:hover { color:var(--cp-teal); }
.cp-footer a:focus-visible { outline:3px solid var(--cp-milk); outline-offset:4px; }
.cp-footer__logo { width:min(100%,320px); aspect-ratio:1400/360; height:auto; display:block; }
.cp-footer__home { display:block!important; max-width:320px!important; }
.cp-footer h2 { font-size:14px; line-height:1.4; margin:10px 0 12px; font-weight:700; letter-spacing:.035em; }
.cp-footer p { font-size:14px; line-height:1.7; margin:18px 0 0; max-width:340px; }
.cp-footer ul { list-style:none; padding:0; margin:0; }
.cp-footer li { font-size:14px; line-height:1.45; }
.cp-footer address { font-style:normal; }
.cp-footer address a { display:flex; font-size:14px; line-height:1.4; }
.cp-footer__contact { display:inline-flex!important; margin-top:14px; background:var(--cp-teal); color:var(--cp-navy)!important; padding:12px 18px; font-weight:700; text-decoration:none!important; }
.cp-footer__contact:hover { text-decoration:underline!important; }
.cp-footer__social { padding:26px 0; border-top:1px solid var(--cp-teal); border-bottom:1px solid var(--cp-teal); display:flex; align-items:center; flex-wrap:wrap; column-gap:34px; row-gap:10px; }
.cp-footer__social h2 { margin:0; }
.cp-footer__social ul { display:flex; flex-wrap:wrap; gap:12px 26px; }
.cp-footer__social a { gap:10px; text-decoration:none; }
.cp-footer__social svg { width:20px; height:20px; flex:none; fill:currentColor; }
.cp-footer__bottom { display:flex; justify-content:space-between; align-items:center; gap:18px 34px; flex-wrap:wrap; padding-top:20px; }
.cp-footer__bottom p { margin:0; max-width:none; font-size:12px; }
.cp-footer__legal { display:flex; gap:12px 24px; flex-wrap:wrap; font-size:12px; }
@media(max-width:1100px) { .cp-footer__top { grid-template-columns:1fr 1fr; gap:32px 48px; } }
@media(max-width:560px) { .review-intro { padding:30px 20px; } .cp-footer { padding:36px 20px 24px; } .cp-footer__top { grid-template-columns:1fr; gap:26px; } .cp-footer__logo { max-width:310px; } .cp-footer__social { align-items:flex-start; gap:16px; } .cp-footer__social ul { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:8px 20px; } .cp-footer__bottom { align-items:flex-start; } .cp-footer__legal { display:block; } .cp-footer__legal a { display:flex; } .review-notes { padding:24px 20px 36px; } }
@media(prefers-reduced-motion:reduce) { .cp-footer *, .cp-footer *::before, .cp-footer *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.cp-footer{--cp-teal:#00ABC9;--cp-navy:#021D3B;background:#021D3B;color:#f4faf8;border:0;font-family:Montserrat,sans-serif;font-weight:400;text-align:left}.cp-footer h2,.cp-footer p,.cp-footer li,.cp-footer address{color:inherit;font-family:inherit}.cp-footer__social{border:0}.cp-footer__social svg{color:#96e3e5}.cp-footer .cp-footer__logo{width:min(100%,280px);height:auto;aspect-ratio:3000/1108;object-fit:contain}.cp-footer ul{margin:0;padding:0;list-style:none}.cp-footer .cp-footer__top{margin:0}
