/* =========================================================
   Southkhali Secondary Girls School — Design Tokens
   Primary: Deep institutional green | Accent: Academic gold
   Secondary accent: Warm maroon (used sparingly)
   Display type: Tiro Bangla | Body type: Hind Siliguri
   ========================================================= */
:root{
	--ss-green-900:#0B4F3C;
	--ss-green-800:#0E6349;
	--ss-green-700:#137A5C;
	--ss-green-050:#EAF4EF;
	--ss-gold-600:#C99A2E;
	--ss-gold-100:#FBF0D8;
	--ss-maroon-700:#8B2942;
	--ss-maroon-050:#F8E9EC;
	--ss-cream:#FBF8F2;
	--ss-cream-dark:#F3EDE0;
	--ss-ink:#1E2321;
	--ss-ink-soft:#4B534F;
	--ss-white:#FFFFFF;
	--ss-border:#E4DFD1;
	--ss-shadow:0 10px 30px rgba(11,79,60,0.10);
	--ss-shadow-sm:0 4px 14px rgba(11,79,60,0.08);
	--ss-radius:14px;
	--ss-font-display:'Tiro Bangla', 'Hind Siliguri', serif;
	--ss-font-body:'Hind Siliguri', 'Noto Sans Bengali', sans-serif;
	--ss-container:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0; font-family:var(--ss-font-body); color:var(--ss-ink);
	background:var(--ss-cream); line-height:1.7; font-size:16px;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block; height:auto;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
h1,h2,h3,h4{font-family:var(--ss-font-display); color:var(--ss-green-900); margin:0 0 12px; line-height:1.3;}
h2{font-size:clamp(24px,3vw,34px);}
h3{font-size:20px;}
p{margin:0 0 12px;}
.container{max-width:var(--ss-container); margin:0 auto; padding:0 20px;}
.ss-narrow{max-width:820px;}
.ss-center{text-align:center;}
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{animation:none!important; transition:none!important;} }

.ss-eyebrow{
	display:inline-block; font-size:13px; letter-spacing:.14em; font-weight:600;
	color:var(--ss-gold-600); text-transform:uppercase; margin-bottom:8px;
}
.ss-eyebrow.ss-center{display:block;}

/* =============== BUTTONS =============== */
.ss-btn{
	display:inline-block; padding:13px 28px; border-radius:999px; font-weight:600;
	font-size:15px; transition:.25s ease; border:2px solid transparent; cursor:pointer;
}
.ss-btn-primary{background:var(--ss-gold-600); color:var(--ss-green-900);}
.ss-btn-primary:hover{background:var(--ss-green-900); color:var(--ss-white);}
.ss-btn-outline{border-color:var(--ss-green-800); color:var(--ss-green-800); background:transparent;}
.ss-btn-outline:hover{background:var(--ss-green-800); color:var(--ss-white);}

/* =============== TOPBAR =============== */
.ss-topbar{background:var(--ss-green-900); color:#DCEEE5; font-size:13.5px;}
.ss-topbar-inner{display:flex; justify-content:space-between; align-items:center; padding:8px 20px; flex-wrap:wrap; gap:6px;}
.ss-topbar-info span{opacity:.95;}
.ss-topbar-sep{margin:0 10px; opacity:.4;}
.ss-topbar-social a{
	display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
	background:rgba(255,255,255,.12); border-radius:50%; font-weight:700; font-size:13px;
}
.ss-topbar-social a:hover{background:var(--ss-gold-600); color:var(--ss-green-900);}

/* =============== HEADER =============== */
.ss-header{background:var(--ss-white); box-shadow:0 2px 12px rgba(0,0,0,.05); position:sticky; top:0; z-index:100;}
.ss-header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; gap:20px;}
.ss-brand{display:flex; align-items:center; gap:12px;}
.ss-brand img{max-height:58px; width:auto;}
.ss-brand-emblem{font-size:38px;}
.ss-brand-text{display:flex; flex-direction:column;}
.ss-brand-name-bn{font-family:var(--ss-font-display); font-size:21px; font-weight:700; color:var(--ss-green-900); line-height:1.25;}
.ss-brand-tagline{font-size:12.5px; color:var(--ss-ink-soft);}

.ss-nav{display:flex; align-items:center; gap:26px;}
.ss-nav-menu{display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
.ss-nav-menu a{font-weight:600; font-size:15px; color:var(--ss-ink); position:relative; padding:6px 0;}
.ss-nav-menu a::after{content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--ss-gold-600); transition:width .25s;}
.ss-nav-menu a:hover::after, .ss-nav-menu li.current-menu-item a::after{width:100%;}
.ss-nav-cta{background:var(--ss-maroon-700); color:var(--ss-white)!important; padding:10px 20px; border-radius:999px; font-weight:700; font-size:14px;}
.ss-nav-cta:hover{background:var(--ss-green-900);}

.ss-menu-toggle{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px;}
.ss-menu-toggle span{width:26px; height:3px; background:var(--ss-green-900); border-radius:2px; transition:.3s;}
.ss-menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.ss-menu-toggle.active span:nth-child(2){opacity:0;}
.ss-menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* =============== HERO SLIDER =============== */
.ss-hero{position:relative; overflow:hidden;}
.ss-slider{position:relative; height:min(78vh,620px); min-height:380px;}
.ss-slide{
	position:absolute; inset:0; background-size:cover; background-position:center;
	opacity:0; visibility:hidden; transition:opacity .9s ease; display:flex; align-items:center;
}
.ss-slide.active{opacity:1; visibility:visible;}
.ss-slide-fallback{position:relative; height:min(60vh,480px); background:linear-gradient(135deg,var(--ss-green-900),var(--ss-green-700));}
.ss-slide-overlay{position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,79,60,.86) 10%,rgba(11,79,60,.35) 60%,rgba(11,79,60,.15));}
.ss-slide-content{position:relative; z-index:2; color:var(--ss-white); max-width:640px;}
.ss-slide-content h2{color:var(--ss-white); font-size:clamp(28px,4.2vw,46px); margin-bottom:14px;}
.ss-slide-content p{font-size:17px; margin-bottom:22px; color:#E8F2EC;}
.ss-slide-nav{
	position:absolute; top:50%; transform:translateY(-50%); z-index:3; background:rgba(255,255,255,.18);
	border:1px solid rgba(255,255,255,.4); color:#fff; width:44px; height:44px; border-radius:50%;
	font-size:24px; cursor:pointer; backdrop-filter:blur(4px);
}
.ss-slide-nav.prev{left:18px;} .ss-slide-nav.next{right:18px;}
.ss-slide-nav:hover{background:var(--ss-gold-600); color:var(--ss-green-900); border-color:var(--ss-gold-600);}
.ss-slide-dots{position:absolute; bottom:20px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:3;}
.ss-slide-dots button{width:9px; height:9px; border-radius:50%; border:0; background:rgba(255,255,255,.5); cursor:pointer;}
.ss-slide-dots button.active{background:var(--ss-gold-600); width:24px; border-radius:6px; transition:.3s;}

/* =============== INFO STRIP =============== */
.ss-strip{background:var(--ss-green-900); padding:22px 0;}
.ss-strip-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; text-align:center;}
.ss-strip-item span{display:block; color:#9FD8BE; font-size:12.5px; letter-spacing:.06em; margin-bottom:4px;}
.ss-strip-item strong{color:var(--ss-white); font-size:19px; font-family:var(--ss-font-display);}

/* =============== SECTIONS =============== */
.ss-section{padding:70px 0;}
.ss-bg-alt{background:var(--ss-cream-dark);}
.ss-page-header{background:linear-gradient(135deg,var(--ss-green-900),var(--ss-green-700)); color:#fff; padding:56px 0 40px;}
.ss-page-header h1{color:#fff; margin-bottom:6px;}
.ss-page-header p{color:#DCEEE5;}
.ss-breadcrumb{font-size:13.5px; color:#BFE3D2; margin-top:10px;}
.ss-breadcrumb a{color:#fff; font-weight:600;}
.ss-breadcrumb span{margin:0 6px;}

.ss-two-col{display:grid; grid-template-columns:1.1fr .9fr; gap:36px; align-items:start;}
.ss-box{background:var(--ss-white); border:1px solid var(--ss-border); border-radius:var(--ss-radius); padding:32px; box-shadow:var(--ss-shadow-sm);}
.ss-prose p{color:var(--ss-ink-soft);}

/* Message cards (president / headmaster) */
.ss-message-stack{display:flex; flex-direction:column; gap:20px; background:transparent; border:0; box-shadow:none; padding:0;}
.ss-message-card{background:var(--ss-white); border:1px solid var(--ss-border); border-left:4px solid var(--ss-gold-600); border-radius:var(--ss-radius); padding:22px; display:flex; gap:16px; box-shadow:var(--ss-shadow-sm);}
.ss-message-photo{flex:0 0 74px; width:74px; height:74px; border-radius:50%; overflow:hidden; background:var(--ss-green-050); display:flex; align-items:center; justify-content:center;}
.ss-message-photo img{width:100%; height:100%; object-fit:cover;}
.ss-avatar-fallback{font-size:30px;}
.ss-message-text p{color:var(--ss-ink-soft); font-size:14.5px; margin-bottom:8px;}
.ss-message-text strong{color:var(--ss-green-900);}

/* Headmaster spotlight */
.ss-headmaster-spotlight{background:var(--ss-green-050); padding:56px 0;}
.ss-headmaster-inner{display:flex; align-items:center; gap:36px; justify-content:center; text-align:left;}
.ss-headmaster-photo{width:150px; height:150px; border-radius:50%; overflow:hidden; border:5px solid var(--ss-white); box-shadow:var(--ss-shadow); flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--ss-white);}
.ss-headmaster-photo img{width:100%; height:100%; object-fit:cover;}
.ss-avatar-lg{font-size:60px;}
.ss-headmaster-info h2{margin-bottom:4px;}
.ss-headmaster-phone{color:var(--ss-green-800); font-weight:600;}

/* Link grid (info buttons) */
.ss-link-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:36px;}
.ss-link-grid-6{grid-template-columns:repeat(6,1fr);}
.ss-link-card{
	background:var(--ss-white); border:1px solid var(--ss-border); border-radius:var(--ss-radius);
	padding:26px 14px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px;
	font-weight:600; color:var(--ss-green-900); transition:.25s; box-shadow:var(--ss-shadow-sm);
}
.ss-link-card:hover{transform:translateY(-5px); border-color:var(--ss-gold-600); box-shadow:var(--ss-shadow);}
.ss-link-icon{font-size:30px;}
.ss-link-card-sm{padding:20px 10px; font-size:14px;}

/* =============== NOTICE CORKBOARD (signature element) =============== */
.ss-notice-section{
	background:
		repeating-linear-gradient(45deg, rgba(11,79,60,0.035) 0 2px, transparent 2px 18px),
		var(--ss-cream);
}
.ss-corkboard{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:36px;}
.ss-pin-note{
	background:var(--ss-gold-100); border:1px solid #EAD9A6; border-radius:4px;
	padding:22px 20px 20px; position:relative; box-shadow:0 8px 18px rgba(0,0,0,.08);
	transform:rotate(var(--r,-1deg)); transition:transform .25s;
}
.ss-corkboard .ss-pin-note:nth-child(2n){--r:1.2deg; background:#F3F0E4; border-color:var(--ss-border);}
.ss-corkboard .ss-pin-note:nth-child(3n){--r:-0.6deg;}
.ss-pin-note:hover{transform:rotate(0deg) translateY(-4px);}
.ss-pin{position:absolute; top:-10px; left:50%; transform:translateX(-50%); width:18px; height:18px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #E3577B, var(--ss-maroon-700)); box-shadow:0 3px 5px rgba(0,0,0,.3);}
.ss-pin-note time{font-size:12.5px; color:var(--ss-ink-soft); font-weight:600;}
.ss-pin-note h3{margin:8px 0 6px; font-size:18px;}
.ss-pin-note p{font-size:14px; color:var(--ss-ink-soft);}
.ss-pin-link{font-weight:700; color:var(--ss-maroon-700); font-size:13.5px;}
.ss-pin-link:hover{text-decoration:underline;}

/* Notice single */
.ss-notice-single{background:var(--ss-white); border:1px solid var(--ss-border); border-radius:var(--ss-radius); padding:34px; margin-bottom:20px;}
.ss-notice-single time{color:var(--ss-gold-600); font-weight:700; font-size:13.5px;}

/* =============== COMMITTEE CARDS =============== */
.ss-committee-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:36px;}
.ss-committee-card{
	background:var(--ss-white); border:1px solid var(--ss-border); border-radius:var(--ss-radius);
	padding:26px 14px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px;
	box-shadow:var(--ss-shadow-sm); transition:.25s;
}
.ss-committee-card:hover{border-color:var(--ss-maroon-700); transform:translateY(-4px);}
.ss-committee-icon{font-size:28px;}
.ss-committee-name{font-weight:700; font-size:14.5px; color:var(--ss-green-900);}
.ss-committee-view{font-size:12.5px; color:var(--ss-maroon-700); font-weight:600;}
.ss-committee-card-empty{opacity:.55;}

/* =============== GALLERY =============== */
.ss-gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:36px;}
.ss-gallery-item{position:relative; border-radius:var(--ss-radius); overflow:hidden; aspect-ratio:4/3; background:var(--ss-green-050); display:block;}
.ss-gallery-item img{width:100%; height:100%; object-fit:cover; transition:.4s;}
.ss-gallery-item:hover img{transform:scale(1.08);}
.ss-gallery-placeholder{width:100%; height:100%; background:linear-gradient(135deg,var(--ss-green-050),var(--ss-cream-dark));}
.ss-gallery-play{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:44px; height:44px; background:rgba(255,255,255,.85); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ss-maroon-700); font-size:16px;}
.ss-gallery-caption{position:absolute; left:0; right:0; bottom:0; padding:10px 12px; background:linear-gradient(to top,rgba(0,0,0,.65),transparent); color:#fff; font-size:13px; font-weight:600;}
.ss-gallery-grid-full{grid-template-columns:repeat(4,1fr);}

/* =============== DOWNLOADS =============== */
.ss-download-list{display:flex; flex-direction:column; gap:12px; margin-top:32px; max-width:760px; margin-left:auto; margin-right:auto;}
.ss-download-row{
	display:flex; justify-content:space-between; align-items:center; background:var(--ss-white);
	border:1px solid var(--ss-border); border-radius:10px; padding:16px 22px; font-weight:600; transition:.2s;
}
.ss-download-row:hover{border-color:var(--ss-gold-600); background:var(--ss-gold-100);}
.ss-download-btn{background:var(--ss-green-900); color:#fff; padding:8px 18px; border-radius:999px; font-size:13.5px;}
.ss-download-row-empty{opacity:.55;}

/* =============== IMPORTANT LINKS =============== */
.ss-important-links{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:30px;}
.ss-important-links a{background:var(--ss-white); border:1px solid var(--ss-border); padding:14px 24px; border-radius:999px; font-weight:600; color:var(--ss-green-900); box-shadow:var(--ss-shadow-sm);}
.ss-important-links a:hover{background:var(--ss-green-900); color:#fff;}

/* =============== LIVE CALENDAR =============== */
.ss-calendar-wrap{display:flex; justify-content:center; margin-top:36px;}
.ss-calendar{background:var(--ss-white); border:1px solid var(--ss-border); border-radius:var(--ss-radius); box-shadow:var(--ss-shadow-sm); width:100%; max-width:480px; padding:22px 24px 26px; overflow:hidden;}
.ss-cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.ss-cal-head h3{margin:0; font-size:19px; color:var(--ss-green-900);}
.ss-cal-nav{background:var(--ss-green-050); border:1px solid var(--ss-border); color:var(--ss-green-900); width:34px; height:34px; border-radius:50%; font-size:18px; cursor:pointer; line-height:1;}
.ss-cal-nav:hover{background:var(--ss-gold-600); color:#fff; border-color:var(--ss-gold-600);}
.ss-cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center;}
.ss-cal-dow{font-size:12.5px; font-weight:700; color:var(--ss-ink-soft); padding:6px 0;}
.ss-cal-day{position:relative; padding:9px 0; border-radius:8px; font-size:14px; color:var(--ss-ink);}
.ss-cal-day.ss-cal-muted{color:#C9C2AE;}
.ss-cal-day.ss-cal-today{background:var(--ss-green-900); color:#fff; font-weight:700;}
.ss-cal-day.ss-cal-friday{color:var(--ss-maroon-700); font-weight:600;}
.ss-cal-day.ss-cal-today.ss-cal-friday{color:#fff;}
.ss-cal-footer{margin-top:16px; text-align:center; font-size:13px; color:var(--ss-ink-soft);}

/* =============== GOOGLE MAP SECTION =============== */
.ss-map-address{color:var(--ss-ink-soft); margin-top:-6px; margin-bottom:26px;}
.ss-map-wrap-lg{max-width:960px; margin:0 auto;}
.ss-map-wrap-lg iframe{height:380px;}
.ss-map-empty{display:flex; align-items:center; justify-content:center; height:220px; background:var(--ss-cream-dark); color:var(--ss-ink-soft); text-align:center; padding:20px;}

/* =============== CONTACT / FORM =============== */
.ss-contact-list li{padding:8px 0; border-bottom:1px dashed var(--ss-border); color:var(--ss-ink-soft); font-weight:600;}
.ss-map-wrap{margin-top:18px; border-radius:10px; overflow:hidden; border:1px solid var(--ss-border);}
.ss-map-wrap iframe{width:100%; height:230px; border:0; display:block;}
.ss-form{display:flex; flex-direction:column; gap:14px; margin-top:10px;}
.ss-form input, .ss-form textarea{
	width:100%; padding:13px 16px; border:1px solid var(--ss-border); border-radius:10px;
	font-family:var(--ss-font-body); font-size:15px; background:var(--ss-cream);
}
.ss-form input:focus, .ss-form textarea:focus{outline:2px solid var(--ss-gold-600); outline-offset:1px; background:#fff;}
.ss-form button{align-self:flex-start;}
.ss-alert{padding:14px 18px; border-radius:10px; margin-bottom:16px; font-weight:600; font-size:14.5px;}
.ss-alert-success{background:var(--ss-green-050); color:var(--ss-green-900); border:1px solid var(--ss-green-700);}
.ss-alert-error{background:var(--ss-maroon-050); color:var(--ss-maroon-700); border:1px solid var(--ss-maroon-700);}

/* =============== PEOPLE GRID (teachers/staff/committee/achievers) =============== */
.ss-people-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.ss-people-card{background:var(--ss-white); border:1px solid var(--ss-border); border-radius:var(--ss-radius); padding:24px; text-align:center; box-shadow:var(--ss-shadow-sm); display:block; transition:.25s;}
a.ss-people-card:hover{transform:translateY(-5px); border-color:var(--ss-gold-600); box-shadow:var(--ss-shadow);}
.ss-people-photo{width:96px; height:96px; border-radius:50%; overflow:hidden; margin:0 auto 14px; background:var(--ss-green-050); display:flex; align-items:center; justify-content:center;}
.ss-people-photo img{width:100%; height:100%; object-fit:cover;}
.ss-people-role{display:inline-block; background:var(--ss-gold-100); color:var(--ss-gold-600); font-size:12.5px; font-weight:700; padding:3px 12px; border-radius:999px; margin:4px 0;}
.ss-people-extra{font-size:13.5px; color:var(--ss-ink-soft); margin:2px 0;}
.ss-people-view{display:block; margin-top:12px; font-size:13px; font-weight:700; color:var(--ss-maroon-700);}

/* =============== PROFILE PAGE (single teacher/staff/committee/achiever) =============== */
.ss-profile-card{background:var(--ss-white); border:1px solid var(--ss-border); border-radius:var(--ss-radius); box-shadow:var(--ss-shadow-sm); padding:36px; display:flex; gap:30px; align-items:flex-start;}
.ss-profile-photo{flex:0 0 150px; width:150px; height:150px; border-radius:50%; overflow:hidden; background:var(--ss-green-050); display:flex; align-items:center; justify-content:center; border:4px solid var(--ss-green-050);}
.ss-profile-photo img{width:100%; height:100%; object-fit:cover;}
.ss-profile-main{flex:1;}
.ss-profile-main h1{margin-bottom:6px;}
.ss-profile-badge{display:inline-block; background:var(--ss-gold-100); color:var(--ss-gold-600); font-size:13px; font-weight:700; padding:5px 16px; border-radius:999px; margin-bottom:20px;}
.ss-profile-info-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; margin-top:6px;}
.ss-profile-info{display:flex; flex-direction:column; gap:2px; padding-bottom:10px; border-bottom:1px dashed var(--ss-border);}
.ss-profile-label{font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--ss-gold-600); font-weight:700;}
.ss-profile-info span:last-child{color:var(--ss-ink); font-weight:600; font-size:15px;}
.ss-profile-bio{margin-top:24px; padding-top:20px; border-top:1px solid var(--ss-border);}

/* =============== PAGINATION =============== */
.ss-pagination{margin-top:36px; display:flex; justify-content:center; gap:8px;}
.ss-pagination .page-numbers{padding:9px 15px; border-radius:8px; background:var(--ss-white); border:1px solid var(--ss-border); font-weight:600;}
.ss-pagination .page-numbers.current{background:var(--ss-green-900); color:#fff;}

/* =============== FOOTER =============== */
.ss-footer{background:var(--ss-green-900); color:#CFE7DB;}
.ss-footer-top{padding:56px 0 30px;}
.ss-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:34px;}
.ss-footer-logo{max-height:60px; margin-bottom:12px; filter:brightness(0) invert(1);}
.ss-footer-school-name{font-family:var(--ss-font-display); color:#fff; font-size:19px; font-weight:700; margin-bottom:6px;}
.ss-footer-address, .ss-footer-meta{font-size:13.5px; opacity:.85;}
.ss-footer-col h4{color:#fff; font-family:var(--ss-font-body); font-size:15px; margin-bottom:16px; position:relative; padding-bottom:8px;}
.ss-footer-col h4::after{content:''; position:absolute; left:0; bottom:0; width:32px; height:2px; background:var(--ss-gold-600);}
.ss-footer-col ul li{margin-bottom:10px;}
.ss-footer-col a{opacity:.88; font-size:14.5px;}
.ss-footer-col a:hover{opacity:1; color:var(--ss-gold-600);}
.ss-footer-contact li{font-size:14px; margin-bottom:8px; opacity:.9;}
.ss-footer-fb{display:inline-block; margin-top:6px; font-weight:700; color:var(--ss-gold-600);}
.footer-widget-title{color:#fff; font-size:15px;}
.ss-footer-bottom{background:#083D2E; padding:16px 0;}
.ss-footer-bottom-inner{display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; font-size:13px; opacity:.85;}
.ss-footer-credit strong{color:var(--ss-gold-600);}

.ss-back-to-top{
	position:fixed; right:22px; bottom:22px; width:46px; height:46px; border-radius:50%;
	background:var(--ss-green-900); color:#fff; display:flex; align-items:center; justify-content:center;
	font-size:20px; opacity:0; visibility:hidden; transform:translateY(10px); transition:.3s; z-index:99; box-shadow:var(--ss-shadow);
}
.ss-back-to-top.show{opacity:1; visibility:visible; transform:translateY(0);}
.ss-back-to-top:hover{background:var(--ss-gold-600); color:var(--ss-green-900);}

/* Scroll reveal */
.ss-section, .ss-hero{opacity:0; transform:translateY(24px); animation:ssFadeIn .8s ease forwards;}
@keyframes ssFadeIn{to{opacity:1; transform:translateY(0);}}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1024px){
	.ss-link-grid{grid-template-columns:repeat(3,1fr);}
	.ss-link-grid-6{grid-template-columns:repeat(3,1fr);}
	.ss-committee-grid{grid-template-columns:repeat(3,1fr);}
	.ss-gallery-grid, .ss-gallery-grid-full{grid-template-columns:repeat(3,1fr);}
	.ss-people-grid{grid-template-columns:repeat(3,1fr);}
	.ss-corkboard{grid-template-columns:repeat(2,1fr);}
	.ss-footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
	.ss-topbar-inner{justify-content:center; text-align:center;}
	.ss-menu-toggle{display:flex;}
	.ss-nav{
		position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px; background:var(--ss-white);
		flex-direction:column; align-items:flex-start; padding:90px 26px 26px; gap:22px;
		transform:translateX(100%); transition:transform .35s ease; box-shadow:-8px 0 30px rgba(0,0,0,.15); z-index:99;
	}
	.ss-nav.open{transform:translateX(0);}
	.ss-nav-menu{flex-direction:column; align-items:flex-start; gap:18px; width:100%;}
	.ss-nav-cta{width:100%; text-align:center;}
	.ss-two-col{grid-template-columns:1fr;}
	.ss-headmaster-inner{flex-direction:column; text-align:center;}
	.ss-strip-grid{grid-template-columns:repeat(2,1fr);}
	.ss-link-grid, .ss-link-grid-6{grid-template-columns:repeat(2,1fr);}
	.ss-committee-grid{grid-template-columns:repeat(2,1fr);}
	.ss-gallery-grid, .ss-gallery-grid-full{grid-template-columns:repeat(2,1fr);}
	.ss-people-grid{grid-template-columns:repeat(2,1fr);}
	.ss-corkboard{grid-template-columns:1fr;}
	.ss-footer-grid{grid-template-columns:1fr;}
	.ss-slider{height:56vh;}
	.ss-map-wrap-lg iframe{height:280px;}
	.ss-calendar{padding:18px 14px 20px;}
	.ss-profile-card{flex-direction:column; align-items:center; text-align:center; padding:26px;}
	.ss-profile-info-grid{grid-template-columns:1fr; text-align:left;}
}
@media(max-width:480px){
	.ss-section{padding:46px 0;}
	.ss-strip-grid{grid-template-columns:1fr 1fr;}
	.ss-link-grid, .ss-link-grid-6, .ss-committee-grid, .ss-gallery-grid, .ss-gallery-grid-full, .ss-people-grid{grid-template-columns:1fr 1fr;}
	.ss-slide-content{max-width:90%;}
	.ss-brand-tagline{display:none;}
}
