/* JYOTHI NIVAS V47 — CINEMATIC EDITORIAL EXPERIENCE
   Public presentation only. The existing admin database, forms, render selectors,
   gallery handlers, butterfly intro and homepage video are NOT modified. */
:root{--v47-ink:#132d42;--v47-paper:#f9f7f1;--v47-cream:#fffdf8;--v47-bronze:#be955d;--v47-teal:#236c70;--v47-shadow:0 32px 80px rgba(14,42,61,.11)}
html{scroll-padding-top:90px}
body{background:var(--v47-paper)!important;color:var(--v47-ink)}
#header{background:rgba(250,250,247,.93)!important;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 5px 30px rgba(15,40,60,.055)!important;border-bottom:1px solid #dbcbaa80!important}
#header .logo{color:#163751!important;letter-spacing:.008em!important}
#header nav a:not(.contact-btn-nav){color:#243e52!important}
#header .contact-btn-nav{background:var(--v47-ink)!important;color:white!important;box-shadow:0 8px 22px #122e4228!important}
#header .contact-btn-nav:hover{background:var(--v47-teal)!important}
#jn-home-screen{background:radial-gradient(ellipse at 0% 32%,#eff3e9,transparent 40%),linear-gradient(125deg,#fffefb 5%,#e8f0ec 70%,#f8f3e8)!important}
#jn-home-screen .jn-home-video-frame{box-shadow:0 32px 75px rgba(6,43,62,.23)!important;border-radius:23px!important;overflow:hidden!important}
#jn-home-screen .jn-home-visual{position:relative}
#jn-home-screen .jn-home-visual::after{content:'EST. IN PURPOSE  •  EDUCATION IN LIGHT';display:block;position:absolute;right:12px;bottom:-32px;font:800 9px/1.2 Lato,Arial,sans-serif;letter-spacing:.23em;color:#617678}
#jn-home-screen .jn-home-heading{color:#113e56!important}
#jn-home-screen .jn-home-description{color:#475d69!important}
#jn-home-screen .jn-home-values,#jn-home-screen .jn-home-stats{background:transparent!important}
#main-content > section:not(#hero){position:relative}
#main-content .section-title{position:relative;z-index:3}
#main-content .section-title h2{font-family:'Playfair Display',Georgia,serif!important;font-weight:600!important;letter-spacing:-.042em!important;line-height:1.08!important}
#main-content .section-title>p{font-size:clamp(14px,1.2vw,18px)!important;line-height:1.65!important}
/* A unified editorial rhythm: broad photographic chapters alternate with intimate paper chapters */
#latest-activities,#values-slider,#programs,.toppers-section,#achievements,#about,#principal,#foundress,#admission-timeline,#facilities,#gallery,#faq,#testimonials,#contact{
 scroll-margin-top:90px!important;padding-top:clamp(80px,9vw,136px)!important;padding-bottom:clamp(80px,9vw,136px)!important}
#latest-activities{background:linear-gradient(130deg,#e8f4ef,#f7faf7 60%,#f8f1e7)!important}
#about{background:#fffdf9!important}
#about .about-container{width:min(1220px,calc(100% - 44px))!important;max-width:1220px!important;gap:clamp(35px,6vw,90px)!important;align-items:center!important}
#about .about-text{max-width:67ch!important;font:400 clamp(16px,1.25vw,19px)/1.9 Lato,Arial,sans-serif!important;color:#354e5a!important}
#about .about-text p{color:#354e5a!important}
#about .about-img{border-radius:22px!important;overflow:hidden!important;box-shadow:var(--v47-shadow)!important;transform:rotate(-1deg);border:6px solid white!important}
#about .about-img img{aspect-ratio:4/4.2!important;object-fit:cover!important;width:100%!important}
#about .vision-mission-grid{max-width:1250px!important;gap:23px!important;margin:clamp(40px,5vw,80px) auto 0!important}
#about .vm-card{background:linear-gradient(145deg,#f7f8f1,#eef5f3)!important;border-radius:22px!important;border:1px solid #d9e5df!important;box-shadow:0 15px 35px #12395110!important}
#values-slider{background:linear-gradient(145deg,#f4eee3,#faf8f2 60%,#e6f1eb)!important}
#values-slider .values-container{width:min(1290px,calc(100% - 38px))!important;max-width:1290px!important;gap:clamp(40px,7vw,110px)!important}
#values-slider .values-img-wrapper{box-shadow:0 30px 70px #1230472b!important;border-radius:24px!important;overflow:hidden!important;border:8px solid #fff!important;transform:rotate(-1.1deg)}
#values-slider .values-text h2{font:600 clamp(33px,4.5vw,67px)/1.08 'Playfair Display',Georgia,serif!important;letter-spacing:-.035em!important;color:#16394c!important}
#values-slider .values-text p,#values-slider .values-text li{color:#3d5661!important}
.stats-section{border-radius:0!important;margin:0!important;padding:45px max(20px,4vw)!important;background:#11364d!important}
#programs{background:#f4f7f4!important}
#programs .programs-grid{max-width:1250px!important;gap:clamp(15px,2vw,30px)!important;align-items:stretch}
#programs .program-card{position:relative;overflow:hidden!important;border:1px solid #cbdcd9!important;border-radius:24px!important;background:#fff!important;box-shadow:0 18px 44px rgba(16,48,65,.09)!important;transform:none!important;transition:transform .4s,box-shadow .4s!important}
#programs .program-card:hover{transform:translateY(-10px)!important;box-shadow:0 35px 65px #122e4335!important}
#programs .program-card .program-header{min-height:220px!important;display:flex;align-items:flex-end;position:relative;isolation:isolate;padding:23px!important;background:#0f3349!important}
#programs .program-card .program-header::before{content:'';position:absolute;inset:0;background:var(--v47-program-photo) center 35%/cover no-repeat;z-index:-2;opacity:.94;transition:transform 850ms cubic-bezier(.2,.8,.2,1)}
#programs .program-card:hover .program-header::before{transform:scale(1.08)}
#programs .program-card .program-header::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(5,23,32,.93),rgba(5,23,32,.04) 100%)}
#programs .program-card .program-header h3{font:600 clamp(24px,2vw,31px)/1.15 'Playfair Display',Georgia,serif!important;color:#fff!important;text-align:left!important;text-shadow:0 2px 9px #0007}
#programs .program-card:nth-of-type(1){--v47-program-photo:url('../kindergarten/hero.webp')}
#programs .program-card:nth-of-type(2){--v47-program-photo:url('../facilities/classroom.webp')}
#programs .program-card:nth-of-type(3){--v47-program-photo:url('../pu-college/hero-bg.webp')}
#programs .program-card .program-body{padding:clamp(24px,2.8vw,36px)!important}
#programs .program-card .program-body p,#programs .program-card li{color:#48616d!important}
#programs .program-card button{border-radius:99px!important}
/* CMS-controlled galleries retain the same selectors and interactions. */
#facilities{background:linear-gradient(155deg,#f4eee2,#fffdf9 55%,#eff6f4)!important}
#facilities .jn-facility-slider{max-width:1330px!important}
#facilities .jn-facility-viewport{border-radius:26px!important;box-shadow:var(--v47-shadow)!important;overflow:hidden!important}
#facilities .jn-facility-image img{object-fit:cover!important}
#facilities .jn-facility-copy{background:linear-gradient(140deg,#0c2b42,#1e5564)!important;color:#fff!important}
#facilities .jn-facility-copy h3,#facilities .jn-facility-copy p{color:#fff!important}
#gallery{background:radial-gradient(ellipse at 10% 15%,#1d5566 0%,transparent 52%),linear-gradient(135deg,#0b2139,#0d324c 70%,#07182e)!important}
#gallery .gallery-item{border-radius:20px!important}
#gallery .section-title h2,#gallery .section-title p{color:#fff!important}
.toppers-section{background:linear-gradient(132deg,#f8f6ef,#f0f3eb 55%,#e9f3f1)!important}
.toppers-section .topper-card{border-radius:22px!important;box-shadow:0 19px 39px #1b34451c!important;overflow:hidden!important}
#achievements{background:#f1f5f4!important}
#achievements .achievement-card{background:white!important;border-radius:21px!important;box-shadow:0 10px 30px #09263b12!important;border:1px solid #dce6e4!important}
#principal{background:linear-gradient(127deg,#0b2439 0%,#134359 57%,#092b40 100%)!important}
#principal .principal-wrapper{gap:clamp(30px,6vw,85px)!important;width:min(1270px,calc(100% - 42px))!important;max-width:1270px!important}
#principal .principal-img{background:transparent!important;border:1px solid #9cbcbf75!important;padding:10px!important;border-radius:25px!important;transform:rotate(-1deg);box-shadow:0 30px 50px #010a1938!important}
#principal .principal-img img{border-radius:17px!important}
#principal .principal-text h2{font:600 clamp(35px,4vw,64px)/1.08 'Playfair Display',Georgia,serif!important;color:#fffef9!important;text-shadow:0 2px 8px #0005!important;margin-bottom:22px!important}
#principal .principal-text blockquote{color:#fffef6!important;background:rgba(245,244,230,.1)!important;border-left:4px solid #edc781!important;line-height:1.75!important;font-size:clamp(15px,1.3vw,21px)!important}
#principal .principal-text p{color:#edf5f4!important;font-size:clamp(15px,1.1vw,18px)!important;line-height:1.85!important}
#principal .signature{color:#f8d18b!important;font-weight:700!important}
#foundress{background:linear-gradient(135deg,#fdfaf4,#eaf1e9)!important}
#foundress .foundress-content{max-width:1210px!important;gap:clamp(25px,5vw,80px)!important}
#foundress .foundress-img{border-radius:23px!important;overflow:hidden!important;box-shadow:var(--v47-shadow)!important}
#admission-timeline{background:#f8f7f1!important}
#faq{background:#f2f6f6!important}
#faq .faq-item{border-radius:15px!important;background:white!important;border:1px solid #dce8e5!important;overflow:hidden!important}
#testimonials{background:linear-gradient(130deg,#f4eee3,#f8f8f1)!important}
#contact{background:linear-gradient(145deg,#e3efeb,#f9f8f2)!important}
#contact .contact-container{max-width:1250px!important}
#contact .contact-form,#contact .contact-info{border-radius:23px!important;box-shadow:var(--v47-shadow)!important}
/* NEW: original school photos previously visible only inside albums */
#jn47-moments{position:relative;overflow:hidden;isolation:isolate;padding:clamp(84px,10vw,156px) 0!important;background:#0b283d!important;color:#fff!important;scroll-margin-top:85px}
#jn47-moments::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 85% 16%,#37697180,transparent 32%),radial-gradient(circle at 5% 80%,#6d593d55,transparent 44%)}
#jn47-moments .jn47-moment-shell{width:min(1340px,calc(100% - 48px));margin:auto}
#jn47-moments .jn47-eyebrow{color:#e3bb83!important;font:800 11px/1.4 Lato,Arial,sans-serif!important;letter-spacing:.24em;text-transform:uppercase;display:flex;gap:15px;align-items:center}
#jn47-moments .jn47-eyebrow::before{content:'';width:40px;height:1px;background:#e2b477}
#jn47-moments .jn47-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 34px}
#jn47-moments h2{font:500 clamp(42px,6.6vw,92px)/1.03 'Playfair Display',Georgia,serif!important;color:#fff!important;letter-spacing:-.047em!important;margin:0!important}
#jn47-moments h2 em{color:#e7c08c!important;font-weight:400}
#jn47-moments .jn47-heading-row p{max-width:320px;color:#b6d0d6!important;font:400 16px/1.65 Lato,Arial,sans-serif!important}
#jn47-moments .jn47-viewport{position:relative;overflow:hidden;min-width:0}
#jn47-moments .jn47-swiper{overflow:visible!important;min-height:355px}
#jn47-moments .swiper-wrapper{display:flex!important;align-items:stretch!important}
#jn47-moments .swiper-slide{height:auto!important;flex-shrink:0!important}
#jn47-moments .jn47-photo{position:relative;display:block;width:100%;height:100%;min-height:360px;padding:0;overflow:hidden;border:1px solid #ffffff2a;border-radius:21px;background:#17455a;color:white;text-align:left;cursor:pointer;box-shadow:0 18px 36px #0002;transition:transform .35s ease,border-color .35s ease}
#jn47-moments .jn47-photo:hover{transform:translateY(-7px);border-color:#e3c38e}
#jn47-moments .jn47-photo img{display:block;width:100%;height:100%;min-height:360px;max-height:480px;object-fit:cover;transition:transform .7s ease}
#jn47-moments .jn47-photo:hover img{transform:scale(1.055)}
#jn47-moments .jn47-photo::after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#051827dc)}
#jn47-moments .jn47-photo-copy{position:absolute;z-index:2;left:25px;right:25px;bottom:26px;display:flex;align-items:end;justify-content:space-between;gap:10px}
#jn47-moments .jn47-photo-copy strong{font:600 clamp(21px,2.1vw,30px)/1.1 'Playfair Display',Georgia,serif}
#jn47-moments .jn47-photo-copy small{display:block;color:#edd1a4;text-transform:uppercase;letter-spacing:.2em;font:700 10px Lato,Arial,sans-serif;margin-bottom:12px}
#jn47-moments .jn47-photo-copy i{font:35px Georgia,serif;color:#ffdcaa}
#jn47-moments .jn47-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;border-top:1px solid #ffffff32;padding-top:23px}
#jn47-moments .jn47-footer span{font:700 11px Lato,Arial,sans-serif;color:#b6cbd6;letter-spacing:.15em;text-transform:uppercase}
#jn47-moments .jn47-controls{display:flex;gap:11px}
#jn47-moments .jn47-controls button{width:47px;height:47px;border:1px solid #ffffff75;border-radius:50%;background:#ffffff15;color:white;font:26px Georgia,serif;cursor:pointer;transition:background .2s,color .2s}
#jn47-moments .jn47-controls button:hover{background:#edca90;color:#0b283d}
#jn47-moments .jn47-controls button:focus-visible,#jn47-moments .jn47-photo:focus-visible{outline:3px solid #ffdd9d;outline-offset:4px}
#jn47-moments.jn47-no-swiper .jn47-swiper{overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:thin}
#jn47-moments.jn47-no-swiper .swiper-wrapper{gap:18px}
#jn47-moments.jn47-no-swiper .swiper-slide{width:min(75vw,355px)!important;scroll-snap-align:start}
/* Program and principal typography needs contrast in all CMS-published versions. */
#principal .principal-text *{text-shadow:none}
#principal .principal-text h2,#principal .principal-text p,#principal .principal-text blockquote,#principal .principal-text .signature{opacity:1!important;visibility:visible!important}
@media(min-width:1100px){
  #programs .programs-grid .program-card:nth-child(2){transform:translateY(26px)!important}
  #programs .programs-grid .program-card:nth-child(2):hover{transform:translateY(14px)!important}
}
@media(max-width:767px){
 #header{backdrop-filter:blur(14px)}
 #jn-home-screen .jn-home-visual::after{display:none}
 #main-content > section:not(#hero){padding-top:clamp(63px,13vw,92px)!important;padding-bottom:clamp(65px,13vw,95px)!important}
 #about .about-container,#principal .principal-wrapper{width:calc(100% - 30px)!important;gap:28px!important}
 #about .about-img{transform:none!important}
 #values-slider .values-img-wrapper{transform:none!important;border-width:5px!important}
 #programs .program-card .program-header{min-height:200px!important}
 #principal .principal-img{transform:none!important}
 #principal .principal-text h2{font-size:clamp(33px,8vw,46px)!important}
 #principal .principal-text p{text-align:left!important}
 #jn47-moments .jn47-moment-shell{width:calc(100% - 30px)}
 #jn47-moments .jn47-heading-row{display:block;margin:19px 0 27px}
 #jn47-moments .jn47-heading-row p{margin:16px 0 0}
 #jn47-moments .jn47-photo,#jn47-moments .jn47-photo img{min-height:320px}
 #jn47-moments .jn47-swiper{min-height:320px}
 #jn47-moments .jn47-footer span{font-size:9px;letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){#jn47-moments .jn47-photo,#jn47-moments .jn47-photo img,#programs .program-card{transition:none!important}html{scroll-behavior:auto!important}}
