:root {
  --navy:#1a3a6b; --navy-dark:#0f2347; --navy-light:#2a5298;
  --gold:#f5c518; --gold-dark:#d4a017; --gold-light:#ffd84d;
  --white:#ffffff; --off-white:#f8f7f4; --light-bg:#eef2f9;
  --text-dark:#1a1a2e; --text-mid:#4a5568; --text-light:#718096;
  --border:rgba(26,58,107,0.12);
  --glass:rgba(255,255,255,0.08);
  --glass-border:rgba(255,255,255,0.15);
  --ease-out-expo:cubic-bezier(0.16,1,0.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--text-dark);overflow-x:hidden}
img{max-width:100%}

/* ── TOP BAR ── */
.top-bar{background:var(--navy-dark);color:rgba(255,255,255,0.75);font-size:12.5px;position:fixed;top:0;left:0;right:0;z-index:1001;height:38px;display:flex;align-items:center}
.top-bar-inner{max-width:1400px;margin:0 auto;width:100%;padding:0 5%;display:flex;align-items:center;gap:26px;overflow:hidden}
.top-bar-item{white-space:nowrap;flex-shrink:0}
.top-bar-item a{color:inherit;text-decoration:none;transition:color .2s;white-space:nowrap;display:inline-flex;align-items:center;min-height:26px}
.top-bar-item a:hover{color:var(--gold)}
.top-bar-socials{margin-left:auto;display:flex;gap:8px}
.top-bar-socials a{color:rgba(255,255,255,0.65);text-decoration:none;border:1px solid rgba(255,255,255,0.18);border-radius:6px;width:28px;height:26px;display:flex;align-items:center;justify-content:center;transition:all .2s}
.top-bar-socials a:hover{color:var(--navy-dark);background:var(--gold);border-color:var(--gold)}

/* ── NAV ── */
nav{
  position:fixed;top:38px;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:90px;
  background:#fff;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(26,58,107,0.08);
  transition:box-shadow 0.4s var(--ease-out-expo),background 0.4s;
}
nav.scrolled{
  box-shadow:0 4px 32px rgba(26,58,107,0.12);
  background:#fff;
}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-logo img{height:80px;width:auto;object-fit:contain;display:block;transition:transform 0.3s var(--ease-out-expo)}
.nav-logo:hover img{transform:scale(1.04)}
.nav-logo .logo-r{align-self:flex-start;margin:6px 0 0 2px;font-size:15px;font-weight:700;line-height:1;color:var(--navy-dark)}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{
  text-decoration:none;font-size:14px;font-weight:500;
  color:var(--text-mid);transition:color 0.2s;position:relative;padding-bottom:2px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1.5px;
  background:var(--navy);transform:scaleX(0);transform-origin:center;
  transition:transform 0.3s var(--ease-out-expo);
}
.nav-links a:hover,.nav-links a.active{color:var(--navy)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{
  background:var(--navy);color:var(--gold);border:none;cursor:pointer;
  padding:11px 24px;border-radius:10px;font-family:'DM Sans',sans-serif;
  font-size:14px;font-weight:600;letter-spacing:0.02em;text-decoration:none;
  transition:background 0.2s,transform 0.2s,box-shadow 0.2s;
  box-shadow:0 2px 12px rgba(26,58,107,0.2);
}
.nav-cta:hover{background:var(--navy-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(26,58,107,0.3)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border-radius:8px;transition:background 0.2s}
.hamburger:hover{background:rgba(26,58,107,0.06)}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:all 0.35s var(--ease-out-expo)}

/* ── MOBILE MENU ── */
.mobile-menu{
  position:fixed;top:128px;left:0;right:0;bottom:0;
  background:rgba(255,255,255,0.98);backdrop-filter:blur(24px);
  z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:32px;transform:translateY(-100%);opacity:0;
  transition:transform 0.45s var(--ease-out-expo),opacity 0.45s;
  pointer-events:none;
}
.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:all}
.mobile-menu a{
  font-size:22px;font-weight:600;color:var(--navy);text-decoration:none;
  font-family:'Playfair Display',serif;
  transform:translateY(12px);opacity:0;transition:transform 0.4s var(--ease-out-expo),opacity 0.4s,color 0.2s;
}
.mobile-menu.open a{transform:translateY(0);opacity:1}
.mobile-menu.open a:nth-child(1){transition-delay:0.05s}
.mobile-menu.open a:nth-child(2){transition-delay:0.1s}
.mobile-menu.open a:nth-child(3){transition-delay:0.15s}
.mobile-menu.open a:nth-child(4){transition-delay:0.2s}
.mobile-menu.open a:nth-child(5){transition-delay:0.25s}
.mobile-menu.open a:nth-child(6){transition-delay:0.3s}
.mobile-menu a:hover{color:var(--gold-dark)}

/* ── HERO ── */
.hero{
  min-height:100vh;display:flex;align-items:center;position:relative;
  overflow:hidden;padding-top:128px;
}
.hero-bg-img{
  position:absolute;inset:0;
  background-image:url('../../images/WhatsApp%20Image%202026-09-08%20at%202.00.39%20PM.jpeg');
  background-size:cover;background-position:center 60%;
  transform:scale(1.08);animation:hero-zoom 18s ease-in-out infinite alternate;
}
@keyframes hero-zoom{0%{transform:scale(1.08) translateX(0)}100%{transform:scale(1.15) translateX(-2%)}}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(10,20,50,0.9) 0%,rgba(15,35,71,0.8) 48%,rgba(21,50,110,0.62) 100%);
}
.hero-bg-pattern{position:absolute;inset:0;opacity:0.03;background-image:repeating-linear-gradient(45deg,var(--gold) 0,var(--gold) 1px,transparent 0,transparent 50%);background-size:28px 28px;pointer-events:none}
.hero-orb{position:absolute;border-radius:50%;pointer-events:none}
.hero-orb-1{width:700px;height:700px;top:-220px;right:-180px;background:radial-gradient(circle,rgba(245,197,24,0.15) 0%,transparent 70%);animation:orb-pulse 8s ease-in-out infinite}
.hero-orb-2{width:500px;height:500px;bottom:-120px;left:-120px;background:radial-gradient(circle,rgba(42,82,152,0.3) 0%,transparent 70%);animation:orb-pulse 6s ease-in-out infinite;animation-delay:2s}
.hero-orb-3{width:300px;height:300px;top:30%;left:42%;background:radial-gradient(circle,rgba(245,197,24,0.08) 0%,transparent 70%);animation:orb-pulse 10s ease-in-out infinite;animation-delay:4s}
@keyframes orb-pulse{0%,100%{transform:scale(1);opacity:0.7}50%{transform:scale(1.15);opacity:1}}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:80px 5%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(245,197,24,0.12);border:1px solid rgba(245,197,24,0.35);color:var(--gold);padding:7px 16px;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:26px;animation:fade-in-down 0.8s var(--ease-out-expo) 0.2s both}
.hero-tag::before{content:'♪';margin-right:2px}
h1{font-family:'Playfair Display',serif;font-size:clamp(38px,5.5vw,70px);font-weight:900;line-height:1.08;color:var(--white);margin-bottom:26px;animation:fade-in-up 1s var(--ease-out-expo) 0.35s both}
h1 span{color:var(--gold);font-style:italic}
.hero-desc{font-size:17px;color:rgba(255,255,255,0.72);line-height:1.75;margin-bottom:18px;font-weight:300;animation:fade-in-up 1s var(--ease-out-expo) 0.5s both}
.hero-desc-2{font-size:15px;line-height:1.65;color:rgba(255,255,255,0.62)}
.hero-founded{display:block;line-height:1.6;color:rgba(255,255,255,0.5);font-size:13px;margin-bottom:36px;animation:fade-in-up 1s var(--ease-out-expo) 0.6s both}
.hero-founded strong{color:var(--gold);font-weight:600}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:52px;animation:fade-in-up 1s var(--ease-out-expo) 0.7s both}
.btn-primary{background:var(--gold);color:var(--navy-dark);border:none;cursor:pointer;padding:15px 30px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;text-decoration:none;display:inline-block;transition:all 0.3s var(--ease-out-expo);box-shadow:0 4px 24px rgba(245,197,24,0.45);position:relative;overflow:hidden}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-3px);box-shadow:0 10px 36px rgba(245,197,24,0.55)}
.btn-outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,0.35);cursor:pointer;padding:15px 30px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;text-decoration:none;display:inline-block;transition:all 0.3s var(--ease-out-expo);backdrop-filter:blur(8px)}
.btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.12);transform:translateY(-3px)}
.hero-stats{display:flex;gap:18px 22px;flex-wrap:wrap;animation:fade-in-up 1s var(--ease-out-expo) 0.85s both}
.hero-stat-num{font-family:'Playfair Display',serif;font-size:28px;font-weight:900;color:var(--gold);line-height:1}
.hero-stat-label{font-size:10px;color:rgba(255,255,255,0.5);margin-top:5px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em}

.hero-visual{position:relative;display:flex;justify-content:center;animation:fade-in-up 1s var(--ease-out-expo) 0.5s both}
.hero-visual-inner{position:relative;width:100%;max-width:380px;margin:0 auto}
.hero-badge-card{background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:28px;padding:44px 36px;text-align:center;width:100%;max-width:380px;animation:float 5s ease-in-out infinite;box-shadow:0 32px 80px rgba(0,0,0,0.3)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hero-card-img-wrap{position:relative;margin-bottom:20px}
.hero-card-img{width:100%;border-radius:18px;aspect-ratio:16/10;object-fit:cover;margin-bottom:0;display:block;box-shadow:0 8px 32px rgba(0,0,0,0.4)}
.hero-badge-title{font-family:'Anton',sans-serif;font-size:30px;font-weight:400;letter-spacing:0.02em;color:var(--white);margin-bottom:8px}
.hero-badge-sub{background:var(--gold);color:var(--navy-dark);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:5px 18px;border-radius:100px;display:inline-block;margin-bottom:22px}
.disciplines{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.disc-pill{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.9);border:1px solid rgba(255,255,255,0.18);border-radius:100px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;user-select:none;transition:background 0.2s,transform 0.2s}
.disc-pill:hover{background:rgba(255,255,255,0.2);transform:scale(1.06)}
.disc-pill:active,.disc-pill.playing{background:var(--gold);color:var(--navy-dark);transform:scale(0.94);border-color:var(--gold)}
.award-badge-float{position:absolute;background:var(--gold);color:var(--navy-dark);border-radius:16px;padding:12px 18px;font-size:12px;font-weight:700;box-shadow:0 8px 28px rgba(0,0,0,0.3);top:-22px;right:-18px;z-index:5;animation:float 4s ease-in-out infinite;text-align:center;max-width:140px;line-height:1.5;border:2px solid rgba(255,255,255,0.2)}
.note-float{position:absolute;background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.92);border:1px solid rgba(255,255,255,0.22);border-radius:14px;padding:10px 16px;font-size:12px;font-weight:500;box-shadow:0 4px 20px rgba(0,0,0,0.2);backdrop-filter:blur(10px)}
.note-1{top:12px;left:12px;right:auto;bottom:auto;margin-right:0;font-size:11px;padding:8px 12px;animation:float 5.5s ease-in-out infinite;animation-delay:1.5s}

.scroll-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,0.4);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;animation:fade-in-up 1s var(--ease-out-expo) 1.2s both;z-index:2}
.scroll-hint-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,0.4),transparent);animation:scroll-line 1.5s ease-in-out infinite}
@keyframes scroll-line{0%,100%{transform:scaleY(1);opacity:1}50%{transform:scaleY(0.5);opacity:0.4}}

/* ── PAGE HERO (inner pages) ── */
.page-hero{position:relative;padding:182px 5% 80px;background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 60%,var(--navy-light) 100%);overflow:hidden;text-align:center}
.page-hero::before{content:'';position:absolute;inset:0;opacity:0.04;background-image:radial-gradient(circle,var(--gold) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}
.page-hero-inner{position:relative;z-index:2;max-width:760px;margin:0 auto}
.breadcrumb{display:flex;justify-content:center;gap:8px;font-size:13px;color:rgba(255,255,255,0.5);margin-bottom:18px}
.breadcrumb a{color:rgba(255,255,255,0.6);text-decoration:none;display:inline-block;padding:4px 2px}
.breadcrumb a:hover{color:var(--gold)}
.page-hero h1{font-size:clamp(32px,5vw,52px);margin-bottom:14px}
.page-hero p{color:rgba(255,255,255,0.68);font-size:16px;line-height:1.7;font-weight:300}

/* ── ANIMATIONS ── */
@keyframes fade-in-up{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fade-in-down{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
.fade-up{opacity:0;transform:translateY(36px);transition:opacity 0.75s var(--ease-out-expo),transform 0.75s var(--ease-out-expo)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-left{opacity:0;transform:translateX(-36px);transition:opacity 0.75s var(--ease-out-expo),transform 0.75s var(--ease-out-expo)}
.fade-left.visible{opacity:1;transform:translateX(0)}
.fade-right{opacity:0;transform:translateX(36px);transition:opacity 0.75s var(--ease-out-expo),transform 0.75s var(--ease-out-expo)}
.fade-right.visible{opacity:1;transform:translateX(0)}
.scale-in{opacity:0;transform:scale(0.9);transition:opacity 0.65s var(--ease-out-expo),transform 0.65s var(--ease-out-expo)}
.scale-in.visible{opacity:1;transform:scale(1)}

/* ── SHARED ── */
section{padding:96px 5%}
.section-inner{max-width:1200px;margin:0 auto}
.section-tag{display:inline-block;background:rgba(26,58,107,0.08);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:16px;border:1px solid rgba(26,58,107,0.15)}
h2{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,46px);font-weight:900;line-height:1.15;color:var(--navy-dark)}
h2 span{color:var(--gold-dark);font-style:italic}
.section-desc{font-size:16px;color:var(--text-mid);line-height:1.8;font-weight:300;margin-top:16px}
.header-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:60px}

/* ── FOUNDER / ABOUT ── */
.founder-section{background:var(--off-white);position:relative;overflow:hidden}
.founder-section::before{content:'';position:absolute;top:-60px;right:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,24,0.08) 0%,transparent 70%);pointer-events:none}
.founder-grid{display:grid;grid-template-columns:1fr 2fr;gap:72px;align-items:start}
.founder-photo-wrap{position:relative}
.founder-photo{width:100%;border-radius:24px;aspect-ratio:3/4;overflow:hidden;box-shadow:0 24px 64px rgba(26,58,107,0.2)}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform 0.6s var(--ease-out-expo)}
.founder-photo:hover img{transform:scale(1.04)}
.award-float{position:absolute;bottom:-20px;left:-20px;background:var(--gold);color:var(--navy-dark);border-radius:18px;padding:18px 20px;box-shadow:0 12px 36px rgba(245,197,24,0.45);max-width:168px}
.award-float-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;line-height:1.4}
.award-float-sub{font-size:10px;font-weight:500;margin-top:5px;opacity:0.75}
.founder-name{font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,36px);font-weight:900;color:var(--navy-dark);margin-bottom:4px}
.founder-role{font-size:14px;font-weight:600;color:var(--gold-dark);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:26px}
.founder-bio{font-size:15px;color:var(--text-mid);line-height:1.85;font-weight:300;margin-bottom:18px}
.founder-bio em{color:var(--navy);font-style:italic;font-weight:400}
.founder-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.trust-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 28px;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px 24px;text-align:center;margin-top:64px;box-shadow:0 6px 24px rgba(26,58,107,0.06)}
.trust-strip span{font-size:13px;font-weight:600;color:var(--navy-dark)}
.founder-pill{background:var(--navy);color:var(--gold);border-radius:100px;padding:7px 18px;font-size:12px;font-weight:600;transition:background 0.2s,transform 0.2s}
.founder-pill:hover{background:var(--navy-dark);transform:translateY(-2px)}
.press-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.press-badge{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-size:12px;font-weight:600;color:var(--navy-dark);text-decoration:none;transition:all 0.25s var(--ease-out-expo)}
.press-badge:hover{border-color:var(--navy);box-shadow:0 6px 20px rgba(26,58,107,0.1);transform:translateY(-2px)}
.press-badge-icon{font-size:18px}
.insights-badge{background:linear-gradient(135deg,var(--navy-dark),var(--navy));color:var(--gold);padding:5px 14px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:0.08em;display:inline-flex;align-items:center}

/* ── TIMELINE (About) ── */
.timeline{position:relative;max-width:820px;margin:0 auto;padding-left:32px;border-left:2px solid var(--border)}
.timeline-item{position:relative;padding-bottom:44px}
.timeline-item:last-child{padding-bottom:0}
.timeline-item::before{content:'';position:absolute;left:-39px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:3px solid var(--white);box-shadow:0 0 0 2px var(--navy)}
.timeline-year{font-family:'Playfair Display',serif;font-weight:900;color:var(--navy);font-size:20px;margin-bottom:6px}
.timeline-text{color:var(--text-mid);font-size:14.5px;line-height:1.75;font-weight:300}

/* ── VALUES / MISSION GRID ── */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.value-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:30px 26px;transition:all .3s var(--ease-out-expo)}
.value-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(26,58,107,0.1);border-color:var(--navy)}
.value-icon{font-size:30px;margin-bottom:14px;display:block}
.value-title{font-family:'Playfair Display',serif;font-weight:700;font-size:18px;color:var(--navy-dark);margin-bottom:8px}
.value-desc{font-size:13.5px;color:var(--text-light);line-height:1.7}

/* ── SERVICES ── */
.category-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:44px}
.category-tab{background:var(--white);border:1.5px solid var(--border);color:var(--text-mid);padding:9px 20px;border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s var(--ease-out-expo)}
.category-tab:hover{border-color:var(--navy);color:var(--navy)}
.category-tab.active{background:var(--navy);border-color:var(--navy);color:var(--gold)}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,280px));gap:22px;justify-content:center}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:20px;overflow:hidden;cursor:pointer;transition:all 0.35s var(--ease-out-expo);position:relative;display:flex;flex-direction:column}
.service-card:active,.service-card.playing{border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,197,24,0.3)}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:transform 0.35s var(--ease-out-expo)}
.service-card:hover{border-color:var(--navy);transform:translateY(-6px);box-shadow:0 20px 48px rgba(26,58,107,0.14)}
.service-card:hover::after{transform:scaleX(1)}
.service-card-img{aspect-ratio:16/10;overflow:hidden;flex-shrink:0}
.service-card-img.is-icon{display:flex;align-items:center;justify-content:center;font-size:72px;background:linear-gradient(135deg,var(--navy-dark),var(--navy-light))}
a.service-card{text-decoration:none;color:inherit}
.card-cta{margin-top:14px;font-size:13px;font-weight:700;color:var(--navy)}
.service-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.55s var(--ease-out-expo)}
.service-card:hover .service-card-img img{transform:scale(1.08)}
.service-card-body{padding:22px 20px;flex:1;display:flex;flex-direction:column}
.service-icon-wrap{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,rgba(26,58,107,0.08),rgba(26,58,107,0.04));display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:24px;transition:transform 0.3s var(--ease-out-expo)}
.service-card:hover .service-icon-wrap{transform:scale(1.12) rotate(4deg)}
.service-name{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--navy-dark);margin-bottom:6px}
.service-desc{font-size:13px;color:var(--text-light);line-height:1.65;flex:1}
.service-tag{display:inline-block;margin-top:14px;font-size:11px;font-weight:600;color:var(--navy);background:rgba(26,58,107,0.07);padding:3px 11px;border-radius:100px;border:1px solid rgba(26,58,107,0.1)}

/* ── STATS ── */
.stats-banner{background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 60%,var(--navy-light) 100%);padding:80px 5%;position:relative;overflow:hidden}
.stats-banner::before{content:'';position:absolute;inset:0;opacity:0.03;background-image:radial-gradient(circle,var(--gold) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.stats-row{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:32px;text-align:center}
.stat-card{position:relative}
.stat-card::after{content:'';position:absolute;top:0;right:0;bottom:0;width:1px;background:rgba(255,255,255,0.08)}
.stat-card:last-child::after{display:none}
.stat-num{font-family:'Playfair Display',serif;font-size:56px;font-weight:900;color:var(--gold);line-height:1}
.stat-label{font-size:13px;color:rgba(255,255,255,0.55);margin-top:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.08em}
.stat-divider{width:40px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);margin:12px auto 0;border-radius:2px}

/* ── GALLERY STRIP (home preview) ── */
.gallery-strip{padding:0;overflow:hidden;display:flex;gap:0}
.gallery-img{flex:1 1 0;min-width:0;aspect-ratio:4/3;overflow:hidden;position:relative;cursor:pointer}
.gallery-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s var(--ease-out-expo),filter 0.6s;filter:brightness(0.82)}
.gallery-img:hover img{transform:scale(1.08);filter:brightness(1)}
.gallery-img-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(10,20,50,0.85),transparent);color:rgba(255,255,255,0.9);padding:20px 16px 14px;font-size:13px;font-weight:600;letter-spacing:0.04em;transform:translateY(100%);transition:transform 0.4s var(--ease-out-expo)}
.gallery-img:hover .gallery-img-label{transform:translateY(0)}

/* ── FULL GALLERY GRID ── */
.gallery-masonry{columns:4 240px;column-gap:16px}
.perf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.perf-grid .g-item{border-radius:16px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:4/5;box-shadow:0 6px 20px rgba(26,58,107,0.08)}
.perf-grid .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.perf-grid .g-item:hover img{transform:scale(1.06)}
.robotica-logo{display:block;width:220px;height:220px;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 10px 24px rgba(0,0,0,0.3))}
.robotica-title{font-family:"Poppins",sans-serif !important;font-weight:800;letter-spacing:-0.01em}
.robotica-title span{color:var(--gold);font-style:normal;font-family:inherit}
.lab-videos{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.lab-videos video{width:100%;aspect-ratio:16/9;border-radius:18px;background:#000;box-shadow:0 16px 40px rgba(26,58,107,0.15);display:block}
.robotica-award{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:48px;align-items:center}
.robotica-award img{width:100%;border-radius:18px;box-shadow:0 18px 44px rgba(26,58,107,0.15)}
.award-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.award-card{flex:0 1 calc(25% - 17px);min-width:220px;margin:0;background:var(--white);border:1px solid var(--border);border-radius:18px;overflow:hidden;cursor:pointer;transition:transform .3s var(--ease-out-expo),box-shadow .3s}
.award-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(26,58,107,0.12)}
.award-card img{width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--off-white);display:block;padding:10px}
.award-card figcaption{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border)}
.award-card figcaption strong{font-family:'Playfair Display',serif;font-size:15px;color:var(--navy-dark);line-height:1.35}
.award-card figcaption span{font-size:12px;color:var(--gold-dark);font-weight:600}
.gallery-masonry .g-item{break-inside:avoid;margin-bottom:16px;border-radius:16px;overflow:hidden;position:relative;cursor:pointer;box-shadow:0 6px 20px rgba(26,58,107,0.08)}
.gallery-masonry .g-item img{width:100%;display:block;transition:transform .5s var(--ease-out-expo)}
.gallery-masonry .g-item:hover img{transform:scale(1.06)}
.g-item-overlay{position:absolute;inset:0;background:rgba(15,35,71,0);display:flex;align-items:center;justify-content:center;transition:background .3s}
.g-item:hover .g-item-overlay{background:rgba(15,35,71,0.35)}
.g-item-overlay span{opacity:0;color:#fff;font-size:24px;transition:opacity .3s}
.g-item:hover .g-item-overlay span{opacity:1}

.lightbox{position:fixed;inset:0;background:rgba(6,13,26,0.94);z-index:2000;display:none;align-items:center;justify-content:center;padding:5%}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:88vh;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,0.5)}
.lightbox-close{position:absolute;top:24px;right:5%;color:#fff;font-size:32px;cursor:pointer;line-height:1;background:rgba(255,255,255,0.1);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.lightbox-close:hover{background:rgba(255,255,255,0.2)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:28px;cursor:pointer;background:rgba(255,255,255,0.1);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lightbox-nav:hover{background:rgba(255,255,255,0.2)}
.lightbox-prev{left:3%}
.lightbox-next{right:3%}

/* ── PRESS ── */
.press-section{background:var(--off-white)}
.press-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.press-card{background:var(--white);border-radius:20px;border:1px solid var(--border);padding:30px;display:flex;flex-direction:column;gap:14px;transition:all 0.35s var(--ease-out-expo);text-decoration:none;overflow:hidden;position:relative}
.press-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:transform 0.4s var(--ease-out-expo)}
.press-card:hover{box-shadow:0 12px 40px rgba(26,58,107,0.1);transform:translateY(-4px);border-color:transparent}
.press-card:hover::before{transform:scaleX(1)}
.press-source{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold-dark)}
.press-headline{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;color:var(--navy-dark);line-height:1.35}
.press-snippet{font-size:13px;color:var(--text-mid);line-height:1.7}
.press-link{font-size:13px;font-weight:600;color:var(--navy);margin-top:auto;display:inline-flex;align-items:center;gap:4px;transition:gap 0.2s}
.press-card:hover .press-link{gap:8px}

/* ── TESTIMONIALS ── */
.testimonials-bg{background:linear-gradient(160deg,#f0f4ff 0%,#fff 50%,#f8f7f4 100%)}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.testimonial-card{background:var(--white);border-radius:20px;padding:28px;border:1px solid var(--border);transition:all 0.35s var(--ease-out-expo);position:relative;overflow:hidden}
.testimonial-card::before{content:'"';position:absolute;top:16px;right:24px;font-family:'Playfair Display',serif;font-size:80px;color:rgba(245,197,24,0.12);line-height:1;pointer-events:none}
.testimonial-card:hover{box-shadow:0 12px 40px rgba(26,58,107,0.1);transform:translateY(-4px)}
.t-stars{color:var(--gold);font-size:13px;letter-spacing:2px;margin-bottom:14px}
.t-text{font-size:14px;color:var(--text-mid);line-height:1.8}
.t-author{display:flex;align-items:center;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.t-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-light));color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:13px;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px rgba(26,58,107,0.2)}
.t-name{font-size:14px;font-weight:600;color:var(--text-dark)}
.t-sub{font-size:12px;color:var(--text-light);margin-top:2px}

/* ── VIDEOS / YOUTUBE FEED ── */
.videos-section{background:var(--navy-dark);position:relative;overflow:hidden}
.videos-section::before{content:'';position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1514320291840-2e0a9bf2a9ae?w=1600&q=60');background-size:cover;background-position:center;opacity:0.06}
.videos-section .section-tag{background:rgba(245,197,24,0.15);color:var(--gold);border-color:rgba(245,197,24,0.3)}
.videos-section h2{color:var(--white)}
.videos-section h2 span{color:var(--gold)}
.videos-section .section-desc{color:rgba(255,255,255,0.55)}
.videos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:52px;position:relative;z-index:2}
.video-card{border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#111;position:relative;display:block;border:1px solid rgba(255,255,255,0.08);box-shadow:0 16px 48px rgba(0,0,0,0.4);transition:transform 0.35s var(--ease-out-expo),box-shadow 0.35s;cursor:pointer;text-decoration:none}
.video-card:hover{transform:translateY(-6px);box-shadow:0 28px 72px rgba(0,0,0,0.6)}
.video-card > img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.55s var(--ease-out-expo),filter 0.4s}
.video-card:hover > img{transform:scale(1.05);filter:brightness(0.55)}
.video-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(to top,rgba(0,0,0,0.65) 0%,transparent 60%);transition:background 0.3s}
.video-card:hover .video-card-overlay{background:linear-gradient(to top,rgba(0,0,0,0.8) 0%,rgba(0,0,0,0.2) 60%)}
.video-play-btn{width:72px;height:72px;border-radius:50%;background:rgba(255,0,0,0.9);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(255,0,0,0.5);transition:transform 0.3s var(--ease-out-expo),box-shadow 0.3s}
.video-card:hover .video-play-btn{transform:scale(1.18);box-shadow:0 14px 44px rgba(255,0,0,0.7)}
.video-play-btn svg{margin-left:6px}
.video-card-label{position:absolute;bottom:14px;left:16px;right:16px;color:rgba(255,255,255,0.9);font-size:13px;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity 0.3s,transform 0.3s}
.video-card:hover .video-card-label{opacity:1;transform:translateY(0)}

.yt-cta{display:inline-flex;align-items:center;gap:10px;margin-top:40px;background:#FF0000;color:#fff;padding:14px 28px;border-radius:12px;text-decoration:none;font-weight:600;font-size:14px;transition:all 0.3s var(--ease-out-expo);box-shadow:0 4px 20px rgba(255,0,0,0.3)}
.yt-cta:hover{background:#cc0000;transform:translateY(-3px);box-shadow:0 8px 32px rgba(255,0,0,0.4)}
.yt-cta-wrap{text-align:center;margin-top:8px;position:relative;z-index:2}

.feed-skeleton{aspect-ratio:16/9;border-radius:18px;background:linear-gradient(90deg,rgba(255,255,255,0.06) 25%,rgba(255,255,255,0.12) 37%,rgba(255,255,255,0.06) 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}
@keyframes skeleton{0%{background-position:100% 50%}100%{background-position:0 50%}}
.feed-empty{grid-column:1/-1;text-align:center;color:rgba(255,255,255,0.5);padding:30px;font-size:14px}

/* ── INSTAGRAM FEED ── */
.instagram-section{background:var(--off-white)}
.ig-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:48px}
.ig-card{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;display:block;box-shadow:0 8px 28px rgba(26,58,107,0.1);text-decoration:none}
.ig-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.ig-card:hover img{transform:scale(1.08)}
.ig-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,35,71,0.85),transparent 55%);display:flex;align-items:flex-end;padding:14px;opacity:0;transition:opacity .3s}
.ig-card:hover .ig-card-overlay{opacity:1}
.ig-card-overlay span{color:#fff;font-size:12px;font-weight:600;line-height:1.4}
.ig-card-badge{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.ig-skeleton{aspect-ratio:1/1;border-radius:16px;background:linear-gradient(90deg,#eceff5 25%,#f5f7fb 37%,#eceff5 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}
.ig-cta-wrap{text-align:center;margin-top:36px}
.ig-cta{display:inline-flex;align-items:center;gap:10px;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff;padding:14px 28px;border-radius:12px;text-decoration:none;font-weight:600;font-size:14px;transition:all .3s var(--ease-out-expo);box-shadow:0 4px 20px rgba(214,36,159,0.3)}
.ig-cta:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(214,36,159,0.4)}

/* ── FAQ ── */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:22px 4px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--navy-dark)}
.faq-q-icon{font-size:20px;color:var(--gold-dark);transition:transform .3s var(--ease-out-expo);flex-shrink:0;margin-left:16px}
.faq-item.open .faq-q-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease-out-expo)}
.faq-a-inner{padding:0 4px 22px;color:var(--text-mid);font-size:14.5px;line-height:1.8;font-weight:300}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.contact-info-card{background:var(--navy-dark);color:#fff;border-radius:24px;padding:40px 34px;position:relative;overflow:hidden}
.contact-info-card::before{content:'';position:absolute;top:-40px;right:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,24,0.12) 0%,transparent 70%)}
.contact-info-card h3{font-family:'Playfair Display',serif;font-size:24px;margin-bottom:22px;position:relative;z-index:2}
.contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;position:relative;z-index:2}
.contact-item-icon{width:40px;height:40px;border-radius:10px;background:rgba(245,197,24,0.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px}
.contact-item-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,0.45);margin-bottom:4px}
.contact-item-value{font-size:14.5px;color:rgba(255,255,255,0.9);line-height:1.6}
.contact-item-value a{color:inherit;text-decoration:none}
.contact-item-value a:hover{color:var(--gold)}
.contact-map{border-radius:24px;overflow:hidden;margin-top:28px;border:1px solid rgba(255,255,255,0.1);position:relative;z-index:2}
.contact-map iframe{width:100%;height:220px;border:0;display:block;filter:grayscale(0.2)}

.contact-form-card{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:40px 34px;box-shadow:0 20px 60px rgba(26,58,107,0.08)}
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-mid);margin-bottom:7px;text-transform:uppercase;letter-spacing:.04em}
.form-control{width:100%;padding:13px 16px;border-radius:10px;border:1.5px solid var(--border);font-family:'DM Sans',sans-serif;font-size:14.5px;transition:border-color .2s;outline:none;color:var(--text-dark)}
.form-control:focus{border-color:var(--navy)}
textarea.form-control{resize:vertical;min-height:120px}
.btn-submit{background:var(--navy);color:var(--gold);border:none;cursor:pointer;padding:16px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:15.5px;font-weight:700;width:100%;transition:all .3s var(--ease-out-expo)}
.btn-submit:hover{background:var(--navy-dark);transform:translateY(-2px);box-shadow:0 10px 32px rgba(26,58,107,0.3)}
.form-alert{padding:14px 18px;border-radius:10px;font-size:13.5px;margin-bottom:20px;font-weight:500}
.form-alert.success{background:rgba(34,197,94,0.1);color:#15803d;border:1px solid rgba(34,197,94,0.25)}
.form-alert.error{background:rgba(239,68,68,0.08);color:#b91c1c;border:1px solid rgba(239,68,68,0.22)}
.hp-field{position:absolute;left:-9999px;opacity:0}

/* ── ENROL ── */
.enrol-section{background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 100%);text-align:center;position:relative;overflow:hidden}
.enrol-section::before{content:'';position:absolute;inset:0;opacity:0.035;background-image:radial-gradient(circle,var(--gold) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.enrol-section::after{content:'';position:absolute;top:-40%;left:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,24,0.08) 0%,transparent 65%);pointer-events:none}
.enrol-section h2{color:var(--white)}
.enrol-section h2 span{color:var(--gold);font-style:italic}
.enrol-section .section-desc{color:rgba(255,255,255,0.6)}
.enrol-form{max-width:500px;margin:44px auto 0;display:flex;flex-direction:column;gap:14px;position:relative;z-index:2}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.enrol-input{width:100%;padding:14px 18px;border-radius:12px;border:1.5px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.08);color:var(--white);font-family:'DM Sans',sans-serif;font-size:15px;transition:border-color 0.25s,background 0.25s;outline:none;backdrop-filter:blur(8px)}
.enrol-input::placeholder{color:rgba(255,255,255,0.38)}
.enrol-input:focus{border-color:var(--gold);background:rgba(255,255,255,0.12)}
.enrol-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f5c518' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.enrol-select option{background:var(--navy-dark);color:var(--white)}
.btn-enrol{background:var(--gold);color:var(--navy-dark);border:none;cursor:pointer;padding:17px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;width:100%;transition:all 0.3s var(--ease-out-expo);box-shadow:0 6px 28px rgba(245,197,24,0.4);letter-spacing:0.02em}
.btn-enrol:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 10px 36px rgba(245,197,24,0.55)}

/* ── FOOTER ── */
/* ── FLOATING BUTTONS ── */
.whatsapp-float{
  position:fixed;right:24px;bottom:24px;z-index:1200;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,0.45);
  transition:transform 0.25s var(--ease-out-expo),box-shadow 0.25s;
  animation:wa-pulse 2.4s ease-in-out infinite;
}
.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(37,211,102,0.55)}
@keyframes wa-pulse{0%,100%{box-shadow:0 8px 24px rgba(37,211,102,0.45)}50%{box-shadow:0 8px 24px rgba(37,211,102,0.45),0 0 0 8px rgba(37,211,102,0.15)}}

.scroll-top{
  position:fixed;right:24px;bottom:92px;z-index:1200;
  width:46px;height:46px;border-radius:50%;
  background:var(--navy);color:var(--gold);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(26,58,107,0.35);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity 0.25s var(--ease-out-expo),transform 0.25s var(--ease-out-expo),visibility 0.25s,background 0.2s;
}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--navy-dark)}

@media(max-width:600px){
  .whatsapp-float{right:16px;bottom:16px;width:52px;height:52px}
  .scroll-top{right:16px;bottom:78px;width:42px;height:42px}
}

footer{background:#060d1a;color:rgba(255,255,255,0.5);padding:72px 5% 32px}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:48px;margin-bottom:52px}
.footer-logo-wrap{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.footer-logo-img{height:56px;width:auto;object-fit:contain}
.footer-brand-desc{font-size:13px;line-height:1.8;max-width:280px}
.footer-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);margin-bottom:16px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:2px}
.footer-links a{display:inline-block;padding:5px 0;color:rgba(255,255,255,0.45);text-decoration:none;font-size:13px;transition:color 0.2s,padding-left 0.2s}
.footer-links a:hover{color:var(--white);padding-left:4px}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;font-size:13px;line-height:1.6}
.footer-contact-item a{display:inline-block;padding:2px 0;min-height:24px}
.footer-contact-icon{color:var(--gold);flex-shrink:0;margin-top:2px}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom-text{font-size:12px}
.social-row{display:flex;gap:10px}
.social-btn{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.5);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;text-decoration:none;transition:all 0.25s var(--ease-out-expo);border:1px solid rgba(255,255,255,0.08)}
.social-btn:hover{background:var(--gold);color:var(--navy-dark);border-color:var(--gold);transform:translateY(-2px)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  section{padding:72px 5%}
  .stats-banner{padding:64px 5%}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .services-grid{grid-template-columns:repeat(auto-fit,minmax(180px,240px))}
  .contact-grid{grid-template-columns:1fr;gap:36px}
  .gallery-masonry{columns:3 200px}
}

@media(max-width:900px){
  .top-bar-hide-md{display:none}
  .top-bar-inner{gap:14px}
  nav .nav-links,nav .nav-cta{display:none}
  .hamburger{display:flex}
  .top-bar{height:34px;font-size:11.5px}
  nav{top:34px}
  .mobile-menu{top:124px}

  .hero{padding-top:122px}
  .hero-content{grid-template-columns:1fr;gap:36px;padding:56px 5% 72px;text-align:center}
  .hero-visual{justify-content:center}
  .hero-badge-card{max-width:300px;padding:28px 24px}
  .award-badge-float,.note-1{display:none}
  .hero-tag{font-size:11px;padding:6px 12px}
  .hero-btns{justify-content:center}
  .hero-stats{justify-content:center;gap:28px}
  .hero-stat-num{font-size:28px}
  .scroll-hint{display:none}

  .page-hero{padding:146px 5% 64px}

  .gallery-strip{flex-wrap:wrap}
  .gallery-img{flex:1 1 50%;max-height:200px}
  .gallery-masonry{columns:2 160px}

  .founder-grid{grid-template-columns:1fr;gap:36px}
  .founder-photo-wrap{max-width:260px;margin:0 auto}
  .award-float{left:-8px;bottom:-8px;padding:12px 14px}

  .header-row{grid-template-columns:1fr;gap:12px;margin-bottom:40px}

  .stats-row{grid-template-columns:repeat(2,1fr);gap:24px}
  .stat-card::after{display:none}
  .stat-card:last-child:nth-child(odd){grid-column:1/-1}
  .stat-num{font-size:44px}

  .press-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}

  .videos-grid{display:flex;grid-template-columns:unset;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .videos-grid::-webkit-scrollbar{height:5px}
  .videos-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.25);border-radius:10px}
  .videos-grid .video-card{flex:0 0 82%;scroll-snap-align:center}
  .ig-grid{grid-template-columns:repeat(2,1fr)}

  .form-row{grid-template-columns:1fr}

  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-bottom{flex-direction:column;text-align:center;gap:8px}
}

@media(max-width:600px){
  .perf-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .lab-videos{grid-template-columns:1fr;gap:14px}
  .robotica-award{grid-template-columns:1fr;gap:24px;text-align:center}
  .robotica-award img{max-width:260px;margin:0 auto}
  .robotica-logo{width:170px;height:170px}
  .award-grid{gap:12px}
  .award-card{flex:0 1 calc(50% - 6px);min-width:0}
  .award-card figcaption{padding:10px 12px 12px}
  .award-card figcaption strong{font-size:13px}
  .award-card figcaption span{font-size:11px}
  .trust-strip{margin-top:44px;gap:10px 18px;padding:14px 16px}
  .category-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin:0 -4% 32px;padding:2px 4% 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .category-tabs::-webkit-scrollbar{display:none}
  .category-tab{flex:0 0 auto;white-space:nowrap}
  .top-bar-hide-sm{display:none}
  .top-bar{font-size:10.5px}
  .top-bar-inner{gap:10px;padding:0 4%}
  .top-bar-socials{gap:6px}
  .top-bar-socials a{padding:2px 5px;font-size:9.5px}

  nav{height:88px;padding:0 4%}
  .nav-logo img{height:80px}
  .mobile-menu{top:122px}
  section{padding:56px 4%}
  .stats-banner{padding:52px 4%}
  .page-hero{padding:144px 4% 52px}

  .hero-content{padding:44px 4% 64px}
  h1{font-size:clamp(32px,9vw,48px)}
  .hero-desc{font-size:15px}
  .hero-badge-card{max-width:280px;padding:22px 18px}
  .hero-card-img{border-radius:12px;margin-bottom:14px}
  .hero-badge-title{font-size:22px}
  .hero-stats{gap:20px;flex-wrap:wrap;justify-content:center}
  .hero-stat-num{font-size:26px}
  .hero-stat-label{font-size:10px}
  .hero-btns{gap:10px}
  .btn-primary,.btn-outline{padding:13px 22px;font-size:14px;border-radius:10px}

  .gallery-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 16px 0;overflow:visible}
  .gallery-img{aspect-ratio:1;max-height:none;border-radius:16px}
  .gallery-img:first-child{grid-column:1 / -1;aspect-ratio:4/3}
  .gallery-img img{filter:none}
  .gallery-masonry{columns:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .gallery-masonry .g-item{margin:0;border-radius:16px;aspect-ratio:1}
  .gallery-masonry .g-item:nth-child(5n+1){grid-column:1 / -1;aspect-ratio:4/3}
  .gallery-masonry .g-item img{height:100%;object-fit:cover}

  h2{font-size:clamp(24px,7vw,36px)}
  .section-desc{font-size:15px}

  .founder-photo-wrap{max-width:220px}
  .founder-name{font-size:clamp(20px,6vw,28px)}
  .founder-pills{gap:8px}
  .founder-pill{font-size:11px;padding:6px 14px}
  .press-badges{gap:8px}

  .services-grid{grid-template-columns:1fr 1fr;gap:14px}
  .service-card-body{padding:16px 14px}
  .service-icon-wrap{width:38px;height:38px;font-size:20px;border-radius:10px;margin-bottom:8px}
  .service-name{font-size:15px}
  .service-desc{font-size:12px}

  .stats-row{grid-template-columns:repeat(2,1fr);gap:20px}
  .stat-num{font-size:38px}
  .stat-label{font-size:11px}

  .testimonials-grid{grid-template-columns:1fr}
  .videos-grid .video-card{flex:0 0 88%}
  .video-play-btn{width:56px;height:56px}
  .ig-grid{grid-template-columns:repeat(2,1fr);gap:10px}

  .contact-info-card,.contact-form-card{padding:28px 22px}

  .enrol-form{margin-top:32px}
  .btn-enrol{font-size:15px;padding:15px}

  footer{padding:52px 4% 24px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-brand-desc{max-width:100%}
  .footer-bottom{flex-direction:column;text-align:center}
}

@media(max-width:400px){
  .hero-badge-card{max-width:100%}
  .services-grid{grid-template-columns:1fr}
  .hero-stats{gap:16px}
  .stats-row{grid-template-columns:1fr 1fr}
  .stat-num{font-size:34px}
  .hero-btns{flex-direction:column;align-items:center}
  .btn-primary,.btn-outline{width:100%;text-align:center}
  .disc-pill{font-size:11px;padding:4px 10px}
  .founder-pills{gap:6px}
}

/* Robotica nav item */
.nav-tag{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:6px;background:var(--gold);color:#14254f;font-family:"DM Sans",sans-serif;font-size:9px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;vertical-align:2px;line-height:1.4}

/* Contact page — mobile */
html{overflow-x:clip}
@media(max-width:600px){
  .contact-form-card .form-row{grid-template-columns:1fr !important;gap:0 !important}
  .form-group input,.form-group select,.form-group textarea{font-size:16px}
  .contact-item-value a{display:inline-block;padding:8px 0;margin:-6px 0}
}

/* Lightbox — mobile: arrows below the photo instead of over it */
@media(max-width:600px){
  .lightbox-nav{top:auto;bottom:max(40px,env(safe-area-inset-bottom));transform:none}
  .lightbox-prev{left:calc(50% - 64px)}
  .lightbox-next{right:calc(50% - 64px)}
}

/* Robotics STEM cards — compact 2-up on phones */
@media(max-width:600px){
  #robotica-intro .services-grid,#services .services-grid{grid-template-columns:1fr 1fr;gap:12px}
  #robotica-intro .service-card-img,#services .service-card-img{height:110px}
  #robotica-intro .service-card-img.is-icon,#services .service-card-img.is-icon{font-size:40px}
  #robotica-intro .service-card-body,#services .service-card-body{padding:14px 12px 16px}
  #robotica-intro .service-icon-wrap,#services .service-icon-wrap{display:none}
  #robotica-intro .service-name,#services .service-name{font-size:16px;margin-bottom:6px}
  #robotica-intro .service-desc,#services .service-desc{font-size:12.5px;line-height:1.5;margin-bottom:10px}
  #robotica-intro .service-tag,#services .service-tag{font-size:10px;padding:3px 8px;align-self:flex-start;width:auto}
}

/* Value cards — compact on phones: icon beside the title */
@media(max-width:600px){
  .values-grid{gap:12px}
  .value-card{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:18px 18px;border-radius:16px}
  .value-icon{grid-row:1 / span 2;font-size:26px;margin:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--off-white);border-radius:12px}
  .value-title{font-size:16.5px;margin-bottom:4px;align-self:end}
  .value-desc{font-size:13.5px;line-height:1.55}
}

/* Logo tagline */
.logo-tagline{margin-left:10px;padding-left:12px;border-left:2px solid var(--gold);font-family:'Playfair Display',serif;font-style:italic;font-weight:700;font-size:14px;line-height:1.25;color:var(--navy-dark);white-space:nowrap}
@media(max-width:1100px) and (min-width:901px){.logo-tagline{display:none}}
@media(max-width:600px){.logo-tagline{font-size:12px;margin-left:6px;padding-left:9px}}

/* Tutors line */
.footer-tutors{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px 20px;margin-bottom:28px;font-size:14px;color:rgba(255,255,255,0.75)}
.footer-tutors strong{color:var(--gold);font-weight:700}
.footer-tutors a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:10px;background:#25d366;color:#fff;font-weight:700;font-size:13.5px;text-decoration:none;white-space:nowrap}
@media(max-width:600px){.footer-tutors{flex-direction:column;text-align:center}}

/* Header in the logo's own blue so the logo ring merges into the bar */
nav,nav.scrolled{background:#154c7c;border-bottom-color:rgba(255,255,255,0.08)}
nav.scrolled{box-shadow:0 4px 28px rgba(0,0,0,0.28)}
.nav-links a{color:rgba(255,255,255,0.82)}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a::after{background:var(--gold)}
.nav-cta{background:var(--gold);color:var(--navy-dark)}
.hamburger span{background:#fff}
.nav-logo .logo-r,.logo-tagline{color:#fff}
.nav-cta:hover{background:var(--gold-light);color:var(--navy-dark)}
.hamburger:hover{background:rgba(255,255,255,0.1)}

/* Tutors line in the top bar */
.top-bar-tutors{margin-left:auto}
.top-bar-tutors + .top-bar-socials{margin-left:0}
.top-bar-tutors strong{color:var(--gold);font-weight:700}
.top-bar-tutors .tt-short{display:none}
@media(max-width:1180px){.top-bar-tutors .tt-full{display:none}.top-bar-tutors .tt-short{display:inline}}

/* Small phones: keep the header tagline clear of the menu button and the top bar inside the screen */
.nav-logo{min-width:0}
.hamburger{flex-shrink:0;margin-left:8px}
@media(max-width:400px){
  nav{padding:0 3.5%}
  .nav-logo img{height:66px}
  .nav-logo .logo-r{font-size:12px;margin-top:10px}
  .logo-tagline{font-size:10.5px;margin-left:4px;padding-left:7px;letter-spacing:-0.01em}
  .top-bar{font-size:10px}
  .top-bar-inner{gap:6px;padding:0 3.5%}
  .top-bar-socials{gap:4px}
  .top-bar-socials a{width:23px;height:23px;padding:0}
}
@media(max-width:340px){
  .nav-logo img{height:58px}
  .logo-tagline{font-size:9.5px}
  .top-bar-socials a:first-child{display:none}
}

/* Admissions Open under the header tagline */
.logo-tagline{display:flex;flex-direction:column;justify-content:center;gap:5px}
.logo-admissions{align-self:flex-start;font-family:'DM Sans',sans-serif;font-style:normal;font-weight:700;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;line-height:1;color:var(--gold);background:rgba(245,197,24,0.14);border:1px solid rgba(245,197,24,0.45);border-radius:100px;padding:4px 9px;white-space:nowrap}
@media(max-width:400px){.logo-admissions{font-size:8.5px;padding:3px 7px;letter-spacing:0.1em}.logo-tagline{gap:4px}}

/* Robotics — workshops note */
.workshop-note{margin-top:28px;background:var(--off-white);border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:16px;padding:22px 26px}
.workshop-note-title{font-family:'Playfair Display',serif;font-weight:700;font-size:19px;color:var(--navy-dark);margin-bottom:6px}
.workshop-note p{font-size:15px;line-height:1.6;color:var(--text-mid)}
@media(max-width:600px){.workshop-note{padding:18px 18px}.workshop-note-title{font-size:17px}}

/* Mid-width laptops: no room for the tagline beside the full menu */
@media(max-width:1180px) and (min-width:901px){.logo-tagline{display:none}}
.nav-cta,.nav-links a{white-space:nowrap}
@media(max-width:1320px) and (min-width:901px){.nav-links{gap:22px}}

/* Robotics — Google rating, Instagram and map */
.robotica-social{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:24px;align-items:stretch}
.rating-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:32px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 24px rgba(26,58,107,0.06)}
.rating-num{font-family:'Playfair Display',serif;font-weight:900;font-size:56px;line-height:1;color:var(--navy-dark)}
.rating-stars{font-size:24px;letter-spacing:3px;color:var(--gold)}
.rating-count{font-size:14px;color:var(--text-mid);margin-bottom:10px}
.rating-card .btn-primary{font-size:14px;padding:13px 18px}
.insta-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;font-size:14.5px;font-weight:600;color:var(--navy);text-decoration:none}
.insta-link:hover{color:#c13584}
.rating-map{background:var(--white);border:1px solid var(--border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 24px rgba(26,58,107,0.06)}
.rating-map iframe{width:100%;flex:1;min-height:300px;border:0;display:block}
.rating-addr{padding:14px 18px;font-size:13.5px;color:var(--text-mid);line-height:1.5}
@media(max-width:800px){.robotica-social{grid-template-columns:1fr}.rating-map iframe{min-height:240px}}

/* Robotics — lab photo grid */
.lab-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.lab-photos .g-item{border-radius:16px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:4/3;box-shadow:0 6px 20px rgba(26,58,107,0.08)}
.lab-photos .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.lab-photos .g-item:hover img{transform:scale(1.06)}
@media(max-width:600px){.lab-photos{grid-template-columns:1fr 1fr;gap:10px}}

/* Google reviews */
.g-rating{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;margin:-28px auto 36px;padding:12px 22px;width:fit-content;max-width:100%;background:var(--white);border:1px solid var(--border);border-radius:100px;box-shadow:0 6px 24px rgba(26,58,107,0.06)}
.g-rating[hidden]{display:none}
.g-rating-num{font-family:'Playfair Display',serif;font-weight:900;font-size:24px;color:var(--navy-dark);line-height:1}
.g-rating-stars{color:var(--gold);font-size:18px;letter-spacing:2px}
.g-rating-count{font-size:14px;color:var(--text-mid)}
.g-rating-link{font-size:14px;font-weight:700;color:var(--navy);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.g-rating-link:hover{color:var(--gold-dark)}
.t-avatar-img{object-fit:cover;padding:0}
#gReviewsGrid .t-text{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:600px){.g-rating{border-radius:18px;padding:14px 16px}}

/* Gallery — show more */
.gallery-masonry .g-more{display:none}
.gallery-more-wrap{text-align:center;margin-top:32px}
.gallery-more-btn{border:none;cursor:pointer;background:var(--navy);color:var(--gold)}

/* Reviews — even cards, and a swipe row on phones so 12 reviews don't stack */
.testimonial-card{display:flex;flex-direction:column}
.testimonial-card .t-author{margin-top:auto}
.testimonial-card .t-text{margin-bottom:20px;padding-right:22px}
@media(max-width:600px){
  #gReviewsGrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -4%;padding:4px 4% 14px;scrollbar-width:none}
  #gReviewsGrid::-webkit-scrollbar{display:none}
  #gReviewsGrid .testimonial-card{flex:0 0 84%;scroll-snap-align:center;padding:22px}
}

/* Home highlights — Instagram post embeds */
.highlight-section{background:var(--off-white)}
.ig-embeds{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.ig-embed{min-width:0;border-radius:16px;overflow:hidden;background:var(--white);box-shadow:0 6px 24px rgba(26,58,107,0.08)}
.ig-embed blockquote a{display:block;padding:40px 20px;text-align:center;color:var(--navy);font-weight:600;text-decoration:none}
.ig-embed iframe{min-width:0 !important;width:100% !important;margin:0 !important;border-radius:16px !important}
@media(max-width:900px){.ig-embeds{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.highlight-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px;margin:0 auto 22px}
.highlight-photos .g-item{border-radius:16px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:3/2;box-shadow:0 6px 20px rgba(26,58,107,0.08)}
.highlight-photos .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.highlight-photos .g-item:hover img{transform:scale(1.05)}
.highlight-note{max-width:760px;margin:0 auto 36px;text-align:center;font-size:15.5px;line-height:1.75;color:var(--text-mid)}
@media(max-width:600px){.highlight-photos{gap:10px}.highlight-note{font-size:14.5px}}

/* Instagram embeds — equal-height cards; a shorter post is centred inside its card */
.ig-embeds{align-items:stretch}
.ig-embed{display:flex;flex-direction:column;justify-content:center;border:1px solid var(--border)}
.ig-embed iframe{border:0 !important;box-shadow:none !important;border-radius:0 !important}
@media(min-width:901px){.ig-embeds{grid-template-columns:repeat(2,minmax(0,400px));justify-content:center}}

/* Blaaze section: two Instagram posts on the left, two photos stacked on the right */
.blaaze-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:stretch}
.blaaze-layout .ig-embeds{grid-template-columns:1fr 1fr;justify-content:stretch;gap:20px}
.blaaze-layout .highlight-photos{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:20px;max-width:none;margin:0}
.blaaze-layout .highlight-photos .g-item{aspect-ratio:auto;min-height:200px;height:100%}
.highlight-note{margin-bottom:32px}
@media(max-width:900px){
  .blaaze-layout{grid-template-columns:1fr}
  .blaaze-layout .highlight-photos{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px;order:-1}
  .blaaze-layout .highlight-photos .g-item{aspect-ratio:3/2;min-height:0;height:auto}
  .blaaze-layout .ig-embeds{grid-template-columns:1fr;max-width:420px;margin:0 auto;width:100%}
}

/* Robotics — NIFT photos and single Instagram embed */
.nift-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.nift-photos .g-item{border-radius:14px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:3/2}
.nift-photos .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.nift-photos .g-item:hover img{transform:scale(1.05)}
.ig-embeds.ig-embeds-single{grid-template-columns:minmax(0,420px);justify-content:center}
@media(max-width:600px){.nift-photos{gap:10px}}

/* Robotics gallery — drone post + NIFT photos */
.lab-extra{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:20px;margin-top:28px;align-items:stretch}
.lab-extra-label{font-family:'Playfair Display',serif;font-weight:700;font-size:17px;color:var(--navy-dark);margin-bottom:12px}
.lab-extra-post{display:flex;flex-direction:column}
.lab-extra-post .ig-embed{flex:1}
.lab-extra-photos{display:grid;grid-template-rows:auto 1fr 1fr;gap:14px}
.lab-extra-photos .lab-extra-label{margin-bottom:0}
.lab-extra-photos .g-item{border-radius:16px;overflow:hidden;position:relative;cursor:pointer;min-height:200px;box-shadow:0 6px 20px rgba(26,58,107,0.08)}
.lab-extra-photos .g-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.lab-extra-photos .g-item:hover img{transform:scale(1.05)}
@media(max-width:800px){.lab-extra{grid-template-columns:1fr}.lab-extra-photos .g-item{aspect-ratio:3/2;min-height:0}.lab-extra-photos{grid-template-rows:auto}}

/* Home — art diploma showcase */
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.art-grid .g-item{margin:0;border-radius:16px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:1;box-shadow:0 6px 20px rgba(26,58,107,0.08)}
.art-grid .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.art-grid .g-item:hover img{transform:scale(1.05)}
.art-grid figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 14px 12px;background:linear-gradient(to top,rgba(10,20,50,0.88),transparent);color:#fff;font-size:13.5px;font-weight:600;line-height:1.35;pointer-events:none}
@media(max-width:600px){
  .art-grid{grid-template-columns:1fr 1fr;gap:10px}
  .art-grid .g-item:first-child{grid-column:1 / -1;aspect-ratio:4/3}
  .art-grid figcaption{font-size:12px;padding:22px 10px 9px}
}

/* Home — camps showcase (same tile style as the art grid) */
.camp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.camp-grid .g-item{margin:0;border-radius:16px;overflow:hidden;position:relative;cursor:pointer;aspect-ratio:1;box-shadow:0 6px 20px rgba(26,58,107,0.08)}
.camp-grid .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out-expo)}
.camp-grid .g-item:hover img{transform:scale(1.05)}
.camp-grid figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 14px 12px;background:linear-gradient(to top,rgba(10,20,50,0.88),transparent);color:#fff;font-size:13.5px;font-weight:600;line-height:1.35;pointer-events:none}
@media(max-width:600px){
  .camp-grid{grid-template-columns:1fr 1fr;gap:10px}
  .camp-grid .g-item:first-child{grid-column:1 / -1;aspect-ratio:4/3}
  .camp-grid figcaption{font-size:12px;padding:22px 10px 9px}
}

/* Art grid now holds 14 tiles: 4 per row on desktop, last row centred */
@media(min-width:601px){
  .art-grid{display:flex;flex-wrap:wrap;justify-content:center}
  .art-grid .g-item{flex:0 0 calc(25% - 14px)}
}
@media(min-width:601px) and (max-width:900px){.art-grid .g-item{flex-basis:calc(33.333% - 12px)}}
@media(max-width:600px){.art-grid .g-item:first-child{grid-column:auto;aspect-ratio:1}}

/* Stage photos are landscape: wider tiles; on phones the first one spans the row (7 tiles) */
.stage-grid .g-item{aspect-ratio:4/3}
@media(max-width:600px){.stage-grid .g-item:first-child{grid-column:1 / -1;aspect-ratio:16/10}}

/* Camp grid now holds 5 tiles: 3 + 2 centred on desktop */
@media(min-width:601px){
  .camp-grid{display:flex;flex-wrap:wrap;justify-content:center}
  .camp-grid .g-item{flex:0 0 calc(33.333% - 12px)}
}

/* Three-per-row variant of the tile grid; with an even count, no big first tile on phones */
@media(min-width:901px){.art-grid.three-up .g-item{flex-basis:calc(33.333% - 12px)}}
@media(max-width:600px){.stage-grid.three-up .g-item:first-child{grid-column:auto;aspect-ratio:4/3}}

/* Home — media / radio interview */
.media-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:center}
.media-video{position:relative;width:100%;height:auto;align-self:center;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 10px 32px rgba(26,58,107,0.14)}
.media-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.media-side{background:var(--off-white);border:1px solid var(--border);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.media-side-title{font-family:'Playfair Display',serif;font-weight:700;font-size:21px;color:var(--navy-dark)}
.media-side p{font-size:14.5px;line-height:1.65;color:var(--text-mid)}
.media-spotify{width:100%;height:152px;border:0;border-radius:12px}
.media-link{font-size:14.5px;font-weight:700;color:var(--navy);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.media-link:hover{color:var(--gold-dark)}
@media(max-width:900px){.media-layout{grid-template-columns:1fr}}

/* Spotify player: full-height layout and no scrollbars; give it more width in the panel */
.media-spotify{height:232px;overflow:hidden;display:block}
.media-side{padding:24px 18px}
.media-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}
@media(max-width:900px){.media-layout{grid-template-columns:1fr}}

/* Spotify link card (replaces the embedded player, which got cut off in narrow panels) */
.media-spotify-btn{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:#1db954;color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 22px rgba(29,185,84,0.28)}
.media-spotify-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(29,185,84,0.36)}
.media-spotify-btn svg{flex:none}
.media-spotify-btn span{display:flex;flex-direction:column;min-width:0}
.media-spotify-btn strong{font-size:16px;font-weight:700;line-height:1.3}
.media-spotify-btn small{font-size:12.5px;opacity:0.9;line-height:1.4}

/* Spotify player restored: compact layout (152px) fits narrow panels; no scrollbars */
.media-spotify{height:152px;width:100%;overflow:hidden;display:block;border:0;border-radius:12px}
@media(max-width:900px){.media-side{padding:20px 14px}}

/* Spotify player drawn at 133% width and scaled to 75%: smaller cover art, room for title and buttons */
.media-spotify-wrap{height:114px;overflow:hidden;border-radius:10px}
.media-spotify-wrap .media-spotify{width:133.34%;height:152px;transform:scale(0.75);transform-origin:0 0;border-radius:14px}

/* Radio section: video on top, then a full-width audio panel so the Spotify player is shown at its natural, readable size */
.media-layout{grid-template-columns:1fr !important;max-width:900px;margin:0 auto;gap:20px}
.media-side{padding:22px 24px}
.media-spotify-wrap{height:152px;border-radius:12px}
.media-spotify-wrap .media-spotify{width:100%;height:152px;transform:none;border-radius:12px}
@media(max-width:600px){
  /* phones: tiny shrink (90%) gives Spotify's controls the width they need while staying readable */
  .media-side{padding:18px 12px}
  .media-spotify-wrap{height:137px}
  .media-spotify-wrap .media-spotify{width:111.12%;transform:scale(0.9);transform-origin:0 0}
}

/* Radio section back to two equal columns on desktop (wide enough for the Spotify player); stacked below 900px */
@media(min-width:901px){
  .media-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;max-width:none;gap:24px;align-items:center}
  .media-side{padding:24px 22px}
}

/* Phones: no transform scaling on the Spotify player (it blurred the text). Use zoom, which re-renders text sharply,
   and let the player run edge to edge in the panel for extra width. */
@media(max-width:600px){
  .media-spotify-wrap{height:auto;margin:0 -4px;border-radius:12px;line-height:0}
  .media-spotify-wrap .media-spotify{transform:none;zoom:0.88;width:100%;height:152px}
}

/* Phones: Spotify player at true 100% size (no zoom, no transform) so its text is pin-sharp; panel padding trimmed for width */
@media(max-width:600px){
  .media-side{padding:18px 8px}
  .media-side > .media-side-title,.media-side > p,.media-side > .media-link{padding-left:8px;padding-right:8px}
  .media-spotify-wrap{height:152px;margin:0}
  .media-spotify-wrap .media-spotify{transform:none;zoom:1;width:100%;height:152px}
}

/* Timeline with bullet points per year */
.timeline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.timeline-list li{position:relative;padding-left:18px;color:var(--text-mid);font-size:14.5px;line-height:1.7;font-weight:300}
.timeline-list li::before{content:'';position:absolute;left:0;top:0.72em;width:6px;height:6px;border-radius:50%;background:var(--gold-dark)}
.timeline-year{margin-bottom:10px}

/* Top bar: tutors line and franchise line take turns in the same slot */
.top-bar-rotate{display:grid;justify-items:end}
.top-bar-rotate > a{grid-area:1 / 1;animation:tb-swap 10s infinite}
.top-bar-rotate > a.tb-alt{animation-delay:-5s}
@keyframes tb-swap{0%,42%{opacity:1;visibility:visible}46%,96%{opacity:0;visibility:hidden}100%{opacity:1;visibility:visible}}
@media(prefers-reduced-motion:reduce){.top-bar-rotate > a{animation-duration:20s}}
.footer-tutors + .footer-tutors{margin-top:-14px}

/* Art grid has 13 tiles again: on phones the first tile spans the row so the rest pair up */
@media(max-width:600px){#art-diploma .art-grid .g-item:first-child{grid-column:1 / -1;aspect-ratio:4/3}}

/* Art grid back to 14 tiles: plain two-per-row on phones (no wide first tile) */
@media(max-width:600px){#art-diploma .art-grid .g-item:first-child{grid-column:auto;aspect-ratio:1}}

/* Franchise band: same shape as the enrol band, in gold so the two don't merge */
.franchise-section{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%)}
.franchise-section::before{opacity:0.07;background-image:radial-gradient(circle,var(--navy-dark) 1px,transparent 1px)}
.franchise-section::after{background:radial-gradient(circle,rgba(255,255,255,0.35) 0%,transparent 65%)}
.franchise-section .section-tag{background:rgba(15,35,71,0.1);color:var(--navy-dark);border-color:rgba(15,35,71,0.25)}
.franchise-section h2{color:var(--navy-dark)}
.franchise-section h2 span{color:var(--navy);font-style:italic}
.franchise-section .section-desc{color:rgba(15,35,71,0.78)}
.franchise-section .btn-primary{background:var(--navy-dark);color:var(--gold);box-shadow:0 10px 28px rgba(15,35,71,0.3)}

/* Instagram reels row (Instagram section): three across on desktop, swipe row on phones */
.ig-embeds.ig-reels{margin-top:40px}
@media(min-width:901px){.ig-embeds.ig-reels{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}}
@media(max-width:900px){
  .ig-embeds.ig-reels{display:flex;max-width:none;margin:32px -4% 0;padding:4px 4% 14px;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:stretch}
  .ig-embeds.ig-reels::-webkit-scrollbar{display:none}
  .ig-embeds.ig-reels .ig-embed{flex:0 0 min(86%,340px);scroll-snap-align:center}
}

/* Robotics videos: three across on desktop; the upright (phone) video is shown whole on a black backing */
@media(min-width:901px){.lab-videos{grid-template-columns:repeat(3,1fr)}}
.lab-videos video{background:#000;object-fit:contain}

/* Instagram-style reels grid: upright 9:16 tiles showing only the video (Instagram's card header/footer are cropped out) */
.reel-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:40px}
.reel-tile{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#111;box-shadow:0 8px 24px rgba(26,58,107,0.14)}
.reel-tile iframe{position:absolute;left:-21.11%;top:-55px;width:142.22%;height:calc(100% + 55px + 320px);border:0;background:#111}
.reel-open{position:absolute;top:8px;right:8px;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,0.55);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none}
.reel-open:hover{background:#c13584}
@media(max-width:1100px){.reel-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin-left:auto;margin-right:auto}}
@media(max-width:600px){.reel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}}

/* Square variant of the Instagram tile, for older square video posts */
.reel-tile.reel-sq{aspect-ratio:1}
.reel-tile.reel-sq iframe{left:0;width:100%}
.blaaze-layout .ig-embeds{align-items:start}
.lab-extra-post .reel-tile{width:100%}
.lab-extra{align-items:start}

/* Blaaze section: the two stacked photos take exactly the height of the square video tiles beside them */
@media(min-width:901px){
  .blaaze-layout{align-items:stretch}
  .blaaze-layout .highlight-photos{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
  .blaaze-layout .highlight-photos .g-item{min-height:0;height:auto;position:relative}
  .blaaze-layout .highlight-photos .g-item img{position:absolute;inset:0;width:100%;height:100%}
}
