/* Colors & base */
:root{
  --blue:#1b1f28;   /* dark blue */
  --olive:#d7bc1e;  /* accent */
  --text:#1b1f28;
  --bg:#ffffff;
  --soft:#f6f7fb;
  --radius:12px;
  --border:#e9eef5;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text); background:var(--bg); line-height:1.6;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,90%);margin-inline:auto}
.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;background:#000;color:#fff;padding:8px 12px;border-radius:8px;z-index:1000}

/* Type */
h1,h2,h3{font-family:"Libre Baskerville", serif;color:var(--blue);margin:0 0 10px}

/* Buttons */
.btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 25px;
    border-radius:25px;
    border:1px solid var(--border);
}
.btn--primary
{
    background:var(--olive);
    border-color:var(--olive);
    color:#fff;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 20px;
}
.btn--primary:hover{filter:brightness(.95)}
.btn--ghost
{
  background:#fff;
  color: #1b1f28;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}
.btn--ghost:hover{background:#f2f4f8}

/* Announcement Bar */
.announcement
{
    background:var(--blue);
    color:#d7bc1e;
    text-align:center;
    padding:8px;
    font-family: "Libre Baskerville", serif;
    font-weight:600;
    font-size:1rem;
}

/* Header */
.header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border)}
.header__row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand__logo{height:150px}


/* hamburger icon default */
.burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  width: 28px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  z-index: 2000;
}

.burger__bar,
.burger__bar::before,
.burger__bar::after {
  content: "";
  display: block;
  height: 2px;
  width: 24px;
  background: var(--text);
  position: absolute;
  transition: all 0.3s ease;
}

.burger__bar::before { top: -7px; }
.burger__bar::after { top: 7px; }

/* X animation */
.burger.active .burger__bar {
  background: transparent;
}
.burger.active .burger__bar::before {
  transform: rotate(45deg);
  top: 0;
}
.burger.active .burger__bar::after {
  transform: rotate(-45deg);
  top: 0;
}


.nav{display:flex}
.nav__list{display:flex;align-items:center;gap:16px;list-style:none;margin:0;padding:0}
.nav__link
{
    padding:8px 6px;
    border-radius:8px;
    font-size: 25px;
    font-family: "Libre Baskerville", serif;
    font-weight: bolder;
}
.subject-button
{
    font-size: 25px;
    font-family: "Libre Baskerville", serif;
    font-weight: bolder;
    color: #1b1f28;
}
/* making the subjects inside subject button without the text-decoration */
.submenu
{
    text-decoration: none;
    list-style: none;
}
/* Full-bleed hero background */
.hero {
  position: relative;
  padding: 80px 0; /* controls height */
  background: center/cover no-repeat url('images/fortis\ education\ hero\ background.png'); /* update path */
  color: #1b1f28;
  min-height: 500px;;
}

/* optional soft overlay if text needs more contrast */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15); /* tweak opacity as needed */
}

/* make sure content sits above overlay */
.hero__wrap {
  position: relative;
  text-align: center;
  display: grid;
  place-items: center;
}

.hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  padding: 60px 0;
}

.hero__title {
  font-family: "Libre Baskerville", serif;
  font-size: clamp(1.8rem, 3.4vw, 3rem);
  color: #fff; /* white text over image */
}


.hero__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}



/* Dropdown (Subjects) */
.has-submenu {
  position: relative;
  color: #1b1f28;
}

.nav__link--button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 0;
  font: inherit;
  cursor: pointer;
  padding: 8px 6px;
  border-radius: 8px;
  color: #1b1f28;
}

/* Base submenu */
.submenu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 200px;
  background: #1b1f28;
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
  padding: 6px;
  display: none; /* hidden by default */
  color: #d7bc1e;
  z-index: 2000;
}

/* when opened via JS */
.submenu.open,
.has-submenu.open > .submenu {
  display: block;
}

/* link styling */
.submenu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
}

/* Hover effect */
.submenu a:hover {
  background: var(--soft);
}

/* Desktop hover open */
@media (hover: hover) {
  .has-submenu:hover .submenu,
  .has-submenu:focus-within .submenu {
    display: block;
  }
}


/* HERO — centered */
.hero{padding:56px 0}
.hero__wrap{
  text-align:center;
  display:grid; gap:16px; justify-items:center;
}
.hero__title
{
    font-size:clamp(1.8rem,3.4vw,3rem);
    font-family:"Libre Baskerville",serif;
    background-color: #fff;
    color: #d7bc1e;
    padding: 20px 60px;
    border-radius: 20px;
}
.hero__subtitle{max-width:60ch; color:#5f6b81}
.hero__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.hero__image img{border-radius:var(--radius); border:1px solid var(--border)}

/* === Seamless features section under hero === */
.pillars{
  background: var(--blue);      /* same dark background as screenshot */
  padding: 32px 0 44px;         /* inner spacing only */
  margin-top: 0;                /* ensure no gap from hero */
}

/* kill any bottom padding on hero to make it seamless */
.hero{ margin-bottom:0; }       /* your hero already has padding; no margin gap */

/* grid */
.pillars__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 100px;
  align-items: center;
}

/* circular gold badges */
.pillar__badge{
  width: 280px;                 /* adjust to match your design */
  height: 280px;
  margin-inline: auto;
  border-radius: 50%;
  background: var(--olive);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 28px;
}

.pillar__badge svg{width: 80px; height: 80px; fill: #1b1f28; } /* dark blue icon color */
.pillar__badge p{
  margin: 0;
  font-family: "Libre Baskerville", serif;
  font-size: 16px;
  line-height: 1.5;
  color: #7e8185;               /* dark blue text on gold */
}


/* ===== Premium Academic Programs ===== */
.programs{
  background:#fff;
  padding: 48px 0 56px;
}
.programs__title{
  font-family:"Libre Baskerville", serif;
  font-weight:700;
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  color: var(--blue);
  text-align:center;
  margin:0 0 6px;
}
.programs__subtitle{
  text-align:center;
  color:#6b7280;
  max-width:60ch;
  margin:0 auto 24px;
  font-size:.95rem;
}

.programs__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

/* card */
.program-card{
  position:relative;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:20px 18px 18px;
  box-shadow: 0 22px 36px rgba(0,0,0,.12);
}
.program-card__bar{
  position:absolute;
  top:10px; left:50%;
  transform: translateX(-50%);
  width: 58%;
  height: 10px;
  background: var(--olive);
  border-radius: 8px;
}
.program-card__icon{
  color:#1b1f28;
  margin: 24px 0 8px;
}
.program-card__heading{
  font-family:"Libre Baskerville", serif;
  font-size: 1.15rem;
  color: var(--blue);
  margin: 4px 0 8px;
}
.program-card__blurb{
  color:#6b7280;
  font-size:.95rem;
  margin:0 0 10px;
}

/* ticks list */
.program-card__list{
  list-style:none; margin:0 0 14px; padding:0; display:grid; gap:8px;
}
.program-card__list li{
  position:relative; padding-left:22px; font-size:.95rem; color:#111827;
}
.program-card__list li::before{
  content:"✓";
  position:absolute; left:0; top:0;
  color: var(--olive);
  font-weight:700;
}

/* small button */
.btn--sm{ padding:10px 18px; font-size: 0.95rem; border-radius: 999px; }

/* ===== Testimonials ===== */
.testimonials{
  position: relative;
  background: var(--olive);
  padding: 36px 0 0;         /* wave adds bottom visually */
  color: #1b1f28;
  margin-top: 0;             /* seamless from previous section */
}

.testi__title{
  font-family: "Libre Baskerville", serif;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  margin: 0 0 6px;
  color: var(--blue);
}
.testi__subtitle{
  text-align: center;
  margin: 0 auto 24px;
  max-width: 65ch;
  color: #7e8185;            /* muted dark on olive */
  font-size: .95rem;
  font-family: "Poppins", sans-serif;
}

/* cards grid */
.testi__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  align-items: start;
}

.testi__card{
  position: relative;
  border: 3px solid var(--blue);
  border-radius: 12px;
  padding: 16px 18px 22px;
  background: transparent;   /* matches screenshot */
}
/* speech-bubble notch */
.testi__card::after{
  content:"";
  position:absolute;
  left: 52%;
  bottom: -14px;
  width: 0; height: 0;
  transform: translateX(-50%);
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 14px solid var(--blue);   /* border outline */
}
.testi__card::before{
  content:"";
  position:absolute;
  left: 52%;
  bottom: -11px;
  width: 0; height: 0;
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 12px solid var(--olive);  /* fill matches background */
}

/* quote mark + stars */
.testi__quote{
  font-family: "Libre Baskerville", serif;
  font-size: 34px;
  line-height: 1;
  color: var(--blue);
  margin-bottom: 8px;
}
.testi__stars{
  letter-spacing: 4px;
  color: #1b1f28;            /* soft gold stars */
  font-size: 18px;
  margin-bottom: 8px;
}

.testi__text{
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
  color: #1b1f28;
}

/* bottom wave */
.testi__wave{
  margin-top: 34px;
  height: 180px;
  overflow: hidden;
}
.testi__wave svg{
  display: block;
  width: 100%;
  height: 100%;
}


/* ===== Why Fortis Education ===== */
:root{
  /* Optional: tweak this if you prefer the purple accent from your mock */
  --accent: var(--olive); /* e.g., #9b7cf6 for purple */
}

.why{
  background:#fff;
  padding: 44px 0 56px;
}

.why__title{
  font-family:"Libre Baskerville", serif;
  font-weight:700;
  text-align:center;
  color:var(--blue);
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  margin:0 0 6px;
}

.why__subtitle{
  text-align:center;
  color: #7e8185;
  max-width: 65ch;
  margin: 0 auto 22px;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
}

/* Big image with accent outline */
.why__hero{
  margin: 0 0 28px;
  border: 3px solid var(--accent);
  border-radius: 10px;
  overflow:hidden;
}
.why__hero img{ display:block; width:100%; height:auto; }

/* Text + small image on right */
.why__grid{
  display:grid;
  grid-template-columns: 1.25fr auto;
  gap: 28px;
  align-items: start;
}
.why__text{ color: #7e8185; font-size:1.1rem; line-height:1.7; font-family: "Poppins", sans-serif;}
.why__text p
{ 
  margin: 0 0 14px;
}

.why__media img{
  display:block;
  width: 300px;
  max-width: 28vw;
  height:auto;
  border-radius: 10px;
  object-fit: cover;
  border: 2px solid var(--accent);
}

/* Tablet */
@media (max-width: 960px){
  .why__media img{ width:220px; max-width: 40vw; }
}

/* Mobile: stack; text first, image below centered */
@media (max-width: 720px){
  .why__grid{ grid-template-columns: 1fr; text-align:left; }
  .why__media{ order: 2; display:grid; place-items:center; }
  .why__media img{ width: 700px; max-width: 100%; margin-top: 6px; }
}














/* ===== Footer (matches screenshot) ===== */
.footer{
  background: var(--blue);
  color: #e6eafb;
  padding: 28px 0;
  font-family: "Libre Baskerville", serif;
  margin-top: 50px;
}
.footer__grid{
  display: grid;
  grid-template-columns: 1fr 260px 1fr; /* left / circle / right */
  align-items: center;
  gap: 32px;
}

/* headings */
.footer__heading{
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  font-size: 2rem;
  margin: 0 0 14px;
  color: #fff;
}

/* links list */
.footer__links{ list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 12px; }
.footer__link{
  color: #e6eafb;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 1.25rem;
}
.footer__link:hover{ color: var(--olive); }

/* enrol button style inside footer */
.footer__enrol{ margin-top: 10px;}

/* center badge */
.footer__center{ display: grid; place-items: center; }
.footer__badge{
  width: 250px; height: 250px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--olive);
  display: grid; place-items: center;
}
.footer__badge img{
  width: 100%; height: 70%; object-fit: contain;
}

/* contact items with icons */
.footer__item{ display: flex; align-items: flex-start; gap: 10px; margin: 14px 0; }
.footer__icon{ color: #fff; line-height: 1; margin-top: 2px; }
.footer__text{
  margin: 0;
  color: #e6eafb;
  font-size: 1.1rem;
}
.footer__col_contact
{
    margin-left: 200px;
}
.footer a.footer__text:hover{ color: var(--olive); }

/* ===== Footer bottom (icons + credit) ===== */
.footer-bottom {
  background: white;
  text-align: center;
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 50px;
}

.footer-bottom__wrap {
  display: grid;
  gap: 18px;
  justify-items: center;
}

.footer-icons {
  display: flex;
  gap: 40px;
  justify-content: center;
}

.footer-icon {
  color: var(--olive);
  font-size: 28px;
  transition: transform 0.2s ease, color 0.2s ease;
}
.footer-icon:hover {
  transform: scale(1.15);
  color: #1b1f28;
}

.footer-bottom__text p {
  margin: 6px 0;
  font-family: "Libre Baskerville", serif;
  font-size: 1.1rem;
  color: var(--olive);
}

.footer-credit {
  color: var(--olive);
  text-decoration: underline;
  font-weight: 600;
}
.footer-credit:hover {
  color: #1b1f28;
}




/* Responsiveness for mobiles */
@media (max-width: 720px){
  .burger
  {
    display:inline-flex;
  }
  .nav{position:fixed;inset:60px 0 0 0;background: #fff;transform:translateY(-120%);transition:transform .25s ease}
  .nav.open{transform:translateY(0);}
  .nav__list
  {
    flex-direction:column;
    align-items:center;
    margin: auto;
    text-align: center;

  }
  .submenu
  {
    position:static;
    display:none;
    border:0;
    box-shadow:none;
    padding:0;
    margin: 6px;
  }
  .submenu.open
  {
    display:block;
    text-align: center;
  }
  .hero {
    padding: 60px 0;
    background-position: center;
  }
  .announcement
  {
      font-size: 0.875rem;
  }
  .brand__logo{height:120px}
  .footer__grid{ grid-template-columns: 1fr; text-align: center; }
  .footer__center{ order: 0; }         /* logo on top */
  .footer__badge{ margin: 0 auto 8px; }
  .footer__col_contact{ margin: auto; }
  .footer__item{ justify-content: center;}
  .footer__heading{ font-size: 1.5rem; }
  .footer__link{ font-size: 1rem; }
  .footer__text{ font-size: 1rem; }

  .footer-icons { gap: 24px; }
  .footer-icon { font-size: 24px; }

  .pillars__grid{ grid-template-columns: 1fr; gap: 20px; }
  .footer-bottom__text p 
  {
    font-size: 14px;
  }
  /*making the program cards one column on mobile*/
  .programs__grid{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  /* testimonials grid one column on mobile */
  .testi__grid{
  grid-template-columns: repeat(1, 1fr);
}
  .nav__link--button {
  color: #1b1f28;
}

}

/* Responsiveness for Tablets */

@media (min-width: 721px) and (max-width: 840px){
  .burger
  {
    display:inline-flex;
  }
  .nav{position:fixed;inset:60px 0 0 0;background: #fff;transform:translateY(-120%);transition:transform .25s ease}
  .nav.open{transform:translateY(0)}
  .nav__list
  {
    flex-direction:column;
    align-items:center;
    margin: auto;
    text-align: center;

  }
  .submenu
  {
    position:static;
    display:none;
    border:0;
    box-shadow:none;
    padding:0;
    margin: 6px;
  }
  .submenu.open
  {
    display:block;
    text-align: center;
  }
  .hero {
    padding: 60px 0;
    background-position: center;
  }
  .announcement
  {
      font-size: 0.875rem;
  }
  .brand__logo{height:120px}
  .nav__link--button {
  color: #1b1f28;
}

}
/* footer responsiveness*/
@media (min-width: 721px) and (max-width: 750px)
{
  .footer__grid{ grid-template-columns: 1fr; text-align: center;}
  .footer__center{ order: 0; }         /* logo on top */
  .footer__badge{ margin: 0 auto 8px; }
  .footer__col_contact{ margin: auto; }
  .footer__item{ justify-content: center;}

  .pillars__grid{ grid-template-columns: 1fr; gap: 20px; }
    /* testimonials grid one column on mobile */
  .testi__grid{
  grid-template-columns: repeat(1, 1fr);
  }
}

@media (min-width: 751px) and (max-width: 900px)
{
  .footer__col_contact{ margin-left: 0; }
  .footer__heading{ font-size: 1.5rem; }
  .footer__link{ font-size: 1rem; }
  .footer__text{ font-size: 1rem; }
  .footer__badge{
  width: 200px; height: 200px;
  }

    .nav__link--button {
  color: #1b1f28;
}
}

@media (min-width: 901px) and (max-width: 1200px)
{
  .footer__col_contact{ margin-left: 50px;}
  .footer__badge{
  width: 200px; height: 200px;
  }
  /* making the circles in pillar section smaller in gap. */
  .pillars__grid{     
    gap: 50px;
  }
  .pillar__badge{
    width: 220px;  
    height: 220px;
  }
  .pillar__badge p{
    font-size: 13px;
  }
}

@media (min-width: 751px) and (max-width: 780px)
{
  .pillars__grid{     
  gap: 25px;
  }
  .pillar__badge p{
    font-size: 12px;
  }
  .pillar__badge{
    width: 200px;  
    height: 200px;
  }
}

@media (min-width: 781px) and (max-width: 900px)
{
  .pillars__grid{     
  gap: 30px;
  }
    /* making the circles in pillar section smaller in gap. */
  .pillar__badge{
    width: 220px;  
    height: 220px;
  }
  .pillar__badge p{
    font-size: 13px;
  }
}


/* === Reveal on scroll (alternating left/right, slower) === */
.reveal{
  opacity: 0;
  transition:
    opacity 1.5s cubic-bezier(.2,.6,.2,1),
    transform 1.5s cubic-bezier(.2,.6,.2,1);
  transition-delay: var(--reveal-delay, 5ms);
  will-change: opacity, transform;
}

/* starting offsets */
.reveal-left  { transform: translateX(-28px); }
.reveal-right { transform: translateX( 28px); }

/* when visible */
.reveal.is-visible{
  opacity: 1;
  transform: none;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .reveal,
  .reveal-left,
  .reveal-right{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}



/* Base button styles (keep your colors, but add position + overflow) */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 25px;
  border-radius: 25px;
  border: 1px solid var(--border);
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  overflow: hidden;            /* hides the sliding fill */
  z-index: 0;
  transition: transform .15s ease, box-shadow .25s ease, color .25s ease;
}

/* Primary button color and hover lift */
.btn--primary {
  background: var(--olive);
  border-color: var(--olive);
  color: #fff;
}

.btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.15);
  color: #fff;
}

/* Blue sliding overlay (hidden by default) */
.btn--primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--blue);
  transform: translateX(-100%);
  transition: transform .45s ease;
  z-index: -1;
}

/* Slide in from left on hover */
.btn--primary:hover::before {
  transform: translateX(0);
}

/* keep text above overlay */
.btn--primary > * {
  position: relative;
  z-index: 1;
}


.btn--ghost {
  background: #fff;
  color: var(--blue);
  border: 1px solid var(--blue);
  overflow: hidden;
  position: relative;
  z-index: 0;
  transition: transform .15s ease, box-shadow .25s ease, color .25s ease;
}

.btn--ghost::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--blue);
  transform: translateX(-100%);
  transition: transform .45s ease;
  z-index: -1;
}

.btn--ghost:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.15);
}

.btn--ghost:hover::before {
  transform: translateX(0);
}


/* Pillar circles */
.pillar__badge{
  transition: transform .25s ease, box-shadow .25s ease;
}
.pillar__badge:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(0,0,0,.20);
}

/* Program cards */
.program-card{
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.program-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 40px rgba(0,0,0,.18);
  border-color: rgba(0,0,0,.08);
}

/* Testimonial cards */
.testi__card{
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.testi__card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(0,0,0,.16);
  border-color: #0f1420; /* a touch darker than --blue */
}


/* Home page styling ends and biology subject page styling starts here */ 

/* ===== Biology Subject Hero ===== */
.subject-hero{
  background: var(--blue);
  color: #e6eafb;
  padding: 56px 0;
  border-top: 1px solid rgba(255,255,255,.12);   /* subtle lines like mock */
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.subject-hero__grid{
  display: grid;
  grid-template-columns: 1.4fr 1fr;              /* text / image */
  gap: 32px;
  align-items: center;
}

.subject-hero__title{
  font-family: "Libre Baskerville", serif;
  font-weight: 800;
  letter-spacing: .5px;
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin: 0 0 12px;
}

.subject-hero__blurb{
  color: #cfd7e3;
  margin: 0 0 20px;
  line-height: 1.7;
  max-width: 60ch;
}

.subject-hero__media img{
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  border-radius: 14px;
  border: 3px solid #fff;                         /* white border like screenshot */
  background: #0e1521;
  box-shadow: 0 18px 44px rgba(0,0,0,.35);
}

/* tablet */
@media (min-width: 721px) and (max-width: 800px){
  .subject-hero__grid{ grid-template-columns: 1fr; text-align: left; }
  .subject-hero__media{ order: -2; }
  .subject-hero__media img{ max-width: 700px; margin-top: 8px; }
}

@media (min-width: 801px) and (max-width: 950px){
  .subject-hero__grid{ text-align: left; }
  .subject-hero__media{ order: 2; }
  .subject-hero__blurb{ font-size: 1rem;}
  .subject-hero__media img{ max-width: 800px; }
}

/* mobile */
@media (max-width: 720px){
  .subject-hero{ padding: 44px 10px; margin: auto;}
  .subject-hero__grid{ grid-template-columns: 1fr; text-align: left; }
  .subject-hero__media{ display: grid; place-items: start; order: -2}
  .subject-hero__media img{ max-width: 600px;}
}






/* ===== Struggles in Biology ===== */
.bio-struggles{
  background:#fff;
  padding: 44px 0 50px;
  margin-top: 20px;
}

.bio-struggles__title{
  font-family:"Libre Baskerville", serif;
  font-weight: 600;
  text-align:center;
  color: var(--blue);
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin: 0 0 6px;
  text-decoration: underline;
}
.bio-struggles__subtitle{
  text-align:center;
  color: #d7bc1e;
  max-width: 70ch;
  margin: 0 auto 24px;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
}

/* Gold rounded container holding image + card */
.bio-struggles__wrap{
  background: var(--olive);
  border-radius: 30px;
  padding: 20px 30px;
  display: grid;
  grid-template-columns: 1fr 1fr; /* card / image on desktop visual order via source */
  margin-top: 50px;
  align-items: center;
  height: 600px;
}

/* White card */
.bio-struggles__card{
  background:#fff;
  border: 2px solid var(--blue);
  border-radius: 10px;
  padding: 70px 22px;
  height: 350px;
}

.bio-struggles__list{
  list-style:none; margin:0; padding:0;
  display:grid; gap: 22px;
}
.bio-struggles__list li{
  display:flex; align-items:center; gap:12px;
  color: #1b1f28; font-size:1.2rem; line-height:1.5;
  font-weight: 400;
  font-family: "Poppins", sans-serif;
}
.xicon{ flex: 0 0 auto; display:inline-flex; }

/* Right-side image */
.bio-struggles__media{
  justify-self: end;
  order: 1;                      /* image first visually */
}
.bio-struggles__media img{
  display:block;
  height: 500px;
  width: auto;
  object-fit: cover;
  border-radius: 18px;
}

/* making struggles in biology responsive */
@media (max-width: 600px){
  .bio-struggles__wrap{
    grid-template-columns: 1fr;      /* stack */
    text-align: left;
    gap: 0px;
    max-height: fit-content;
    padding: 20px 10px;
  }
  .bio-struggles__media{
    order: -1;                       /* image first on mobile */
    justify-self: center;
  }
  .bio-struggles__media img{
    height: 250px;
    padding: 0;
  }
  .bio-struggles__list
  { 
    gap: 16px; 
  }
  .bio-struggles__card
  { 
    padding: 18px; 
    height: auto;
    width:fit-content;
    margin-bottom: 20px;
    margin: auto;
  }
  .bio-struggles__list li
  {
    font-size: 1rem;
  }
  .bio-struggles__subtitle
  {
    font-size: 14px;
  }
}


@media (min-width: 601px) and (max-width: 800px){
  .bio-struggles__wrap{
    grid-template-columns: 1fr;      /* stack */
    text-align: left;
    gap: 0px;
    max-height: fit-content;
    padding: 20px 10px;
  }
  .bio-struggles__media{
    order: -1;                       /* image first on mobile */
    justify-self: center;
  }
  .bio-struggles__media img{
    height: 300px;
    width: 500px;
    padding: 0;
  }
  .bio-struggles__list
  { 
    gap: 16px; 
  }
  .bio-struggles__card
  { 
    padding: 18px; 
    height: auto;
    width: 400px;
    margin-bottom: 20px;
    margin: auto;
  }
  .bio-struggles__list li
  {
    font-size: 1rem;
  }
  .bio-struggles__subtitle
  {
    font-size: 14px;
  }
}

@media (min-width: 801px) and (max-width: 850px){
  .bio-struggles__wrap{
    padding: 0px 10px;
  }
  .bio-struggles__media img{
    width: 500px;
    padding: 0;
  }
  .bio-struggles__card
  { 
    padding: 30px; 
    width: fit-content; 
  }
  .bio-struggles__media{                   /* image first on mobile */
    justify-self: center;
  }
}

/* ===== How We Help (Biology) ===== */
.bio-help{
  background:#fff;
  padding: 44px 0 56px;
  margin-top: 20px;
}

.bio-help__title{
  font-family:"Libre Baskerville", serif;
  font-weight:600;
  text-align:center;
  color:var(--blue);
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin:0 0 6px;
  text-decoration: underline;
}
.bio-help__subtitle{
  text-align:center;
  color:#d7bc1e; /* subtle gold like mock */
  max-width:70ch;
  margin:0 auto 24px;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
}

/* grid */
.bio-help__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
}

/* card */
.help-card{
  background:#1b1f28;
  color:#e6eafb;
  border-radius:26px;
  padding:24px;
  min-height: 210px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px 16px;
  align-items:start;
  box-shadow:0 18px 36px rgba(0,0,0,.14);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.help-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 44px rgba(0,0,0,.18);
}

/* icon circle */
.help-card__icon{
  grid-column:1/2;
  width:64px;height:64px;border-radius:50%;
  background:var(--olive);
  display:grid;place-items:center;
  color:var(--olive);           /* SVG uses currentColor */
  position:relative;
  padding: 10px 10px;
}
.help-card__icon svg{ color:var(--olive); } /* for outer shapes */
.help-card__icon svg *[fill="currentColor"]{ fill:var(--olive); }

/* content */
.help-card__heading{
  grid-column:1/3;
  font-family:"Libre Baskerville", serif;
  font-weight:800;
  font-size:1.05rem;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: white;
}
.help-card__text{
  grid-column:1/3;
  margin:0;
  color:#d1d8e6;
  line-height:1.6;
  font-size:.97rem;
}

.bio-help__cta{
  text-align:center;
  margin-top: 22px;
}



/* responsive for bio help section */
@media (max-width: 800px){
  .bio-help__grid{ grid-template-columns:1fr; }
  .help-card{ grid-template-columns:auto 1fr; }
  .help-card__icon{ width:56px;height:56px; }
}


/* ===== Meet Your Tutor (full-bleed olive) ===== */
.tutor{
  background: var(--olive);          /* full-bleed */
  padding: 56px 0;
  color: #1b1f28;        
  margin-top: 20px;            /* dark text on olive */
}

.tutor__title{
  grid-column: 1 / -1;
  text-align: center;
  font-family: "Libre Baskerville", serif;
  font-weight: 600;
  font-size: clamp(1.8rem, 4vw, 3rem);
  margin: 0 0 18px;
  text-decoration: underline;
  text-underline-offset: 6px;
  color: #1b1f28;
}

.tutor__grid{
  display: grid;
  grid-template-columns: 1.05fr 1.4fr;   /* image / text */
  gap: 28px 36px;
  align-items: start;
}

.tutor__media img{
  display:block;
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: 22px;
  box-shadow: 0 22px 44px rgba(0,0,0,.18);
}

.tutor__heading{
  margin: 8px 0 20px;
  color: #fff;                         /* white heading like mock */
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(1.3rem, 2.4vw, 2rem);
  line-height: 1.25;
}

.tutor__content p{
  margin: 0px 0 14px;
  color: white;                 /* deep blue for body text */
  line-height: 1.75;
  font-size: 1.02rem;
  font-size: "Poppins", sans-serif;
  max-width: 68ch;
}

/* Tablet */
@media (max-width: 850px){
  .tutor__grid{
    grid-template-columns: 1fr;
  }
  .tutor__title{
    text-align: center;
    margin-bottom: 12px;
  }
  .tutor__media{
    order: 1;
    display: grid;
    place-items: center;
  }
  .tutor__media img{
    max-width: 420px;
  }
  .tutor__content{
    order: 2;
    text-align: left;
  }
}

/* Small mobile */
@media (max-width: 600px){
  .tutor{ padding: 44px 0; }
  .tutor__media img{ max-width: 320px; border-radius: 18px; }
  .tutor__content p{ font-size: 1rem; }
  .tutor-line-break
  {
    display: none;
  }
}


@media (min-width: 851px) and (max-width: 1000px)
{
  .tutor__title
  {
    font-size: 2rem;
  }
  .tutor__heading
  {
    font-size: 1.2rem;
  }
  .tutor__content p
  {
    font-size: 0.90rem;
  }
  .tutor__media img{
    width: 300px;
    height: 300px;
    margin-top: 20px;
  }
}





/* ===== Why Parents Trust Us ===== */
.trust{
  background:#fff;
  padding: 44px 0 56px;
  margin-top: 20px;
}

.trust__title{
  font-family:"Libre Baskerville", serif;
  font-weight:600;
  text-align:center;
  color:var(--blue);
  font-size: clamp(1.8rem, 4vw, 3rem);
  text-decoration: underline;
  text-underline-offset: 6px;
  margin:0 0 100px;
}

/* row layout */
.trust__row{
  display:grid;
  grid-template-columns: 96px 1fr;
  gap: 18px 150px;
  align-items:center;
  max-width: 900px;
  margin: 0 auto 26px;
  margin-bottom: 150px;
}

.trust__row.is-reverse{
  grid-template-columns: 1fr 96px;
}
.trust__row.is-reverse .trust__icon{ order: 2; justify-self: end; }
.trust__row.is-reverse .trust__body{ order: 1; text-align: left; }

/* icon block */
.trust__icon{
  color: #d7bc1e;
  width: 150px;
  height: 150px;
  border-radius:20px;
  background: #1b1f28;
  display:grid; place-items:center;
  padding: 20px 20px;
  margin-left: 20px;
}
/* text */
.trust__body h3{
  margin-bottom: 6px;
  font-family:"Poppins", sans-serif;
  font-weight: bolder;
  color: #1b1f28;
  font-size: 1.8rem;
  text-transform:uppercase;
}
.trust__body p{
  color: #d7bc1e;
  max-width: 80ch;
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
}
@media (max-width: 700px)
{
  .trust__row{
    grid-template-columns: 1fr;
    text-align: center;
    gap: 24px;
  }
  .trust__icon{
    margin: 0 auto;
  }
  .trust__row.is-reverse .trust__icon{
    order: 1;
    justify-self: center;
  }
  .trust__row.is-reverse .trust__body{
    order: 1;
    text-align: center;
  }
  .trust__row.is-reverse
  {
    grid-template-columns: 1fr;
  }
  .trust__body h3
  {
    font-size: 1.2rem;
  }
  .trust__body p
  {
    font-size: 1rem;
  }
}
.chem-tutor-pararaph
{
  text-align: center;
  margin: auto;
}
.chemistry-tutor__heading
{
    text-align: center;
    margin: auto;
}
.chemistry-tutor__content p{
  margin: 50px auto;
  color: white;                 /* deep blue for body text */
  line-height: 1.75;
  font-size: 1.02rem;
  font-size: "Poppins", sans-serif;
  max-width: 68ch;
  text-align: center;
}
.chem-tutor__grid{  /* image / text */
  text-align: center;
}
/* ===== CONTACT PAGE ===== */

.contact-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 80vh;
}

/* LEFT SIDE (gold) */
.contact-left {
  background-color: #d7bc1e;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}

.contact-left__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* RIGHT SIDE (navy panel) */
.contact-right {
  background: #1b1f28;
  padding: 60px 40px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.contact-icon svg {
  flex-shrink: 0;
}

.contact-text {
  font-size: 1.2rem;
  color: #fff;
  font-family: "Libre Baskerville", serif;
  line-height: 1.4;
}

.contact-divider {
  border: none;
  border-bottom: 1px solid #3c4452;
  margin: 10px 0 24px;
}

.contact-divider-last {
  border: none;
  border-bottom: 2px solid #fff;
  margin-top: 20px;
}

/* ===== Contact Page Gallery ===== */
.contact-gallery{
  background:#fff;
  padding: 32px 0 48px;
}

.contact-gallery__grid{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  grid-auto-rows: auto;
  gap: 10px;
}

/* Base image styling */
.contact-gallery__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:20px;
}

/* Grid positions */
.contact-gallery__item--top{
  grid-column:1 / 2;
  grid-row:1 / 2;
}

.contact-gallery__item--bottom{
  grid-column:1 / 2;
  grid-row:2 / 3;
}

.contact-gallery__item--tall{
  grid-column:2 / 3;
  grid-row:1 / 3;       /* span both rows */
}


/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
  .contact-page {
    grid-template-columns: 1fr;
  }

  .contact-left__img {
    height: 300px;
    object-fit: cover;
  }

  .contact-right {
    padding: 40px 24px;
  }

  .contact-text {
    font-size: 1.1rem;
    text-align: left;
  }
  .contact-gallery__grid{
    grid-template-columns:1fr;
  }
  .contact-gallery__item--tall,
  .contact-gallery__item--top,
  .contact-gallery__item--bottom{
    grid-column:auto;
    grid-row:auto;
  }
  .contact-gallery__item img{
    height:auto;
  }
}

@media (max-width: 600px) {
  .contact-text {
    font-size: 0.80rem;
  }

  .contact-icon svg {
    width: 28px;
    height: 28px;
  }
  .contact-left__img {
    width: 80%;
  }
}
.footer_subjects
{
  color: #e6eafb;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: 1.25rem;
  padding: 0;
}