.legal-notices { padding: 78px 0; background: #eef4f8; }
.legal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.legal-grid article { padding: 30px; background: #fff; border-top: 3px solid #0878ee; }
.legal-grid h2 { margin: 0; color: #081728; font: 400 30px/1.15 'DM Serif Display', Georgia, serif; }
.legal-grid p:not(.eyebrow) { margin-bottom: 0; font-size: 14px; color: #566776; }
.footer-bottom a:hover { color: #8ac9ff; }
.map-callout { padding: 54px 0; background: #fff; border-top: 1px solid #dbe3ea; }
.map-callout .shell { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.map-callout h2 { margin: 0; color: #081728; font: 400 clamp(30px,4vw,48px)/1.08 'DM Serif Display', Georgia, serif; }
.map-callout p:not(.eyebrow) { margin: 10px 0 0; max-width: 650px; color: #566776; }
.whatsapp-float { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 11px 15px; color: #fff; background: #168b53; box-shadow: 0 12px 32px rgba(8,23,40,.22); font-size: 12px; font-weight: 800; letter-spacing: .03em; transition: transform .2s, background .2s; }
.whatsapp-float:hover { background: #0f7041; transform: translateY(-2px); }
.whatsapp-float svg { width: 24px; height: 24px; fill: currentColor; }
.not-found { min-height: calc(100vh - 82px); display: grid; align-items: center; padding: 80px 0; overflow: hidden; color: #fff; background: #081728; }
.not-found__inner { position: relative; }
.not-found__number { position: absolute; right: -30px; top: 50%; margin: 0; transform: translateY(-50%); color: rgba(135,199,255,.08); font: 400 min(34vw,500px)/.7 'DM Serif Display', Georgia, serif; pointer-events: none; }
.not-found h1 { position: relative; max-width: 720px; margin: 0; color: #fff; font: 400 clamp(48px,7vw,92px)/.98 'DM Serif Display', Georgia, serif; }
.not-found p:not(.eyebrow):not(.not-found__number) { position: relative; max-width: 620px; color: #bdccda; font-size: 17px; }
@media (max-width: 700px) { .legal-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .map-callout .shell { align-items: flex-start; flex-direction: column; } }
@media (max-width: 600px) { .whatsapp-float span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .whatsapp-float { width: 52px; height: 52px; padding: 13px; border-radius: 50%; } }
