/* ============================================================
   PSRN Nepal — root page premium layer (visual only)
   Load AFTER /style.css and the inline <style> block.
   Idea: calm clinical green, serif headlines, one hero moment,
   quiet depth and precise motion everywhere else.
============================================================ */
:root{
  --g1:#126b5b; --g2:#0b4a3e; --g3:#153b35; --mint:#35b592; --gold:#d9b45a;
  --ease:cubic-bezier(.22,.8,.24,1);
  --sh1:0 1px 2px rgba(14,60,48,.05),0 10px 28px rgba(14,60,48,.07);
  --sh2:0 2px 4px rgba(14,60,48,.05),0 26px 54px rgba(14,60,48,.16);
  --sheen:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);
  --fill:linear-gradient(135deg,#17806a,#0c5243);
}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.hero h1,.section-heading h2,.card h3,.about-card h3,.contact-info h3,.footer h3{font-family:'Playfair Display',Georgia,'Times New Roman',serif;letter-spacing:-.01em}

/* ---------- Progress bar + header ---------- */
.psrn-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:9999;pointer-events:none;transform:scaleX(var(--p,0));transform-origin:0 50%;background:linear-gradient(90deg,var(--g1),var(--mint),var(--gold))}
.header{transition:box-shadow .35s ease,background-color .35s ease}
/* Desktop only: backdrop-filter would trap the fixed mobile drawer. */
@media (min-width:901px){
  .header.is-scrolled{background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(170%) blur(16px);backdrop-filter:saturate(170%) blur(16px);box-shadow:0 10px 34px rgba(14,60,48,.09)}
  .nav-links a{position:relative;padding:6px 0}
  .nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--g1),var(--mint));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
  .nav-links a:hover::after,.nav-links a.is-active::after{transform:scaleX(1)}
  .nav-links a.is-active{color:var(--g1)}
}

/* ---------- Hero: the one orchestrated moment ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:'';position:absolute;inset:-20%;z-index:-2;background:radial-gradient(40% 45% at 78% 28%,rgba(53,181,146,.24),transparent 70%),radial-gradient(38% 42% at 14% 82%,rgba(217,180,90,.17),transparent 70%),radial-gradient(46% 50% at 52% 52%,rgba(18,107,91,.08),transparent 72%);animation:pe-aurora 22s ease-in-out infinite alternate}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;opacity:.7;background-image:radial-gradient(rgba(18,107,91,.16) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(70% 70% at 70% 40%,#000,transparent 75%);mask-image:radial-gradient(70% 70% at 70% 40%,#000,transparent 75%)}
@keyframes pe-aurora{to{transform:translate3d(3%,-4%,0) scale(1.08) rotate(2deg)}}

.hero-small,.hero h1,.hero-description,.hero-buttons{animation:pe-rise 1s var(--ease) both}
.hero h1{animation-delay:.1s}
.hero-description{animation-delay:.25s}
.hero-buttons{animation-delay:.4s}
@keyframes pe-rise{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}

.hero h1 span{background:linear-gradient(100deg,var(--g2) 0%,var(--mint) 50%,var(--g1) 80%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:pe-sheen 9s ease-in-out infinite alternate}
@keyframes pe-sheen{to{background-position:100% 0}}

/* Health "+" emblem fills the empty right column (decoration only) */
.hero-content::after{content:'';justify-self:center;width:clamp(190px,24vw,300px);aspect-ratio:1;border-radius:50%;background:linear-gradient(#fff,#fff) center/13% 46% no-repeat,linear-gradient(#fff,#fff) center/46% 13% no-repeat,linear-gradient(145deg,#1b8d75,#0b4a3e);box-shadow:0 30px 70px rgba(18,107,91,.35),0 0 0 28px rgba(18,107,91,.06),0 0 0 70px rgba(18,107,91,.04),0 0 0 120px rgba(18,107,91,.025);animation:pe-pop 1.3s var(--ease) .35s both,pe-bob 7s ease-in-out 1.7s infinite}
@keyframes pe-pop{from{opacity:0;scale:.7}to{opacity:1;scale:1}}
@keyframes pe-bob{50%{translate:0 -14px}}
@media (max-width:1000px){.hero-content::after{display:none}}

/* ---------- Labels ---------- */
.section-label,.hero-small{display:inline-flex;align-items:center;gap:10px;letter-spacing:.18em}
.section-label::before,.hero-small::before{content:'';width:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--g1),var(--mint))}

/* ---------- Buttons ---------- */
.btn{border-radius:999px;padding:14px 28px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-position .8s var(--ease),background-color .3s,color .3s,border-color .3s}
.btn:active{transform:translateY(0) scale(.98)}
.btn-primary,.btn-primary:hover{background-color:var(--g1);background-image:var(--sheen),var(--fill);background-size:260% 100%,100% 100%;background-repeat:no-repeat;background-position:150% 0,0 0;box-shadow:0 10px 26px rgba(18,107,91,.3),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-primary:hover{background-position:-60% 0,0 0;transform:translateY(-3px);box-shadow:0 18px 38px rgba(18,107,91,.38),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-secondary{border:1.5px solid rgba(18,107,91,.45);background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(18,107,91,.2);border-color:var(--g1)}

/* ---------- Sections + scroll reveal ---------- */
.section-light{background-image:radial-gradient(760px 380px at 92% -8%,rgba(18,107,91,.07),transparent 62%),radial-gradient(640px 340px at 4% 108%,rgba(217,180,90,.08),transparent 60%)}
.reveal{opacity:0;transition-property:transform,box-shadow,border-color,background-color,color}
.reveal.in{opacity:1;animation:pe-rise .9s var(--ease) var(--d,0s) backwards}

/* ---------- Cards ---------- */
.card{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;padding:38px 28px;background:linear-gradient(180deg,#fff,#fbfdfc);border:1px solid rgba(18,107,91,.1);box-shadow:var(--sh1);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .35s}
.card::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--g1),var(--mint),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.card:hover{transform:translateY(-10px);border-color:rgba(18,107,91,.25);box-shadow:var(--sh2)}
.card:hover::before{transform:scaleX(1)}
.card-icon{width:60px;height:60px;border-radius:18px;background:linear-gradient(145deg,#e7f4f0,#d3ebe3);box-shadow:inset 0 0 0 1px rgba(18,107,91,.1);transition:transform .5s var(--ease),background .4s,color .4s,box-shadow .4s}
.card:hover .card-icon{transform:translateY(-3px) rotate(-6deg) scale(1.06);background:linear-gradient(145deg,#1b8d75,#0b4a3e);color:#fff;box-shadow:0 12px 24px rgba(18,107,91,.3)}
.text-link,.text-link:hover{text-decoration:none}
.text-link{padding-bottom:3px;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .45s var(--ease),transform .45s var(--ease)}
.text-link:hover{background-size:100% 2px;transform:translateX(4px)}

/* ---------- About ---------- */
.about-card{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:linear-gradient(150deg,#17806a 0%,#0b4a3e 100%);box-shadow:0 30px 60px rgba(11,74,62,.28)}
.about-card::before{content:'';position:absolute;inset:-40%;z-index:-1;background:radial-gradient(35% 35% at 70% 20%,rgba(255,255,255,.22),transparent 70%);animation:pe-aurora 14s ease-in-out infinite alternate}
.about-card::after{content:'+';content:'+' / '';position:absolute;right:-6px;bottom:-62px;z-index:-1;font:700 230px/1 'Playfair Display',Georgia,serif;color:rgba(255,255,255,.07)}

/* ---------- Contact ---------- */
#contact .contact-info{padding:clamp(28px,5vw,48px);text-align:center;border-radius:24px;background:linear-gradient(160deg,#fff,#f3faf7);border:1px solid rgba(18,107,91,.12);box-shadow:var(--sh1)}
.contact-info a{color:var(--g1);font-weight:700;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;transition:color .3s}
.contact-info a:hover{color:var(--g2)}

/* ---------- Footer + back to top ---------- */
.footer{position:relative;background:linear-gradient(180deg,#123430,#0b211e)}
.footer::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--mint),var(--gold),transparent)}
.footer-links a{padding:4px 0;background:linear-gradient(#fff,#fff) 0 100%/0 1.5px no-repeat;transition:color .3s,background-size .4s var(--ease)}
.footer-links a:hover{background-size:100% 1.5px}
#backToTop:not([hidden]){box-shadow:0 12px 28px rgba(2,51,55,.3);transition:transform .35s var(--ease),background-color .3s,box-shadow .3s;animation:pe-pop .45s var(--ease) both}
#backToTop:not([hidden]):hover{transform:translateY(-4px);background:var(--g1);box-shadow:0 16px 34px rgba(18,107,91,.38)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important}
  .psrn-progress{display:none}
}
