/* Existing COMPASS tokens. Local review artifact, NOT an Astra override. */
:root { --cp-navy:#0B1D2A; --cp-teal:#0FB5B3; --cp-orange:#FF8A00; --cp-milk:#F2EFEA; }
* { box-sizing:border-box; }
body { margin:0; font-family:Montserrat,sans-serif; font-weight:400; color:var(--cp-navy); background:var(--cp-milk); }
.review-intro { max-width:1320px; padding:48px 40px; margin:auto; }
.review-intro h1 { font-size:clamp(28px,4vw,46px); line-height:1.15; margin:12px 0 18px; max-width:960px; }
.review-intro p { font-size:16px; line-height:1.65; max-width:860px; }
.review-intro .eyebrow { font-size:12px; letter-spacing:.14em; font-weight:700; text-transform:uppercase; }
.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; }
.review-notes { padding:30px 40px 48px; max-width:1320px; margin:auto; font-size:14px; line-height:1.65; }
.review-notes h2 { font-size:20px; }
.review-notes code { overflow-wrap:anywhere; }
@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; } }
