div:first-of-type{flex-shrink:0;}
/* ── Story left column (photo + stats) ── */
.story-left-col{
width:32%;
flex-shrink:0;
display:flex;
flex-direction:column;
overflow:visible;
border-right:1px solid rgba(10,46,26,.08);
padding-bottom:16px;
}
/* ── Our Motto block ── */
.story-motto{
background:#FFFFFF;
border:0.5px solid rgba(10,46,26,.1);
border-left:3px solid #F5C842;
border-radius:2px 12px 12px 2px;
padding:16px 18px;
margin:8px 36px 24px;
flex-shrink:0;
}
.story-motto-label{
font-size:10px;font-weight:700;
letter-spacing:.1em;text-transform:uppercase;
color:rgba(10,46,26,.45);
margin-bottom:6px;
}
.story-motto-text{
font-family:'Lilita One',cursive;
font-size:15px;color:#0A2E1A;
line-height:1.4;
}
/* ── Story stats strip ── */
.story-stats-strip{
display:grid;
grid-template-columns:repeat(4,1fr);
flex-shrink:0;
background:var(--cream);
border-top:none;
margin-top:20px;
}
.story-stat-item{
padding:16px 10px;
text-align:center;
border:0.5px solid rgba(10,46,26,.07);
}
.story-stat-num{
font-family:'Lilita One',cursive;
font-size:24px;line-height:1;
margin-bottom:4px;
}
.story-stat-lbl{
font-size:9.5px;
color:rgba(10,46,26,.5);
line-height:1.3;
letter-spacing:.04em;
text-transform:uppercase;
}
.story-stats-strip .story-stat-item:nth-child(1){border-top:2.5px solid #F26D3D;}
.story-stats-strip .story-stat-item:nth-child(2){border-top:2.5px solid #7B4FBE;}
.story-stats-strip .story-stat-item:nth-child(3){border-top:2.5px solid #2DBE6C;}
.story-stats-strip .story-stat-item:nth-child(4){border-top:2.5px solid #F5C842;}
/* The mosaic grid — 6 equal columns */
/* Every photo card — image fills it fully */
/* Photo fills card */
.gov:hover
/* Caption overlay — slides up from bottom */
.gov:hover
/* Featured spans — every 5th card is tall (2 rows) */
/* Every 8th card is wide (2 cols) */
/* Mobile: 2 columns */
/* ═══ GALLERY OVERLAY — Polaroid Memory Board ═══ */
#ov-gallery{background:#F5C842;}
#ov-gallery .ov-header{
background:#F5C842;
border-color:rgba(10,46,26,.12);
}
#ov-gallery .ov-back{color:rgba(10,46,26,.6);border-color:rgba(10,46,26,.2);}
#ov-gallery .ov-title{color:#0A2E1A;}
.gal-ov-body{
flex:1;
min-height:0;
padding:20px 24px 28px;
overflow-y:auto;
overflow-x:hidden;
background:#F5C842;
}
/* True masonry via CSS columns — photos keep natural height */
.gal-ov-grid{
columns:3 220px;
column-gap:16px;
}
/* Polaroid card */
.gov{
break-inside:avoid;
display:inline-block;
width:100%;
background:#FAFAF5;
padding:10px 10px 40px;
margin-bottom:16px;
border-radius:2px;
box-shadow:
0 3px 6px rgba(10,46,26,.15),
0 8px 24px rgba(10,46,26,.1),
0 1px 2px rgba(10,46,26,.2);
transform:var(--card-rot, 0deg);
transform-origin:center;
transition:
transform .25s cubic-bezier(.34,1.56,.64,1),
box-shadow .25s ease;
cursor:pointer;
position:relative;
}
/* Assign rotations — organic, like real polaroids */
.gov:nth-child(7n+1){--card-rot:rotate(-2.8deg)}
.gov:nth-child(7n+2){--card-rot:rotate(1.4deg)}
.gov:nth-child(7n+3){--card-rot:rotate(-1.1deg)}
.gov:nth-child(7n+4){--card-rot:rotate(2.3deg)}
.gov:nth-child(7n+5){--card-rot:rotate(-1.9deg)}
.gov:nth-child(7n+6){--card-rot:rotate(0.7deg)}
.gov:nth-child(7n){--card-rot:rotate(-0.4deg)}
/* Hover — straighten and lift */
.gov:hover{
transform:rotate(0deg) scale(1.04) translateY(-4px);
box-shadow:
0 12px 32px rgba(10,46,26,.28),
0 4px 8px rgba(10,46,26,.18);
z-index:10;
}
/* Photo fills card — NO cropping, natural height */
.gov-photo{width:100%;overflow:hidden;}
.gov-photo img{
width:100%;
height:auto;
display:block;
min-height:80px;
transition:filter .25s ease;
}
.gov:hover .gov-photo img{filter:brightness(1.04) contrast(1.02);}
/* Caption — like handwritten text on a polaroid */
.gov-lbl{
position:absolute;
bottom:0;left:0;right:0;
padding:0 10px 10px;
font-size:11px;
font-weight:500;
color:rgba(10,46,26,.6);
font-style:italic;
font-family:'DM Sans',sans-serif;
text-align:center;
line-height:1.3;
letter-spacing:.01em;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/* Tape accent — coloured corner tape strip */
.gov::before{
content:'';
position:absolute;
top:-6px;left:50%;
transform:translateX(-50%) rotate(var(--tape-rot,0deg));
width:40px;height:12px;
background:var(--tape-col,rgba(242,109,61,.6));
border-radius:1px;
opacity:.8;
}
/* Assign tape colours by category hint & position */
.gov:nth-child(5n+1){--tape-col:rgba(242,109,61,.7);--tape-rot:-1deg}
.gov:nth-child(5n+2){--tape-col:rgba(245,200,66,.8);--tape-rot:2deg}
.gov:nth-child(5n+3){--tape-col:rgba(45,190,108,.65);--tape-rot:-2deg}
.gov:nth-child(5n+4){--tape-col:rgba(123,79,190,.6);--tape-rot:1deg}
.gov:nth-child(5n){--tape-col:rgba(74,191,163,.7);--tape-rot:0deg}
/* Mobile — 2 columns */
.gov{padding:8px 8px 32px;margin-bottom:12px;}
.gov-lbl{font-size:10px;padding:0 6px 7px;}
}
/* Filter buttons on yellow */
.gal-h2{margin-bottom:22px;}
.gal-filters-wrap{display:flex;justify-content:flex-end;align-items:center;padding-bottom:20px;}
/* Filter buttons — redesigned */
#ov-gallery .ov-header{
padding-bottom:14px;
}
.gal-ov-body{
padding-top:24px;
}
/* Accessibility improvements */
.btn-dark:focus-visible,.btn-ol:focus-visible,.lm-link:focus-visible{
outline:3px solid #0A2E1A;
outline-offset:2px;
}
/* Min touch targets for mobile */
.btn-dark,.btn-ol{min-height:44px;}
}
/* Body text line-height for readability */
.about-body{line-height:1.8;}
.story-text-area p{line-height:1.82;}
.gc-desc{line-height:1.7;}
/* Main gallery section uses same polaroid grid as overlay */
#gallery .gal-ov-grid{
padding:4px 0 48px;
}
#gallery /* gallery sec-inner moved to #gallery .sec-inner */
#ov-gallery .ov-body{overflow:hidden;min-height:0;}
/* Gallery filter bar — own row below ov-header */
.gal-filter-bar{
display:flex;gap:8px;flex-wrap:wrap;
padding:14px 24px 0;
background:#F5C842;
flex-shrink:0;
}
/* Story photo caption — below the photo, above stats */
.story-caption-below{display:block;background:var(--cream);padding:14px 16px;border-top:0.5px solid rgba(10,46,26,.08);flex-shrink:0;margin-top:0;}
.story-caption-below span{
font-size:11.5px;
color:rgba(10,46,26,.7);
font-weight:600;
font-style:italic;
font-family:'DM Sans',sans-serif;
line-height:1.4;
letter-spacing:.02em;
display:block;
}
/* Gallery bottom link spacing */
#gallery
/* Gallery preview — 3 compact cards */
#gallery
#gallery .gal-header{
margin-bottom:16px;
}
#gallery .gal-h2{
margin-bottom:8px;
}
#gallery
/* ── Academics cards redesign ── */
.grade-card:hover
/* Title overlay — sits on photo */
.gc-desc{
font-size:13px;
color:rgba(10,46,26,.75);
line-height:1.72;
margin-bottom:16px;
}
/* ── Mobile (≤900px) ── */
/* Our Story — photo column consolidated */
.about-right{
flex:1;display:flex;flex-direction:column;gap:9px;
overflow:visible;min-height:0;position:relative;
padding:8px;
margin:-8px -8px -8px 0;
}
@media(max-width:900px){
:root{--tabs-w:0px;}
.adm-inner,.contact-inner{grid-template-columns:1fr;}
}
/* ── Small mobile (≤600px) ── */
@media(max-width:600px){
.gal-ov-grid{columns:2 150px;}
.gov{padding:8px 8px 30px;margin-bottom:10px;}
.btn-dark,.btn-ol{min-height:44px;}
}
.right-tabs{position:fixed;top:var(--nav-h);right:0;height:calc(100vh - var(--nav-h) - var(--footer-h));width:var(--tabs-w);display:flex;flex-direction:column;z-index:100;}
.about-left{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:20px;}
.gc-head{padding:28px 22px 20px;}
#academics
#academics .sec-inner{height:auto;overflow:visible;padding:32px 40px 40px;}
/* Life at SVS preview grid fix */
/* Gallery filter buttons */
.fbtn{
font-size:11.5px;font-weight:600;
padding:7px 16px;border-radius:20px;
cursor:pointer;
font-family:'DM Sans',sans-serif;
transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
letter-spacing:.02em;
background:rgba(10,46,26,.08);
color:#0A2E1A;
border:2px solid #0A2E1A;
}
.fbtn:hover{background:rgba(10,46,26,.15);transform:translateY(-1px);}
.fbtn:active{transform:scale(.96);}
.fbtn.active{
background:#0A2E1A;
color:#FAFAF5;
border-color:#0A2E1A;
}
.fbtn.active:hover{
background:#0A2E1A;
transform:translateY(-1px);
}
.fbtn:focus-visible{
outline:3px solid #F26D3D;
outline-offset:2px;
}
/* Curriculum row photos — uniform sizing */
.curr-photo{
overflow:hidden;
position:relative;
min-height:100%;
background:#0A2E1A;
}
.curr-photo img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform .4s ease;
}
.curr-grade-row:hover .curr-photo img{transform:scale(1.04);}
/* Alternating row layout: odd = photo left, even = photo right */
.curr-grade-row:nth-child(odd) .curr-photo{order:1;}
.curr-grade-row:nth-child(odd) .curr-info{order:2;}
.curr-grade-row:nth-child(even) .curr-photo{order:2;}
.curr-grade-row:nth-child(even) .curr-info{order:1;}
.curr-grade-row:nth-child(even){grid-template-columns:1fr 320px;}
/* Life at SVS — 2-photo collage */
.gal-preview-grid{
columns:unset !important;
display:flex !important;
gap:32px;
justify-content:center;
align-items:center;
max-width:900px;
margin:0 auto 24px;
padding:10px 0;
}
.gal-preview-grid .gov{
flex:0 1 360px;
margin-bottom:0;
}
.gal-preview-grid .gov:nth-child(1){
transform:rotate(-1.5deg);
}
.gal-preview-grid .gov:nth-child(2){
transform:rotate(1.5deg);
}
.gal-preview-grid .gov:hover{
transform:rotate(0deg) scale(1.04) translateY(-4px);
z-index:3;
}
.gal-preview-grid .gov-photo{
overflow:hidden;
height:240px;
}
.gal-preview-grid .gov-photo img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
}
#gallery
/* About section on dark green background */
#about .sec-line{background:#F5C842 !important;}
/* Clickable academic cards */
.grade-card:focus-visible{
outline:3px solid #0A2E1A;
outline-offset:3px;
}
.grade-card:hover{
transform:translateY(-4px);
box-shadow:0 14px 34px rgba(0,0,0,.16);
}
#gallery .sec-inner{padding:34px 36px 32px;height:auto;overflow:visible;min-height:calc(100vh - var(--nav-h) - var(--footer-h));}
/* Curriculum stats highlights */
.acad-glance .ag-stat{border-top:3px solid transparent;}
.acad-glance .ag-stat:nth-child(1){border-top-color:#F26D3D;background:rgba(242,109,61,.08);}
.acad-glance .ag-stat:nth-child(2){border-top-color:#F5C842;background:rgba(245,200,66,.08);}
.acad-glance .ag-stat:nth-child(3){border-top-color:#2DBE6C;background:rgba(45,190,108,.1);}
.acad-glance .ag-stat:nth-child(4){border-top-color:#7B4FBE;background:rgba(123,79,190,.1);}
.acad-glance .ag-stat:nth-child(5){border-top-color:#4ABFA3;background:rgba(74,191,163,.1);}
.acad-glance .ag-stat:nth-child(6){border-top-color:#F5C842;background:rgba(245,200,66,.08);}
.acad-glance .ag-stat:nth-child(1) .ag-num{color:#F26D3D;}
.acad-glance .ag-stat:nth-child(2) .ag-num{color:#F5C842;}
.acad-glance .ag-stat:nth-child(3) .ag-num{color:#2DBE6C;}
.acad-glance .ag-stat:nth-child(4) .ag-num{color:#7B4FBE;}
.acad-glance .ag-stat:nth-child(5) .ag-num{color:#4ABFA3;}
.acad-glance .ag-stat:nth-child(6) .ag-num{color:#F5C842;}
/* Our Story overlay — dark green theme */
#ov-about .story-banner{
background:rgba(250,250,245,.06);
border-bottom:0.5px solid rgba(250,250,245,.12);
}
#ov-about .story-banner-headline{color:#FAFAF5;}
#ov-about .story-banner-headline em{color:#F5C842;}
#ov-about .story-banner-pill{background:#F5C842;border-color:#F5C842;}
#ov-about .story-banner-pill span{color:#0A2E1A;}
/* Pull quote */
#ov-about .story-pull-quote{
background:rgba(242,109,61,.12);
border-bottom-color:rgba(242,109,61,.25);
}
#ov-about .story-pull-quote p{color:#F5C842;}
#ov-about .story-pull-quote span{color:rgba(250,250,245,.6);}
/* Story left column borders */
#ov-about .story-left-col{border-right-color:rgba(250,250,245,.1);}
/* Story text area */
#ov-about .story-text-area p{color:rgba(250,250,245,.82);}
#ov-about .story-text-area p strong{color:#FAFAF5;}
#ov-about .story-text-area p em{color:#F5C842;}
/* Story value cards */
#ov-about .story-val{
background:rgba(250,250,245,.05);
border-color:rgba(250,250,245,.1);
}
#ov-about .story-val-text{color:rgba(250,250,245,.75);}
/* Motto */
#ov-about .story-motto{
background:rgba(250,250,245,.06);
border-color:rgba(250,250,245,.1);
}
#ov-about .story-motto-label{color:rgba(250,250,245,.55);}
/* Story stats strip — dark version */
#ov-about .story-stats-strip{
background:rgba(250,250,245,.06);
border-top:1px solid rgba(250,250,245,.12);
}
#ov-about .story-stat-item{border-color:rgba(250,250,245,.08);}
#ov-about .story-stat-lbl{color:rgba(250,250,245,.5);}
/* Photo caption below */
#ov-about .story-caption-below{
background:rgba(250,250,245,.04);
border-top-color:rgba(250,250,245,.1);
}
#ov-about .story-caption-below span{color:#FAFAF5;font-weight:600;}
/* Star twinkle animation */
@keyframes twinkle{
0%,100%{opacity:inherit;transform:scale(1) rotate(0deg);}
50%{transform:scale(1.15) rotate(15deg);}
}
.star:nth-of-type(2n){animation-delay:-1s;animation-duration:4s;}
.star:nth-of-type(3n){animation-delay:-2s;animation-duration:3.5s;}
/* Ensure sec-inner is positioned for stars */
.sec-inner{position:relative;}
.gal-ov-body{position:relative;}
.ov-body{position:relative;}
/* Content layers above decorative stars */
.sec-accent,.about-grid,.acad-header,.grade-grid,
.hero-content,.hero-layout,.gal-header,.gal-ov-grid,
.adm-inner,.contact-inner,.gal-filter-bar{
position:relative;z-index:1;
}
/* Our full story — softer warmth, no harsh blacks */
#ov-about .story-photo-col{
background:rgba(250,250,245,.03);
}
#ov-about .story-stat-num{
filter:brightness(1.1);
}
/* Our full story — WCAG contrast fixes */
#ov-about .story-motto-text{color:#F5C842;}
#ov-about .story-motto-label{color:rgba(250,250,245,.65);}
/* Value cards — Excellence/Creativity/Community titles need lighter colors */
#ov-about .story-val{
background:rgba(250,250,245,.06);
border-color:rgba(250,250,245,.12);
border-left-color:#F26D3D;
}
#ov-about .story-val:nth-child(1){border-left-color:#F26D3D;}
#ov-about .story-val:nth-child(2){border-left-color:#B593EC;}
#ov-about .story-val:nth-child(3){border-left-color:#4ABFA3;}
#ov-about .story-values-row .story-val:nth-child(1) .story-val-title{color:#F5A07D !important;}
#ov-about .story-values-row .story-val:nth-child(2) .story-val-title{color:#B593EC !important;}
#ov-about .story-values-row .story-val:nth-child(3) .story-val-title{color:#4ABFA3 !important;}
#ov-about .story-val-text{color:rgba(250,250,245,.8);}
/* Stats strip highlights — each stat gets its own coloured background */
#ov-about .story-stats-strip{
background:rgba(250,250,245,.04);
border-top:1px solid rgba(250,250,245,.12);
}
#ov-about .story-stat-item{
padding:18px 10px;
background:rgba(250,250,245,.03);
border-right:1px solid rgba(250,250,245,.08);
border-top:3px solid transparent;
transition:background .2s ease;
}
#ov-about .story-stat-item:last-child{border-right:none;}
#ov-about .story-stat-item:hover{background:rgba(250,250,245,.08);}
#ov-about .story-stat-item:nth-child(1){
border-top-color:#F5A07D;
background:rgba(242,109,61,.08);
}
#ov-about .story-stat-item:nth-child(2){
border-top-color:#B593EC;
background:rgba(123,79,190,.1);
}
#ov-about .story-stat-item:nth-child(3){
border-top-color:#6FE09F;
background:rgba(45,190,108,.1);
}
#ov-about .story-stat-item:nth-child(4){
border-top-color:#F5C842;
background:rgba(245,200,66,.1);
}
/* Stat numbers — lighter variants for AAA contrast on dark green */
#ov-about .story-stat-item:nth-child(1) .story-stat-num{color:#F5A07D !important;}
#ov-about .story-stat-item:nth-child(2) .story-stat-num{color:#B593EC !important;}
#ov-about .story-stat-item:nth-child(3) .story-stat-num{color:#6FE09F !important;}
#ov-about .story-stat-item:nth-child(4) .story-stat-num{color:#F5C842 !important;}
#ov-about .story-stat-lbl{color:rgba(250,250,245,.7);}
/* Motto block on dark green bg */
#ov-about .story-motto{
background:rgba(245,200,66,.08);
border-color:rgba(245,200,66,.2);
border-left-color:#F5C842;
}
/* Pull quote — better orange shade for contrast */
#ov-about .story-pull-quote p{color:#FFC099;}
/* ═══ Custom paper airplane cursor ═══ */
body, html{
cursor:url("data:image/svg+xml;utf8, ") 8 8, auto;
}
/* Revert to pointer on clickable elements for clarity */
button, a, .rtab, .grade-card, .lm-link, .fbtn, [onclick]{
cursor:pointer;
}
/* Text cursor for inputs */
input, textarea{cursor:text;}
/* ═══ Twinkle trail (following cursor) ═══ */
.cursor-sparkle{
position:fixed;
width:8px;height:8px;
pointer-events:none;
z-index:9999;
font-size:12px;
color:#F5C842;
opacity:0;
transform:translate(-50%,-50%);
transition:opacity .4s ease, transform .6s ease;
user-select:none;
}
.cursor-sparkle.active{
opacity:.9;
}
/* ═══════════════════════════════════════════════
RESPONSIVE — Default hide (shown in phone MQ)
═══════════════════════════════════════════════ */
.hamburger { display: none; }
.mobile-nav { display: none; }
.mobile-nav-backdrop { display: none; }
/* ═══════════════════════════════════════════════
RESPONSIVE — Tablet (≤1024px)
═══════════════════════════════════════════════ */
@media (max-width: 1024px) {
:root {
--tabs-w: 0px;
--nav-h: 52px;
}
.right-tabs { display: none !important; }
.hero-layout { grid-template-columns: 1fr 240px; }
.hero-h1 { font-size: clamp(32px, 4.5vw, 44px); }
.hero-content { padding: 24px 24px 28px 32px; }
.hero-photo-col { padding: 16px 20px 24px 4px; }
.about-h2 { font-size: 30px; }
.grade-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gc-photo { height: 180px; }
.contact-inner { grid-template-columns: 1fr 1.2fr; gap: 20px; }
.curr-grade-row { grid-template-columns: 280px 1fr; }
.curr-grade-row:nth-child(even) { grid-template-columns: 1fr 280px; }
.story-left-col { width: 40%; }
}
/* ═══════════════════════════════════════════════
RESPONSIVE — Phone (≤640px)
═══════════════════════════════════════════════ */
@media (max-width: 640px) {
:root {
--tabs-w: 0px;
--nav-h: 54px;
--footer-h: 44px;
}
/* Paper airplane cursor + sparkles stay on phone (they add whimsy) */
.right-tabs { display: none !important; }
.hamburger {
display: flex !important;
position: fixed;
top: 10px;
right: 14px;
width: 38px;
height: 38px;
border-radius: 10px;
background: #0A2E1A;
border: none;
cursor: pointer;
z-index: 150;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
padding: 0;
}
.hamburger span {
display: block;
width: 18px;
height: 2px;
background: #FAFAF5;
border-radius: 2px;
transition: transform .25s ease, opacity .2s ease;
}
.hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-nav {
display: flex !important;
position: fixed;
top: 0;
right: -100%;
width: 72%;
max-width: 280px;
height: 100vh;
background: var(--cream);
box-shadow: -8px 0 32px rgba(0,0,0,.2);
z-index: 140;
flex-direction: column;
padding: 72px 0 20px;
transition: right .3s ease;
}
.mobile-nav.open { right: 0; }
.mobile-nav a {
display: block;
padding: 16px 24px;
font-family: 'Lilita One', cursive;
font-size: 16px;
letter-spacing: .08em;
text-decoration: none;
border-left: 4px solid transparent;
}
/* Unified nav items — all items styled equally */
.mobile-nav a[data-cat="about"] { color: #F26D3D; border-left-color: #F26D3D; }
.mobile-nav a[data-cat="academics"] { color: #7B4FBE; border-left-color: #7B4FBE; }
.mobile-nav a[data-cat="gallery"] { color: #4ABFA3; border-left-color: #4ABFA3; }
.mobile-nav a[data-cat="admissions"] { color: #0A2E1A; border-left-color: #F5C842; }
.mobile-nav a[data-cat="contact"] { color: #2DBE6C; border-left-color: #2DBE6C; }
/* Active/pressed state — applies to ALL items consistently */
.mobile-nav a:active,
.mobile-nav a.pressed {
background: rgba(10,46,26,.08);
transform: scale(.98);
}
.mobile-nav a:focus-visible {
outline: 3px solid #0A2E1A;
outline-offset: -3px;
background: rgba(10,46,26,.04);
}
/* Hover (on tablets with hover support) */
@media (hover: hover) {
.mobile-nav a:hover {
background: rgba(10,46,26,.06);
padding-left: 28px;
}
}
.mobile-nav a { transition: padding-left .2s ease, background .2s ease; }
.mobile-nav-backdrop {
display: block !important;
position: fixed;
inset: 0;
background: rgba(10,46,26,.5);
z-index: 130;
opacity: 0;
pointer-events: none;
transition: opacity .3s ease;
}
.mobile-nav-backdrop.open {
opacity: 1;
pointer-events: auto;
}
.top-nav { padding: 0 14px; }
/* Scroller + sections — natural scroll on phones */
.scroller {
scroll-snap-type: none;
scroll-padding-top: 60px;
}
.section {
height: auto !important;
min-height: 0;
scroll-snap-align: none;
scroll-margin-top: 20px;
overflow: visible !important;
}
.sec-inner {
height: auto !important;
overflow: visible !important;
padding: 32px 20px !important;
min-height: 0;
}
/* HERO */
.hero-layout {
grid-template-columns: 1fr !important;
height: auto !important;
}
.hero-content {
padding: 32px 22px 24px !important;
justify-content: flex-start !important;
gap: 16px;
}
.hero-h1 { font-size: 36px !important; line-height: 1.05; margin-bottom: 8px; }
.hero-sub { font-size: 14px; margin-bottom: 18px; max-width: none; }
.hero-btns button, .btn-dark, .btn-ol { min-height: 44px; padding: 11px 20px; font-size: 13.5px; }
.hero-stat .stat-num { font-size: 24px; }
.hero-stat .stat-lbl { font-size: 10px; }
.hero-photo-col {
padding: 0 22px 24px !important;
height: 260px;
max-height: 260px;
}
.hero-photo-col img { max-height: 240px !important; height: 240px; }
.hero-photo-label { bottom: 24px !important; left: 22px !important; right: 22px !important; }
/* ABOUT */
.about-grid {
flex-direction: column !important;
gap: 24px !important;
align-items: stretch !important;
}
.about-h2 { font-size: 28px !important; }
.about-body { max-width: none !important; font-size: 13.5px; }
.about-right, .story-photo-static {
width: 100%;
height: 260px !important;
flex: 0 0 260px;
}
/* ACADEMICS */
.acad-header {
flex-direction: column;
align-items: flex-start;
gap: 8px;
margin-bottom: 14px;
}
.grade-grid {
grid-template-columns: 1fr !important;
gap: 14px !important;
}
.gc-photo { height: 200px; }
.gc-body { padding: 14px 16px 18px !important; }
.gc-item { font-size: 13px; margin-bottom: 8px !important; }
/* GALLERY */
.gal-header {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.gal-preview-grid {
flex-direction: column !important;
gap: 16px !important;
max-width: 100% !important;
align-items: stretch !important;
}
.gal-preview-grid .gov,
.gal-preview-grid .gov:nth-child(1),
.gal-preview-grid .gov:nth-child(2) {
flex: 0 0 auto !important;
transform: none !important;
}
.gal-preview-grid .gov-photo { height: 220px !important; }
.gal-ov-grid {
columns: 2 150px !important;
column-gap: 10px !important;
padding: 12px 10px 40px !important;
}
.gov {
padding: 6px 6px 24px !important;
margin-bottom: 10px !important;
break-inside: avoid;
}
.gal-filter-bar {
overflow-x: auto;
flex-wrap: nowrap !important;
padding: 12px 16px !important;
gap: 8px !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.gal-filter-bar::-webkit-scrollbar { display: none; }
.fbtn {
min-height: 40px;
padding: 8px 14px !important;
font-size: 11px !important;
white-space: nowrap;
flex-shrink: 0;
}
/* ADMISSIONS */
.adm-inner {
grid-template-columns: 1fr !important;
gap: 22px;
}
/* CONTACT */
.contact-inner {
grid-template-columns: 1fr !important;
gap: 20px;
}
.cmap { height: 280px; min-height: 280px; }
/* STORY OVERLAY */
.story-columns { flex-direction: column !important; }
.story-left-col {
width: 100% !important;
height: auto !important;
border-right: none !important;
}
.story-photo-col {
height: auto !important;
min-height: 0 !important;
margin: 12px !important;
flex: 0 0 auto !important;
}
.story-content-col { overflow-y: visible !important; }
.story-pull-quote { padding: 20px 22px 18px !important; }
.story-pull-quote p { font-size: 16px !important; }
.story-text-area { padding: 20px 22px !important; }
.story-values-row {
grid-template-columns: 1fr !important;
gap: 12px !important;
padding: 0 22px !important;
}
.story-stats-strip {
grid-template-columns: repeat(2, 1fr) !important;
}
/* CURRICULUM OVERLAY */
.acad-glance {
grid-template-columns: repeat(3, 1fr) !important;
}
.curr-body {
padding: 20px 14px 32px !important;
gap: 18px !important;
}
.curr-grade-row,
.curr-grade-row:nth-child(even) {
grid-template-columns: 1fr !important;
min-height: 0 !important;
}
.curr-grade-row:nth-child(odd) .curr-photo,
.curr-grade-row:nth-child(even) .curr-photo {
order: 1 !important;
height: 200px !important;
min-height: 200px !important;
}
.curr-grade-row:nth-child(odd) .curr-info,
.curr-grade-row:nth-child(even) .curr-info {
order: 2 !important;
max-height: none !important;
}
/* OVERLAYS */
.ov-header { padding: 10px 14px !important; }
/* FOOTER */
.site-footer { padding: 0 14px !important; right: 0 !important; }
/* STARS — reduce on mobile */
.section .star { transform: scale(.75); }
/* PHONE: Overlay body allows scroll — content can extend */
.ov-body {
flex: 1 !important;
overflow-y: auto !important;
overflow-x: hidden !important;
-webkit-overflow-scrolling: touch;
min-height: 0;
}
.story-ov-body {
flex: 0 0 auto !important;
display: block !important;
overflow: visible !important;
height: auto !important;
min-height: 0;
}
.acad-ov-body {
flex: 0 0 auto !important;
display: flex !important;
flex-direction: column !important;
overflow: visible !important;
height: auto !important;
min-height: 0;
}
/* Story left col shouldn't shrink photo */
.story-photo-col {
flex: 0 0 auto !important;
}
/* Curriculum body scroll within overlay handled by .ov-body now */
.curr-body {
flex: 0 0 auto !important;
overflow: visible !important;
min-height: 0 !important;
height: auto !important;
display: flex !important;
flex-direction: column !important;
}
/* PHONE: fix flex:1 collapse in overlays */
.story-columns {
flex: 0 0 auto !important;
display: flex !important;
flex-direction: column !important;
overflow: visible !important;
min-height: 0 !important;
height: auto !important;
}
.story-content-col {
flex: 0 0 auto !important;
overflow: visible !important;
overflow-y: visible !important;
overflow-x: visible !important;
min-height: 0 !important;
height: auto !important;
display: flex !important;
flex-direction: column !important;
width: 100% !important;
}
.story-left-col {
flex: 0 0 auto !important;
overflow: visible !important;
}
.story-photo-col {
flex: 0 0 auto !important;
}
/* Curriculum: grade rows natural height */
.curr-grade-row,
.curr-grade-row:nth-child(odd),
.curr-grade-row:nth-child(even) {
display: grid !important;
grid-template-columns: 1fr !important;
min-height: 0 !important;
height: auto !important;
}
.acad-glance {
flex: 0 0 auto !important;
}
/* PHONE: curriculum photos — show kids (upper portion of image) */
.curr-grade-row:nth-child(1) .curr-photo img {
object-position: center 35% !important;
}
.curr-grade-row:nth-child(2) .curr-photo img {
object-position: center 5% !important;
}
.curr-grade-row:nth-child(3) .curr-photo img {
object-position: center 40% !important;
}
/* PHONE: Extra spacing in story overlay */
.story-columns { padding-top: 8px !important; }
.story-left-col { padding-bottom: 24px !important; margin-bottom: 12px !important; border-bottom: 1px solid rgba(250,250,245,.08); }
.story-stats-strip { margin-top: 16px !important; }
.story-motto { margin: 8px 22px 16px !important; }
.story-content-col { padding-top: 16px !important; }
.story-pull-quote { margin-top: 8px !important; }
/* PHONE: story photos — ensure border + radius visible */
.story-photo-static,
.story-photo-col {
border: 5px solid #F5C842 !important;
border-radius: 20px !important;
overflow: hidden !important;
}
.story-photo-col {
margin: 16px !important;
}
/* PHONE: ensure photo+caption both visible in story overlay */
.story-photo-col img {
flex: 0 0 auto !important;
width: 100% !important;
height: 280px !important;
min-height: 280px;
object-fit: cover !important;
}
.story-photo-col .story-caption-below {
display: block !important;
flex: 0 0 auto !important;
padding: 12px 16px 14px !important;
background: rgba(250,250,245,.1) !important;
border-top: 1px solid rgba(250,250,245,.2) !important;
margin: 0 !important;
visibility: visible !important;
}
.story-photo-col .story-caption-below span {
color: #FAFAF5 !important;
font-weight: 700 !important;
font-size: 11.5px !important;
opacity: 1 !important;
display: block !important;
}
/* Remove footer on phone (just keep visible caption) */
.story-photo-col .story-photo-footer {
display: none !important;
}
#ov-about .story-caption-below span {
color: #FAFAF5 !important;
font-weight: 700 !important;
font-size: 11.5px !important;
opacity: 1 !important;
}
/* PHONE: tighter, more formal heading styles */
.hero-h1 {
font-size: 32px !important;
line-height: 1.08 !important;
letter-spacing: -.01em !important;
}
.about-h2, .acad-h2, .gal-h2, .adm-h2, .contact-h2 {
font-size: 24px !important;
line-height: 1.1 !important;
letter-spacing: -.005em !important;
}
.sec-lbl {
font-family: 'DM Sans', sans-serif !important;
font-weight: 700 !important;
letter-spacing: .14em !important;
font-size: 10px !important;
}
.topbar-brand-name {
font-size: 16px !important;
}
/* PHONE: remove stars from Admissions & Contact to keep them clean */
#admissions .star,
#contact .star {
display: none !important;
}
}
@media (max-width: 380px) {
.hero-h1 { font-size: 30px !important; }
.about-h2 { font-size: 24px !important; }
.sec-inner { padding: 24px 16px !important; }
.gal-ov-grid { columns: 2 130px !important; }
}
/* A11y — skip to main content */
.skip-link{
position:absolute;top:-40px;left:8px;
background:#0A2E1A;color:#FAFAF5;
padding:10px 16px;border-radius:6px;
z-index:1000;
font-weight:600;font-size:13px;
text-decoration:none;
transition:top .2s ease;
}
.skip-link:focus{top:8px;}
/* ═══ Admissions Banner — pill style (similar to Nursery-Grade 10 but distinct) ═══ */
#admissions-banner{
display:inline-flex;align-items:center;gap:8px;
background:#E8F5F0;
color:#0A2E1A;
font-family:'DM Sans',sans-serif;
font-size:11px;font-weight:700;
padding:5px 14px;
border-radius:16px;
margin-bottom:10px;
width:fit-content;
cursor:pointer;
text-transform:none;
letter-spacing:.02em;
border:1.5px solid #4ABFA3;
box-shadow:0 2px 10px rgba(74,191,163,.3);
animation:banner-gentle-float 3s ease-in-out infinite;
transition:transform .2s ease, box-shadow .2s ease;
}
#admissions-banner:hover{
transform:translateY(-1px);
box-shadow:0 4px 14px rgba(74,191,163,.5);
background:#DEF0EA;
}
#admissions-banner:active{transform:scale(.97);}
#admissions-banner:focus-visible{
outline:3px solid #7B4FBE;
outline-offset:3px;
}
#ab-years{
font-weight:800;
color:#0A2E1A;
background:#F5C842;
padding:2px 8px;
border-radius:10px;
margin:0 2px;
letter-spacing:.02em;
box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.hero-status .pulse-dot{
width:7px;height:7px;
background:#2DBE6C !important;
border-radius:50%;
flex-shrink:0;
animation:pulse-dot-ring 1.6s ease-out infinite;
}
@keyframes pulse-dot-ring{
0%{box-shadow:0 0 0 0 rgba(45,190,108,.7);transform:scale(1);}
70%{box-shadow:0 0 0 7px rgba(45,190,108,0);transform:scale(1.1);}
100%{box-shadow:0 0 0 0 rgba(45,190,108,0);transform:scale(1);}
}
@keyframes banner-gentle-float{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-2px);}
}
@media (prefers-reduced-motion: reduce){
#admissions-banner,
.hero-status .pulse-dot{animation:none !important;}
}
/* A11y utility — screen-reader only */
.visually-hidden{
position:absolute;width:1px;height:1px;padding:0;margin:-1px;
overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* ═══ FORCE: Our Story "Read our full story" link (dark green section) ═══ */
#about .lm-link,
#about .lm-link:link,
#about .lm-link:visited,
#about .lm-link .arr{
color:#F5C842 !important;
opacity:1 !important;
display:inline-flex !important;
visibility:visible !important;
}
#about .lm-link{
font-weight:600 !important;
}
#about .lm-link:hover{
opacity:.8 !important;
}
/* ═══ FORCE: Gallery "See all photos" link (yellow section) ═══ */
/* Gallery "See all photos" — matches Read our full story style */
#gallery .lm-link,
#gallery .lm-link:link,
#gallery .lm-link:visited,
#gallery .lm-link .arr{
color:#0A2E1A !important;
opacity:1 !important;
display:inline-flex !important;
visibility:visible !important;
background:transparent !important;
border:none !important;
padding:0 !important;
text-decoration:none !important;
}
#gallery .lm-link{
font-weight:600 !important;
font-size:13px !important;
margin-top:12px !important;
}
#gallery .lm-link:hover{
gap:10px !important;
opacity:.75 !important;
transform:none !important;
box-shadow:none !important;
}
/* ═══ FORCE: Academics "Explore full curriculum" link (cream section) ═══ */
/* Academics "Explore full curriculum" — matches Read our full story style */
#academics .lm-link,
#academics .lm-link:link,
#academics .lm-link:visited,
#academics .lm-link .arr{
color:#7B4FBE !important;
opacity:1 !important;
display:inline-flex !important;
visibility:visible !important;
background:transparent !important;
border:none !important;
padding:0 !important;
text-decoration:none !important;
}
#academics .lm-link{
font-weight:600 !important;
font-size:13px !important;
margin-top:12px !important;
}
#academics .lm-link:hover{
gap:10px !important;
opacity:.75 !important;
transform:none !important;
background:transparent !important;
color:#7B4FBE !important;
}
/* Hide stars that visually overlap with specific content */
#admissions .adm-steps .star,
#contact .cdetails .star,
#contact .crow .star{
display:none !important;
}
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">
Skip to main content
ABOUT
ACADEMICS
GALLERY
ADMISSIONS
CONTACT
Est. 2000 · Bengaluru, India
25 years of quality education, meeting the real world's demands.
Shashikala ma'am with the first students of SVS School
"One teacher's dream. One family's dedication. A thousand children's futures."
— Sri Nagaraj R. sir, Founder Secretary, SVS School
Sri Nagaraj R. sir was a celebrated educator with over 53 years of teaching experience — a Best Teacher awardee who was deeply respected in the field. His lifelong dream was simple but profound: to open a school that would offer quality education to every child, at the most minimal fees in all of Bengaluru.
Nagaraj sir encouraged his wife Shashikala ma'am — herself a highly educated woman and a passionate teacher — to take the first step and start the school. Shashikala ma'am took up the mantle, teaching children with everything she had, riding buses and walking to school every single day. Once the school was on its feet, Nagaraj sir made a defining choice: he turned down the position of Principal at Vijaya School and gave up his career to stand beside his wife and build their dream together.
Sri Vijaya Sai School opened its doors in 2000 in Chikkalasandra, Bengaluru. Over 25 years and counting, it has shaped students who have gone on to careers in engineering, medicine, teaching, sports, MBA and finance. Today, the school is carried forward by the couple's three daughters — Rashmi, Sushma and Roopa — who teach and manage the school alongside their father.
Every year the school pulses with life — Annual Day, Independence Day, Saraswati Pooja, Janmashtami, Sankranti, Kannada Rajyotsava, Christmas, Children's Day, school trips and exhibitions. Every festival is celebrated, every tradition honoured.
Our Motto
"Quality education that would meet the real world requisites."
Our alumni — over 700 graduates — are out in the world building careers, raising families, and occasionally walking back through our gates just to say thank you.
Excellence
Quality education that meets real-world demands — Nagaraj sir's founding promise, kept every single day.
Creativity
Nurturing creativity, innovation and integrity in every child — not just exam scores.
Community
Our alumni — in engineering, medicine, sports and beyond — still walk back through our gates just to say thank you.
Co-curr.
Sports, arts & clubs
Ages 3–5
Nursery – KG
Play-based foundation years
✦ Play-based foundation — motor skills, social confidence and early cognitive growth through guided play, exploration and discovery every single day
✦ Language & storytelling — stories, shlokas, rhymes, poems and phonics taught together; language becomes natural, joyful and deeply rooted from the start
✦ Art, craft & values — Colours Day, arts and crafts, moral stories and cultural celebrations; teachers bring fresh ideas every week to make curiosity the habit
✦ Friday Nutrition Day — ragi, paneer, corn, peas and more; nutritious food made delicious and fun, building healthy habits from the very first school year
Ages 6–11
Primary (1–5)
Core subjects · Ages 6–11
✦ State board curriculum — Maths, Science, English, Hindi and Kannada taught by dedicated subject teachers who know each student personally
✦ Computer & science labs — hands-on practical sessions that make abstract concepts tangible and memorable
✦ Brain-O-Thon — our signature academic competition that sharpens thinking, builds confidence and rewards curiosity beyond the textbook
✦ GK, sports & debates — general knowledge quizzes, sports competitions and inter-class debates develop well-rounded thinkers and communicators
✦ Celebrations & exhibitions — annual events, science exhibitions, festivals and school trips make learning extend well beyond the classroom walls
✦ Friday Nutrition Day — the tradition continues through all primary grades, keeping healthy habits at the heart of every school week
Ages 12–16
Secondary (6–10)
Board prep + STEM · Ages 12–16
✦ State board preparation — all subjects taught thoroughly with dedicated teachers, regular tests and focused revision to prepare students with confidence
✦ STEM Foundation — a customised, high-level programme taught alongside the regular syllabus using specially designed books; goes beyond the textbook to build real knowledge and sharpen young minds
✦ Science & computer labs — practical lab sessions make theory come alive; students learn by doing, not just reading
✦ Sports, GK & competitions — sports meets, general knowledge programmes, Brain-O-Thon and inter-school competitions build confidence, teamwork and a competitive spirit
✦ Debates & extracurriculars — debate sessions, annual exhibitions and cultural events develop communication, critical thinking and leadership well beyond the syllabus
✦ Career & aptitude guidance — thoughtful guidance to help students understand their strengths and make informed decisions about their futures
All
Events
Festivals
School Trips
Graduation
School life
✦
✦
✦
✦
✦
✦
✦
Merry Christmas · Photo booth
Share real school photos to replace these placeholders.
SVS School
✦
✦
✦
✦
Admissions open for 2026–27
Nursery to Grade 10 · Est. 2000 · Bengaluru
Where every child finds theirSPARK.
Every day, 700 children walk through our gates — curious, eager and ready to discover something wonderful.
Enquire now
Contact us
✦
✦
✦
✦
✦
✦
✦
✦
✦
✦
✦
✦
✦
Built on a teacher's dream.
Sri Vijaya Sai School was born in 2000 from one educator's lifelong dream — quality education at minimal fees, open to every child. Sri Nagaraj R. sir, a Best Teacher awardee with 53 years of experience, built this school alongside his wife Shashikala. That dream lives in every classroom today.
Est. 2000 · Bengaluru
Nursery – Grade 10
Quality education for all
Read our full story →
Shashikala ma'am with the first students of SVS School
✦
✦
✦
✦
✦
✦
✦
✦
Play-based learning that sparks curiosity and builds confidence from day one.
✦ Story time & phonics
✦ Art & craft
✦ Outdoor play & exploration
Building strong foundations through hands-on methods that make learning stick.
✦ Maths & Science
✦ Languages
✦ Sports & arts
Secondary (6–10)
Ages 12–16
Beyond the syllabus — STEM Foundation, science labs and leadership programs prepare students for the world ahead.
✦ State board prep + STEM Foundation
✦ Science labs, debates & competitions
✦ Leadership programs & career guidance
Explore full curriculum →
✦
✦
✦
✦
✦
✦
✦
✦
Merry Christmas · Photo booth
See all photos →
✦
✦
✦
✦
Getting in is simple.
01
Fill the enquiry form below
Share your child's name, grade, and contact number. Takes under 2 minutes.
02
Our team calls you within 24 hours
Our admissions team reaches out within 24 hours to answer everything.
03
Visit & enroll your child
Walk the campus, meet the staff, and let your child feel the SVS energy.