/* ============================================================
   SUNBEAM WORLD SCHOOL — ONLINE PRIMARY SCHOOL (Layer 4)
   Page-specific styles for template-online-primary-school.php
   Prefix: ops-  ·  Loads after sws-tokens/base/components.
   Every color references a Layer 1 token; the few page-only
   tints below are the single source for this page.
   ============================================================ */
:root{
  --ops-red:#c62828;        /* video play accent + form error */
  --ops-red-bg:#fce4ec;     /* video footer tint */
  --ops-gold-hi:#ffb738;    /* gold button hover brighten */
  --ops-gold-ink:#b45309;   /* deep gold text on gold cards */
  --ops-mint:#f0f9f4;       /* page-specific mint section tint */
  --ops-cream:#fef9ec;      /* page-specific cream section tint */
  --ops-hero-link:#93c5fd;  /* inline links on the navy hero */
}

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

.ops-section { padding:clamp(56px, 8vw, 88px) 0; }
.ops-section--white { background:var(--w); }
.ops-section--gray { background:var(--off); }
.ops-section--mint { background:linear-gradient(180deg, var(--ops-mint) 0%, var(--w) 100%); }
.ops-section--cream { background:linear-gradient(180deg, var(--ops-cream) 0%, var(--w) 100%); }
.ops-section--navy { background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 100%); color:var(--w); }

.ops-header-block { text-align:center; max-width:820px; margin:0 auto clamp(32px, 5vw, 52px); }
.ops-header-block__eyebrow {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:6px 14px; border-radius:999px;
  background:var(--gold-bg); color:var(--orange);
  margin-bottom:16px;
}
.ops-header-block__title {
  font-family:var(--font-head);
  font-size:clamp(24px, 3vw, 34px); font-weight:800;
  color:var(--head); line-height:1.2; letter-spacing:-.3px;
  margin-bottom:12px;
}
.ops-header-block__title em { font-style:normal; color:var(--head-accent); }
.ops-header-block__sub {
  font-size:16px; color:var(--g500); line-height:1.7;
  max-width:640px; margin:0 auto;
}

.ops-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:52px; padding:0 26px; border-radius:10px;
  font-family:var(--font-head); font-size:15px; font-weight:700;
  cursor:pointer; white-space:nowrap; text-decoration:none;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}
.ops-btn svg { width:16px; height:16px; }
.ops-btn--gold { background:var(--gold); color:var(--navy); box-shadow:0 4px 12px rgba(245,166,35,.28); }
.ops-btn--gold:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(245,166,35,.4); background:var(--ops-gold-hi); }
.ops-btn--blue { background:var(--blue); color:var(--w); }
.ops-btn--blue:hover { transform:translateY(-2px); background:var(--blue-dark); box-shadow:0 10px 24px rgba(37,99,235,.35); }
.ops-btn--ghost { background:transparent; color:var(--w); border:1.5px solid rgba(255,255,255,.35); }
.ops-btn--ghost:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.7); transform:translateY(-2px); }
.ops-btn--outline { background:transparent; color:var(--navy); border:1.5px solid var(--g300); }
.ops-btn--outline:hover { border-color:var(--navy); background:var(--g50); transform:translateY(-2px); }
.ops-btn--full { width:100%; }

.ops-breadcrumb {
  background:var(--g50); border-bottom:1px solid var(--g200);
  padding:12px 0;
}
.ops-breadcrumb__list {
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  font-size:13px; color:var(--g500);
}
.ops-breadcrumb__list a { color:var(--blue); font-weight:500; }
.ops-breadcrumb__list a:hover { text-decoration:underline; }
.ops-breadcrumb__sep { color:var(--g300); }
.ops-breadcrumb__current { color:var(--g700); font-weight:600; }

/* Breadcrumb variant — sits at the bottom of the navy hero */
.ops-breadcrumb--hero {
  position:relative; z-index:1;
  background:transparent; border:none;
  margin-top:40px; padding:16px 0 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.ops-breadcrumb--hero .ops-breadcrumb__list { color:rgba(255,255,255,.65); }
.ops-breadcrumb--hero .ops-breadcrumb__list a { color:rgba(255,255,255,.9); }
.ops-breadcrumb--hero .ops-breadcrumb__list a:hover { color:var(--gold); }
.ops-breadcrumb--hero .ops-breadcrumb__sep { color:rgba(255,255,255,.4); }
.ops-breadcrumb--hero .ops-breadcrumb__current { color:var(--w); }

/* HERO */
.ops-hero {
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 100%);
  position:relative; overflow:hidden;
  padding:clamp(48px, 7vw, 88px) 0 clamp(56px, 8vw, 96px);
}
.ops-hero::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:24px 24px;
  opacity:.5; pointer-events:none;
}
.ops-hero__grid {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr min(440px, 42%);
  grid-template-areas:"head form" "content form";
  column-gap:48px; row-gap:0;
  align-items:start;
}
.ops-hero__head { grid-area:head; }
.ops-hero__content { grid-area:content; }
.ops-hero__grid .ops-form-card { grid-area:form; }
.ops-hero__eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold);
  padding:6px 14px; border-radius:999px;
  background:rgba(245,166,35,.15); border:1px solid rgba(245,166,35,.3);
  margin-bottom:18px;
}
.ops-hero__eyebrow-dot {
  width:6px; height:6px; border-radius:50%; background:var(--gold);
  animation:opsPulse 2s ease infinite;
}
@keyframes opsPulse { 0%,100% { opacity:1; transform:scale(1);} 50% { opacity:.4; transform:scale(1.6);} }
.ops-hero__title {
  font-family:var(--font-head);
  font-size:clamp(30px, 4vw, 46px); font-weight:800;
  color:var(--w); line-height:1.15; letter-spacing:-.6px;
  margin-bottom:18px;
}
.ops-hero__title em { font-style:normal; color:var(--gold); }
.ops-hero__lede {
  font-size:16px; line-height:1.8; color:rgba(255,255,255,.85);
  margin-bottom:22px;
}
.ops-hero__lede a { color:var(--ops-hero-link); font-weight:600; border-bottom:1px dashed rgba(147,197,253,.5); }
.ops-hero__lede a:hover { color:var(--w); border-color:var(--w); }
.ops-hero__pills {
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px;
}
.ops-hero__pill {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:rgba(255,255,255,.95);
  padding:7px 14px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(6px);
}
.ops-hero__pill svg { width:12px; height:12px; color:var(--gold); }
.ops-hero__ctas {
  display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px;
}
.ops-hero__trust {
  display:flex; flex-wrap:wrap; gap:8px 18px;
  font-size:13px; color:rgba(255,255,255,.75); font-weight:500;
  padding-top:20px; border-top:1px solid rgba(255,255,255,.1);
}
.ops-hero__trust strong { color:var(--w); font-weight:700; }
.ops-hero__trust-item { display:inline-flex; align-items:center; gap:6px; }
.ops-hero__trust-item svg { width:14px; height:14px; color:var(--gold); }

/* Hero form */
.ops-form-card {
  background:var(--w); border-radius:20px;
  padding:26px 24px; box-shadow:var(--sh-lg);
  border-top:4px solid var(--gold);
  position:relative;
}
.ops-form-card__badge {
  position:absolute; top:-12px; left:20px;
  display:inline-flex; align-items:center; gap:6px;
  font-size:var(--fs-12); font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  padding:5px 12px; border-radius:6px;
  background:var(--green); color:var(--w);
}
.ops-form-card__badge svg { width:11px; height:11px; }
.ops-form-card__title {
  font-family:var(--font-head);
  font-size:19px; font-weight:800; color:var(--navy);
  margin-top:6px; margin-bottom:4px;
}
.ops-form-card__note {
  font-size:12px; color:var(--g500); font-weight:500;
  margin-bottom:16px;
  display:flex; align-items:center; gap:6px;
}
.ops-form-card__note svg { width:12px; height:12px; color:var(--green); }
.ops-form-card__group {
  display:flex; flex-direction:column; gap:5px; margin-bottom:12px;
}
.ops-form-card__label {
  font-size:12px; font-weight:700; color:var(--g700);
  letter-spacing:.03em; text-transform:uppercase;
}
.ops-form-card__label--required::after { content:'*'; color:var(--ops-red); margin-left:2px; }
.ops-form-card__input, .ops-form-card__select {
  height:44px; padding:0 13px; width:100%;
  border:1.5px solid var(--g200); border-radius:9px;
  font-size:14px; color:var(--g800); background:var(--w);
  outline:none; transition:border-color .2s, box-shadow .2s;
}
.ops-form-card__input:focus, .ops-form-card__select:focus {
  border-color:var(--blue); box-shadow:0 0 0 3px rgba(37,99,235,.1);
}
.ops-form-card__input::placeholder { color:var(--g400); }
.ops-form-card__consent {
  font-size:12px; color:var(--g500); line-height:1.5;
  margin:8px 0 4px; display:flex; align-items:flex-start; gap:8px;
}
.ops-form-card__consent input { margin-top:3px; flex-shrink:0; accent-color:var(--blue); }
.ops-form-card__submit {
  width:100%; height:50px; border-radius:10px;
  background:var(--gold); color:var(--navy);
  font-family:var(--font-head); font-size:15px; font-weight:800;
  margin-top:6px;
  transition:background .2s, transform .18s, box-shadow .2s;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.ops-form-card__submit svg { width:16px; height:16px; }
.ops-form-card__submit:hover {
  transform:translateY(-2px); background:var(--ops-gold-hi);
  box-shadow:0 12px 28px rgba(245,166,35,.35);
}

/* Trust bar */
.ops-trust {
  background:var(--w); padding:24px 0;
  border-bottom:1px solid var(--g100);
}
.ops-trust__list {
  display:grid; grid-template-columns:repeat(7, 1fr);
  gap:0;
}
.ops-trust__item {
  text-align:center; padding:8px 12px;
  border-right:1px solid var(--g100);
}
.ops-trust__item:last-child { border-right:none; }
.ops-trust__num {
  font-family:var(--font-head);
  font-size:clamp(18px, 2vw, 22px); font-weight:800;
  color:var(--navy); line-height:1; margin-bottom:4px;
  letter-spacing:-.5px;
}
.ops-trust__label {
  font-size:12px; color:var(--g500); font-weight:600;
  line-height:1.4;
}

/* Section header pattern */
.ops-secheader { text-align:center; max-width:820px; margin:0 auto 48px; }
.ops-secheader__eyebrow {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  padding:6px 14px; border-radius:999px;
  background:var(--gold-bg); color:var(--orange);
  margin-bottom:16px;
}
.ops-secheader__title {
  font-family:var(--font-head);
  font-size:clamp(24px, 2.8vw, 34px); font-weight:800;
  color:var(--head); line-height:1.2; letter-spacing:-.3px;
  margin-bottom:12px;
}
.ops-secheader__title em { font-style:normal; color:var(--head-accent); }
.ops-secheader__sub {
  font-size:16px; color:var(--g500); line-height:1.7;
  max-width:680px; margin:0 auto;
}

/* Accreditation logo marquee — infinite horizontal scroll */
.ops-accred__wrap {
  position:relative; overflow:hidden;
  margin:0 auto 28px; max-width:1200px;
  padding:8px 0;
}
.ops-accred__wrap::before,
.ops-accred__wrap::after {
  content:''; position:absolute; top:0; bottom:0;
  width:120px; z-index:2; pointer-events:none;
}
.ops-accred__wrap::before { left:0; background:linear-gradient(90deg, var(--w) 0%, transparent 100%); }
.ops-accred__wrap::after { right:0; background:linear-gradient(270deg, var(--w) 0%, transparent 100%); }
.ops-section--white .ops-accred__wrap::before { background:linear-gradient(90deg, var(--w) 0%, transparent 100%); }
.ops-section--white .ops-accred__wrap::after { background:linear-gradient(270deg, var(--w) 0%, transparent 100%); }

.ops-accred__track {
  display:flex; align-items:center; gap:20px;
  width:max-content;
  animation:opsAccredScroll 40s linear infinite;
  will-change:transform;
}
.ops-accred__track:hover { animation-play-state:paused; }
@keyframes opsAccredScroll {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .ops-accred__track { animation:none; }
}

.ops-accred__logo {
  flex-shrink:0;
  height:130px; width:200px; padding:16px 20px;
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:14px; box-shadow:var(--sh-sm);
  display:flex; align-items:center; justify-content:center;
  transition:transform .22s, box-shadow .22s, border-color .22s;
}
.ops-accred__logo:hover {
  transform:translateY(-3px);
  box-shadow:var(--sh-md);
  border-color:var(--gold);
}
.ops-accred__logo img {
  max-height:96px; max-width:170px;
  width:auto; height:auto; object-fit:contain;
  filter:grayscale(10%); opacity:.95;
  transition:filter .22s, opacity .22s;
}
.ops-accred__logo:hover img { filter:grayscale(0); opacity:1; }
.ops-accred__badges {
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px;
  margin:0 auto 20px; max-width:820px;
}
.ops-accred__badge {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:var(--navy);
  padding:6px 14px; border-radius:999px;
  background:var(--g50); border:1px solid var(--g200);
}
.ops-accred__badge-dot {
  width:6px; height:6px; border-radius:50%; background:var(--green);
}
.ops-accred__link {
  text-align:center;
}
.ops-accred__link a {
  display:inline-flex; align-items:center; gap:6px;
  color:var(--blue); font-weight:700; font-size:14px;
}
.ops-accred__link a:hover { text-decoration:underline; }
.ops-accred__link svg { width:14px; height:14px; }

/* Quick facts table */
.ops-facts__wrap {
  border-radius:16px; overflow:hidden;
  box-shadow:var(--sh-md);
  border:1px solid var(--g200);
  background:var(--w);
}
.ops-facts__table { width:100%; border-collapse:collapse; }
.ops-facts__table th, .ops-facts__table td {
  padding:16px 20px; font-size:15px; text-align:left;
  border-bottom:1px solid var(--g100);
}
.ops-facts__table th {
  background:var(--g50); font-weight:700; color:var(--navy);
  width:36%; vertical-align:top;
}
.ops-facts__table td { color:var(--g700); line-height:1.65; }
.ops-facts__table tr:last-child th, .ops-facts__table tr:last-child td { border-bottom:none; }
.ops-facts__table tr:hover td, .ops-facts__table tr:hover th { background:var(--gold-bg); }

/* Curriculum section */
.ops-curriculum__grid {
  display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center;
}
.ops-curriculum__image,
.ops-howworks__image,
.ops-assess__image,
.ops-fees__image {
  border-radius:20px; overflow:hidden;
  background:linear-gradient(135deg, var(--blue-lt), var(--green-bg));
  aspect-ratio:4/3;
  box-shadow:var(--sh-md);
  position:relative;
}
.ops-curriculum__image img,
.ops-howworks__image img,
.ops-assess__image img,
.ops-fees__image img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s var(--ease);
}
.ops-curriculum__grid:hover .ops-curriculum__image img,
.ops-howworks__grid:hover .ops-howworks__image img,
.ops-assess__grid:hover .ops-assess__image img,
.ops-fees__grid:hover .ops-fees__image img { transform:scale(1.03); }
/* Decorative gold corner accent to match brand */
.ops-curriculum__image::before,
.ops-howworks__image::before,
.ops-assess__image::before,
.ops-fees__image::before {
  content:''; position:absolute; top:0; right:0;
  width:80px; height:80px;
  background:linear-gradient(135deg, transparent 50%, var(--gold) 50%);
  opacity:.85; z-index:1; pointer-events:none;
  border-top-right-radius:20px;
}
.ops-curriculum__image svg,
.ops-howworks__image svg,
.ops-assess__image svg,
.ops-fees__image svg { width:75%; height:auto; margin:auto; }
.ops-curriculum__content h2 {
  font-family:var(--font-head);
  font-size:clamp(22px, 2.6vw, 32px); font-weight:800;
  color:var(--head); line-height:1.25; margin-bottom:18px;
  letter-spacing:-.3px;
}
.ops-curriculum__content h2 em { font-style:normal; color:var(--head-accent); }
.ops-curriculum__eyebrow {
  display:inline-flex; align-items:center;
  font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  padding:6px 14px; border-radius:999px;
  background:var(--gold-bg); color:var(--orange);
  margin-bottom:14px;
}
.ops-curriculum__content p {
  font-size:15px; color:var(--g600); line-height:1.85;
  margin-bottom:16px;
}
.ops-curriculum__content p a { color:var(--blue); font-weight:600; }
.ops-curriculum__content p a:hover { text-decoration:underline; }
.ops-curriculum__cta { margin-top:20px; }

/* Grade cards */
.ops-grades__grid {
  display:grid; grid-template-columns:repeat(5, 1fr); gap:18px;
}
.ops-grade-card {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:18px; padding:26px 22px 22px;
  position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.ops-grade-card::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:4px; background:var(--cc, var(--blue));
}
.ops-grade-card:hover {
  transform:translateY(-4px);
  border-color:var(--cc, var(--blue));
  box-shadow:0 16px 40px rgba(0,0,0,.08);
}
.ops-grade-card--green { --cc:var(--green); }
.ops-grade-card--blue { --cc:var(--blue); }
.ops-grade-card--gold { --cc:var(--ops-gold-ink); }
.ops-grade-card--purple { --cc:var(--purple); }
.ops-grade-card--teal { --cc:var(--teal); }
.ops-grade-card__age {
  font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--cc); margin-bottom:6px;
}
.ops-grade-card__stage {
  font-size:12px; color:var(--g500); font-weight:600; margin-bottom:14px;
}
.ops-grade-card__title {
  font-family:var(--font-head);
  font-size:18px; font-weight:800; color:var(--navy);
  line-height:1.3; margin-bottom:12px;
}
.ops-grade-card__title a { color:inherit; }
.ops-grade-card__title a:hover { color:var(--cc); }
.ops-grade-card__desc {
  font-size:13px; color:var(--g600); line-height:1.65;
  margin-bottom:18px; flex:1;
}
.ops-grade-card__cta {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  height:40px; padding:0 18px; border-radius:8px;
  font-family:var(--font-head); font-size:13px; font-weight:700;
  background:var(--gold); color:var(--navy);
  transition:transform .18s, box-shadow .18s;
}
.ops-grade-card__cta:hover { transform:translateY(-1px); background:var(--ops-gold-hi); box-shadow:0 6px 18px rgba(245,166,35,.3); }
.ops-grade-card__cta svg { width:14px; height:14px; }

/* Subjects table */
.ops-subjects__wrap {
  border-radius:16px; overflow:hidden;
  box-shadow:var(--sh-md);
  border:1px solid var(--g200);
  background:var(--w);
  overflow-x:auto;
}
.ops-subjects__table {
  width:100%; border-collapse:collapse; min-width:640px;
}
.ops-subjects__table thead {
  background:var(--navy); color:var(--w);
}
.ops-subjects__table th {
  padding:16px 18px; font-size:14px; font-weight:700; text-align:left;
  letter-spacing:.02em; border-bottom:3px solid var(--gold);
}
.ops-subjects__table td {
  padding:16px 18px; font-size:14px; color:var(--g700);
  border-bottom:1px solid var(--g100); line-height:1.6;
}
.ops-subjects__table tbody tr:nth-child(even) { background:var(--blue-lt); }
.ops-subjects__table tbody tr:hover { background:var(--gold-bg); }
.ops-subjects__table td:first-child { font-weight:700; color:var(--navy); }
.ops-subjects__note {
  margin-top:20px; padding:20px 24px;
  background:var(--gold-bg); border-left:4px solid var(--gold);
  border-radius:10px; font-size:14px; color:var(--g700); line-height:1.75;
}

/* Timings */
.ops-timings__batches {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
  margin-bottom:40px;
}
.ops-batch-card {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:16px; padding:24px 22px;
  text-align:center; box-shadow:var(--sh-sm);
  transition:transform .18s, box-shadow .18s, border-color .18s;
}
.ops-batch-card:hover {
  transform:translateY(-4px); border-color:var(--gold); box-shadow:var(--sh-md);
}
.ops-batch-card__icon {
  width:52px; height:52px; margin:0 auto 14px;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
}
.ops-batch-card__icon svg { width:26px; height:26px; }
.ops-batch-card--morning .ops-batch-card__icon { background:var(--gold-bg); color:var(--orange); }
.ops-batch-card--afternoon .ops-batch-card__icon { background:var(--blue-lt); color:var(--blue); }
.ops-batch-card--evening .ops-batch-card__icon { background:var(--purple-bg); color:var(--purple); }
.ops-batch-card__title {
  font-family:var(--font-head);
  font-size:18px; font-weight:800; color:var(--navy);
  margin-bottom:8px;
}
.ops-batch-card__desc {
  font-size:14px; color:var(--g600); line-height:1.6;
}

.ops-schedule {
  border-radius:16px; overflow:hidden;
  box-shadow:var(--sh-md);
  border:1px solid var(--g200);
  background:var(--w);
  margin-bottom:32px;
}
.ops-schedule__head {
  background:var(--navy); color:var(--w);
  padding:18px 24px;
  font-family:var(--font-head);
  font-size:16px; font-weight:700;
  border-bottom:3px solid var(--gold);
}
.ops-schedule__row {
  display:grid; grid-template-columns:130px 1fr;
  border-bottom:1px solid var(--g100);
  transition:background .15s;
}
.ops-schedule__row:last-child { border-bottom:none; }
.ops-schedule__row:nth-child(odd) { background:var(--blue-lt); }
.ops-schedule__row:hover { background:var(--gold-bg); }
.ops-schedule__time {
  padding:14px 18px; font-weight:700; color:var(--blue);
  background:rgba(37,99,235,.06); font-size:14px;
  display:flex; align-items:center;
}
.ops-schedule__activity {
  padding:14px 20px; font-size:14px; color:var(--g700);
  line-height:1.6;
}

.ops-callout {
  padding:22px 26px;
  background:var(--gold-bg); border-left:4px solid var(--gold);
  border-radius:12px; font-size:14px; color:var(--g700); line-height:1.75;
  box-shadow:var(--sh-sm);
}
.ops-callout a { color:var(--blue); font-weight:600; }
.ops-callout a:hover { text-decoration:underline; }
.ops-callout__link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:14px; color:var(--blue); font-weight:700; font-size:14px;
}
.ops-callout__link svg { width:14px; height:14px; }
.ops-callout__link:hover { text-decoration:underline; }

/* How it works */
.ops-howworks__grid {
  display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:center;
}
.ops-howworks__image {
  border-radius:20px; overflow:hidden;
  background:linear-gradient(135deg, var(--gold-bg), var(--green-bg));
  aspect-ratio:4/3;
  box-shadow:var(--sh-md);
  display:flex; align-items:center; justify-content:center;
}
.ops-howworks__image svg { width:78%; }
.ops-howworks__content h3 {
  font-family:var(--font-head);
  font-size:clamp(20px, 2.2vw, 26px); font-weight:800;
  color:var(--navy); margin-bottom:14px; line-height:1.3;
}
.ops-howworks__content > p {
  font-size:15px; color:var(--g600); line-height:1.85; margin-bottom:20px;
}
.ops-checklist {
  display:flex; flex-direction:column; gap:12px;
  margin-bottom:24px;
}
.ops-checklist__item {
  display:flex; align-items:flex-start; gap:12px;
  padding-left:0;
  font-size:14px; color:var(--g700); line-height:1.65;
}
.ops-checklist__item a { color:var(--blue); font-weight:600; }
.ops-checklist__item a:hover { text-decoration:underline; }
.ops-checklist__check {
  width:22px; height:22px; border-radius:50%;
  background:var(--green); color:var(--w);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; margin-top:1px;
}
.ops-checklist__check svg { width:12px; height:12px; }

.ops-insights {
  margin-top:32px; padding:22px 28px;
  background:var(--navy); border-radius:16px;
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
}
.ops-insights__chip {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:rgba(255,255,255,.95);
  padding:7px 14px; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(6px);
}
.ops-insights__chip svg { width:12px; height:12px; color:var(--gold); }

/* Assessments */
.ops-assess__grid {
  display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center;
}
.ops-assess__image {
  order:2;
  border-radius:20px; overflow:hidden;
  background:linear-gradient(135deg, var(--purple-bg), var(--blue-lt));
  aspect-ratio:4/3;
  box-shadow:var(--sh-md);
  display:flex; align-items:center; justify-content:center;
}
.ops-assess__image svg { width:75%; }
.ops-assess__content { order:1; }
.ops-assess__item {
  padding:18px 0;
  border-bottom:1px solid var(--g100);
}
.ops-assess__item:last-child { border-bottom:none; }
.ops-assess__item strong {
  display:block;
  font-family:var(--font-head);
  font-size:16px; font-weight:800; color:var(--navy);
  margin-bottom:6px;
}
.ops-assess__item p {
  font-size:14px; color:var(--g600); line-height:1.75;
}

/* Comparison table */
.ops-compare__wrap {
  border-radius:16px; overflow:hidden;
  box-shadow:var(--sh-md);
  border:1px solid var(--g200);
  background:var(--w);
  overflow-x:auto;
}
.ops-compare__table {
  width:100%; border-collapse:collapse; min-width:820px;
}
.ops-compare__table thead { background:var(--navy); color:var(--w); }
.ops-compare__table thead th {
  padding:18px 16px; font-size:14px; font-weight:700; text-align:left;
  border-bottom:3px solid var(--gold);
}
.ops-compare__table thead th.ops-compare__col--highlight {
  background:var(--gold); color:var(--navy);
  position:relative;
}
.ops-compare__table td {
  padding:14px 16px; font-size:14px; color:var(--g700);
  border-bottom:1px solid var(--g100); line-height:1.55;
}
.ops-compare__table tbody tr:nth-child(even) { background:var(--blue-lt); }
.ops-compare__table tbody tr:hover { background:var(--gold-bg); }
.ops-compare__table td:first-child {
  font-weight:700; color:var(--navy); background:var(--g50);
}
.ops-compare__table tbody tr:hover td:first-child { background:var(--gold-bg); }
.ops-compare__col--highlight-cell {
  background:var(--gold-bg) !important;
  font-weight:700; color:var(--navy) !important;
  border-left:2px solid var(--gold);
  border-right:2px solid var(--gold);
}
.ops-compare__ctas {
  display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
  margin-top:32px;
}

/* Who studies here */
.ops-audience__grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;
}
.ops-audience-card {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:18px; padding:28px 26px;
  position:relative; overflow:hidden;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.ops-audience-card::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:4px; background:var(--cc, var(--blue));
}
.ops-audience-card:hover {
  transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.08);
  border-color:var(--cc, var(--blue));
}
.ops-audience-card--teal { --cc:var(--teal); background:linear-gradient(180deg, var(--teal-bg) 0%, var(--w) 55%); }
.ops-audience-card--blue { --cc:var(--blue); background:linear-gradient(180deg, var(--blue-lt) 0%, var(--w) 55%); }
.ops-audience-card--green { --cc:var(--green); background:linear-gradient(180deg, var(--green-bg) 0%, var(--w) 55%); }
.ops-audience-card__icon {
  width:52px; height:52px; border-radius:14px;
  background:rgba(255,255,255,.7); border:1px solid var(--g200);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.ops-audience-card__icon svg { width:26px; height:26px; color:var(--cc); }
.ops-audience-card__title {
  font-family:var(--font-head);
  font-size:18px; font-weight:800; color:var(--navy);
  margin-bottom:12px; line-height:1.3;
}
.ops-audience-card__desc {
  font-size:14px; color:var(--g600); line-height:1.75;
}
.ops-audience-card__desc a { color:var(--cc); font-weight:600; }
.ops-audience-card__desc a:hover { text-decoration:underline; }

/* Co-curricular */
.ops-activities__chips {
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  max-width:960px; margin:0 auto 24px;
}
.ops-activities__chip {
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:600; color:var(--navy);
  padding:10px 18px; border-radius:999px;
  background:var(--w); border:1.5px solid var(--g200);
  box-shadow:var(--sh-sm);
  transition:transform .18s, border-color .18s, box-shadow .18s;
}
.ops-activities__chip:hover { transform:translateY(-2px); border-color:var(--gold); box-shadow:var(--sh-md); }
.ops-activities__chip svg { width:14px; height:14px; color:var(--gold); }
.ops-activities__note {
  text-align:center; font-size:14px; color:var(--g600); line-height:1.7;
  max-width:720px; margin:0 auto;
}
.ops-activities__note a { color:var(--blue); font-weight:600; }
.ops-activities__note a:hover { text-decoration:underline; }

/* Fees */
.ops-fees__grid {
  display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:center;
}
.ops-fees__image {
  border-radius:20px; overflow:hidden;
  background:linear-gradient(135deg, var(--green-bg), var(--blue-lt));
  aspect-ratio:4/3;
  box-shadow:var(--sh-md);
  display:flex; align-items:center; justify-content:center;
}
.ops-fees__image svg { width:75%; }
.ops-fees__content h2 {
  font-family:var(--font-head);
  font-size:clamp(22px, 2.6vw, 30px); font-weight:800;
  color:var(--head); margin-bottom:16px; line-height:1.25;
}
.ops-fees__content h2 em { font-style:normal; color:var(--head-accent); }
.ops-fees__content > p {
  font-size:15px; color:var(--g600); line-height:1.85; margin-bottom:20px;
}
.ops-fees__cta { margin-top:22px; }

/* Testimonials */
.ops-testi__grid {
  display:grid; grid-template-columns:repeat(2, 1fr); gap:22px;
}
.ops-testi-card {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:18px; padding:26px 24px;
  position:relative; overflow:hidden;
  box-shadow:var(--sh-sm);
  transition:transform .18s, box-shadow .18s, border-color .18s;
}
.ops-testi-card::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:3px; background:var(--cc, var(--green));
}
.ops-testi-card:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--cc); }
.ops-testi-card:nth-child(4n+1) { --cc:var(--green); }
.ops-testi-card:nth-child(4n+2) { --cc:var(--blue); }
.ops-testi-card:nth-child(4n+3) { --cc:var(--gold); }
.ops-testi-card:nth-child(4n+4) { --cc:var(--purple); }
.ops-testi-card__stars {
  display:flex; gap:2px; color:var(--gold);
  margin-bottom:14px;
}
.ops-testi-card__stars svg { width:16px; height:16px; }
.ops-testi-card__body {
  font-size:15px; color:var(--g700); line-height:1.75;
  font-style:italic; margin-bottom:18px;
}
.ops-testi-card__footer {
  display:flex; align-items:center; gap:12px;
  padding-top:16px; border-top:1px solid var(--g100);
}
.ops-testi-card__avatar {
  width:44px; height:44px; border-radius:50%;
  background:var(--blue); color:var(--w);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-size:16px; font-weight:700;
}
.ops-testi-card__meta { display:flex; flex-direction:column; }
.ops-testi-card__name {
  font-family:var(--font-head);
  font-size:15px; font-weight:700; color:var(--navy);
}
.ops-testi-card__role {
  font-size:13px; color:var(--g500); font-weight:500;
}
.ops-testi__link { text-align:center; margin-top:32px; }
.ops-testi__link a {
  display:inline-flex; align-items:center; gap:6px;
  color:var(--blue); font-weight:700; font-size:15px;
}
.ops-testi__link a:hover { text-decoration:underline; }
.ops-testi__link svg { width:14px; height:14px; }

/* FAQ */
.ops-faq__list {
  max-width:880px; margin:0 auto;
  display:flex; flex-direction:column; gap:10px;
}
.ops-faq__item {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:14px; overflow:hidden;
  box-shadow:var(--sh-sm);
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.ops-faq__item.is-open {
  border-color:var(--gold); background:var(--gold-bg);
  box-shadow:0 8px 24px rgba(245,166,35,.15);
}
.ops-faq__btn {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:18px 22px;
  font-family:var(--font-body); font-size:16px; font-weight:600;
  color:var(--navy); text-align:left;
  transition:background .15s;
}
.ops-faq__btn:hover { background:rgba(245,166,35,.06); }
.ops-faq__item.is-open .ops-faq__btn { color:var(--navy); }
.ops-faq__icon {
  width:32px; height:32px; border-radius:50%;
  background:var(--green); color:var(--w);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:transform .3s var(--ease), background .2s;
}
.ops-faq__icon svg { width:14px; height:14px; }
.ops-faq__item.is-open .ops-faq__icon {
  transform:rotate(45deg); background:var(--blue);
}
.ops-faq__body {
  max-height:0; overflow:hidden;
  transition:max-height .4s var(--ease);
}
.ops-faq__body-inner {
  padding:4px 22px 22px;
  font-size:15px; color:var(--g600); line-height:1.85;
}
.ops-faq__body-inner a { color:var(--blue); font-weight:600; }
.ops-faq__body-inner a:hover { text-decoration:underline; }
.ops-faq__footer {
  text-align:center; margin-top:24px;
  font-size:14px; color:var(--g600);
}
.ops-faq__footer a { color:var(--blue); font-weight:700; }
.ops-faq__footer a:hover { text-decoration:underline; }

/* Final CTA */
.ops-final-cta {
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 100%);
  padding:clamp(56px, 8vw, 88px) 0;
  position:relative; overflow:hidden;
  border-top:4px solid var(--gold);
}
.ops-final-cta::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:24px 24px;
  opacity:.6; pointer-events:none;
}
.ops-final-cta__inner {
  position:relative; z-index:1;
  max-width:920px; margin:0 auto; text-align:center;
}
.ops-final-cta__title {
  font-family:var(--font-head);
  font-size:clamp(24px, 3vw, 34px); font-weight:800;
  color:var(--w); line-height:1.2; letter-spacing:-.3px;
  margin-bottom:14px;
}
.ops-final-cta__title em { font-style:normal; color:var(--gold); }
.ops-final-cta__sub {
  font-size:16px; color:rgba(255,255,255,.8); line-height:1.75;
  margin-bottom:32px;
  max-width:720px; margin-left:auto; margin-right:auto;
}
.ops-final-cta__ctas {
  display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
  margin-bottom:24px;
}
.ops-final-cta__trust {
  font-size:13px; color:rgba(255,255,255,.7); font-weight:500;
  padding-top:20px; border-top:1px solid rgba(255,255,255,.1);
  max-width:640px; margin:0 auto;
}
.ops-final-cta__trust strong { color:var(--w); }

/* Definition / passage block */
.ops-define__wrap { max-width:920px; margin:0 auto; }
.ops-define__lead {
  font-size:17px; color:var(--g700); line-height:1.85;
  padding:26px 30px;
  background:var(--w); border-radius:16px;
  border-left:4px solid var(--blue);
  box-shadow:var(--sh-sm);
  margin-bottom:26px;
}
.ops-define__lead strong { color:var(--navy); font-weight:700; }

/* Why-choose reason grid */
.ops-reasons__grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;
}
.ops-reason-card {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:16px; padding:26px 22px;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.ops-reason-card:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--blue); }
.ops-reason-card__icon {
  width:48px; height:48px; border-radius:12px;
  background:var(--blue-lt); color:var(--blue);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.ops-reason-card__icon svg { width:24px; height:24px; }
.ops-reason-card:nth-child(2) .ops-reason-card__icon { background:var(--green-bg); color:var(--green); }
.ops-reason-card:nth-child(3) .ops-reason-card__icon { background:var(--gold-bg); color:var(--orange); }
.ops-reason-card:nth-child(4) .ops-reason-card__icon { background:var(--purple-bg); color:var(--purple); }
.ops-reason-card:nth-child(5) .ops-reason-card__icon { background:var(--teal-bg); color:var(--teal); }
.ops-reason-card:nth-child(6) .ops-reason-card__icon { background:var(--ops-red-bg); color:var(--ops-red); }
.ops-reason-card__title {
  font-family:var(--font-head);
  font-size:17px; font-weight:800; color:var(--navy);
  margin-bottom:10px; line-height:1.3;
}
.ops-reason-card__desc {
  font-size:14px; color:var(--g600); line-height:1.7;
}

/* Technology / platform section */
.ops-tech__grid {
  display:grid; grid-template-columns:1.05fr 1fr; gap:44px; align-items:center;
}
.ops-tech__list {
  display:flex; flex-direction:column; gap:14px;
}
.ops-tech__item {
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 20px;
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:12px;
  transition:transform .18s, border-color .18s, box-shadow .18s;
}
.ops-tech__item:hover { border-color:var(--blue); box-shadow:var(--sh-sm); }
.ops-tech__item-icon {
  width:38px; height:38px; border-radius:10px;
  background:var(--blue-lt); color:var(--blue);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.ops-tech__item-icon svg { width:18px; height:18px; }
.ops-tech__item-body { flex:1; }
.ops-tech__item-title {
  font-family:var(--font-head);
  font-size:15px; font-weight:700; color:var(--navy);
  margin-bottom:4px;
}
.ops-tech__item-desc {
  font-size:14px; color:var(--g600); line-height:1.6;
}
.ops-tech__panel {
  background:linear-gradient(135deg, var(--navy), var(--navy2));
  color:var(--w);
  border-radius:20px;
  padding:32px 28px;
  box-shadow:var(--sh-lg);
  position:relative; overflow:hidden;
}
.ops-tech__panel::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:20px 20px;
  opacity:.5;
}
.ops-tech__panel-inner { position:relative; z-index:1; }
.ops-tech__panel h3 {
  font-family:var(--font-head);
  font-size:20px; font-weight:800; color:var(--w);
  margin-bottom:12px;
}
.ops-tech__panel h3 em { color:var(--gold); font-style:normal; }
.ops-tech__panel > p {
  font-size:14px; color:rgba(255,255,255,.85); line-height:1.75;
  margin-bottom:20px;
}
.ops-tech__stats {
  display:grid; grid-template-columns:repeat(2, 1fr); gap:14px;
}
.ops-tech__stat {
  padding:14px 16px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
}
.ops-tech__stat-num {
  font-family:var(--font-head);
  font-size:22px; font-weight:800; color:var(--gold);
  line-height:1; margin-bottom:4px;
}
.ops-tech__stat-label {
  font-size:12px; color:rgba(255,255,255,.75); font-weight:500;
}

/* Teacher qualifications */
.ops-teachers__grid {
  display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
.ops-teacher-card {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:14px; padding:22px 18px;
  text-align:center; box-shadow:var(--sh-sm);
  transition:transform .18s, border-color .18s;
}
.ops-teacher-card:hover { transform:translateY(-3px); border-color:var(--gold); }
.ops-teacher-card__num {
  font-family:var(--font-head);
  font-size:28px; font-weight:800; color:var(--blue);
  line-height:1; margin-bottom:8px;
}
.ops-teacher-card__title {
  font-family:var(--font-head);
  font-size:14px; font-weight:700; color:var(--navy);
  margin-bottom:6px;
}
.ops-teacher-card__desc {
  font-size:13px; color:var(--g600); line-height:1.55;
}

/* Admissions process */
.ops-admissions__grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;
  margin-bottom:32px;
}
.ops-admission-step {
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:18px; padding:28px 24px;
  position:relative;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.ops-admission-step:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--gold); }
.ops-admission-step__num {
  position:absolute; top:-16px; left:24px;
  width:44px; height:44px; border-radius:50%;
  background:var(--gold); color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-size:18px; font-weight:800;
  box-shadow:0 4px 12px rgba(245,166,35,.35);
}
.ops-admission-step__title {
  font-family:var(--font-head);
  font-size:18px; font-weight:800; color:var(--navy);
  margin:16px 0 10px; line-height:1.3;
}
.ops-admission-step__desc {
  font-size:14px; color:var(--g600); line-height:1.75;
  margin-bottom:14px;
}
.ops-admission-step__meta {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700; color:var(--green-dark);
  padding:5px 12px; border-radius:999px;
  background:var(--green-bg);
  text-transform:uppercase; letter-spacing:.06em;
}
.ops-admission-step__meta svg { width:12px; height:12px; }
.ops-admissions__cta { text-align:center; }

/* Blog cards — reference style: colorful blob header + circular illustration */
.ops-blogs {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:26px;
}
.ops-blog {
  display:flex; flex-direction:column;
  background:var(--w); border:1.5px solid var(--g200);
  border-radius:16px; overflow:hidden;
  box-shadow:var(--sh-sm);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.ops-blog:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(26,39,68,.1);
  border-color:var(--blue);
}
.ops-blog__media {
  display:block; position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--g100);
  color:inherit;
}
.ops-blog__img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .35s var(--ease);
}
.ops-blog:hover .ops-blog__img { transform:scale(1.04); }
.ops-blog__media::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.18) 100%);
  pointer-events:none;
}
.ops-blog__tag {
  position:absolute; top:16px; left:16px; z-index:2;
  display:inline-flex; align-items:center;
  padding:6px 14px; border-radius:999px;
  background:var(--w); color:var(--orange);
  font-family:var(--font-head);
  font-size:var(--fs-12); font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.ops-blog__body {
  padding:22px 22px 22px;
  display:flex; flex-direction:column; gap:8px;
  flex:1;
}
.ops-blog__title {
  font-family:var(--font-head);
  font-size:17px; font-weight:800; color:var(--navy);
  line-height:1.4; letter-spacing:-.1px;
}
.ops-blog__title a { color:inherit; }
.ops-blog__title a:hover { color:var(--blue); }
.ops-blog__meta {
  margin-top:10px; padding-top:12px;
  border-top:1px solid var(--g100);
  display:flex; align-items:center; gap:8px;
  font-size:12px; color:var(--g500); font-weight:600;
}
.ops-blog__meta svg { width:14px; height:14px; color:var(--gold); }
.ops-blog__meta-sep {
  width:3px; height:3px; border-radius:50%; background:var(--g300);
}
.ops-blogs__footer { text-align:center; margin-top:36px; }

/* Video grid — click-to-load YouTube facade */
.ops-videos {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;
}
.ops-video {
  position:relative; display:block;
  aspect-ratio:16/9;
  border-radius:16px; overflow:hidden;
  background:var(--navy2);
  border:1.5px solid var(--g200);
  box-shadow:var(--sh-md);
  cursor:pointer;
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.ops-video:hover, .ops-video:focus-visible {
  transform:translateY(-4px);
  box-shadow:0 20px 44px rgba(0,0,0,.18);
  border-color:var(--gold);
  outline:none;
}
.ops-video:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.ops-video__thumb {
  width:100%; height:100%; object-fit:cover;
  opacity:.9;
  transition:opacity .22s var(--ease), transform .3s var(--ease);
}
.ops-video:hover .ops-video__thumb { opacity:1; transform:scale(1.03); }
.ops-video__play {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%, -50%);
  width:64px; height:64px; border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--ops-red);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  transition:transform .22s var(--ease), background .22s var(--ease), color .22s var(--ease);
  z-index:2;
}
.ops-video__play svg { width:26px; height:26px; margin-left:3px; }
.ops-video:hover .ops-video__play {
  transform:translate(-50%, -50%) scale(1.1);
  background:var(--ops-red);
  color:var(--w);
}
.ops-video__label {
  position:absolute; bottom:0; left:0; right:0;
  padding:16px 18px 14px;
  color:var(--w);
  font-family:var(--font-head);
  font-size:14px; font-weight:700;
  line-height:1.4;
  background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.88) 100%);
  z-index:1;
}
.ops-video__tag {
  position:absolute; top:14px; left:14px;
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px; border-radius:6px;
  background:var(--gold); color:var(--navy);
  font-family:var(--font-head);
  font-size:var(--fs-12); font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  z-index:2;
}
.ops-video iframe {
  position:absolute; inset:0;
  width:100%; height:100%; border:0;
  z-index:3;
}
.ops-videos__footer {
  text-align:center; margin-top:32px;
}
.ops-videos__footer a {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; border-radius:999px;
  background:var(--ops-red-bg); color:var(--ops-red);
  font-family:var(--font-head);
  font-size:14px; font-weight:800;
  border:1.5px solid transparent;
  transition:transform .18s, background .18s, border-color .18s;
}
.ops-videos__footer a:hover {
  transform:translateY(-2px);
  background:var(--w);
  border-color:var(--ops-red);
}
.ops-videos__footer a svg { width:16px; height:16px; }

/* Scroll reveal — only hide when JS is available; noscript-safe */
.ops-js .ops-reveal { opacity:0; transform:translateY(24px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.ops-js .ops-reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  .ops-js .ops-reveal { opacity:1; transform:none; transition:none; }
}

/* ============================================
   RESPONSIVE
============================================ */
@media (max-width:1024px) {
  .ops-hero__grid { grid-template-columns:1fr; grid-template-areas:"head" "form" "content"; row-gap:28px; }
  .ops-form-card { max-width:520px; margin:0 auto; width:100%; }
  .ops-trust__list { grid-template-columns:repeat(4, 1fr); }
  .ops-trust__item:nth-child(4) { border-right:none; }
  .ops-trust__item:nth-child(n+5) { border-top:1px solid var(--g100); padding-top:16px; margin-top:8px; }
  .ops-grades__grid { grid-template-columns:repeat(3, 1fr); }
  .ops-audience__grid { grid-template-columns:repeat(3, 1fr); }
  .ops-teachers__grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:900px) {
  .ops-curriculum__grid,
  .ops-howworks__grid,
  .ops-assess__grid,
  .ops-fees__grid { grid-template-columns:1fr; gap:36px; }
  .ops-assess__image { order:1; }
  .ops-assess__content { order:2; }
  .ops-grades__grid { grid-template-columns:repeat(2, 1fr); }
  .ops-timings__batches { grid-template-columns:1fr; }
  .ops-audience__grid { grid-template-columns:1fr; }
  .ops-testi__grid { grid-template-columns:1fr; }
  .ops-reasons__grid { grid-template-columns:repeat(2, 1fr); }
  .ops-tech__grid { grid-template-columns:1fr; gap:32px; }
  .ops-admissions__grid { grid-template-columns:1fr; }
  .ops-videos { grid-template-columns:repeat(2, 1fr); }
  .ops-blogs { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:768px) {
  .ops-reasons__grid { grid-template-columns:1fr; }
  .ops-blogs { grid-template-columns:1fr; gap:18px; }
  .ops-videos { grid-template-columns:1fr; gap:18px; }
  .ops-video__play { width:54px; height:54px; }
  .ops-video__play svg { width:22px; height:22px; }
  .ops-video__label { padding:12px 14px 12px; font-size:13px; }
  .ops-teachers__grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
  .ops-define__lead { padding:22px 20px; font-size:15px; }
  .ops-tech__panel { padding:26px 22px; }
  .ops-tech__stats { grid-template-columns:1fr 1fr; }
}
@media (max-width:430px) {
  .ops-teachers__grid { grid-template-columns:1fr; }
  .ops-admission-step { padding:24px 20px; }
}
@media (max-width:768px) {
  .ops-section { padding:56px 0; }
  .ops-container { padding:0 18px; }
  .ops-hero { padding:44px 0 56px; }
  .ops-hero__title { font-size:clamp(26px, 6vw, 34px); }
  .ops-hero__lede { font-size:15px; }
  .ops-hero__ctas .ops-btn { flex:1; min-width:170px; }
  .ops-trust__list { grid-template-columns:repeat(3, 1fr); }
  .ops-trust__item:nth-child(3) { border-right:none; }
  .ops-trust__item:nth-child(n+4) { border-top:1px solid var(--g100); padding-top:16px; margin-top:8px; border-right:1px solid var(--g100); }
  .ops-trust__item:nth-child(6),
  .ops-trust__item:nth-child(7) { border-right:none; }
  .ops-facts__table th, .ops-facts__table td { padding:12px 14px; font-size:14px; }
  .ops-facts__table th { width:42%; }
  .ops-grades__grid { grid-template-columns:1fr; }
  .ops-schedule__row { grid-template-columns:100px 1fr; }
  .ops-schedule__time { padding:12px 14px; font-size:13px; }
  .ops-schedule__activity { padding:12px 16px; font-size:13px; }
  .ops-insights { padding:18px; }
  .ops-testi-card__body { font-size:14px; }
  .ops-faq__btn { padding:16px 18px; font-size:15px; }
  .ops-faq__body-inner { padding:0 18px 18px; font-size:14px; }
  .ops-final-cta__ctas { flex-direction:column; align-items:stretch; }
  .ops-final-cta__ctas .ops-btn { width:100%; }
}
@media (max-width:430px) {
  .ops-container { padding:0 14px; }
  .ops-section { padding:44px 0; }
  .ops-hero { padding:32px 0 44px; }
  .ops-hero__title { font-size:clamp(24px, 7vw, 30px); }
  .ops-hero__pills { gap:6px; }
  .ops-hero__pill { font-size:12px; padding:6px 12px; }
  .ops-hero__ctas { flex-direction:column; }
  .ops-hero__ctas .ops-btn { width:100%; }
  .ops-hero__trust { font-size:12px; }
  .ops-form-card { padding:24px 20px; }
  .ops-trust__list { grid-template-columns:repeat(2, 1fr); }
  .ops-trust__item { border-right:1px solid var(--g100) !important; padding-top:14px; margin-top:6px; border-top:1px solid var(--g100); }
  .ops-trust__item:nth-child(1), .ops-trust__item:nth-child(2) { border-top:none; padding-top:8px; margin-top:0; }
  .ops-trust__item:nth-child(even) { border-right:none !important; }
  .ops-trust__item:nth-child(7) { grid-column:span 2; border-right:none !important; }
  .ops-secheader__title { font-size:22px; }
  .ops-secheader__sub { font-size:14px; }
  .ops-facts__table th { width:44%; font-size:13px; padding:10px 12px; }
  .ops-facts__table td { font-size:13px; padding:10px 12px; }
  .ops-accred__logo { height:44px; font-size:12px; padding:6px 12px; }
  .ops-batch-card { padding:20px 18px; }
  .ops-schedule__row { grid-template-columns:1fr; }
  .ops-schedule__time { border-bottom:1px solid rgba(37,99,235,.1); font-size:12px; padding:10px 14px; }
  .ops-schedule__activity { padding:12px 14px; font-size:13px; }
  .ops-testi-card { padding:22px 20px; }
  .ops-final-cta__title { font-size:22px; }
  .ops-final-cta__sub { font-size:14px; }
}

@media (max-width:320px) {
  .ops-container { padding:0 12px; }
  .ops-hero__title { font-size:22px; }
  .ops-trust__list { grid-template-columns:1fr; }
  .ops-trust__item { border-right:none !important; border-top:1px solid var(--g100); padding:12px 0; margin:0; }
  .ops-trust__item:first-child { border-top:none; }
}
