/* ==========================================================================
   Dr. Nobin Bordoloi College — Premium Theme Layer
   Loaded after style.css / responsive.css / color1.css so it can safely
   override colors, spacing and effects without touching template structure.
   ========================================================================== */

:root{
	--pro-navy:        #0a2647;
	--pro-navy-2:      #123a63;
	--pro-navy-dark:   #061a30;
	--pro-royal:       #0f2f63;
	--pro-royal-2:     #1c4685;
	--pro-gold:        #d4a83a;
	--pro-gold-light:  #f0d597;
	--pro-gold-dark:   #b6872a;
	--pro-bronze:      #8a6a24;
	--pro-green:       #00b16a;
	--pro-red:         #c62828;
	--pro-ink:         #1c2733;
	--pro-slate:       #5c6b7a;
	--pro-warm-text:   #5b5f6a;
	--pro-bg:          #f4f7fb;
	--pro-cream:       #faf6ec;
	--pro-cream-2:     #f3ecd9;
	--pro-white:       #ffffff;
	--pro-border:      #e3e8ef;
	--pro-shadow:      0 10px 30px rgba(10,38,71,.08);
	--pro-shadow-lg:   0 22px 50px rgba(10,38,71,.16);
	--pro-shadow-sm:   0 6px 16px -8px rgba(10,38,71,.18);
	--pro-sage:        #144a7a;
	--pro-sage-2:      #1f6193;
	--pro-maroon:      #7a3244;
	--pro-maroon-2:    #a34a5e;
	--pro-radius:      14px;
	--pro-radius-sm:   8px;
	--pro-font-head:   'Playfair Display', Georgia, serif;
	--pro-wide:        1760px;
	--pro-transition:  all .3s cubic-bezier(.4,0,.2,1);
	--pro-ease:        cubic-bezier(.4,0,.2,1);
}

body{ background:var(--pro-bg); }

/* ==========================================================================
   1. Utility bar
   ========================================================================== */
.pro-utilitybar{
	background:linear-gradient(120deg,var(--pro-royal) 0%,var(--pro-royal-2) 100%);
	border-bottom:2px solid var(--pro-gold);
	color:rgba(255,255,255,.85);
	font-size:13px;
}
.pro-utilitybar-inner{
	max-width:var(--pro-wide);
	margin:0 auto;
	padding:8px 24px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	flex-wrap:wrap;
}
.pro-util-left{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.pro-util-left a,
.pro-util-address{ display:inline-flex; align-items:center; gap:7px; }
.pro-util-left a{ color:rgba(255,255,255,.85); text-decoration:none; transition:var(--pro-transition); }
.pro-util-left a:hover{ color:var(--pro-gold-light); }
.pro-util-left i{ color:var(--pro-gold); font-size:12px; }
.pro-util-social{ display:flex; align-items:center; gap:9px; }
.pro-util-social a{
	width:26px;height:26px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:50%;
	background:rgba(255,255,255,.1);
	border:1px solid rgba(255,255,255,.18);
	font-size:12px;
	color:rgba(255,255,255,.85) !important;
	transition:var(--pro-transition);
}
.pro-util-social a:hover{ background:var(--pro-gold); border-color:var(--pro-gold); color:var(--pro-navy) !important; transform:translateY(-2px); }

/* ==========================================================================
   2. Gold accent line
   ========================================================================== */
.pro-goldline{
	height:4px;
	background:linear-gradient(90deg,var(--pro-gold) 0%,var(--pro-gold-light) 50%,var(--pro-gold) 100%);
}

/* ==========================================================================
   3. Masthead
   ========================================================================== */
.pro-masthead{
	background:linear-gradient(120deg,var(--pro-white) 0%,var(--pro-cream) 60%,var(--pro-cream-2) 100%);
	position:relative;
	overflow:hidden;
}
.pro-masthead::before{
	content:"";
	position:absolute; inset:0;
	background:
		radial-gradient(circle at 12% 15%, rgba(10,38,71,.07), transparent 42%),
		radial-gradient(circle at 88% 85%, rgba(212,168,58,.14), transparent 42%);
	pointer-events:none;
}
.pro-masthead-split{
	position:relative;
	max-width:var(--pro-wide);
	margin:0 auto;
	padding:20px 24px;
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:center;
	gap:28px;
}
.pro-masthead-half{ min-width:0; }
.pro-masthead-brand{ display:flex; align-items:center; justify-content:center; gap:22px; }
.pro-masthead-divider{
	align-self:stretch;
	width:1px;
	position:relative;
	background:linear-gradient(180deg,transparent,var(--pro-gold) 18%,var(--pro-gold-light) 50%,var(--pro-gold) 82%,transparent);
}
.pro-masthead-divider i{
	position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
	width:26px;height:26px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	background:var(--pro-cream);
	border:1px solid var(--pro-gold);
	color:var(--pro-gold);
	font-size:11px;
	box-shadow:0 4px 12px -4px rgba(212,168,58,.5);
}
.pro-masthead-side{ display:flex; flex-direction:column; gap:12px; }
.pro-crest-link{ position:relative; flex-shrink:0; display:block; }
.pro-crest{
	height:78px;width:78px;
	object-fit:cover;
	border-radius:50%;
	background:var(--pro-white);
	box-shadow:
		0 0 0 2px rgba(255,255,255,.95),
		0 0 0 3px var(--pro-navy),
		0 0 0 6px var(--pro-gold),
		var(--pro-shadow-lg);
	transition:var(--pro-transition);
}
.pro-crest-link:hover .pro-crest{ transform:scale(1.035); }
.pro-masthead-center{ flex:0 1 auto; max-width:600px; text-align:center; min-width:0; }
.pro-masthead-title{
	font-family:var(--pro-font-head);
	font-size:30px;
	font-weight:700;
	color:var(--pro-navy);
	line-height:1.15;
}
.pro-masthead-flourish{ display:flex; align-items:center; justify-content:center; gap:10px; margin:6px 0; }
.pro-masthead-flourish span{ width:34px;height:1px; background:linear-gradient(90deg,transparent,var(--pro-gold)); }
.pro-masthead-flourish span:last-child{ background:linear-gradient(90deg,var(--pro-gold),transparent); }
.pro-masthead-flourish i{ color:var(--pro-gold); font-size:9px; }
.pro-masthead-subtitle{ margin-top:6px; font-size:13px; font-weight:500; color:var(--pro-warm-text); }
.pro-masthead-subtitle .pro-dot{ margin:0 8px; color:var(--pro-gold); }

.pro-masthead-actions{ display:flex; align-items:center; justify-content:center; gap:10px; }
.pro-mh-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	padding:8px 18px;
	font-size:12.5px; font-weight:700;
	border-radius:999px;
	text-decoration:none;
	white-space:nowrap;
	transition:var(--pro-transition);
}
.pro-mh-btn i{ font-size:12px; }
.pro-mh-btn-outline{ border:1.5px solid var(--pro-royal); color:var(--pro-royal) !important; background:rgba(15,47,99,.06); }
.pro-mh-btn-outline i{ color:var(--pro-royal); }
.pro-mh-btn-outline:hover{ background:var(--pro-royal); color:var(--pro-white) !important; }
.pro-mh-btn-outline:hover i{ color:var(--pro-white); }
.pro-mh-btn-solid{
	background:linear-gradient(135deg,var(--pro-gold) 0%,var(--pro-gold-light) 100%);
	color:var(--pro-navy) !important;
	box-shadow:0 10px 26px -10px rgba(212,168,58,.6);
}
.pro-mh-btn-solid i{ color:var(--pro-navy); }
.pro-mh-btn-solid:hover{ transform:translateY(-1px); box-shadow:0 14px 32px -10px rgba(212,168,58,.7); }

/* Credential strip */
.pro-credential-grid{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.pro-badge-chip{
	display:flex; align-items:center; gap:9px;
	padding:8px 12px;
	background:var(--pro-white);
	border:1px solid var(--pro-border);
	border-radius:var(--pro-radius-sm);
	box-shadow:var(--pro-shadow-sm, 0 6px 16px -8px rgba(10,38,71,.18));
	text-decoration:none;
	transition:var(--pro-transition);
}
.pro-badge-chip:hover{ border-color:var(--pro-gold); transform:translateY(-2px); }
.pro-badge-chip-icon{
	flex-shrink:0;
	width:30px;height:30px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,var(--pro-navy),var(--pro-navy-2));
	color:var(--pro-gold);
	font-size:13px;
}
.pro-badge-text{ display:flex; flex-direction:column; line-height:1.3; min-width:0; }
.pro-badge-text strong{ font-size:12.5px; color:var(--pro-ink); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pro-badge-text span{ font-size:11px; color:var(--pro-slate); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ==========================================================================
   4. Notice ticker (auto-scroll)
   ========================================================================== */
.pro-ticker2{ background:linear-gradient(100deg,var(--pro-royal) 0%,var(--pro-royal-2) 100%); border-bottom:2px solid var(--pro-gold); }
.pro-ticker2-inner{ max-width:var(--pro-wide); margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:16px; }
.pro-ticker2-tag{
	flex-shrink:0;
	display:inline-flex; align-items:center; gap:6px;
	padding:5px 14px; margin:6px 0;
	background:var(--pro-gold); color:var(--pro-navy);
	font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.4px;
	border-radius:999px;
}
.pro-ticker2-track{
	flex:1; overflow:hidden; min-width:0;
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%);
	mask-image:linear-gradient(90deg,transparent 0,#000 32px,#000 calc(100% - 32px),transparent 100%);
}
.pro-ticker2-content{ display:inline-flex; align-items:center; white-space:nowrap; padding:9px 0; animation:pro-ticker-scroll 26s linear infinite; }
.pro-ticker2-set{ display:contents; }
.pro-ticker2-content a{ color:rgba(255,255,255,.92); text-decoration:none; font-size:13.5px; font-weight:500; }
.pro-ticker2-content a:hover{ color:var(--pro-gold-light); text-decoration:underline; }
.pro-ticker2-dot{ margin:0 22px; color:var(--pro-gold); }
.pro-ticker2-track:hover .pro-ticker2-content{ animation-play-state:paused; }
@keyframes pro-ticker-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ==========================================================================
   5. Sticky nav bar
   ========================================================================== */
.pro-nav-bar{ position:sticky; top:0; z-index:500; background:var(--pro-navy); transition:box-shadow .3s var(--pro-ease); }
.pro-nav-bar.is-scrolled{ box-shadow:var(--pro-shadow-lg); }
.pro-nav-inner{ max-width:var(--pro-wide); margin:0 auto; height:64px; padding:0 24px; display:flex; align-items:center; gap:20px; }
.pro-brand-mini{ display:none; align-items:center; gap:10px; text-decoration:none; margin-right:8px; flex-shrink:0; }
.pro-brand-mini img{ height:36px;width:36px; object-fit:cover; border-radius:50%; background:var(--pro-white); }
.pro-brand-mini span{ font-family:var(--pro-font-head); font-size:16px; font-weight:700; color:var(--pro-white); white-space:nowrap; }
.pro-nav-bar.is-scrolled .pro-brand-mini{ display:flex; }

/* Main navigation */
.pro-main-nav > ul{ display:flex; align-items:center; gap:2px; margin:0; padding:0; list-style:none; flex-wrap:wrap; }
.pro-main-nav li{ position:relative; }
.pro-main-nav > ul > li > a{
	position:relative;
	display:flex; align-items:center; gap:5px;
	padding:11px clamp(6px,.6vw,9px);
	font-size:clamp(12px,.9vw,13.5px);
	font-weight:600;
	color:rgba(255,255,255,.9) !important;
	text-decoration:none;
	border-radius:var(--pro-radius-sm);
	transition:color .2s var(--pro-ease), background .2s var(--pro-ease);
	white-space:nowrap;
}
.pro-main-nav > ul > li > a::after{
	content:""; position:absolute; left:12px; right:12px; bottom:4px; height:2px; border-radius:2px;
	background:linear-gradient(90deg,var(--pro-gold),var(--pro-gold-light));
	transform:scaleX(0); transform-origin:left; transition:transform .25s var(--pro-ease);
}
.pro-main-nav > ul > li:hover > a::after,
.pro-main-nav > ul > li.is-open > a::after{ transform:scaleX(1); }
.pro-main-nav > ul > li > a i{ font-size:10px; color:rgba(255,255,255,.55); transition:transform .2s var(--pro-ease); }
.pro-main-nav > ul > li:hover > a,
.pro-main-nav > ul > li.is-open > a{ color:var(--pro-white) !important; background:rgba(255,255,255,.1); }
.pro-main-nav > ul > li:hover > a i,
.pro-main-nav > ul > li.is-open > a i{ transform:rotate(180deg); color:var(--pro-gold); }
.pro-dropdown-toggle{ display:none; }

/* dropdown */
.pro-dropdown{
	position:absolute; top:calc(100% + 10px); left:0; min-width:230px; margin:0; padding:8px; list-style:none;
	background:var(--pro-white); border-radius:var(--pro-radius); box-shadow:var(--pro-shadow-lg);
	border:1px solid var(--pro-border); border-top:3px solid var(--pro-gold);
	opacity:0; visibility:hidden; transform:translateY(6px);
	transition:opacity .2s var(--pro-ease), transform .2s var(--pro-ease), visibility .2s;
	z-index:40;
}
.pro-main-nav > ul > li:hover > .pro-dropdown,
.pro-main-nav > ul > li.is-open > .pro-dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.pro-dropdown li a{ display:block; padding:10px 14px; font-size:14px; font-weight:500; color:var(--pro-ink); text-decoration:none; border-radius:var(--pro-radius-sm); white-space:nowrap; }
.pro-dropdown li a:hover{ background:var(--pro-bg); color:var(--pro-navy); padding-left:18px; }

/* mega menu */
.pro-mega{
	position:absolute; top:calc(100% + 10px); left:0; transform:translateY(6px);
	width:min(620px,86vw); padding:22px;
	display:grid; grid-template-columns:1fr 1fr auto; gap:22px;
	background:var(--pro-white); border-radius:var(--pro-radius); box-shadow:var(--pro-shadow-lg);
	border:1px solid var(--pro-border); border-top:3px solid var(--pro-gold);
	opacity:0; visibility:hidden; transition:opacity .2s var(--pro-ease), transform .2s var(--pro-ease), visibility .2s;
	z-index:40;
}
.pro-main-nav > ul > li:hover > .pro-mega,
.pro-main-nav > ul > li.is-open > .pro-mega{ opacity:1; visibility:visible; transform:translateY(0); }
.pro-mega-col h6{ margin:0 0 10px; font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--pro-gold-dark); }
.pro-mega-col ul{ margin:0; padding:0; list-style:none; }
.pro-mega-col a{ display:block; padding:7px 8px; margin:0 -8px; font-size:14px; font-weight:500; color:var(--pro-ink); text-decoration:none; border-radius:var(--pro-radius-sm); }
.pro-mega-col a:hover{ background:var(--pro-bg); color:var(--pro-navy); }
.pro-mega-note-col{ width:150px; display:flex; align-items:center; }
.pro-mega-note{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding-left:20px; border-left:1px solid var(--pro-border); }
.pro-mega-note img{ width:38px;height:38px; object-fit:cover; border-radius:50%; flex-shrink:0; }
.pro-mega-note p{ margin:0; font-size:11.5px; line-height:1.5; color:var(--pro-slate); }

/* mobile toggle */
.pro-nav-toggle{
	display:none; flex-direction:column; justify-content:center; gap:6px;
	width:44px;height:44px; border:none; background:rgba(255,255,255,.1); border-radius:var(--pro-radius-sm);
	cursor:pointer; flex-shrink:0; margin-left:auto;
}
.pro-nav-toggle span{ display:block; width:20px;height:2px; margin:0 auto; background:var(--pro-white); border-radius:2px; transition:transform .25s var(--pro-ease), opacity .25s var(--pro-ease); }
.pro-nav-toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.pro-nav-toggle.is-active span:nth-child(2){ opacity:0; }
.pro-nav-toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.pro-nav-overlay{
	position:fixed; inset:0; background:rgba(6,26,48,.5);
	opacity:0; visibility:hidden; transition:opacity .3s var(--pro-ease), visibility .3s; z-index:490;
}
.pro-nav-overlay.is-active{ opacity:1; visibility:visible; }

/* ==========================================================================
   6. Responsive — nav
   ========================================================================== */
@media (max-width:1300px){
	.pro-nav-toggle{ display:flex; }
	.pro-main-nav{
		position:fixed; top:0; right:0; width:min(340px,86vw); height:100vh;
		background:var(--pro-white); box-shadow:var(--pro-shadow-lg); padding:24px 18px;
		overflow-y:auto; transform:translateX(100%); transition:transform .35s var(--pro-ease); z-index:495;
	}
	.pro-main-nav.is-open{ transform:translateX(0); }
	.pro-main-nav > ul{ flex-direction:column; align-items:stretch; gap:2px; }
	.pro-main-nav > ul > li > a{ padding:12px 10px; justify-content:space-between; border-bottom:1px solid var(--pro-border); border-radius:0; color:var(--pro-ink) !important; }
	.pro-main-nav > ul > li > a i{ color:var(--pro-slate); }
	.pro-main-nav > ul > li:hover > a,
	.pro-main-nav > ul > li.is-open > a{ background:var(--pro-bg); color:var(--pro-navy) !important; }
	.pro-dropdown-toggle{ display:flex; align-items:center; justify-content:center; position:absolute; right:0; top:0; width:44px;height:44px; background:none; border:none; color:var(--pro-slate); }
	.pro-dropdown, .pro-mega{
		position:static; width:auto; grid-template-columns:1fr; box-shadow:none; border:none; padding:4px 0 4px 14px;
		display:none; opacity:1; visibility:visible; transform:none;
	}
	.pro-mega-note-col{ width:auto; }
	.pro-mega-note{ border-left:none; padding-left:0; }
	.pro-main-nav > ul > li.is-open > .pro-dropdown,
	.pro-main-nav > ul > li.is-open > .pro-mega{ display:block; }
}
@media (max-width:900px){
	.pro-masthead-split{ grid-template-columns:1fr; text-align:center; gap:18px; padding:20px; }
	.pro-masthead-brand{ flex-direction:column; }
	.pro-masthead-divider{ width:100%; height:1px; background:linear-gradient(90deg,transparent,var(--pro-gold) 18%,var(--pro-gold-light) 50%,var(--pro-gold) 82%,transparent); }
	.pro-masthead-title{ font-size:25px; }
	.pro-util-left span,
	.pro-util-address{ display:none; }
}
@media (max-width:560px){
	.pro-crest{ height:60px;width:60px; }
	.pro-masthead-title{ font-size:20px; }
	.pro-credential-grid{ grid-template-columns:1fr; }
	.pro-badge-text span{ display:none; }
	.pro-ticker2-tag span{ display:none; }
}

/* ==========================================================================
   5. Hero slider — cinematic Ken Burns + story-progress + thumbnail rail
   ========================================================================== */
.hero-stage{
	position:relative;
	width:100%;
	height:540px;
	overflow:hidden;
	background:var(--pro-navy-dark);
	box-shadow:var(--pro-shadow-lg);
	isolation:isolate;
}
.hero-frame{
	position:absolute;
	inset:0;
	opacity:0;
	visibility:hidden;
	transition:opacity 1s ease;
	z-index:1;
}
.hero-frame.active{ opacity:1; visibility:visible; z-index:2; }
.hero-frame-img{
	position:absolute;
	inset:-2%;
	width:104%;
	height:104%;
	background-size:cover;
	background-position:center;
	transform:scale(1.02);
	transition:transform .6s ease-out;
}
.hero-frame.active .hero-frame-img{
	animation:heroKenBurns 7s ease-out forwards;
}
.hero-frame:nth-child(odd) .hero-frame-img{ transform-origin:22% 32%; }
.hero-frame:nth-child(even) .hero-frame-img{ transform-origin:78% 68%; }
@keyframes heroKenBurns{
	0%{ transform:scale(1.02); }
	100%{ transform:scale(1.14); }
}
.hero-frame-veil{
	position:absolute;
	inset:0;
	background:
		linear-gradient(100deg, rgba(6,20,38,.92) 0%, rgba(6,20,38,.62) 30%, rgba(6,20,38,.15) 58%, rgba(6,20,38,.35) 100%);
}
.hero-frame-facet{
	position:absolute;
	top:0; bottom:0; right:-6%;
	width:34%;
	background:linear-gradient(160deg, rgba(212,168,58,.16), rgba(212,168,58,0) 60%);
	clip-path:polygon(38% 0, 100% 0, 100% 100%, 12% 100%);
	pointer-events:none;
}

.hero-content{
	position:absolute;
	inset:0;
	z-index:5;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0 6% 64px;
	pointer-events:none;
}
.hero-kicker{
	pointer-events:auto;
	display:inline-flex;
	align-items:center;
	gap:8px;
	width:fit-content;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(212,168,58,.5);
	color:var(--pro-gold);
	font-size:12px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	padding:6px 16px;
	border-radius:30px;
	margin-bottom:20px;
	backdrop-filter:blur(3px);
}
.hero-kicker::before{
	content:"";
	width:7px;height:7px;border-radius:50%;
	background:var(--pro-gold);
}
.hero-title{
	pointer-events:auto;
	max-width:680px;
	color:#fff;
	font-size:42px;
	font-weight:800;
	line-height:1.15;
	margin:0 0 14px;
	text-shadow:0 4px 22px rgba(0,0,0,.5);
}
.hero-title span{
	background:linear-gradient(90deg,var(--pro-gold),#f3d98a);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
}
.hero-subtitle{
	pointer-events:auto;
	max-width:520px;
	color:rgba(255,255,255,.88);
	font-size:15.5px;
	line-height:1.7;
	margin:0;
	text-shadow:0 2px 10px rgba(0,0,0,.4);
}

/* Story-style progress indicators */
.hero-progress{
	position:absolute;
	top:24px;
	left:6%;
	right:6%;
	z-index:6;
	display:flex;
	gap:8px;
}
.hero-progress-track{
	flex:1;
	height:3px;
	border-radius:3px;
	background:rgba(255,255,255,.28);
	overflow:hidden;
	cursor:pointer;
}
.hero-progress-fill{
	height:100%;
	width:0%;
	background:var(--pro-gold);
	border-radius:3px;
}
.hero-progress-track.done .hero-progress-fill{ width:100%; }
.hero-progress-track.active .hero-progress-fill{
	animation:heroProgressFill 7s linear forwards;
}
@keyframes heroProgressFill{ from{ width:0%; } to{ width:100%; } }

/* Thumbnail rail */
.hero-rail{
	position:absolute;
	right:6%;
	bottom:26px;
	z-index:6;
	display:flex;
	gap:10px;
}
.hero-thumb{
	width:64px;
	height:44px;
	border-radius:8px;
	background-size:cover;
	background-position:center;
	cursor:pointer;
	position:relative;
	border:2px solid rgba(255,255,255,.35);
	box-shadow:0 6px 16px rgba(0,0,0,.35);
	transition:var(--pro-transition);
	opacity:.75;
}
.hero-thumb:hover{ opacity:1; transform:translateY(-3px); }
.hero-thumb.active{
	border-color:var(--pro-gold);
	opacity:1;
	transform:translateY(-3px);
	box-shadow:0 10px 22px rgba(0,0,0,.45);
}

@media (max-width:991px){
	.hero-title{ font-size:32px; }
}
@media (max-width:767px){
	.hero-stage{ height:400px; }
	.hero-title{ font-size:23px; }
	.hero-subtitle{ font-size:13.5px; }
	.hero-rail{ display:none; }
	.hero-content{ padding:0 6% 40px; }
}

/* ==========================================================================
   6. Info panels (News, Events, Links)
   ========================================================================== */
.info-panel{
	background:var(--pro-white);
	border-radius:var(--pro-radius);
	box-shadow:var(--pro-shadow);
	overflow:hidden;
	height:460px;
	display:flex;
	flex-direction:column;
	border:1px solid var(--pro-border);
}
.info-panel-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:16px 20px;
	color:#fff;
	font-size:15px;
	font-weight:700;
	letter-spacing:.02em;
}
.info-panel-head span{ display:flex; align-items:center; gap:8px; }
.info-panel-head.tone-news{ background:linear-gradient(90deg,#b8860f,var(--pro-gold-dark)); }
.info-panel-head.tone-past{ background:linear-gradient(90deg,#7a1f1f,var(--pro-red)); }
.info-panel-head.tone-upcoming{ background:linear-gradient(90deg,var(--pro-navy-dark),var(--pro-navy-2)); }
.info-panel-head.tone-links{ background:linear-gradient(90deg,#0d6e46,var(--pro-green)); }
.info-panel-head .view-all{
	background:rgba(255,255,255,.18);
	color:#fff;
	font-size:11.5px;
	font-weight:600;
	padding:5px 11px;
	border-radius:20px;
	text-decoration:none;
	white-space:nowrap;
	transition:var(--pro-transition);
}
.info-panel-head .view-all:hover{ background:#fff; color:var(--pro-navy); }

.info-panel-body{
	flex:1;
	overflow:hidden;
	padding:6px 0;
}
.info-panel-body marquee{ height:100% !important; }

.info-item{
	display:block;
	padding:12px 20px;
	border-bottom:1px solid var(--pro-border);
	text-decoration:none;
	transition:var(--pro-transition);
}
.info-item:last-child{ border-bottom:none; }
.info-item:hover{ background:var(--pro-bg); }
.info-item .info-date{
	display:inline-block;
	background:var(--pro-bg);
	color:var(--pro-navy);
	font-size:11px;
	font-weight:700;
	padding:2px 9px;
	border-radius:20px;
	margin-bottom:6px;
	border:1px solid var(--pro-border);
}
.info-item .info-title{
	display:block;
	color:var(--pro-ink);
	font-weight:600;
	font-size:14px;
	line-height:1.4;
	margin-bottom:3px;
}
.info-item .info-desc{
	display:block;
	color:var(--pro-slate);
	font-size:12.5px;
	line-height:1.5;
}
.info-item.links-item{
	display:flex;
	align-items:center;
	gap:9px;
	color:var(--pro-ink) !important;
	font-weight:600;
	font-size:14px;
}
.info-item.links-item i{ color:var(--pro-green); }
.info-item.links-item:hover{ color:var(--pro-green) !important; }
.info-empty{
	padding:20px;
	color:var(--pro-slate);
	font-size:13px;
	text-align:center;
}

@media (max-width:991px){
	.info-panel{ height:360px; margin-bottom:20px; }
}

/* ==========================================================================
   7. Homepage sections — shared scaffolding
   ========================================================================== */
.hp-section{ max-width:var(--pro-wide); margin:0 auto; padding:56px 24px; }
.hp-section-tight{ padding:32px 24px; }
.hp-bg-cream{ background:linear-gradient(120deg,var(--pro-cream) 0%,#fff 60%); }
.hp-bg-soft{ background:var(--pro-bg); }
.hp-bg-about{
	position:relative; overflow:hidden;
	background:
		radial-gradient(circle at 92% 8%, rgba(212,168,58,.16) 0%, transparent 40%),
		radial-gradient(circle at 6% 96%, rgba(10,38,71,.07) 0%, transparent 38%),
		radial-gradient(rgba(212,168,58,.16) 1px, transparent 1px),
		linear-gradient(120deg,var(--pro-cream) 0%,#fff 60%);
	background-size:auto,auto,26px 26px,auto;
}
.hp-bg-navy{
	position:relative; overflow:hidden;
	background:linear-gradient(135deg,var(--pro-navy) 0%,var(--pro-navy-2) 55%,var(--pro-navy-dark) 100%);
}
.hp-bg-navy::before{
	content:""; position:absolute; inset:0;
	background:
		radial-gradient(circle at 88% 10%, rgba(212,168,58,.18) 0%, transparent 42%),
		radial-gradient(circle at 8% 92%, rgba(212,168,58,.12) 0%, transparent 40%),
		radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
	background-size:auto,auto,28px 28px;
	pointer-events:none;
}
.hp-bg-navy > *{ position:relative; z-index:1; }
.sec-deco-icon{ position:absolute; color:var(--pro-navy); opacity:.05; pointer-events:none; z-index:0; transform:rotate(-12deg); }
.sec-deco-icon-1{ top:-30px; right:6%; font-size:210px; }
.sec-deco-icon-2{ bottom:-40px; left:3%; font-size:160px; color:var(--pro-gold); opacity:.07; transform:rotate(10deg); }
.hp-bg-about > *:not(.sec-deco-icon){ position:relative; z-index:1; }
.hp-bg-navy .sec-deco-icon{ color:var(--pro-gold); opacity:.07; }

.sec-head{ display:flex; flex-direction:column; align-items:center; gap:20px; width:100%; margin-bottom:36px; text-align:center; }
.sec-head-top{ display:flex; align-items:center; gap:18px; }
.sec-head-icon{
	position:relative; height:58px;width:58px; flex-shrink:0; border-radius:18px;
	background:linear-gradient(145deg,var(--pro-gold-light) 0%,var(--pro-gold) 45%,var(--pro-bronze) 100%);
	display:flex; align-items:center; justify-content:center;
	color:var(--pro-navy); font-size:23px;
	box-shadow:0 14px 28px -10px rgba(138,106,36,.55), inset 0 1px 0 rgba(255,255,255,.5);
}
.sec-head-icon::after{ content:""; position:absolute; inset:-6px; border-radius:22px; border:1px solid rgba(212,168,58,.35); }
.sec-head-text{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; text-align:left; }
.sec-eyebrow{
	font-size:11px; font-weight:700; letter-spacing:2.2px; text-transform:uppercase;
	background:linear-gradient(90deg,var(--pro-bronze),var(--pro-gold));
	-webkit-background-clip:text; background-clip:text; color:transparent;
}
.sec-head h2{ font-family:var(--pro-font-head); font-size:30px; font-weight:700; color:var(--pro-navy); line-height:1.15; margin:0; }
.sec-head-invert h2{ color:#fff; }
.sec-ornament{ display:flex; align-items:center; gap:12px; }
.sec-ornament span{ width:70px;height:1px; background:linear-gradient(90deg,transparent,var(--pro-gold)); }
.sec-ornament span:last-child{ background:linear-gradient(90deg,var(--pro-gold),transparent); }
.sec-ornament i{ color:var(--pro-gold); font-size:12px; }

/* ==========================================================================
   8. Stats strip
   ========================================================================== */
.stats-strip{ position:relative; background:linear-gradient(120deg,var(--pro-navy) 0%,var(--pro-navy-2) 55%,var(--pro-navy-dark) 100%); border-top:3px solid var(--pro-gold); box-shadow:var(--pro-shadow); }
.stats-strip-inner{ position:relative; max-width:var(--pro-wide); margin:0 auto; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; }
.stat-item{ display:flex; align-items:center; gap:12px; padding:20px 28px; border-right:1px solid rgba(255,255,255,.14); transition:background .2s ease; }
.stat-item:hover{ background:rgba(255,255,255,.05); }
.stat-item:last-child{ border-right:none; }
.stat-item i{
	font-size:17px; color:var(--pro-gold); flex-shrink:0; height:42px;width:42px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:rgba(212,168,58,.16); border:1px solid rgba(212,168,58,.35);
}
.stat-text{ display:flex; flex-direction:column; line-height:1.25; }
.stat-item strong{ font-family:var(--pro-font-head); font-size:17px; font-weight:700; color:#fff; }
.stat-item .stat-label{ font-size:10px; font-weight:600; color:var(--pro-gold-light); text-transform:uppercase; letter-spacing:.5px; }

/* ==========================================================================
   9. About + Principal's Message
   ========================================================================== */
.about-leader-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:stretch; margin-bottom:28px; }
.about-copy h3{ font-family:var(--pro-font-head); font-size:23px; font-weight:700; color:var(--pro-navy); margin:0 0 12px; }
.about-copy p{ font-size:14px; line-height:1.75; color:var(--pro-ink); margin:0 0 12px; text-align:justify; }
.leader-panel{
	display:flex; flex-direction:column; gap:16px; background:var(--pro-white);
	border:1px solid var(--pro-border); border-left:5px solid var(--pro-gold);
	border-radius:var(--pro-radius); padding:24px; box-shadow:var(--pro-shadow-sm);
}
.leader-tag{
	display:inline-flex; align-self:flex-start; align-items:center; gap:6px;
	padding:5px 14px; background:var(--pro-cream); border:1px solid var(--pro-gold-light);
	border-radius:999px; color:var(--pro-bronze); font-size:10px; font-weight:700;
	text-transform:uppercase; letter-spacing:1px;
}
.leader-panel-body{ display:flex; gap:22px; align-items:flex-start; }
.leader-photo-img{
	flex-shrink:0; display:block; width:170px;height:210px; border-radius:var(--pro-radius);
	object-fit:cover; object-position:center 12%;
	box-shadow:0 0 0 6px var(--pro-cream), 0 0 0 7px var(--pro-border), 0 20px 40px -18px rgba(10,38,71,.45);
}
.leader-panel-body blockquote{
	margin:0; font-family:var(--pro-font-head); font-size:14px; font-style:italic;
	font-weight:500; color:var(--pro-navy); line-height:1.55;
}
.leader-signoff{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:14px; border-top:1px solid var(--pro-border); }
.leader-signoff .name{ font-size:13.5px; font-weight:700; color:var(--pro-navy); }
.leader-signoff .role{ font-size:11.5px; color:var(--pro-slate); }
.leader-cta{
	display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:999px;
	background:var(--pro-navy); color:#fff !important; font-size:12px; font-weight:700;
	text-decoration:none; transition:var(--pro-transition);
}
.leader-cta:hover{ background:var(--pro-navy-2); transform:translateY(-2px); }

.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.feature-mini{ display:flex; align-items:center; gap:12px; padding:15px; background:var(--pro-white); border:1px solid var(--pro-border); border-radius:var(--pro-radius-sm); box-shadow:var(--pro-shadow-sm); }
.feature-mini .feature-mini-icon{
	flex-shrink:0; height:38px;width:38px; border-radius:10px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,var(--pro-navy),var(--pro-navy-2)); color:var(--pro-gold); font-size:16px;
}
.feature-mini h4{ margin:0; font-size:13.5px; font-weight:700; color:var(--pro-navy); }
.feature-mini p{ margin:2px 0 0; font-size:11.5px; color:var(--pro-slate); }

/* ==========================================================================
   10. Courses we offer
   ========================================================================== */
.offer-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.offer-card{
	position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:9px;
	padding:26px 22px; border-radius:var(--pro-radius); overflow:hidden; text-decoration:none;
	box-shadow:var(--pro-shadow); transition:transform .3s var(--pro-ease), box-shadow .3s var(--pro-ease);
}
.offer-card:hover{ transform:translateY(-6px); box-shadow:var(--pro-shadow-lg); }
.offer-card.tone-navy{ background:linear-gradient(150deg,var(--pro-navy) 0%,var(--pro-navy-2) 100%); }
.offer-card.tone-sage{ background:linear-gradient(150deg,var(--pro-sage) 0%,var(--pro-sage-2) 100%); }
.offer-card.tone-gold{ background:linear-gradient(150deg,var(--pro-bronze) 0%,var(--pro-gold) 100%); }
.offer-ghost{ position:absolute; right:-16px; bottom:-20px; font-size:110px; color:rgba(255,255,255,.1); transform:rotate(-8deg); pointer-events:none; line-height:1; }
.offer-icon{
	position:relative; z-index:1; height:48px;width:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:20px;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.35); transition:transform .3s var(--pro-ease);
}
.offer-card:hover .offer-icon{ transform:scale(1.08) rotate(-4deg); }
.offer-tag{ position:relative; z-index:1; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.68); }
.offer-card h4{ position:relative; z-index:1; margin:0; font-family:var(--pro-font-head); font-size:19px; font-weight:700; color:#fff; }
.offer-card p{ position:relative; z-index:1; margin:0; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.78); }
.offer-link{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:12px; font-weight:700; color:var(--pro-gold-light); transition:gap .25s var(--pro-ease); }
.offer-card:hover .offer-link{ gap:9px; }

/* ==========================================================================
   11. Vision / Mission tabs
   ========================================================================== */
.vmo-shell{ display:flex; align-items:stretch; gap:26px; max-width:1180px; margin:0 auto; }
.vmo-nav{ flex:0 0 210px; display:flex; flex-direction:column; gap:10px; }
.vmo-tab-btn{
	display:flex; align-items:center; gap:11px; padding:15px 17px; border-radius:var(--pro-radius-sm);
	border:1px solid var(--pro-border); background:var(--pro-white); color:var(--pro-slate);
	font-family:inherit; font-size:13px; font-weight:700; text-align:left; cursor:pointer;
	transition:all .25s var(--pro-ease);
}
.vmo-tab-btn i{
	flex-shrink:0; height:32px;width:32px; border-radius:9px; display:flex; align-items:center; justify-content:center;
	background:var(--pro-bg); color:var(--pro-bronze); font-size:14px; transition:all .25s var(--pro-ease);
}
.vmo-tab-btn:hover{ border-color:var(--pro-gold-light); color:var(--pro-navy); }
.vmo-tab-btn.is-active{ background:var(--pro-navy); border-color:var(--pro-navy); color:#fff; box-shadow:var(--pro-shadow); transform:translateX(4px); }
.vmo-tab-btn.is-active i{ background:linear-gradient(145deg,var(--pro-gold-light),var(--pro-gold)); color:var(--pro-navy); }
.vmo-page{
	position:relative; flex:1; min-width:0; background:var(--pro-white);
	background-image:repeating-linear-gradient(rgba(10,38,71,.025) 0 1px, transparent 1px 34px);
	border:1px solid var(--pro-border); border-radius:var(--pro-radius); box-shadow:var(--pro-shadow); padding:36px 40px; overflow:hidden;
}
.vmo-page::before{ content:""; position:absolute; top:0;left:0;bottom:0; width:4px; background:linear-gradient(180deg,var(--pro-gold),var(--pro-bronze)); }
.vmo-panel{ display:none; animation:pro-vmo-fade .35s var(--pro-ease); }
.vmo-panel.is-active{ display:block; }
@keyframes pro-vmo-fade{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
.vmo-quote-mark{ display:block; font-size:48px; color:var(--pro-gold); opacity:.3; line-height:1; margin-bottom:4px; }
.vmo-lead{ font-family:var(--pro-font-head); font-size:16.5px; font-style:italic; line-height:1.85; color:var(--pro-ink); text-align:justify; margin:0 0 20px; }
.vmo-lead:first-letter{ float:left; font-size:56px; font-weight:700; line-height:.8; padding:6px 10px 0 0; color:var(--pro-navy); font-style:normal; }
.vmo-list{ list-style:none; margin:0; padding:0; }
.vmo-list li{ position:relative; display:flex; align-items:flex-start; gap:16px; padding:12px 0; border-bottom:1px dashed var(--pro-border); }
.vmo-list li:last-child{ border-bottom:none; }
.vmo-list-num{
	flex-shrink:0; display:flex; align-items:center; justify-content:center; height:28px;width:28px; border-radius:50%;
	background:linear-gradient(145deg,var(--pro-gold-light),var(--pro-gold)); color:var(--pro-navy);
	font-family:var(--pro-font-head); font-size:12px; font-weight:700; box-shadow:0 6px 14px -6px rgba(212,168,58,.5);
}
.vmo-list li span:last-child{ font-size:13.5px; line-height:1.7; color:var(--pro-ink); padding-top:2px; }

/* ==========================================================================
   12. Why choose us
   ========================================================================== */
.why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.why-card{
	position:relative; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
	border-radius:var(--pro-radius); padding:24px 20px; box-shadow:0 20px 40px -24px rgba(0,0,0,.6);
	overflow:hidden; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
	transition:transform .3s var(--pro-ease), background .3s var(--pro-ease), border-color .3s var(--pro-ease), box-shadow .3s var(--pro-ease);
}
.why-card:hover{ transform:translateY(-6px); background:rgba(255,255,255,.1); border-color:rgba(212,168,58,.45); }
.why-card .num{ position:absolute; top:4px; right:12px; font-family:var(--pro-font-head); font-size:42px; font-weight:700; color:rgba(255,255,255,.08); }
.why-card i{
	position:relative; height:44px;width:44px; border-radius:13px;
	background:linear-gradient(145deg,var(--pro-gold-light),var(--pro-gold)); color:var(--pro-navy);
	display:flex; align-items:center; justify-content:center; font-size:17px; margin-bottom:14px;
	box-shadow:0 10px 22px -8px rgba(212,168,58,.55), inset 0 1px 0 rgba(255,255,255,.4);
	transition:transform .3s var(--pro-ease);
}
.why-card:hover i{ transform:scale(1.08) rotate(-4deg); }
.why-card h4{ margin:0 0 7px; font-size:14.5px; font-weight:700; color:#fff; }
.why-card p{ margin:0; font-size:12px; line-height:1.6; color:rgba(255,255,255,.65); }

@media (max-width:1100px){
	.feature-grid{ grid-template-columns:repeat(2,1fr); }
	.offer-grid{ grid-template-columns:repeat(2,1fr); }
	.why-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
	.about-leader-grid{ grid-template-columns:1fr; }
	.leader-panel-body{ flex-direction:column; }
	.leader-photo-img{ width:100%; height:220px; }
	.vmo-shell{ flex-direction:column; }
	.vmo-nav{ flex-direction:row; flex:none; overflow-x:auto; }
	.vmo-page{ padding:26px 22px; }
}
@media (max-width:767px){
	.hp-section{ padding:40px 20px; }
	.sec-head h2{ font-size:22px; }
	.feature-grid,.offer-grid,.why-grid{ grid-template-columns:1fr; }
	.stat-item{ padding:16px 18px; border-right:none; border-bottom:1px solid rgba(255,255,255,.14); width:100%; justify-content:center; }
}

/* ==========================================================================
   13. Footer
   ========================================================================== */
.site-footer{ background:var(--pro-navy); color:rgba(255,255,255,.78); margin-top:0; }
.footer-badges{ background:linear-gradient(120deg,var(--pro-navy-2) 0%,var(--pro-navy) 100%); border-bottom:1px solid rgba(255,255,255,.1); }
.footer-badges-inner{ max-width:var(--pro-wide); margin:0 auto; padding:18px 24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:32px; }
.footer-badge{ display:flex; align-items:center; gap:11px; text-decoration:none; color:#fff; }
.footer-badge img{ height:38px;width:38px; object-fit:cover; border-radius:50%; background:#fff; box-shadow:0 0 0 2px rgba(255,255,255,.15); flex-shrink:0; }
.footer-badge-icon{
	height:38px;width:38px; flex-shrink:0; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(145deg,var(--pro-gold-light) 0%,var(--pro-gold) 45%,var(--pro-bronze) 100%); color:var(--pro-navy); font-size:15px;
}
.footer-badge span{ display:flex; flex-direction:column; gap:2px; }
.footer-badge strong{ font-size:12px; font-weight:700; color:#fff; }
.footer-badge small{ font-size:10.5px; color:rgba(255,255,255,.58); }
a.footer-badge:hover strong{ color:var(--pro-gold-light); }

.footer-top{ max-width:var(--pro-wide); margin:0 auto; padding:48px 24px 30px; display:grid; grid-template-columns:1.2fr 1fr 1fr 1.1fr; gap:30px; }
.footer-col h5{ font-size:12.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--pro-gold); margin:0 0 15px; }
.footer-brand img{ width:54px;height:54px; border-radius:50%; background:#fff; object-fit:cover; margin-bottom:13px; }
.footer-brand p{ margin:0 0 10px; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.68); }
.footer-brand-address{ display:flex; align-items:flex-start; gap:7px; }
.footer-brand-address i{ color:var(--pro-gold); font-size:11px; margin-top:3px; flex-shrink:0; }
.footer-col ul{ list-style:none; margin:0; padding:0; }
.footer-col li{ margin-bottom:9px; }
.footer-col a{ display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.68); text-decoration:none; font-size:12.5px; transition:color .2s var(--pro-ease), gap .2s var(--pro-ease); }
.footer-col a i{ color:var(--pro-gold); font-size:9px; transition:transform .2s var(--pro-ease); }
.footer-col a:hover{ color:var(--pro-gold-light); gap:9px; }
a.footer-contact-row{ display:flex; align-items:center; gap:11px; margin-bottom:12px; text-decoration:none; color:rgba(255,255,255,.78); transition:transform .2s var(--pro-ease); }
a.footer-contact-row:hover{ transform:translateX(3px); color:#fff; }
.footer-contact-row strong{ display:block; font-size:12px; font-weight:700; color:#fff; }
.footer-contact-row small{ display:block; font-size:11px; color:rgba(255,255,255,.6); }
.footer-contact-icon{
	height:33px;width:33px; flex-shrink:0; border-radius:10px; display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:var(--pro-gold); font-size:13px;
}
.footer-social{ display:flex; gap:10px; }
.footer-social a{
	width:33px;height:33px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
	background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.82) !important;
	text-decoration:none; font-size:13px; transition:var(--pro-transition);
}
.footer-social a:hover{ background:var(--pro-gold); border-color:var(--pro-gold); color:var(--pro-navy) !important; transform:translateY(-3px) scale(1.06); }

.footer-bottom{ background:linear-gradient(120deg,var(--pro-royal) 0%,var(--pro-royal-2) 100%); }
.footer-bottom-inner{ max-width:var(--pro-wide); margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:11.5px; color:rgba(255,255,255,.72); }
.footer-credit{ display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.72); }
.footer-credit i{ color:var(--pro-gold); }
.footer-bottom-inner b{ color:#fff; font-weight:700; }

.back-to-top{
	position:fixed; right:22px; bottom:22px; width:42px;height:42px; display:flex; align-items:center; justify-content:center;
	background:var(--pro-navy); color:#fff !important; border-radius:50%; box-shadow:var(--pro-shadow);
	text-decoration:none; opacity:0; visibility:hidden; transform:translateY(10px);
	transition:opacity .25s var(--pro-ease), transform .25s var(--pro-ease), background .2s var(--pro-ease); z-index:480;
}
.back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:var(--pro-gold); color:var(--pro-navy) !important; }

@media (max-width:1100px){ .footer-top{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:900px){ .footer-top{ grid-template-columns:1fr 1fr; } .footer-badges-inner{ gap:20px; } }
@media (max-width:560px){
	.footer-top{ grid-template-columns:1fr; padding:36px 20px 22px; }
	.footer-badges-inner{ flex-direction:column; align-items:flex-start; gap:14px; }
}

/* ==========================================================================
   14. Inner-page hero (About, and other content pages)
   ========================================================================== */
.page-hero{ position:relative; overflow:hidden; padding:44px 24px 54px; text-align:center; }
.page-hero-inner{ position:relative; z-index:1; max-width:760px; margin:0 auto; }
.page-hero-crumb{ display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:16px; font-size:12px; font-weight:600; color:rgba(255,255,255,.55); }
.page-hero-crumb a{ display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.78); text-decoration:none; transition:var(--pro-transition); }
.page-hero-crumb a:hover{ color:var(--pro-gold-light); }
.page-hero-crumb i{ font-size:10px; color:var(--pro-gold); }
.page-hero-inner .sec-eyebrow{ display:inline-block; margin-bottom:10px; }
h1.page-hero-title{ font-family:var(--pro-font-head); font-size:38px; font-weight:700; color:#fff; line-height:1.15; margin:0 0 12px; }
.page-hero-subtitle{ font-size:14px; line-height:1.7; color:rgba(255,255,255,.74); margin:0; }

/* ==========================================================================
   15. About page — story split, fact grid, vision/mission, feature grid
   ========================================================================== */
.about-split{ display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:center; }
.about-split-reverse{ grid-template-columns:1.15fr .85fr; }
.about-split-reverse .about-split-media{ order:2; }
.about-split-media img{ width:100%; height:100%; min-height:300px; object-fit:cover; display:block; border-radius:var(--pro-radius); box-shadow:var(--pro-shadow-lg); }
.about-split-text p{ font-size:13.5px; line-height:1.85; color:var(--pro-warm-text); text-align:justify; margin:0 0 15px; }
.about-split-text p:last-child{ margin-bottom:0; }
.about-split-text strong{ color:var(--pro-navy); }

.about-fact-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.about-fact-card{ display:flex; flex-direction:column; align-items:flex-start; gap:9px; padding:22px 20px; background:var(--pro-white); border:1px solid var(--pro-border); border-radius:var(--pro-radius); box-shadow:var(--pro-shadow-sm); transition:transform .3s var(--pro-ease), box-shadow .3s var(--pro-ease); }
.about-fact-card:hover{ transform:translateY(-5px); box-shadow:var(--pro-shadow-lg); }
.about-fact-icon{
	height:44px;width:44px; flex-shrink:0; border-radius:13px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(145deg,var(--pro-gold-light) 0%,var(--pro-gold) 45%,var(--pro-bronze) 100%); color:var(--pro-navy); font-size:18px;
	box-shadow:0 10px 20px -8px rgba(138,106,36,.5);
}
.about-fact-label{ font-size:11px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; color:var(--pro-slate); }
.about-fact-value{ font-family:var(--pro-font-head); font-size:16px; font-weight:700; color:var(--pro-navy); }

.about-vm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.about-vm-card{ background:rgba(255,255,255,.06); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.14); border-radius:var(--pro-radius); padding:28px 26px; }
.about-vm-icon{
	height:50px;width:50px; display:flex; align-items:center; justify-content:center; border-radius:14px;
	background:linear-gradient(145deg,var(--pro-gold-light) 0%,var(--pro-gold) 45%,var(--pro-bronze) 100%); color:var(--pro-navy); font-size:20px;
	margin-bottom:15px; box-shadow:0 10px 22px -8px rgba(138,106,36,.55);
}
.about-vm-card h3{ font-family:var(--pro-font-head); font-size:20px; font-weight:700; color:#fff; margin:0 0 13px; }
.about-vm-card > p{ font-size:13px; line-height:1.85; color:rgba(255,255,255,.78); text-align:justify; margin:0; }
.about-vm-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; counter-reset:pro-vm-counter; }
.about-vm-list li{ position:relative; padding-left:26px; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.78); counter-increment:pro-vm-counter; }
.about-vm-list li::before{ content:counter(pro-vm-counter, decimal-leading-zero); position:absolute; left:0; top:0; font-family:var(--pro-font-head); font-size:11px; font-weight:700; color:var(--pro-gold); }

.about-feature-tagline{ max-width:700px; margin:0 auto 28px; text-align:center; font-family:var(--pro-font-head); font-size:17px; font-weight:700; font-style:italic; color:var(--pro-navy); }
.about-feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.about-feature-card{ display:flex; flex-direction:column; align-items:flex-start; gap:13px; padding:22px 20px; background:var(--pro-white); border:1px solid var(--pro-border); border-radius:var(--pro-radius); box-shadow:var(--pro-shadow-sm); transition:transform .3s var(--pro-ease), box-shadow .3s var(--pro-ease); }
.about-feature-card:hover{ transform:translateY(-5px); box-shadow:var(--pro-shadow-lg); }
.about-feature-icon{ height:44px;width:44px; flex-shrink:0; border-radius:13px; display:flex; align-items:center; justify-content:center; background:var(--pro-navy); color:var(--pro-gold-light); font-size:18px; }
.about-feature-card p{ font-size:12.5px; line-height:1.7; color:var(--pro-warm-text); text-align:justify; margin:0; }

@media (max-width:1100px){
	.about-fact-grid{ grid-template-columns:repeat(2,1fr); }
	.about-feature-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
	.about-split, .about-split-reverse{ grid-template-columns:1fr; }
	.about-split-reverse .about-split-media{ order:0; }
	.about-split-media img{ min-height:230px; }
	.about-vm-grid{ grid-template-columns:1fr; }
	.page-hero-title{ font-size:28px; }
}
@media (max-width:700px){
	.about-fact-grid, .about-feature-grid{ grid-template-columns:1fr; }
}
