/* NandiNurse V54: identidad sanitaria joven, profesional y accesible */
:root{
  --nn-coral:#ff6f91;
  --nn-aqua:#13b8ad;
  --nn-sky:#4f8df7;
  --nn-violet:#8b5cf6;
  --nn-cream:#fffaf3;
}

body{position:relative;overflow-x:hidden;background:
  radial-gradient(circle at 8% 12%,rgba(19,184,173,.11),transparent 24rem),
  radial-gradient(circle at 92% 28%,rgba(255,111,145,.10),transparent 22rem),
  linear-gradient(145deg,#fbfdff,#effaf8 52%,#f7f4ff)}

.sitebar{box-shadow:0 8px 28px rgba(16,32,51,.06)}
.brand-logo{background:linear-gradient(145deg,#102033,#173b5f);transform:rotate(-2deg)}
.brand-logo span{animation:nn-heartbeat 3.2s ease-in-out infinite}
.nav a,.btn,button{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
.nav a:hover,.btn:hover,button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,32,51,.12)}
.nav a:active,.btn:active,button:not(:disabled):active{transform:translateY(0) scale(.98)}

.hero,.page-hero{position:relative;isolation:isolate}
.hero:before,.page-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(circle at 16% 18%,rgba(79,141,247,.12),transparent 28%),
  radial-gradient(circle at 82% 80%,rgba(19,184,173,.13),transparent 30%)}
.eyebrow{background:linear-gradient(90deg,#dff9f4,#fff0f4);border-color:#cdebe7}
.card,.mini-card,.case-card,.result-card,.tech-card,.calc-box,.tag-box{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.mini-card:hover,.case-card:hover,.tech-card:hover,.result-card:hover{transform:translateY(-4px);border-color:#9edfd8;box-shadow:0 16px 34px rgba(16,32,51,.10)}

.nn-medical-ribbon{position:fixed;right:14px;top:45%;z-index:12;display:grid;gap:9px;pointer-events:none}
.nn-medical-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 10px 28px rgba(16,32,51,.12);backdrop-filter:blur(10px);font-size:23px;animation:nn-float 5s ease-in-out infinite}
.nn-medical-icon:nth-child(2){animation-delay:-1.2s;background:rgba(238,252,249,.92)}
.nn-medical-icon:nth-child(3){animation-delay:-2.4s;background:rgba(255,241,245,.92)}
.nn-medical-icon:nth-child(4){animation-delay:-3.6s;background:rgba(242,239,255,.92)}
.nn-pulse-line{height:4px;width:min(170px,34vw);margin:14px 0 4px;border-radius:99px;background:linear-gradient(90deg,var(--nn-aqua) 0 32%,var(--nn-sky) 32% 58%,var(--nn-coral) 58% 77%,var(--nn-violet) 77%);background-size:160% 100%;animation:nn-flow 5s linear infinite}

.nn-reveal{opacity:0;transform:translateY(14px)}
.nn-reveal.nn-visible{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}
.ai-status.loading:before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;border:3px solid #bdebe5;border-top-color:var(--nn-aqua);border-radius:50%;vertical-align:-2px;animation:nn-spin .8s linear infinite}

@keyframes nn-heartbeat{0%,100%{transform:scale(1)}7%{transform:scale(1.08)}14%{transform:scale(1)}21%{transform:scale(1.05)}28%{transform:scale(1)}}
@keyframes nn-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes nn-flow{to{background-position:160% 0}}
@keyframes nn-spin{to{transform:rotate(360deg)}}

@media(max-width:900px){.nn-medical-ribbon{right:8px;top:auto;bottom:12px;display:flex}.nn-medical-icon{width:38px;height:38px;border-radius:13px;font-size:19px}.nn-medical-icon:nth-child(n+4){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.nn-reveal{opacity:1;transform:none}}
@media print{.nn-medical-ribbon,.nn-pulse-line{display:none!important}.nn-reveal{opacity:1!important;transform:none!important}}
