/* Portada V79: ambiente clínico contemporáneo, contraste legible y navegación clara. */
body:has(.nn-welcome){background:radial-gradient(circle at 85% 3%,#dbf8f3 0,transparent 33%),radial-gradient(circle at 6% 30%,#e7eaff 0,transparent 38%),#f5f9fd}
.nn-welcome{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center;margin:18px 0 22px;padding:clamp(28px,5vw,64px);border-radius:32px;background:#102038;color:#fff;box-shadow:0 30px 70px #1128492b}
.nn-welcome:before{content:"";position:absolute;z-index:-1;inset:-60% -25% auto auto;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#20d5be77 0,#216f9a33 35%,transparent 68%)}
.nn-kicker{display:inline-block;color:#14a59e;font-size:13px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.nn-welcome .nn-kicker{color:#96f9e9}
.nn-welcome h1{font-size:clamp(36px,4.7vw,64px);line-height:1.06;letter-spacing:-.045em;margin:15px 0 18px;max-width:720px;color:#fff}
.nn-welcome p{max-width:620px;font-size:clamp(17px,1.65vw,21px);line-height:1.5;color:#d9e7f4}
.nn-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.nn-welcome-actions .btn.dark{background:#64ebd5;border-color:#64ebd5;color:#102038}
.nn-welcome-actions .btn:not(.dark){border-color:#9cc4ce;background:#ffffff16;color:white}
.nn-welcome .nn-welcome-note{font-size:15px;color:#d6e8ed;margin:20px 0 0}
.nn-signal{min-height:335px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:26px;border:1px solid #adfff05a;border-radius:28px;background:linear-gradient(145deg,#ffffff1e,#ffffff05);box-shadow:inset 0 1px #ffffff33}
.nn-signal-tag,.nn-signal-foot{color:#abeedc;font-size:12px;font-weight:900;letter-spacing:.15em}
.nn-signal-orbit{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.nn-signal-orbit span{display:grid;gap:5px;padding:18px;border:1px solid #d0fff846;border-radius:18px;background:#ffffff17;color:#87ffe7;font-size:13px;font-weight:900}
.nn-signal-orbit b{color:#fff;font-size:18px}
.nn-case-finder{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:center;background:linear-gradient(130deg,#fff,#eaf9f7);border:1px solid #bce5de}
.nn-case-finder h2{font-size:clamp(26px,3vw,38px);margin:5px 0 8px}
.nn-case-finder p{margin:0}.nn-case-finder label{display:block;font-weight:800;margin-bottom:8px}
.nn-search-row{display:flex;gap:8px}.nn-search-row input{min-width:0;flex:1;padding:13px 16px;border:1px solid #91bdbb;border-radius:14px;font:inherit;background:#fff;color:#102033}
.nn-search-row input:focus-visible{outline:3px solid #5bdfcf}.nn-case-finder form>span{display:block;margin-top:8px;font-size:14px}
.nn-welcome~.hero{display:none}
.nn-welcome~.card:has(>.case-grid) .case-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.nn-welcome~.card:has(>.case-grid) .case-card{min-width:0}
.nn-welcome~.card:has(>.case-grid) .case-card img{height:180px;object-fit:cover}
.nn-welcome~.card:has(>.case-grid) .case-card .body{height:auto}
@media(max-width:800px){.nn-welcome,.nn-case-finder{grid-template-columns:1fr}.nn-signal{min-height:0}.nn-welcome~.card:has(>.case-grid) .case-grid{grid-template-columns:1fr}.nn-search-row{flex-direction:column}.nn-search-row .btn{width:100%}}
@media(prefers-reduced-motion:no-preference){.nn-signal{animation:nn-float 7s ease-in-out infinite}@keyframes nn-float{50%{transform:translateY(-6px)}}}
