/* EMPRENDE · fase final legal/404 — scope limitado */
.family-legal main.container,.family-404 main.container{max-width:1440px}
.family-legal .hero.compact,.family-404 .hero.compact{position:relative;overflow:hidden;border:1px solid #cfe3ee;border-left:5px solid #0b78e3;border-radius:18px;background:linear-gradient(105deg,#f4fbff 0%,#fff 55%,#dff8fb 100%);padding:34px 40px;box-shadow:0 12px 36px rgba(0,43,69,.05)}
.family-legal .hero.compact:after,.family-404 .hero.compact:after{content:"";position:absolute;right:-55px;top:-90px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(21,205,221,.2),rgba(21,205,221,0) 68%);pointer-events:none}
.family-legal .hero h1,.family-404 .hero h1{font-size:clamp(2.35rem,4vw,4.4rem);line-height:1.03;margin:.2rem 0 .75rem;color:#062743}
.family-legal .hero .lead,.family-404 .hero .lead{max-width:820px;font-size:1.12rem;line-height:1.55;color:#35566f}
.family-legal .legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:34px 0 18px}
.family-legal .legal-grid>.section{margin:0;padding:26px 28px;border:1px solid #d8e7ef;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(0,43,69,.045);min-width:0}
.family-legal .legal-grid>.section:nth-child(1){border-top:4px solid #15cddd}
.family-legal .legal-grid>.section:nth-child(2){border-top:4px solid #0b78e3}
.family-legal .legal-grid>.section:nth-child(3){border-top:4px solid #15cddd}
.family-legal .legal-grid>.section:nth-child(4){border-top:4px solid #0b78e3}
.family-legal .legal-grid h2{font-size:1.35rem;line-height:1.2;margin:0 0 12px;color:#062743}
.family-legal .legal-grid p{color:#35566f;line-height:1.65;margin:.55rem 0}
.family-legal .legal-grid a:not(.button){display:inline-flex;align-items:center;gap:.35rem;margin-top:8px;font-weight:800;color:#0065d8;text-decoration:none}
.family-legal .legal-grid a:not(.button):hover{text-decoration:underline}
.family-legal main>.small{margin:0 0 26px;padding:14px 18px;border-radius:12px;background:#f5fbfe;border:1px solid #d9ebf3;color:#597186}
.family-legal .closing{border-radius:18px;background:#062f4b;color:#fff;border:0;padding:24px 28px;box-shadow:none}
.family-legal .closing h2,.family-legal .closing .eyebrow{color:#fff}.family-legal .closing .eyebrow{opacity:.78}
.family-legal .closing .button{background:#15cddd;color:#062743;border-color:#15cddd}
.family-404 main.container{padding-bottom:64px}
.family-404 .not-found-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:28px;align-items:stretch;margin-top:28px}
.family-404 .not-found-wrap>.section{margin:0;border:1px solid #d8e7ef;border-radius:18px;padding:30px;background:#fff;box-shadow:0 10px 28px rgba(0,43,69,.05)}
.family-404 .route-visual{display:flex;min-height:210px;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#062f4b,#004f73);color:#fff}
.family-404 .route-visual:before{content:"?";font-weight:900;font-size:7rem;line-height:1;color:#15cddd;opacity:.95}
.family-404 .route-visual:after{content:"";position:absolute;width:180px;height:180px;border:2px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.04),0 0 0 68px rgba(255,255,255,.025)}
.family-404 .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.family-404 .button{border-radius:999px;min-height:46px;padding:12px 20px}.family-404 .button.secondary{background:#eef8fb;color:#062743;border-color:#bcdde8}
@media(max-width:900px){.family-legal .legal-grid,.family-404 .not-found-wrap{grid-template-columns:1fr}.family-legal .hero.compact,.family-404 .hero.compact{padding:28px 26px}.family-404 .route-visual{min-height:160px}}
@media(max-width:600px){.family-legal .legal-grid{gap:12px;margin-top:22px}.family-legal .legal-grid>.section{padding:22px 20px}.family-legal .hero.compact,.family-404 .hero.compact{padding:24px 20px}.family-404 .not-found-wrap>.section{padding:24px 20px}}
