* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: #fff
}

button,input,select,textarea {
    font: inherit
}

img {
    max-width: 100%
}

[data-static-reveal] {
    opacity: 1!important;
    transform: none!important
}

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,400&family=Exo+2:wght@400;600;700;800;900&display=swap'); :root {
    --magenta: #da2279;
    --magenta-dark: #b5185f;
    --blue: #3c3f87;
    --blue-dark: #2c2e66;
    --gold: #f7b733;
    --cream: #f8f9fc;
    --ink: #221c33;
    --gradient-primary: linear-gradient(135deg,#da2279,#3c3f87);
    --gradient-gold: linear-gradient(135deg,#f7b733,#f59e0b);
    --font-heading: 'Oswald','Exo 2','Segoe UI',sans-serif;
    --font-body: 'Roboto','Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

.gb-root {
    font-family: var(--font-body);
    background: var(--cream);
    color: var(--ink);
    overflow-x: hidden;
}

/* ── SKIP NAV (keyboard accessibility) ── */
.skip-nav {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 9999;
    padding: 10px 20px;
    background: var(--magenta);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    border-radius: 0 0 8px 0;
    text-decoration: none;
    transition: left 0s;
}

.skip-nav:focus {
    left: 0;
}

/* ── GLOBAL FOCUS RING ── */
:focus-visible {
    outline: 3px solid var(--magenta);
    outline-offset: 3px;
    border-radius: 4px;
}

input:focus-visible,select:focus-visible,textarea:focus-visible {
    outline: 2px solid var(--magenta);
    outline-offset: 0;
    border-color: var(--magenta) !important;
    border-radius: 10px;
}

button:focus-visible,a:focus-visible {
    outline: 3px solid var(--magenta);
    outline-offset: 3px;
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .hero-urgency-dot {
        animation: none;
    }

    .ticker-track,.life-gb-auto-track {
        animation: none !important;
    }
}

/* ── SECURITY CSS ── */
/* Block print — hides entire page when printing / screenshot-to-PDF */
@media print {
    html,body {
        display: none !important;
        visibility: hidden !important;
    }
}

/* Prevent image drag/save */
img {
    -webkit-user-drag: none;
    pointer-events: none;
}

/* Restore pointer-events on interactive image containers */
a img,button img,.gb-nav-logo,.gb-footer-logo,.campus-map-btn img,.float-btn img {
    pointer-events: auto;
}

/* No text selection on data-dense / contact sections */
.campus-body,.campus-row,.ticker-item,.hero-stats,.why-card,.facility-card {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

/* Urgency badge */
.hero-urgency {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(247,183,51,0.12);
    border: 1px solid rgba(247,183,51,0.45);
    color: var(--gold);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 6px 16px;
    border-radius: 40px;
    margin-bottom: 12px;
}

.hero-urgency-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4ade80;
    flex-shrink: 0;
    box-shadow: 0 0 0 0 rgba(74,222,128,0.6);
    animation: pulse-live 1.8s ease-in-out infinite;
}

/* Early bird offer strip */
.hero-early-bird {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg,rgba(218,34,121,0.18) 0%,rgba(247,183,51,0.18) 100%);
    border: 1.5px solid rgba(247,183,51,0.55);
    padding: 7px 18px;
    border-radius: 40px;
    margin-bottom: 20px;
    cursor: default;
}

.hero-early-bird-icon {
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}

.hero-early-bird-text {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    background: linear-gradient(90deg,var(--magenta),var(--gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-early-bird-pill {
    background: rgba(247,183,51,0.25);
    border: 1px solid rgba(247,183,51,0.5);
    color: var(--gold);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 2px 10px;
    border-radius: 20px;
    flex-shrink: 0;
    white-space: nowrap;
    -webkit-text-fill-color: var(--gold);
}

/* Form card early bird banner */
.hero-form-eb {
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(90deg,var(--magenta),#b81860);
    color: #fff;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 10px 10px 0 0;
    margin: -34px -30px 18px;
    text-align: center;
    justify-content: center;
}

.hero-form-eb svg {
    flex-shrink: 0;
}

@keyframes pulse-live {
    0%,100% {
        box-shadow: 0 0 0 0 rgba(74,222,128,0.6);
    }

    60% {
        box-shadow: 0 0 0 7px rgba(74,222,128,0);
    }
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    z-index: 999;
    background: var(--gradient-primary);
    transition: width 0.1s linear;
}

h1,h2,h3,h4,h5,h6 {
    font-family: var(--font-heading);
}

/* NAVBAR — pixel-matched to goldenbeeschool.edu.in source HTML */
/* ── NAV BASE ───────────────────────────────────────────────────── */
.gb-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    transition: all 0.3s;
}

.gb-nav.scrolled {
    box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}

/* container mx-auto px-4 md:px-6 h-20 */
.gb-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    height: 80px;
    transition: all 0.3s;
}

@media(min-width: 768px) {
    .gb-nav-inner {
        padding:0 24px;
    }
}

/* logo h-14 = 56px */
.gb-nav-logo {
    height: 56px;
    width: auto;
    object-fit: contain;
    display: block;
    transition: all 0.3s;
}

/* ── RIGHT ACTIONS: flex items-center gap-3 md:gap-6 ────────────── */
.gb-nav-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

@media(min-width: 768px) {
    .gb-nav-right {
        gap:24px;
    }
}

/* Parent Login / Apply Now: hidden md:inline — font-display uppercase text-xs font-medium tracking-[0.15em] text-primary/70 */
.gb-nav-text-link {
    display: none;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: rgba(44,46,102,0.7);
    text-decoration: none;
    transition: color 0.2s;
    white-space: nowrap;
}

@media(min-width: 768px) {
    .gb-nav-text-link {
        display:inline;
    }
}

.gb-nav-text-link:hover {
    color: var(--magenta);
}

/* ENQUIRE: hidden sm:inline-flex bg-accent text-white px-5 py-2.5 — NO border-radius, hover:bg-primary */
.gb-nav-enquire {
    display: none;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.15em;
    background: var(--magenta);
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 0;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.3s;
    white-space: nowrap;
}

@media(min-width: 640px) {
    .gb-nav-enquire {
        display:inline-flex;
        align-items: center;
    }
}

.gb-nav-enquire:hover {
    text-decoration: none;
    background: var(--blue-dark);
    color: #fff;
}

/* MENU button: flex items-center gap-2.5 group */
.gb-nav-menu-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

/* "Menu" text: hidden sm:block font-display uppercase text-xs font-semibold tracking-[0.22em] text-primary */
.gb-nav-menu-btn .menu-label {
    display: none;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.22em;
    color: var(--blue-dark);
    transition: color 0.2s;
}

@media(min-width: 640px) {
    .gb-nav-menu-btn .menu-label {
        display:block;
    }
}

.gb-nav-menu-btn:hover .menu-label {
    color: var(--magenta);
}

/* circle: w-10 h-10 = 40px, rounded-full, border border-primary/25 */
.gb-nav-menu-btn .menu-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(44,46,102,0.25);
    color: var(--blue-dark);
    transition: border-color 0.2s,color 0.2s;
}

.gb-nav-menu-btn:hover .menu-icon,.gb-nav-menu-btn[aria-expanded="true"] .menu-icon {
    border-color: var(--magenta);
    color: var(--magenta);
}

/* ── NO HORIZONTAL NAV LINKS — all nav is behind MENU ───────────── */
.gb-nav-links {
    display: none;
}

/* ── MENU OVERLAY DRAWER ─────────────────────────────────────────── */
.gb-mobile-menu {
    display: none;
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    overflow-y: auto;
    flex-direction: column;
    border-top: 2px solid var(--magenta);
    z-index: 49;
    animation: menuSlideIn 0.25s ease;
}

.gb-mobile-menu.open {
    display: flex;
}

@keyframes menuSlideIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gb-mobile-menu-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px 40px;
    width: 100%;
}

@media(min-width: 768px) {
    .gb-mobile-menu-inner {
        padding:0 24px 48px;
    }
}

.gb-mobile-item {
    border-bottom: 1px solid rgba(60,63,135,0.07);
}

.gb-mobile-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--blue-dark);
    text-decoration: none;
    padding: 16px 0;
    text-align: left;
    transition: color 0.2s;
}

.gb-mobile-trigger:hover {
    color: var(--magenta);
}

.gb-mobile-trigger svg {
    transition: transform 0.22s;
    flex-shrink: 0;
    opacity: 0.45;
}

.gb-mobile-trigger.expanded {
    color: var(--magenta);
}

.gb-mobile-trigger.expanded svg {
    transform: rotate(180deg);
    opacity: 1;
}

.gb-mobile-children {
    display: none;
    padding: 0 0 12px;
}

.gb-mobile-children.open {
    display: block;
}

@media(min-width: 640px) {
    .gb-mobile-children.open {
        column-count:2;
        column-gap: 32px;
    }
}

@media(min-width: 1024px) {
    .gb-mobile-children.open {
        column-count:3;
        column-gap: 32px;
    }
}

.gb-mobile-sub-heading {
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.22em;
    color: var(--magenta);
    padding: 10px 0 3px;
    break-inside: avoid;
}

.gb-mobile-sub-link {
    display: block;
    font-family: var(--font-body);
    font-size: 13.5px;
    color: rgba(44,46,102,0.75);
    text-decoration: none;
    padding: 5px 0;
    transition: color 0.15s;
    break-inside: avoid;
}

.gb-mobile-sub-link.indent {
    padding-left: 14px;
    font-size: 13px;
    color: rgba(44,46,102,0.6);
}

.gb-mobile-sub-link:hover {
    color: var(--magenta);
}

.gb-mobile-enquire {
    margin: 24px 0 0;
    display: inline-block;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.15em;
    background: var(--magenta);
    color: #fff;
    padding: 12px 32px;
    text-decoration: none;
    border-radius: 0;
    transition: background 0.3s;
}

.gb-mobile-enquire:hover {
    background: var(--blue-dark);
}

/* FOOTER — matches goldenbeeschool.com exactly */
.gb-footer {
    background: var(--blue-dark);
    color: #fff;
    padding: 64px 0 32px;
    position: relative;
    overflow: hidden;
}

.gb-footer::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 256px;
    height: 256px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    transform: translate(50%,-50%);
    pointer-events: none;
}

.gb-footer::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 192px;
    height: 192px;
    border-radius: 50%;
    background: rgba(218,34,121,0.1);
    transform: translate(-50%,50%);
    pointer-events: none;
}

.gb-footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 48px;
    position: relative;
    z-index: 1;
}

.gb-footer-brand .tagline {
    color: #d1d5db;
    font-style: italic;
    font-size: 16px;
    line-height: 1.6;
    margin: 24px 0;
}

.gb-footer-logo {
    height: 64px;
    width: auto;
    object-fit: contain;
    background: #fff;
    padding: 10px;
    border-radius: 8px;
}

.gb-social {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.gb-social a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: background 0.2s,color 0.2s;
    text-decoration: none;
    flex-shrink: 0;
}

.gb-social a:hover {
    background: var(--magenta);
    color: var(--blue-dark);
}

.gb-social a svg {
    width: 16px;
    height: 16px;
}

.gb-app-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #fff;
    margin: 32px 0 12px;
}

.gb-app-btns {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gb-app-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,0.1);
    padding: 10px 16px;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    transition: background 0.2s,color 0.2s;
}

.gb-app-btn:hover {
    background: var(--magenta);
    color: var(--blue-dark);
}

.gb-app-btn svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.gb-app-btn .dl-small {
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.8;
    display: block;
}

.gb-app-btn .dl-big {
    font-size: 14px;
    font-weight: 700;
    display: block;
}

.gb-footer-col h3 {
    font-family: var(--font-heading);
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    color: #fff;
    margin-bottom: 24px;
}

.gb-footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gb-footer-links li a {
    color: #d1d5db;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.2s;
}

.gb-footer-links li a::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 1px;
    background: var(--magenta);
    transition: width 0.3s ease;
    flex-shrink: 0;
}

.gb-footer-links li a:hover {
    color: var(--magenta);
}

.gb-footer-links li a:hover::before {
    width: 12px;
}

.gb-footer-campus-item {
    margin-bottom: 16px;
}

.gb-footer-campus-item p {
    color: #d1d5db;
    font-size: 14px;
    line-height: 1.6;
}

.gb-footer-campus-item .campus-name {
    font-weight: 600;
    color: #fff;
    display: block;
    margin-bottom: 4px;
}

.gb-footer-campus-item .board-links {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 6px;
}

.gb-footer-campus-item .board-links a {
    color: #d1d5db;
    text-decoration: none;
    transition: color 0.2s;
}

.gb-footer-campus-item .board-links a:hover {
    color: var(--magenta);
}

.gb-footer-campus-item .board-links .sep {
    color: #6b7280;
    margin: 0 6px;
}

.gb-footer-contact address {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gb-footer-contact .contact-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    color: #d1d5db;
}

.gb-footer-contact .contact-row svg {
    color: var(--magenta);
    flex-shrink: 0;
    margin-top: 2px;
    width: 16px;
    height: 16px;
}

.gb-footer-contact .contact-row a {
    color: #d1d5db;
    text-decoration: none;
    transition: color 0.2s;
    display: block;
    padding: 2px 0;
}

.gb-footer-contact .contact-row a:hover {
    color: var(--magenta);
}

.gb-footer-contact .contact-row strong {
    color: #fff;
    display: block;
    margin-bottom: 4px;
}

.gb-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.2);
    padding-top: 32px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.gb-footer-bottom p {
    color: #d1d5db;
    font-size: 14px;
    margin-bottom: 12px;
    line-height: 1.6;
}

.gb-footer-bottom p a {
    color: #d1d5db;
    text-decoration: underline;
    transition: color 0.2s;
}

.gb-footer-bottom p a:hover {
    color: var(--magenta);
}

.gb-footer-bottom .disclaimer {
    font-size: 12px;
    max-width: 800px;
    margin: 0 auto 16px;
}

.gb-footer-bottom-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    color: #d1d5db;
}

.gb-footer-bottom-bar .policy-links {
    display: flex;
    gap: 24px;
}

.gb-footer-bottom-bar .policy-links a {
    color: #d1d5db;
    text-decoration: none;
    transition: color 0.2s;
}

.gb-footer-bottom-bar .policy-links a:hover {
    color: var(--magenta);
}

@media(min-width: 768px) {
    .gb-footer-bottom-bar {
        flex-direction:row;
        justify-content: space-between;
    }
}

@media(max-width: 1100px) {
    .gb-footer-grid {
        grid-template-columns:1fr 1fr;
    }

    .gb-footer-brand {
        grid-column: 1/-1;
    }
}

@media(max-width: 640px) {
    .gb-footer-grid {
        grid-template-columns:1fr;
    }

    .gb-footer-brand {
        grid-column: unset;
    }
}

/* ANIM HEAD */
.anim-head-wrap {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 10px;
}

.anim-eyebrow {
    display: inline-block;
    color: var(--magenta);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .6s ease,transform .6s ease;
    font-family: var(--font-body);
}

.anim-eyebrow.in {
    opacity: 1;
    transform: translateY(0);
}

.anim-title {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 700;
    line-height: 1.15;
    margin: 12px 0 0;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.anim-underline {
    height: 4px;
    width: 0;
    border-radius: 2px;
    margin: 14px auto 0;
    background: var(--gradient-primary);
    transition: width 1s cubic-bezier(.2,.8,.2,1) .3s;
}

.anim-underline.in {
    width: 80px;
}

.anim-sub {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.7;
    font-family: var(--font-body);
}

/* HERO — full campus background */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 110px 0 72px;
    overflow: hidden;
    background: #06081e url('../images/hero-campus-bg.webp') center top/100% auto no-repeat;
}

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,rgba(6,8,30,0.88) 0%,rgba(6,8,30,0.75) 45%,rgba(6,8,30,0.45) 70%,rgba(6,8,30,0.25) 100%);
    pointer-events: none;
}

/* Honeycomb hex decorations */
.hero-hexes {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.hero-hex {
    position: absolute;
    border: 1.5px solid rgba(255,255,255,0.06);
    clip-path: polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
}

.hero-hex.h1 {
    width: 240px;
    height: 276px;
    top: 4%;
    left: -6%;
}

.hero-hex.h2 {
    width: 130px;
    height: 150px;
    top: 62%;
    left: 1%;
}

.hero-hex.h3 {
    width: 175px;
    height: 202px;
    top: 22%;
    left: 3%;
}

.hero-hex.h4 {
    width: 95px;
    height: 110px;
    top: 80%;
    left: 15%;
}

.hero-hex.h5 {
    width: 110px;
    height: 127px;
    bottom: 8%;
    right: 44%;
}

/* Two-column inner grid: text | form */
.hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 48px;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 64px;
    align-items: center;
}

/* LEFT — content */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid rgba(255,255,255,0.28);
    color: rgba(255,255,255,0.85);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 8px 20px;
    border-radius: 40px;
    margin-bottom: 28px;
}

.hero-badge-star {
    color: var(--gold);
}

.hero-h1 {
    font-family: var(--font-heading);
    font-size: clamp(42px,5vw,78px);
    font-weight: 700;
    line-height: 1.0;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 20px;
    text-shadow: 0 4px 40px rgba(0,0,0,0.5);
}

.hero-h1 .magenta {
    color: var(--magenta);
}

.hero-sub {
    font-family: var(--font-body);
    font-size: clamp(14px,1.3vw,17px);
    color: rgba(255,255,255,0.72);
    line-height: 1.8;
    max-width: 520px;
    margin-bottom: 26px;
}

.hero-trust {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin-bottom: 26px;
}

.hero-trust-item {
    display: flex;
    align-items: center;
    gap: 11px;
    font-family: var(--font-body);
    font-size: 13px;
    color: rgba(255,255,255,0.78);
}

.hero-trust-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--magenta);
    flex-shrink: 0;
}

.hero-hashtag {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--magenta);
    letter-spacing: 1.5px;
    margin-bottom: 30px;
}

.hero-stats {
    display: flex;
    gap: 36px;
    flex-wrap: wrap;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.hero-stats .stat .number {
    font-family: var(--font-heading);
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 1px;
}

.hero-stats .stat .number .suffix {
    color: var(--magenta);
}

.hero-stats .stat .label {
    font-size: 10px;
    color: rgba(255,255,255,0.5);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-family: var(--font-body);
    margin-top: 2px;
}

/* RIGHT — form card inside hero */
.hero-form-card {
    background: rgba(255,255,255,0.97);
    border-radius: 20px;
    padding: 34px 30px;
    box-shadow: 0 48px 96px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.06);
}

.hero-form-card .ribbon {
    display: inline-block;
    background: var(--gradient-gold);
    color: #4a2c00;
    font-weight: 800;
    font-size: 11px;
    padding: 4px 14px;
    border-radius: 12px;
    margin-bottom: 14px;
    font-family: var(--font-body);
}

.hero-form-card h3 {
    font-family: var(--font-heading);
    font-size: 20px;
    color: var(--blue-dark);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.hero-form-card .sub {
    font-size: 12px;
    color: #888;
    margin-bottom: 18px;
    font-family: var(--font-body);
}

/* Scroll indicator */
.hero-scroll {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.4);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.hero-scroll-line {
    width: 1px;
    height: 38px;
    background: linear-gradient(to bottom,rgba(255,255,255,0.4),transparent);
    animation: scrollPulse 2s ease-in-out infinite;
}

@keyframes scrollPulse {
    0%,100% {
        opacity: 0.4;
        transform: scaleY(1);
    }

    50% {
        opacity: 1;
        transform: scaleY(0.6);
    }
}

@media(max-width: 1060px) {
    .hero-inner {
        grid-template-columns:1fr 370px;
        gap: 40px;
        padding: 0 32px;
    }
}

@media(max-width: 860px) {
    .hero-inner {
        grid-template-columns:1fr;
        padding: 0 24px;
    }

    .hero-form-card {
        max-width: 480px;
        margin: 0 auto;
    }

    .hero-left {
        text-align: center;
    }

    .hero-trust {
        align-items: center;
    }

    .hero-stats {
        justify-content: center;
    }
}

/* Vertical enquire strip */
.enquire-strip {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 990;
    background: var(--magenta);
    color: #fff;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 20px 10px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.3s,padding 0.3s;
}

.enquire-strip:hover {
    text-decoration: none;
    background: var(--magenta-dark);
    padding: 24px 12px;
    color: #fff;
}

/* Floating action buttons */
.float-btns {
    position: fixed;
    left: 20px;
    bottom: 90px;
    z-index: 990;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.float-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    transition: transform 0.2s,box-shadow 0.2s;
    color: #fff;
}

.float-btn:hover {
    transform: scale(1.12);
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}

.float-btn.whatsapp {
    background: #25D366;
}

.float-btn.phone {
    background: var(--magenta);
}

/* ENQUIRY FORM SECTION */
.form-section {
    background: linear-gradient(135deg,#2c2e66 0%,#1a1a4e 100%);
    padding: 72px 0;
}

.form-section-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.form-section-copy h2 {
    font-family: var(--font-heading);
    font-size: clamp(32px,4vw,52px);
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    line-height: 1.1;
    margin-bottom: 16px;
}

.form-section-copy h2 span {
    color: var(--magenta);
}

.form-section-copy p {
    font-family: var(--font-body);
    font-size: 16px;
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
    margin-bottom: 24px;
}

.form-section-copy .trust-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.form-section-copy .trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255,255,255,0.8);
}

.form-section-copy .trust-item span:first-child {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(218,34,121,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.form-card {
    background: #fff;
    border-radius: 20px;
    padding: 36px;
    box-shadow: 0 40px 80px rgba(0,0,0,0.3);
}

.form-card .ribbon {
    display: inline-block;
    background: var(--gradient-gold);
    color: #4a2c00;
    font-weight: 800;
    font-size: 11px;
    padding: 4px 14px;
    border-radius: 12px;
    margin-bottom: 14px;
    font-family: var(--font-body);
}

.form-card h3 {
    font-family: var(--font-heading);
    font-size: 22px;
    color: var(--blue-dark);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.form-card .sub {
    font-size: 13px;
    color: #888;
    margin-bottom: 20px;
    font-family: var(--font-body);
}

@media(max-width: 900px) {
    .form-section-inner {
        grid-template-columns:1fr;
    }

    .form-section-copy {
        text-align: center;
    }

    .form-section-copy .trust-items {
        align-items: center;
    }
}

.success-box {
    text-align: center;
    padding: 20px 10px;
}

.success-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    margin: 0 auto 12px;
    background: var(--gradient-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 26px;
}

/* old scroll-indicator removed — replaced by .hero-scroll */
/* SECTION COMMON */
.section {
    padding: 16px 0;
}

.section-light {
    background: #fff;
}

.section-alt {
    background: #fdf2f7;
}

.section-dark {
    background: var(--blue-dark);
    color: #fff;
}

/* PILLARS */
.pillars-carousel-wrap {
    position: relative;
    padding: 0 34px;
}

.pillars-carousel {
    overflow: hidden;
    padding: 12px 0;
}

.pillars-carousel-track {
    display: flex;
    align-items: stretch;
    will-change: transform;
}

.pillars-carousel-slide {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
    padding: 0 10px;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    min-height: 0;
}

.pillars-carousel-slide>div {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 0;
}

.pillar-card {
    background: #fff;
    border-radius: 16px;
    padding: 18px 18px 20px;
    border: 1px solid #f0e8ed;
    transition: all 0.4s ease;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.pillar-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gradient-primary);
    opacity: 0;
    transition: opacity 0.4s ease;
    border-radius: 16px 16px 0 0;
    pointer-events: none;
}

.pillar-card:hover::before {
    opacity: 1;
}

.pillar-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(60,63,135,0.1);
    border-color: rgba(218,34,121,0.2);
}

.pillar-card .icon {
    font-size: 28px;
    display: block;
    margin-bottom: 10px;
}

.pillar-card h4 {
    font-family: var(--font-heading);
    font-size: 15px;
    color: var(--blue-dark);
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 1.3;
}

.pillar-card p {
    font-family: var(--font-body);
    font-size: 13px;
    color: #777;
    line-height: 1.5;
    flex: 1;
    margin: 0;
}

.pillars-arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: #fff;
    color: var(--blue-dark);
    font-size: 18px;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(60,63,135,0.18);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: all 0.2s ease;
}

.pillars-arrow:hover {
    background: var(--magenta);
    color: #fff;
}

.pillars-arrow-left {
    left: -6px;
}

.pillars-arrow-right {
    right: -6px;
}

.pillars-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.pillars-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: rgba(60,63,135,0.2);
    cursor: pointer;
    transition: all 0.25s ease;
}

.pillars-dot.active {
    width: 22px;
    border-radius: 4px;
    background: var(--magenta);
}

@media(max-width: 1020px) {
    .pillars-carousel-slide {
        flex:0 0 50%;
        max-width: 50%;
    }
}

@media(max-width: 620px) {
    .pillars-carousel-slide {
        flex:0 0 100%;
        max-width: 100%;
    }

    .pillars-arrow {
        display: none;
    }
}

/* ACADEMIC JOURNEY */
.journey-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 0;
    position: relative;
    margin-top: 16px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(60,63,135,0.09);
}

.journey-card {
    padding: 32px 22px 28px;
    position: relative;
    border-top: 4px solid var(--jc-color,var(--magenta));
    background: #fff;
    transition: box-shadow 0.3s ease,background 0.3s ease;
}

.journey-card:not(:last-child) {
    border-right: 1px solid #f0eaf4;
}

.journey-card:hover {
    background: #fdfbff;
    box-shadow: inset 0 -4px 0 var(--jc-color,var(--magenta));
}

.journey-dot {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--jc-color,var(--magenta));
    position: absolute;
    top: -9px;
    left: 22px;
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px var(--jc-color,var(--magenta));
}

.journey-num {
    font-family: var(--font-heading);
    font-size: 52px;
    font-weight: 700;
    color: var(--jc-color,var(--magenta));
    opacity: 0.07;
    line-height: 1;
    margin-bottom: 14px;
    letter-spacing: -2px;
}

.journey-grades {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--jc-color,var(--magenta));
    background: var(--jc-bg,rgba(218,34,121,0.08));
    padding: 4px 11px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.journey-title {
    font-family: var(--font-heading);
    font-size: 19px;
    font-weight: 700;
    color: var(--blue-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    line-height: 1.15;
}

.journey-desc {
    font-family: var(--font-body);
    font-size: 13px;
    color: #666;
    line-height: 1.7;
}

@media(max-width: 1024px) {
    .journey-grid {
        grid-template-columns:repeat(3,1fr);
    }

    .journey-card:nth-child(3) {
        border-right: none;
    }

    .journey-card:nth-child(1),.journey-card:nth-child(2),.journey-card:nth-child(3) {
        border-bottom: 1px solid #f0eaf4;
    }
}

@media(max-width: 640px) {
    .journey-grid {
        grid-template-columns:repeat(2,1fr);
        border-radius: 12px;
    }

    .journey-card:nth-child(even) {
        border-right: none;
    }

    .journey-card:not(:nth-last-child(-n+2)) {
        border-bottom: 1px solid #f0eaf4;
    }
}

@media(max-width: 400px) {
    .journey-grid {
        grid-template-columns:1fr;
    }

    .journey-card:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid #f0eaf4;
    }
}

/* SECTION GRAY */
/* Dot grid — gray sections */
.section-gray {
    background: radial-gradient(circle,rgba(60,63,135,0.10) 1.5px,transparent 1.5px) 0 0/28px 28px, #f7f8fc;
}

/* WHY GOLDENBEE */
.why-strip {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 1px;
    background: #e4e6ef;
    border-radius: 20px;
    overflow: hidden;
    margin-top: 8px;
    align-items: stretch;
}

/* Reveal wrappers must stretch to full cell height */
.why-strip>* {
    display: flex;
    align-items: stretch;
    height: 100%;
}

.why-card {
    background: #fff;
    padding: 38px 26px 34px;
    transition: background 0.22s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
}

.why-card:hover {
    background: #fdf5fb;
}

.why-icon {
    font-size: 32px;
    display: block;
    margin-bottom: 16px;
    flex-shrink: 0;
}

/* Fixed min-height so all titles start at the same vertical position */
.why-title {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    color: var(--blue-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 9px;
    line-height: 1.2;
    min-height: 2.6em;
    display: flex;
    align-items: flex-start;
}

/* Description grows to fill remaining space so bottom edges align */
.why-desc {
    font-family: var(--font-body);
    font-size: 12.5px;
    color: #777;
    line-height: 1.65;
    flex: 1;
    margin: 0;
}

@media(max-width: 1024px) {
    .why-strip {
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width: 640px) {
    .why-strip {
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width: 400px) {
    .why-strip {
        grid-template-columns:1fr;
    }
}

/* TESTIMONIALS — SINGLE CARD SPOTLIGHT */
.testi-spotlight {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 80px 32px;
    margin-top: 8px;
}

.testi-stage {
    position: relative;
    width: 100%;
    max-width: 740px;
}

.testi-card {
    background: #fff;
    border-radius: 24px;
    padding: 40px 44px;
    border: 1px solid #eceaf4;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 300px;
    box-shadow: 0 8px 40px rgba(60,63,135,0.09);
    animation: testiFade 0.5s cubic-bezier(0.4,0,0.2,1) both;
}

@keyframes testiFade {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.testi-quote-mark {
    font-family: Georgia,serif;
    font-size: 80px;
    line-height: 0.7;
    color: var(--magenta);
    opacity: 0.12;
    margin-bottom: -8px;
    display: block;
    flex-shrink: 0;
}

.testi-text {
    font-family: var(--font-body);
    font-size: 15px;
    color: #444;
    line-height: 1.9;
    font-style: italic;
    flex: 1;
    margin-bottom: 28px;
}

.testi-person {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
}

.testi-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--gradient-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    flex-shrink: 0;
}

.testi-name {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    color: var(--blue-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.testi-role {
    font-family: var(--font-body);
    font-size: 12px;
    color: #999;
    margin-top: 3px;
    line-height: 1.4;
}

.testi-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 2px solid rgba(60,63,135,0.15);
    background: #fff;
    color: var(--blue-dark);
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(60,63,135,0.1);
    transition: all 0.22s ease;
    z-index: 2;
    padding: 0;
}

.testi-arrow:hover {
    background: var(--magenta);
    border-color: var(--magenta);
    color: #fff;
    box-shadow: 0 6px 22px rgba(218,34,121,0.35);
}

.testi-arrow-prev {
    left: -64px;
}

.testi-arrow-next {
    right: -64px;
}

.testi-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}

.testi-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: rgba(60,63,135,0.18);
    cursor: pointer;
    transition: all 0.28s ease;
    padding: 0;
}

.testi-dot.active {
    width: 28px;
    border-radius: 4px;
    background: var(--magenta);
}

@media(max-width: 960px) {
    .testi-spotlight {
        padding:12px 60px 28px;
    }

    .testi-arrow-prev {
        left: -50px;
    }

    .testi-arrow-next {
        right: -50px;
    }
}

@media(max-width: 700px) {
    .testi-spotlight {
        padding:12px 20px 24px;
    }

    .testi-arrow-prev {
        left: -14px;
    }

    .testi-arrow-next {
        right: -14px;
    }

    .testi-arrow {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .testi-card {
        padding: 28px 22px;
    }

    .testi-text {
        font-size: 14px;
    }
}

/* SHARED HEADER */
.life-gb-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 24px;
}

.life-gb-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--gradient-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 7px 18px;
    border-radius: 30px;
    box-shadow: 0 6px 20px rgba(218,34,121,0.28);
    margin-bottom: 16px;
    font-family: var(--font-body);
}

.life-gb-title {
    font-family: var(--font-heading);
    font-size: 34px;
    font-weight: 900;
    color: var(--blue-dark);
    line-height: 1.15;
    margin-bottom: 12px;
}

.life-gb-highlight {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.life-gb-sub {
    font-size: 15px;
    color: #666;
    line-height: 1.7;
    font-family: var(--font-body);
}

@media(max-width: 600px) {
    .life-gb-title {
        font-size:26px;
    }
}

/* FACILITY SHOWCASE */
/* FACILITIES GRID */
.facilities-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px;
    margin-top: 8px;
}

.facility-card {
    background: #fff;
    border-radius: 18px;
    padding: 28px 20px 22px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(60,63,135,0.07);
    border: 1px solid rgba(60,63,135,0.07);
    transition: transform 0.28s ease,box-shadow 0.28s ease;
    position: relative;
    overflow: hidden;
}

.facility-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--fc-accent,var(--magenta));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.facility-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(60,63,135,0.14);
}

.facility-card:hover::after {
    transform: scaleX(1);
}

.facility-icon-ring {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin: 0 auto 16px;
    background: var(--fc-bg,rgba(218,34,121,0.09));
}

.facility-card-name {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    color: var(--blue-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 7px;
    line-height: 1.3;
}

.facility-card-desc {
    font-family: var(--font-body);
    font-size: 12px;
    color: #888;
    line-height: 1.55;
}

@media(max-width: 1024px) {
    .facilities-grid {
        grid-template-columns:repeat(4,1fr);
    }
}

@media(max-width: 720px) {
    .facilities-grid {
        grid-template-columns:repeat(2,1fr);
        gap: 14px;
    }
}

/* FILTER TABS */
.facility-filter-tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 26px;
}

.facility-tab {
    padding: 9px 20px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 700;
    font-family: var(--font-body);
    cursor: pointer;
    transition: all 0.25s ease;
    background: #fff;
    color: var(--blue-dark);
    border: 2px solid rgba(60,63,135,0.15);
}

.facility-tab:hover {
    border-color: var(--magenta);
}

.facility-tab.active {
    background: var(--gradient-primary);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 16px rgba(218,34,121,0.3);
}

.facility-tab.active.academics-tab {
    background: var(--blue);
    border-color: var(--blue);
    box-shadow: 0 4px 16px rgba(60,63,135,0.3);
}

/* LIFE AT GOLDENBEE AUTO */
.life-gb-auto-viewport {
    overflow: hidden;
    padding: 6px 4px 14px;
}

.life-gb-auto-track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation: lifeGbAutoScroll 70s linear infinite;
}

.life-gb-auto-viewport:hover .life-gb-auto-track {
    animation-play-state: paused;
}

@keyframes lifeGbAutoScroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.life-gb-manual-scroll {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding: 6px 4px 16px;
    scroll-snap-type: x proximity;
    cursor: grab;
}

.life-gb-manual-scroll::-webkit-scrollbar {
    height: 6px;
}

.life-gb-manual-scroll::-webkit-scrollbar-thumb {
    background: rgba(60,63,135,0.15);
    border-radius: 3px;
}

.life-gb-manual-scroll.dragging {
    cursor: grabbing;
}

.life-gb-manual-scroll .facility-card-v3 {
    scroll-snap-align: start;
}

/* FACILITY SHOWCASE ROW */
.facility-showcase-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: center;
    gap: 10px 20px;
    padding: 30px 20px;
    width: 100%;
    max-width: 100%;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(60,63,135,0.08);
    border: 1px solid #f0e8ed;
    box-sizing: border-box;
}

.facility-showcase-item {
    text-align: center;
    flex: 1 1 auto;
    min-width: 60px;
    max-width: 120px;
    cursor: default;
}

.facility-showcase-icon {
    width: 100%;
    max-width: 90px;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: contain;
    display: block;
    margin: 0 auto 8px;
    transition: transform 0.25s ease;
}

.facility-showcase-item:hover .facility-showcase-icon {
    transform: translateY(-5px) scale(1.1);
}

.facility-showcase-placeholder {
    width: 90px;
    height: 90px;
    border-radius: 20px;
    background: linear-gradient(135deg,rgba(60,63,135,0.07),rgba(218,34,121,0.07));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    margin: 0 auto 8px;
    transition: transform 0.25s ease;
}

.facility-showcase-item:hover .facility-showcase-placeholder {
    transform: translateY(-5px) scale(1.1);
}

.facility-showcase-name {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    color: var(--blue-dark);
    line-height: 1.3;
    white-space: normal;
    word-break: keep-all;
    max-width: 100%;
}

@media(min-width: 1400px) {
    .facility-showcase-item {
        max-width:150px;
    }

    .facility-showcase-icon {
        max-width: 100px;
    }

    .facility-showcase-row {
        gap: 20px 40px;
        padding: 36px 40px;
    }

    .facility-showcase-name {
        font-size: 13px;
    }

    .facility-showcase-placeholder {
        width: 100px;
        height: 100px;
    }
}

@media(max-width: 1200px) {
    .facility-showcase-item {
        max-width:110px;
    }

    .facility-showcase-icon,.facility-showcase-placeholder {
        max-width: 80px;
        width: 80px;
        height: 80px;
    }

    .facility-showcase-row {
        gap: 10px 25px;
        padding: 30px 20px;
    }

    .facility-showcase-name {
        font-size: 11px;
    }
}

@media(max-width: 992px) {
    .facility-showcase-item {
        max-width:95px;
        min-width: 50px;
    }

    .facility-showcase-icon,.facility-showcase-placeholder {
        max-width: 65px;
        width: 65px;
        height: 65px;
        font-size: 28px;
    }

    .facility-showcase-row {
        gap: 8px 15px;
        padding: 24px 16px;
    }

    .facility-showcase-name {
        font-size: 10px;
    }
}

@media(max-width: 768px) {
    .facility-showcase-row {
        flex-wrap:wrap;
        justify-content: center;
        gap: 25px 30px;
        padding: 30px 20px;
    }

    .facility-showcase-item {
        flex: 0 0 calc(50% - 20px);
        max-width: calc(50% - 20px);
        min-width: unset;
    }

    .facility-showcase-icon {
        max-width: 100px;
        width: 100%;
    }

    .facility-showcase-placeholder {
        width: 100px;
        height: 100px;
        font-size: 40px;
    }

    .facility-showcase-name {
        font-size: 14px;
    }
}

@media(max-width: 480px) {
    .facility-showcase-row {
        gap:20px 25px;
        padding: 24px 16px;
    }

    .facility-showcase-item {
        flex: 0 0 calc(50% - 15px);
        max-width: calc(50% - 15px);
    }

    .facility-showcase-icon,.facility-showcase-placeholder {
        max-width: 90px;
        width: 90px;
        height: 90px;
    }

    .facility-showcase-name {
        font-size: 13px;
    }
}

@media(max-width: 380px) {
    .facility-showcase-row {
        gap:15px 20px;
        padding: 20px 12px;
    }

    .facility-showcase-item {
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }

    .facility-showcase-icon,.facility-showcase-placeholder {
        max-width: 75px;
        width: 75px;
        height: 75px;
        font-size: 30px;
    }

    .facility-showcase-name {
        font-size: 11px;
    }
}

/* FACILITY CARDS */
.facility-card-v3 {
    flex: 0 0 auto;
    width: 260px;
    position: relative;
    background: #fff;
    border-radius: 18px;
    padding: 22px 20px 20px;
    box-sizing: border-box;
    border: 1px solid #f0e8ed;
    overflow: hidden;
    transition: transform 0.3s ease,box-shadow 0.3s ease,border-color 0.3s ease;
}

.facility-card-v3-glow {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(218,34,121,0.12),transparent 70%);
}

.facility-card-v3.academics .facility-card-v3-glow {
    background: radial-gradient(circle,rgba(60,63,135,0.18),transparent 70%);
}

.facility-card-v3.signature .facility-card-v3-glow {
    background: radial-gradient(circle,rgba(247,183,51,0.18),transparent 70%);
}

.facility-card-v3:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 38px rgba(60,63,135,0.14);
}

.facility-card-v3-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 18px;
    border-radius: 12px;
    margin-bottom: 12px;
}

.facility-card-v3.cocurricular .facility-card-v3-icon {
    background: rgba(218,34,121,0.1);
    color: var(--magenta);
}

.facility-card-v3.academics .facility-card-v3-icon {
    background: rgba(60,63,135,0.12);
    color: var(--blue-dark);
}

.facility-card-v3.signature .facility-card-v3-icon {
    background: rgba(247,183,51,0.18);
    color: #b45309;
}

.facility-card-v3-badge {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 6px;
    font-family: var(--font-body);
}

.facility-card-v3.cocurricular .facility-card-v3-badge {
    color: var(--magenta);
}

.facility-card-v3.academics .facility-card-v3-badge {
    color: var(--blue-dark);
}

.facility-card-v3.signature .facility-card-v3-badge {
    color: #b45309;
}

.facility-card-v3 h5 {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
    color: var(--blue-dark);
    margin-bottom: 6px;
    line-height: 1.3;
}

.facility-card-v3 p {
    font-family: var(--font-body);
    font-size: 13px;
    color: #777;
    line-height: 1.6;
}

/* ACCOLADES */
.accolades-section {
    padding: 80px 0;
    background: var(--blue-dark);
    position: relative;
    overflow: hidden;
}

.accolades-section::before {
    content: '';
    position: absolute;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(218,34,121,0.14),transparent 70%);
    top: -250px;
    right: -180px;
    pointer-events: none;
}

.accolades-year-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(247,183,51,0.12);
    border: 1px solid rgba(247,183,51,0.28);
    color: #f7b733;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    padding: 7px 20px;
    border-radius: 30px;
    margin-bottom: 14px;
}

.accolades-title {
    font-family: var(--font-heading);
    font-size: 38px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    line-height: 1.12;
}

.accolades-sub {
    font-family: var(--font-body);
    font-size: 15px;
    color: rgba(255,255,255,0.5);
    margin-bottom: 36px;
}

.accolades-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}

.accolades-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.65);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.22s ease;
    letter-spacing: 0.3px;
}

.accolades-tab:hover {
    background: rgba(255,255,255,0.12);
    color: #fff;
}

.accolades-tab.active {
    background: var(--magenta);
    border-color: var(--magenta);
    color: #fff;
    box-shadow: 0 4px 20px rgba(218,34,121,0.4);
}

/* Horizontal scroll row */
.accolades-scroll-wrap {
    position: relative;
    padding: 0 6px;
}

.accolades-row {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding: 6px 4px 20px;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
}

.accolades-row::-webkit-scrollbar {
    height: 4px;
}

.accolades-row::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.05);
    border-radius: 2px;
}

.accolades-row::-webkit-scrollbar-thumb {
    background: rgba(218,34,121,0.45);
    border-radius: 2px;
}

.accolades-row.dragging {
    cursor: grabbing;
}

.accolades-row>* {
    flex: 0 0 270px;
    max-width: 270px;
    display: flex;
    scroll-snap-align: start;
}

.acc-nav-arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.18);
    background: rgba(20,16,50,0.7);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: 19px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    transition: all 0.22s ease;
    padding: 0;
    z-index: 4;
    line-height: 1;
}

.acc-nav-arrow:hover {
    background: var(--magenta);
    border-color: var(--magenta);
    box-shadow: 0 6px 24px rgba(218,34,121,0.5);
}

.acc-nav-prev {
    left: -22px;
}

.acc-nav-next {
    right: -22px;
}

@media(max-width: 640px) {
    .acc-nav-prev {
        left:-14px;
    }

    .acc-nav-next {
        right: -14px;
    }

    .accolades-row>* {
        flex: 0 0 230px;
        max-width: 230px;
    }
}

/* Base card */
.acc-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    transition: transform 0.25s ease,box-shadow 0.25s ease;
}

.acc-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 48px rgba(0,0,0,0.35);
}

/* Image area — identical dimensions for both tabs */
.acc-img-wrap {
    position: relative;
    width: 100%;
    flex-shrink: 0;
    overflow: hidden;
}

.acc-img-wrap.award-img {
    aspect-ratio: 4/3;
}

.acc-img-wrap.award-img .acc-real-img {
    object-fit: cover;
    padding: 0;
}

.acc-img-wrap.student-img {
    aspect-ratio: 4/3;
}

.acc-img-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.acc-img-placeholder .ph-initial {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 700;
    color: #fff;
}

.acc-img-placeholder .ph-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: rgba(255,255,255,0.35);
    text-align: center;
    padding: 0 14px;
}

.acc-real-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Card body */
.acc-card-body {
    padding: 20px 22px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Award card elements */
.acc-award-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 12px;
    color: rgba(255,255,255,0.45);
    margin-bottom: 8px;
    line-height: 1.4;
}

.acc-award-year {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--gold);
    background: rgba(247,183,51,0.12);
    border: 1px solid rgba(247,183,51,0.22);
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 12px;
    width: fit-content;
}

.acc-award-title {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    flex: 1;
    margin-bottom: 14px;
}

.acc-award-tag {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    color: var(--magenta);
    letter-spacing: 0.5px;
    margin-top: auto;
}

/* Student achiever card elements */
.acc-student-medal {
    font-size: 13px;
    margin-bottom: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    background: rgba(247,183,51,0.14);
    border: 1px solid rgba(247,183,51,0.24);
    border-radius: 20px;
    padding: 5px 12px;
    font-family: var(--font-body);
    font-weight: 700;
    color: #f7b733;
    letter-spacing: 0.3px;
}

.acc-student-name {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 10px 0 2px;
}

.acc-student-grade {
    font-family: var(--font-body);
    font-size: 11px;
    color: rgba(255,255,255,0.38);
    margin-bottom: 10px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.acc-student-achievement {
    font-family: var(--font-body);
    font-size: 12.5px;
    color: rgba(255,255,255,0.75);
    line-height: 1.68;
    flex: 1;
    margin-bottom: 14px;
}

.acc-student-campus {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-body);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-top: auto;
}

/* Milestone card */
.acc-icon {
    font-size: 30px;
    display: flex;
    color: #fff;
    margin-bottom: 14px;
}

.acc-year {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--magenta);
    margin-bottom: 6px;
}

.acc-title {
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    line-height: 1.28;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.acc-body {
    font-family: var(--font-body);
    font-size: 13px;
    color: rgba(255,255,255,0.78);
    line-height: 1.68;
    flex: 1;
}

.acc-milestone-card {
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

@media(max-width: 520px) {
    .accolades-title {
        font-size:26px;
    }
}

/* GALLERY */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 16px;
}

.gallery-item {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    aspect-ratio: 1;
}

.gallery-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.6s ease;
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    text-align: center;
}

.gallery-item:hover .gallery-placeholder {
    transform: scale(1.08);
}

.gallery-item .overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 60%,rgba(44,46,102,0.7));
    opacity: 0;
    transition: opacity 0.4s ease;
    display: flex;
    align-items: flex-end;
    padding: 16px;
}

.gallery-item:hover .overlay {
    opacity: 1;
}

.gallery-item .overlay span {
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    font-family: var(--font-body);
}

/* TESTIMONIALS */
.testimonials-slider {
    position: relative;
    overflow: hidden;
}

.testimonials-track {
    display: flex;
    transition: transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
}

.testimonial-slide {
    min-width: 100%;
    padding: 0 20px;
}

.testimonial-slide .inner {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    padding: 36px;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.testimonial-slide .quote {
    font-size: 40px;
    color: var(--gold);
    line-height: 0;
    display: block;
    margin-bottom: 16px;
}

.testimonial-slide p {
    color: rgba(255,255,255,0.9);
    font-size: 16px;
    line-height: 1.8;
    font-family: var(--font-body);
}

.testimonial-slide .person {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 20px;
}

.testimonial-slide .person .name {
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    font-family: var(--font-heading);
}

.testimonial-slide .person .role {
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    font-family: var(--font-body);
}

.testimonial-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
}

.testimonial-dots button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.2);
    transition: all 0.3s ease;
    cursor: pointer;
}

.testimonial-dots button.active {
    background: var(--gold);
    width: 30px;
    border-radius: 6px;
}

.avatar-letter {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid var(--gold);
    background: var(--gradient-primary);
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-family: var(--font-heading);
}

/* STREAM */
.stream-grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 16px;
    margin-top: 10px;
}

.stream-card {
    background: #f4f5f9;
    border-radius: 14px;
    padding: 24px 16px 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.stream-card:hover {
    background: #fff;
    box-shadow: 0 12px 30px rgba(60,63,135,0.1);
    transform: translateY(-6px);
}

.stream-letter {
    font-family: var(--font-heading);
    display: block;
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 8px;
}

.stream-card h4 {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 800;
    color: var(--blue-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.stream-card p {
    font-family: var(--font-body);
    font-size: 12px;
    color: #888;
}

@media(max-width: 1020px) {
    .stream-grid {
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width: 560px) {
    .stream-grid {
        grid-template-columns:repeat(2,1fr);
    }
}

/* FAQ */
.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.faq-item {
    background: #fff;
    border-radius: 14px;
    padding: 18px 20px;
    border: 1px solid #f0e8ed;
    transition: all 0.3s ease;
}

.faq-item:hover {
    border-color: var(--magenta);
}

.faq-item .question {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--blue-dark);
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-item .question .arrow {
    color: var(--magenta);
}

.faq-item .answer {
    margin-top: 8px;
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    font-family: var(--font-body);
}

/* CTA */
.cta-banner {
    background: var(--gradient-primary);
    border-radius: 28px;
    padding: 44px 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin: 0 24px;
}

.cta-banner h2 {
    font-family: var(--font-heading);
    color: #fff;
    font-size: 28px;
    font-weight: 800;
}

.cta-banner p {
    font-family: var(--font-body);
    color: rgba(255,255,255,0.85);
    margin-top: 10px;
    font-size: 15px;
}

.cta-banner .buttons {
    margin-top: 22px;
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-white {
    background: #fff;
    color: var(--magenta-dark);
    font-weight: 800;
    padding: 13px 32px;
    border-radius: 28px;
    border: none;
    font-size: 14px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    font-family: var(--font-body);
    text-decoration: none;
    display: inline-block;
}

.btn-white:hover {
    transform: translateY(-3px);
}

.btn-outline {
    background: transparent;
    color: #fff;
    font-weight: 700;
    padding: 13px 28px;
    border-radius: 28px;
    border: 1.5px solid rgba(255,255,255,0.5);
    font-size: 14px;
    transition: all 0.3s ease;
    font-family: var(--font-body);
    text-decoration: none;
    display: inline-block;
}

.btn-outline:hover {
    background: rgba(255,255,255,0.1);
    transform: translateY(-3px);
}

/* FAQ */
.faq-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 16px;
    margin-top: 8px;
}

.faq-card {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #ede8f5;
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.25s ease,border-color 0.25s ease;
}

.faq-card:hover {
    box-shadow: 0 8px 30px rgba(60,63,135,0.09);
    border-color: rgba(218,34,121,0.2);
}

.faq-card.open {
    border-color: rgba(218,34,121,0.3);
    box-shadow: 0 8px 30px rgba(218,34,121,0.08);
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
}

.faq-question-text {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    color: var(--blue-dark);
    line-height: 1.35;
}

.faq-chevron {
    flex-shrink: 0;
    font-size: 11px;
    color: var(--magenta);
    transition: transform 0.28s cubic-bezier(0.4,0,0.2,1);
}

.faq-card.open .faq-chevron {
    transform: rotate(180deg);
}

.faq-answer-wrap {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.32s cubic-bezier(0.4,0,0.2,1);
}

.faq-card.open .faq-answer-wrap {
    max-height: 200px;
}

.faq-answer {
    font-family: var(--font-body);
    font-size: 14px;
    color: #666;
    line-height: 1.75;
    padding: 0 22px 18px;
}

@media(max-width: 680px) {
    .faq-grid {
        grid-template-columns:1fr;
    }
}

/* CAMPUSES */
.campuses-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 26px;
    align-items: stretch;
}

.campus-card {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #f0e8ed;
    box-shadow: 0 8px 30px rgba(60,63,135,0.06);
    transition: all 0.35s ease;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.campus-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(218,34,121,0.12);
    border-color: rgba(218,34,121,0.25);
}

.campus-head {
    text-align: center;
    padding: 22px 20px 0;
    flex-shrink: 0;
}

.campus-head h4 {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 800;
    color: var(--blue-dark);
}

.campus-img {
    height: 190px;
    margin: 16px 20px 0;
    border-radius: 14px;
    overflow: hidden;
    flex-shrink: 0;
}

.campus-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.campus-card:hover .campus-img img {
    transform: scale(1.06);
}

.campus-body {
    padding: 18px 22px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.campus-section-title {
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    color: var(--blue-dark);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 14px 0 8px;
}

.campus-section-title:first-child {
    margin-top: 0;
}

.campus-row {
    font-family: var(--font-body);
    display: flex;
    gap: 8px;
    font-size: 12.5px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 4px;
}

.campus-row a {
    color: var(--magenta);
    font-weight: 600;
    text-decoration: none;
}

.campus-row a:hover {
    text-decoration: underline;
}

.campus-row b {
    color: var(--blue-dark);
}

.campus-map-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--gradient-primary);
    color: #fff;
    font-weight: 800;
    font-size: 13px;
    padding: 12px 20px;
    border-radius: 24px;
    text-decoration: none;
    margin-top: auto;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-family: var(--font-body);
}

.campus-map-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(218,34,121,0.3);
}

@media(max-width: 1020px) {
    .campuses-grid {
        grid-template-columns:repeat(2,1fr);
    }
}

/* BACK TO TOP */
/* ═══════════════════════════════════════════════
           COMPREHENSIVE RESPONSIVE SYSTEM
           Covers: 4K → large desktop → MacBook → laptop
                   → tablet landscape → tablet portrait
                   → large mobile → small mobile → tiny
           ═══════════════════════════════════════════════ */
/* ── LARGE DESKTOP (≥1440px) ── */
@media(min-width: 1440px) {
    .container {
        max-width:1360px;
    }

    .anim-title {
        font-size: 40px;
    }
}

/* ── LAPTOP (≤1199px) ── */
@media(max-width: 1199px) {
    .container {
        padding:0 20px;
    }

    .anim-title {
        font-size: 32px;
    }

    .accolades-section {
        padding: 64px 0;
    }

    .form-section {
        padding: 60px 0;
    }
}

/* ── TABLET LANDSCAPE (≤1023px) ── */
@media(max-width: 1023px) {
    .container {
        padding:0 18px;
    }

    .anim-title {
        font-size: 30px;
    }

    .accolades-section {
        padding: 56px 0;
    }

    .accolades-title {
        font-size: 32px;
    }

    .form-section {
        padding: 52px 0;
    }

    .cta-banner {
        padding: 38px 30px;
    }

    .life-gb-title {
        font-size: 30px;
    }

    .stream-grid {
        grid-template-columns: repeat(3,1fr);
    }
}

/* ── TABLET PORTRAIT (≤767px) ── */
@media(max-width: 767px) {
    .container {
        padding:0 16px;
    }

    .anim-title {
        font-size: 26px;
    }

    .anim-sub {
        font-size: 14px;
    }

    .accolades-section {
        padding: 48px 0;
    }

    .accolades-title {
        font-size: 26px;
    }

    .accolades-tabs {
        gap: 8px;
    }

    .accolades-tab {
        padding: 8px 16px;
        font-size: 12px;
    }

    .form-section {
        padding: 44px 0;
    }

    .hero {
        padding: 80px 0 52px;
    }

    .cta-banner {
        padding: 32px 22px;
        margin: 0 8px;
        border-radius: 20px;
    }

    .cta-banner h2 {
        font-size: 24px;
    }

    .life-gb-title {
        font-size: 28px;
    }

    .campuses-grid {
        grid-template-columns: 1fr;
    }

    .gallery-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .faq-grid {
        grid-template-columns: 1fr;
    }

    .testi-spotlight {
        padding: 10px 50px 24px;
    }

    .testi-arrow-prev {
        left: -40px;
    }

    .testi-arrow-next {
        right: -40px;
    }

    .gb-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .gb-footer-brand {
        grid-column: 1/-1;
    }

    .enquire-strip {
        display: none;
    }
}

/* ── MOBILE LARGE (≤599px) ── */
@media(max-width: 599px) {
    .container {
        padding:0 14px;
    }

    .anim-title {
        font-size: 23px;
    }

    .anim-sub {
        font-size: 13.5px;
    }

    .accolades-section {
        padding: 40px 0;
    }

    .accolades-title {
        font-size: 22px;
    }

    .form-section {
        padding: 40px 0;
    }

    .hero {
        padding: 76px 0 48px;
    }

    .hero-form-card {
        padding: 26px 18px;
    }

    .hero-stats {
        gap: 18px;
    }

    .hero-stats .stat .number {
        font-size: 26px;
    }

    .cta-banner {
        padding: 28px 16px;
        border-radius: 16px;
        margin: 0 4px;
    }

    .cta-banner h2 {
        font-size: 22px;
    }

    .cta-banner p {
        font-size: 14px;
    }

    .life-gb-title {
        font-size: 24px;
    }

    .testi-card {
        padding: 26px 20px;
    }

    .stream-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .why-strip {
        grid-template-columns: repeat(2,1fr);
    }

    .journey-title {
        font-size: 16px;
    }

    .gb-footer-grid {
        grid-template-columns: 1fr;
    }

    .gb-footer-brand {
        grid-column: unset;
    }

    .campuses-grid {
        grid-template-columns: 1fr;
    }
}

/* ── MOBILE (≤480px) ── */
@media(max-width: 480px) {
    .float-btns {
        bottom:70px;
    }

    .hero-think-badge {
        display: none;
    }

    .container {
        padding: 0 12px;
    }

    .anim-title {
        font-size: 21px;
    }

    .anim-sub {
        font-size: 13px;
    }

    .accolades-section {
        padding: 36px 0;
    }

    .accolades-title {
        font-size: 20px;
    }

    .form-section {
        padding: 36px 0;
    }

    .form-card {
        padding: 28px 20px;
    }

    .hero {
        padding: 72px 0 44px;
    }

    .hero-inner {
        padding: 0 14px;
    }

    .hero-form-card {
        padding: 22px 16px;
    }

    .hero-stats {
        gap: 14px;
    }

    .hero-stats .stat .number {
        font-size: 24px;
    }

    .testi-spotlight {
        padding: 8px 16px 18px;
    }

    .testi-arrow {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    .testi-arrow-prev {
        left: -10px;
    }

    .testi-arrow-next {
        right: -10px;
    }

    .testi-card {
        padding: 20px 16px;
        min-height: unset;
    }

    .testi-quote-mark {
        font-size: 60px;
    }

    .life-gb-title {
        font-size: 22px;
    }

    .gb-nav-enquire {
        padding: 8px 12px;
        font-size: 10px;
        letter-spacing: 0.1em;
    }

    .cta-banner {
        padding: 24px 14px;
        border-radius: 14px;
        margin: 0;
    }

    .cta-banner h2 {
        font-size: 20px;
    }

    .facility-tab {
        padding: 7px 14px;
        font-size: 12px;
    }

    .acc-nav-arrow {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .faq-question {
        padding: 16px 16px;
    }

    .faq-answer {
        padding: 0 16px 14px;
        font-size: 13px;
    }

    .faq-question-text {
        font-size: 14px;
    }

    .accolades-tabs {
        gap: 6px;
    }

    .accolades-tab {
        padding: 7px 12px;
        font-size: 11px;
    }
}

/* ── TINY MOBILE (≤375px) ── */
@media(max-width: 375px) {
    .container {
        padding:0 10px;
    }

    .gb-nav-logo {
        height: 46px;
    }

    .gb-nav-inner {
        padding: 0 12px;
    }

    .anim-title {
        font-size: 19px;
    }

    .why-strip {
        grid-template-columns: 1fr;
    }

    .stream-grid {
        grid-template-columns: 1fr 1fr;
    }

    .testi-card {
        padding: 18px 14px;
    }

    .testi-arrow {
        display: none;
    }

    .acc-nav-prev,.acc-nav-next {
        display: none;
    }

    .hero-stats .stat .number {
        font-size: 22px;
    }

    .cta-banner h2 {
        font-size: 18px;
    }

    .faq-question-text {
        font-size: 13px;
    }

    .journey-title {
        font-size: 15px;
    }

    .journey-desc {
        font-size: 12px;
    }

    .acc-card-body {
        padding: 16px 16px 18px;
    }
}

/* CRM static-export interaction safeguards */
.hero-stats .stat .number {
    font-variant-numeric: tabular-nums;
}

.accolades-tab svg,.acc-award-badge svg,.acc-award-tag svg,.acc-student-medal svg,.acc-student-campus svg {
    flex: 0 0 auto;
}

.accolades-row {
    scroll-behavior: smooth;
}

.accolades-row[hidden] {
    display: none!important;
}

.testi-card {
    transition: opacity .2s ease,transform .2s ease;
}

.testi-arrow,.testi-dot,.accolades-tab,.acc-nav-arrow {
    touch-action: manipulation;
}
