/* Marcellus = headings (same as the home page headings) */
@import url("https://fonts.googleapis.com/css2?family=Marcellus&display=swap");

/* =========================================================================
   Academics > Primary School (Classes 1 to 5)
   5 classroom photos arranged in a ring around the centre title
   (same layout as the Pre-Primary page / home-page Facilities section):
        [ 1 ][ 2 ]
     [ 3 ] TITLE [ 4 ]
          [ 5 ]
   Scoped under .pr-page.
   ========================================================================= */

.pr-page {
  --pr-forest: #0F3D2B;
  --pr-green: #1F7A4D;
  --pr-navy: #0B2F5B;
  --pr-blue: #1667B0;
  --pr-orange: #E8790E;
  --pr-gold: #FFC400;
  --pr-purple: #7B3FA0;
  --pr-red: #D32F2F;
  --pr-soft: var(--ink-soft, #555);
  background: #fff;
}

/* ---------- Banner placeholder (1920 x 600) ---------- */
.pr-page .pr-hero {
  position: relative;
  width: 100%;
  height: clamp(260px, 31.25vw, 600px);
  padding: 0;
  overflow: hidden;
  background: linear-gradient(135deg, #0F3D2B 0%, #1F7A4D 100%);
}
.pr-hero-img {
  position: absolute; inset: 0; z-index: 2;
  width: 100%; height: 100%;
  object-fit: cover; object-position: top;
  display: block;
}
.pr-hero-ph {
  position: absolute; inset: 0; z-index: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 20px; text-align: center; color: #fff;
}
.pr-hero-ph i { font-size: 3.8rem; color: var(--pr-gold); }
.pr-hero-ph b { font-size: 1.6rem; }
.pr-hero-ph span { font-size: 1.05rem; color: rgba(255, 255, 255, 0.9); }
.pr-hero-ph code {
  background: rgba(255, 255, 255, 0.16);
  padding: 3px 10px; border-radius: 6px; font-size: 0.92rem;
}

/* ---------- Intro (breadcrumb + title) ---------- */
.pr-page .pr-intro { padding: 56px 0 40px; text-align: center; }
.pr-crumbs {
  display: flex; justify-content: center; align-items: center; gap: 8px;   /* own line, heading sits below */
  font-family: var(--font-body);
  font-size: 1.1rem; font-weight: 400;
  -webkit-text-stroke: 0.15px currentColor;
  color: var(--pr-soft);
  margin-bottom: 18px;
}
.pr-crumbs a:hover { color: var(--pr-green); }
.pr-crumbs i { font-size: 0.65rem; }
.pr-crumbs span { color: var(--pr-red); }

/* Page title: same font / size / weight as the home-page headings, with underline */
.pr-title {
  font-family: "Marcellus", var(--font-head);
  font-size: clamp(2rem, 4vw, 3.1rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-transform: uppercase;            /* PRIMARY SCHOOL */
  color: var(--pr-forest);
  display: inline-block;
  padding-bottom: 4px;
  border-bottom: 3px solid var(--pr-forest);   /* underline = text width */
}

/* ---------- Ring of 5 classroom photos ---------- */
.pr-ring {
  position: relative; overflow: hidden;
  padding: 70px 0 90px;
  background:
    radial-gradient(circle at 0% 100%, #FFE3A8 0, #FFE3A8 170px, transparent 171px),
    #EEF6F0;
}
.pr-ring::before {                       /* big white circle behind the ring */
  content: ""; position: absolute; z-index: 0;
  width: 900px; height: 900px; border-radius: 50%;
  left: 50%; top: 50%; transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.75);
}
.pr-ring::after {                        /* soft green circle, top right */
  content: ""; position: absolute; z-index: 0;
  width: 320px; height: 320px; border-radius: 50%;
  right: -120px; top: -120px;
  background: #CFE6D6;
}
.pr-ring .container { position: relative; z-index: 1; }

.pr-ring-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 24px; align-items: center;
}
.pr-shot {
  --c: var(--pr-red);
  position: relative; overflow: hidden; margin: 0;
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  border: 6px solid #fff;
  background: #D6EBDD;
  box-shadow: 0 24px 48px -26px rgba(18, 18, 18, 0.5);
}
.pr-shot:nth-child(1) { grid-column: 2; grid-row: 1; }
.pr-shot:nth-child(2) { grid-column: 3; grid-row: 1; }
.pr-shot:nth-child(3) { grid-column: 1; grid-row: 2; }
.pr-shot:nth-child(4) { grid-column: 4; grid-row: 2; }
.pr-shot:nth-child(5) {                  /* bottom, centred */
  grid-column: 2 / 4; grid-row: 3;
  justify-self: center;
  width: calc(50% - 12px);
}

.pr-shot img {
  position: absolute; inset: 0; z-index: 2;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s ease;
}
.pr-shot:hover img { transform: scale(1.08); }
.pr-shot-ph {
  position: absolute; inset: 12px; z-index: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; text-align: center; padding: 12px 12px 56px;
  border: 2px dashed #9CC7AE; border-radius: 14px; color: var(--pr-forest);
}
.pr-shot-ph i { font-size: 2.4rem; color: var(--c); opacity: 0.85; }
.pr-shot-ph span { font-size: 0.9rem; color: var(--pr-soft); line-height: 1.6; }
.pr-shot-ph code { background: #fff; padding: 2px 8px; border-radius: 6px; font-size: 0.82rem; color: var(--pr-forest); }

/* Caption: "Classroom" (red) — same style as the home-page facility captions */
.pr-shot-caption {
  position: absolute; left: 0; bottom: 18px; z-index: 3;
  background: var(--c); color: #fff;
  padding: 8px 22px 8px 16px;
  border-radius: 0 999px 999px 0;
  font-family: var(--font-head);
  font-weight: 500; font-size: 1.15rem; line-height: 1.2;
  box-shadow: 0 10px 22px -10px rgba(0, 0, 0, 0.5);
}

/* Centre title: Classes 1 to 5 + "Our Spacious Classrooms" */
.pr-center {
  grid-column: 2 / 4; grid-row: 2;
  text-align: center;
}
.pr-center h2 {
  font-family: "Marcellus", var(--font-head);
  font-size: clamp(2rem, 4vw, 3.1rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-transform: uppercase;            /* CLASSES 1 TO 5 */
  color: var(--pr-forest);
  display: inline-block;
  padding-bottom: 4px;
  margin: 0;
  border-bottom: 3px solid var(--pr-forest);   /* underline = text width */
}
.pr-center h3 {
  font-family: var(--font-head);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin: 22px 0 0;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .pr-ring-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .pr-center { grid-column: 1 / -1; grid-row: 1; margin-bottom: 14px; }
  .pr-shot:nth-child(n) { grid-column: auto; grid-row: auto; width: auto; justify-self: stretch; }
  .pr-shot:nth-child(5) { grid-column: 1 / -1; width: calc(50% - 9px); justify-self: center; }
  .pr-shot-caption { font-size: 1rem; padding: 6px 16px 6px 12px; bottom: 12px; }
}
@media (max-width: 700px) {
  .pr-page .pr-intro { padding: 40px 0 28px; }
  .pr-ring { padding: 48px 0 60px; }
}