/* =====================================================================
   Inner pages v3 - Pooja Model Public School
   Brings every inner page in line with the About page design:
   compact left-aligned hero, white / light-tint sections, navy + leaf
   green + gold accents, DM Sans, rounded cards, justified text.
   Loaded after inner-v2.css. Styles only - no text/backend changes.
   ===================================================================== */
:root {
    --iv-navy: #0a2c63; --iv-blue: #104289; --iv-green: #2f8f22; --iv-lime: #7ddc5a;
    --iv-sun: #f5b800; --iv-ink: #14233a; --iv-text: #4a5a6e; --iv-line: #e4eaf3; --iv-tint: #f4f8fd;
}

/* ---------- Hero (same look as About) ---------- */
.inner-page .page-header:not(.ax-hero) {
    text-align: left; padding: 44px 0 104px;
    background:
        linear-gradient(90deg, rgba(6, 26, 60, .84) 0%, rgba(8, 34, 78, .6) 30%, rgba(10, 44, 99, .12) 58%, rgba(10, 44, 99, 0) 100%),
        var(--hdr-img, url("../images/opt/About-1920.webp")) center 42% / cover no-repeat !important;
}
.inner-page .page-header:not(.ax-hero)::after {
    height: 60px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V30C360 0 1080 0 1440 30v30z' fill='%23ffffff'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
}
.inner-page .page-header:not(.ax-hero) .page-header-box { text-align: left; display: flex; flex-direction: column; align-items: flex-start; max-width: 860px; }
.ph-top { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; margin-bottom: 14px; }
.inner-page .page-header:not(.ax-hero) .inner-crumb { margin: 0; padding: 7px 16px; font-size: 13.5px; }
.ph-kicker { display: inline-flex; align-items: center; gap: 10px; font: 700 12.5px/1.2 "DM Sans", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--iv-sun); }
.ph-kicker::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; }
.inner-page .page-header:not(.ax-hero) .page-header-box h1 {
    margin: 0; font: 800 clamp(28px, 3.6vw, 50px)/1.12 "DM Sans", sans-serif; letter-spacing: -.02em;
    text-shadow: 0 4px 24px rgba(0, 0, 0, .35); text-wrap: balance;
}
.inner-page .page-header:not(.ax-hero) .page-header-box h1::after { display: none; }

/* ---------- Section backgrounds: clean white -> light tint ---------- */
.inner-page .page-about-us,
.inner-page .page-single-post,
.inner-page .page-services,
.inner-page .page-contact-us {
    padding: 56px 0 90px !important;
    background: linear-gradient(180deg, #ffffff 0%, var(--iv-tint) 100%) !important;
}
.inner-page .page-about-us::before,
.inner-page .page-single-post::before,
.inner-page .page-services::before,
.inner-page .page-contact-us::before { display: none; }

/* ---------- Headings ---------- */
.inner-page .section-title h2,
.inner-page .post-entry h2,
.inner-page .page-services h2 {
    font-weight: 800 !important; color: var(--iv-navy) !important; letter-spacing: -.02em;
    font-size: clamp(24px, 2.7vw, 36px) !important; text-wrap: balance;
}
.inner-page .section-title h2 span,
.inner-page .post-entry h2 span,
.inner-page .page-services h2 span { color: var(--iv-green) !important; font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 700; }
.inner-page .section-title h2 span *,
.inner-page .post-entry h2 span *,
.inner-page .page-services h2 span * { font-style: italic; font-family: inherit; font-weight: 700 !important; }
.inner-page .section-title h2 + h2,
.inner-page .section-title h2[style*="30px"],
.inner-page .section-title h2[style*="29px"],
.inner-page .page-services .col-lg-6 h2 { border-left-color: var(--iv-green); }
.inner-page .section-title h3, .inner-page .section-title h4 { background: #eaf6e6; color: var(--iv-green) !important; }
.inner-page .about-us-content h3:not(.section-title h3), .inner-page .post-entry h3 { color: var(--iv-navy); }

/* ---------- Body text: justified, hyphenated ---------- */
.inner-page .page-about-us, .inner-page .page-single-post, .inner-page .page-services { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.inner-page .page-about-us p, .inner-page .post-entry p, .inner-page .page-services p {
    color: var(--iv-text); font-size: 16.5px; line-height: 1.8; text-align: justify; hyphens: auto; -webkit-hyphens: auto; text-wrap: pretty;
}
.inner-page .page-about-us p[style*="color:red"], .inner-page .post-entry p[style*="color:red"] { color: var(--iv-navy) !important; text-align: left; }
.inner-page .page-about-us ul li, .inner-page .page-about-us ol li, .inner-page .post-entry li { text-align: justify; hyphens: auto; }
.inner-page .page-about-us ul li::before, .inner-page .page-about-us ol li::before { background: var(--iv-green); }

/* ---------- Cards ---------- */
.inner-page .about-us-content, .inner-page .post-entry,
.inner-page .contact-us-content, .inner-page .contact-us-form {
    border-radius: 22px; border: 1px solid var(--iv-line); box-shadow: 0 16px 40px rgba(10, 44, 99, .08);
}
.inner-page .about-us-content::before, .inner-page .post-entry::before { background: linear-gradient(90deg, var(--iv-green), var(--iv-lime) 60%, var(--iv-sun)); }
.inner-page .about-us-image::before { background: radial-gradient(rgba(255, 255, 255, .3) 1.6px, transparent 1.6px) 0 0 / 12px 12px, linear-gradient(135deg, var(--iv-navy), var(--iv-blue)); }
.inner-page .about-us-image figure { border-radius: 22px; box-shadow: 0 22px 48px rgba(10, 44, 99, .18); }

/* ---------- Buttons ---------- */
.inner-page .page-about-us .btn-default, .inner-page .page-contact-us .btn-default, .inner-page .post-entry .btn-default {
    background: linear-gradient(135deg, var(--iv-green), #3aa52b) !important; border-radius: 999px;
    box-shadow: 0 12px 26px rgba(47, 143, 34, .28);
}
.inner-page .page-about-us .btn-default:hover, .inner-page .page-contact-us .btn-default:hover, .inner-page .post-entry .btn-default:hover { box-shadow: 0 18px 32px rgba(47, 143, 34, .36); }
.inner-page .btn-default::after { background: var(--iv-navy) !important; }

/* ---------- Tables ---------- */
.inner-tbl { border-radius: 18px; border-color: var(--iv-line); box-shadow: 0 12px 30px rgba(10, 44, 99, .07); }
.inner-tbl th, .inner-tbl tr:first-child > th,
.inner-tbl tr[style*="background-color:#262b8c"] > *, .inner-tbl tr[style*="background-color: #262b8c"] > * { background: var(--iv-navy) !important; }
.inner-tbl tr:nth-child(even) > td { background: var(--iv-tint) !important; }
.inner-tbl tr:hover > td { background: #eaf6e6 !important; }
.inner-tbl td:first-child { color: var(--iv-blue) !important; }

/* ---------- Galleries / albums ---------- */
.inner-page .photo-gallery a, .inner-page .photo-thumbnails .thumbnail { border-radius: 20px; border: 1px solid var(--iv-line); }
.inner-page .photo-gallery a::after { background: var(--iv-green); color: #fff; }
.inner-page .post-entry > li > a { border-radius: 18px; }
.inner-page .post-entry > li > a::before { background: linear-gradient(135deg, var(--iv-navy), var(--iv-green)); }

/* ---------- Contact ---------- */
.inner-page .contact-info-item { border-radius: 18px; background: linear-gradient(135deg, var(--iv-navy), var(--iv-blue)) !important; }
.inner-page .contact-info-item:nth-child(2) { background: linear-gradient(135deg, #1d6b45, var(--iv-green)) !important; }
.inner-page .contact-info-item:nth-child(3) { background: linear-gradient(135deg, #0a2c63, #1d6b9a) !important; }
.inner-page .contact-info-content p { color: var(--iv-lime) !important; }
.inner-page .contact-us-form .form-control { border-radius: 14px; }
.inner-page .contact-us-form .form-control:focus { border-color: var(--iv-green) !important; box-shadow: 0 0 0 4px rgba(47, 143, 34, .14); }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .inner-page .page-header:not(.ax-hero) { padding: 36px 0 92px; }
    .inner-page .page-about-us, .inner-page .page-single-post, .inner-page .page-services, .inner-page .page-contact-us { padding: 44px 0 64px !important; }
}
@media (max-width: 575px) {
    .inner-page .page-header:not(.ax-hero) { padding: 28px 0 84px; }
    .ph-top { gap: 10px 14px; margin-bottom: 10px; }
    .ph-kicker { font-size: 11.5px; }
    .inner-page .page-about-us p, .inner-page .post-entry p { font-size: 15.5px; }
    .inner-page .about-us-content, .inner-page .post-entry, .inner-page .contact-us-content, .inner-page .contact-us-form { padding: 26px 20px; }
}

/* ---------- Map ---------- */
.inner-page .google-map-iframe { margin-top: 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--iv-line); box-shadow: 0 16px 40px rgba(10, 44, 99, .08); background: #fff; }
.inner-page .google-map-iframe iframe { display: block; width: 100%; }

/* ---------- Text blocks outside cards (e.g. lab pages) ---------- */
.inner-page .about-owner-info h2 {
    font-family: "DM Sans", sans-serif !important; font-weight: 800 !important; color: var(--iv-navy) !important;
    font-size: clamp(22px, 2.4vw, 30px) !important; letter-spacing: -.02em; margin: 0 0 14px !important;
    padding-left: 14px; border-left: 4px solid var(--iv-green);
}
.inner-page .about-owner-info p { color: var(--iv-text); font-size: 16.5px; line-height: 1.8; text-align: justify; hyphens: auto; text-wrap: pretty; }
.inner-page .about-owner-info .btn-default { border-radius: 999px; }

/* ---------- Hero: exact About layout (title accent, lead, buttons) ---------- */
.inner-page .page-header:not(.ax-hero) { padding: 44px 0 112px; }
.inner-page .page-header:not(.ax-hero) .page-header-box h1 { font-size: clamp(30px, 3.7vw, 52px); line-height: 1.12; letter-spacing: -.025em; }
.inner-page .page-header:not(.ax-hero) h1 em { font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 700; color: var(--iv-lime); }
.ph-lead { margin: 14px 0 0; max-width: 600px; font: 400 17px/1.6 "DM Sans", sans-serif; color: rgba(255, 255, 255, .86); text-wrap: balance; text-align: left; }
.ph-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.ph-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 24px; border-radius: 999px; font: 700 15px/1 "DM Sans", sans-serif; text-decoration: none; transition: transform .25s, background .25s, color .25s; }
.ph-btn:hover { transform: translateY(-2px); }
.ph-btn-lime { background: var(--iv-lime); color: var(--iv-navy); box-shadow: 0 12px 28px rgba(125, 220, 90, .35); }
.ph-btn-lime:hover { background: #fff; color: var(--iv-navy); }
.ph-btn-glass { background: rgba(255, 255, 255, .12); color: #fff; border: 1.5px solid rgba(255, 255, 255, .45); backdrop-filter: blur(6px); }
.ph-btn-glass:hover { background: #fff; color: var(--iv-navy); }
@media (max-width: 991px) { .inner-page .page-header:not(.ax-hero) { padding: 36px 0 100px; } }
@media (max-width: 575px) {
    .inner-page .page-header:not(.ax-hero) { padding: 28px 0 92px; }
    .ph-lead { font-size: 15.5px; margin-top: 10px; }
    .ph-actions { gap: 10px; margin-top: 18px; }
    .ph-btn { flex: 1 1 100%; padding: 12px 20px; }
}

/* =====================================================================
   Text + photo pages: same look as the About "Our Story" section
   (no card box, kicker, lead paragraph, large rounded photo with dots)
   ===================================================================== */
.inner-page .page-about-us { background: #fff !important; }
.inner-page .page-about-us .row.align-items-center { align-items: flex-start !important; }
.inner-page .page-about-us .about-us-content,
.inner-page .page-about-us .post-entry {
    background: none; border: 0; box-shadow: none; border-radius: 0; padding: 0;
}
.inner-page .page-about-us .about-us-content::before { display: none; }
.sec-kick { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 10px; font: 700 13px/1.2 "DM Sans", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--iv-green); }
.sec-kick::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; }
.inner-page .page-about-us .section-title h2 { margin-bottom: 18px; }
/* lead paragraph (first paragraph under the main heading) */
.inner-page .page-about-us .sec-kick + h2 + p {
    padding-left: 18px; border-left: 4px solid var(--iv-lime);
    font-size: 18.5px; line-height: 1.7; font-weight: 500; color: var(--iv-ink); margin-bottom: 22px;
}
.inner-page .page-about-us p { font-size: 16px; }
/* photo */
.inner-page .page-about-us .about-us-image,
.inner-page .page-about-us .about-owner-image { position: relative; padding: 0; margin: 14px 0 30px 14px; }
.inner-page .page-about-us .about-us-image::before,
.inner-page .page-about-us .about-owner-image::before {
    left: -22px; top: -22px; bottom: auto; width: 150px; height: 112px; border-radius: 0; z-index: 0;
    background: radial-gradient(var(--iv-lime) 2.2px, transparent 2.4px) 0 0 / 16px 16px;
}
.inner-page .page-about-us .about-us-image figure,
.inner-page .page-about-us .about-owner-image figure {
    position: relative; z-index: 1; padding: 0; border-radius: 28px; background: none;
    box-shadow: 0 30px 60px rgba(10, 44, 99, .2);
}
.inner-page .page-about-us .about-us-image img,
.inner-page .page-about-us .about-owner-image img { border-radius: 28px; aspect-ratio: 4 / 3.3; }
@media (min-width: 992px) {
    .inner-page .page-about-us .about-us-image { position: sticky; top: 140px; }
    .inner-page .page-about-us .about-owner-image { max-width: none; }
}
@media (max-width: 991px) {
    .inner-page .page-about-us .about-us-image, .inner-page .page-about-us .about-owner-image { margin: 10px 0 34px; }
    .inner-page .page-about-us .about-us-image::before, .inner-page .page-about-us .about-owner-image::before { left: -8px; top: -12px; width: 110px; height: 84px; }
}
/* lab pages: photo sits in a flex box with a fixed 50% width - keep margins neutral so the two columns stay side by side */
.inner-page .page-about-us .about-owner-box { align-items: center; }
.inner-page .page-about-us .about-owner-image { margin: 0 !important; padding: 0; }
.inner-page .page-about-us .row > .about-owner-image { margin: 14px 0 !important; }
@media (max-width: 991px) { .inner-page .page-about-us .about-owner-box { gap: 30px; } .inner-page .page-about-us .about-owner-image, .inner-page .page-about-us .about-owner-info { width: 100%; } }
.inner-page .page-about-us .about-owner-image img { aspect-ratio: 4 / 3; }
@media (min-width: 992px) { .inner-page .page-about-us .row > .about-owner-image { margin: 14px 24px 14px 0 !important; } }

/* =====================================================================
   Colour pass - brighter, friendlier accents (navy / green / gold / teal / coral)
   ===================================================================== */
:root { --iv-teal: #14a39a; --iv-coral: #ff7a59; --iv-violet: #6c4de0; }

/* soft colour glows behind every content section */
.inner-page .page-about-us, .inner-page .page-single-post, .inner-page .page-services, .inner-page .page-contact-us {
    background:
        radial-gradient(circle at 3% 6%, rgba(125, 220, 90, .16), transparent 28%),
        radial-gradient(circle at 97% 12%, rgba(245, 184, 0, .13), transparent 26%),
        radial-gradient(circle at 92% 94%, rgba(20, 163, 154, .12), transparent 30%),
        radial-gradient(circle at 6% 92%, rgba(108, 77, 224, .08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%) !important;
}
/* card top bar: four-colour strip */
.inner-page .about-us-content::before, .inner-page .post-entry::before {
    height: 5px; background: linear-gradient(90deg, var(--iv-green), var(--iv-lime) 30%, var(--iv-sun) 55%, var(--iv-coral) 80%, var(--iv-violet));
}
.inner-page .post-entry { background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); }

/* table headers: navy -> blue gradient with a gold underline */
.inner-tbl th, .inner-tbl tr:first-child > th,
.inner-tbl tr[style*="background-color:#262b8c"] > *, .inner-tbl tr[style*="background-color: #262b8c"] > * {
    background: linear-gradient(135deg, var(--iv-navy), #1a56ad) !important; border-bottom: 3px solid var(--iv-sun) !important;
}
.inner-tbl tr:nth-child(even) > td { background: #f0f7ff !important; }
.inner-tbl tr:hover > td { background: #fff7d6 !important; }
.inner-tbl td:first-child { color: var(--iv-green) !important; }

/* section headings on disclosure / list pages get a colour chip bar */
.inner-page .page-services .col-lg-6 h2, .inner-page .section-title h2 + h2 { border-left-color: var(--iv-sun); background: linear-gradient(90deg, rgba(245, 184, 0, .14), transparent 70%); border-radius: 0 12px 12px 0; padding-top: 6px; padding-bottom: 6px; }
.inner-page .about-owner-info h2 { border-left-color: var(--iv-coral); }

/* photo frames cycle through the brand colours */
.inner-page .photo-gallery a { padding: 8px; background: linear-gradient(135deg, var(--iv-green), var(--iv-lime)); border: 0; }
.inner-page .photo-gallery:nth-child(4n+2) a { background: linear-gradient(135deg, var(--iv-sun), #ffd45c); }
.inner-page .photo-gallery:nth-child(4n+3) a { background: linear-gradient(135deg, var(--iv-teal), #5fd6cb); }
.inner-page .photo-gallery:nth-child(4n+4) a { background: linear-gradient(135deg, var(--iv-coral), #ffae96); }
.inner-page .photo-gallery a::after { background: #fff; color: var(--iv-navy); }
.inner-page .photo-thumbnails .thumbnail { background: linear-gradient(135deg, var(--iv-green), var(--iv-lime)); border: 0; }
.inner-page .photo-thumbnails .thumbnail:nth-child(4n+2) { background: linear-gradient(135deg, var(--iv-sun), #ffd45c); }
.inner-page .photo-thumbnails .thumbnail:nth-child(4n+3) { background: linear-gradient(135deg, var(--iv-teal), #5fd6cb); }
.inner-page .photo-thumbnails .thumbnail:nth-child(4n+4) { background: linear-gradient(135deg, var(--iv-coral), #ffae96); }

/* album list: coloured icon tiles */
.inner-page .post-entry > li > a::before { background: linear-gradient(135deg, var(--iv-navy), #1a56ad); }
.inner-page .post-entry > li:nth-of-type(4n+2) > a::before { background: linear-gradient(135deg, var(--iv-green), var(--iv-lime)); }
.inner-page .post-entry > li:nth-of-type(4n+3) > a::before { background: linear-gradient(135deg, var(--iv-sun), #ff9f1c); }
.inner-page .post-entry > li:nth-of-type(4n+4) > a::before { background: linear-gradient(135deg, var(--iv-coral), #ff5e8a); }
.inner-page .post-entry > li > a:hover { border-color: var(--iv-sun); }

/* bullet ticks cycle colours */
.inner-page .page-about-us ul li:nth-child(4n+2)::before, .inner-page .page-about-us ol li:nth-child(4n+2)::before { background: var(--iv-teal); }
.inner-page .page-about-us ul li:nth-child(4n+3)::before, .inner-page .page-about-us ol li:nth-child(4n+3)::before { background: var(--iv-sun); }
.inner-page .page-about-us ul li:nth-child(4n+4)::before, .inner-page .page-about-us ol li:nth-child(4n+4)::before { background: var(--iv-coral); }

/* photo accent dots + block pick up colour */
.inner-page .page-about-us .about-us-image::after, .inner-page .page-about-us .about-owner-image::after {
    content: ""; position: absolute; right: -14px; bottom: -14px; width: 90px; height: 90px; border-radius: 24px; z-index: 0;
    background: linear-gradient(135deg, var(--iv-sun), var(--iv-coral)); opacity: .9;
}
.inner-page .page-about-us .about-owner-image:nth-of-type(odd)::after { background: linear-gradient(135deg, var(--iv-teal), var(--iv-lime)); }

/* section kicker pill */
.sec-kick { padding: 6px 14px 6px 12px; border-radius: 999px; background: #eaf6e6; }
.sec-kick::before { width: 18px; }

/* contact cards: four colours */
.inner-page .contact-info-item:nth-child(1) { background: linear-gradient(135deg, #0a2c63, #1a56ad) !important; }
.inner-page .contact-info-item:nth-child(2) { background: linear-gradient(135deg, #14a39a, #2f8f22) !important; }
.inner-page .contact-info-item:nth-child(3) { background: linear-gradient(135deg, #ff7a59, #f5a623) !important; }
.inner-page .contact-info-item:nth-child(3) .contact-info-content p { color: #fff !important; }
.inner-page .contact-us-form { border-top: 5px solid var(--iv-sun); }

/* hero: richer glow */
.inner-page .page-header:not(.ax-hero) {
    background:
        radial-gradient(circle at 12% 110%, rgba(125, 220, 90, .30), transparent 40%),
        radial-gradient(circle at 92% -10%, rgba(245, 184, 0, .28), transparent 36%),
        linear-gradient(90deg, rgba(6, 26, 60, .84) 0%, rgba(8, 34, 78, .6) 30%, rgba(10, 44, 99, .12) 58%, rgba(10, 44, 99, 0) 100%),
        var(--hdr-img, url("../images/opt/About-1920.webp")) center 42% / cover no-repeat !important;
}

/* =====================================================================
   Colour pass: soft multi-colour accents on every template
   palette: green #2f8f22 · blue #1a6fd6 · gold #f5b800 · teal #12a39a · coral #f0646e · violet #7a5cf0
   ===================================================================== */
:root { --c-green: #2f8f22; --c-blue: #1a6fd6; --c-gold: #f5b800; --c-teal: #12a39a; --c-coral: #f0646e; --c-violet: #7a5cf0; }

/* hero: straight bottom edge with a full-width four-colour line */
.inner-page .page-header:not(.ax-hero) { padding-bottom: 56px; }
.inner-page .page-header:not(.ax-hero)::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background-image: none; background-size: auto;
    background: linear-gradient(90deg, var(--c-green) 0 25%, var(--c-gold) 25% 50%, var(--c-blue) 50% 75%, var(--c-coral) 75% 100%);
}
@media (max-width: 991px) { .inner-page .page-header:not(.ax-hero) { padding-bottom: 46px; } }
@media (max-width: 575px) { .inner-page .page-header:not(.ax-hero) { padding-bottom: 36px; } }

/* section backgrounds: soft colour glows */
.inner-page .page-single-post, .inner-page .page-services, .inner-page .page-contact-us {
    background:
        radial-gradient(circle at 3% 8%, rgba(125, 220, 90, .20), transparent 28%),
        radial-gradient(circle at 97% 12%, rgba(245, 184, 0, .16), transparent 26%),
        radial-gradient(circle at 92% 92%, rgba(26, 111, 214, .14), transparent 30%),
        radial-gradient(circle at 6% 90%, rgba(240, 100, 110, .10), transparent 26%),
        linear-gradient(180deg, #ffffff, #f4f8fd) !important;
}
.inner-page .page-about-us {
    background:
        radial-gradient(circle at 96% 6%, rgba(245, 184, 0, .13), transparent 24%),
        radial-gradient(circle at 2% 96%, rgba(18, 163, 154, .12), transparent 28%),
        radial-gradient(circle at 98% 96%, rgba(26, 111, 214, .10), transparent 28%),
        #fff !important;
}

/* card top ribbon: four colours */
.inner-page .post-entry::before, .inner-page .about-us-content::before {
    background: linear-gradient(90deg, var(--c-green) 0 25%, var(--c-gold) 25% 50%, var(--c-blue) 50% 75%, var(--c-coral) 75% 100%);
}
.inner-page .post-entry { background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); }

/* sub-headings: colour cycles */
.inner-page .section-title h2 + h2, .inner-page .page-services .col-lg-6 h2, .inner-page .about-owner-info h2, .inner-page .section-title h2[style*="30px"] { border-left-color: var(--c-green); }
.inner-page .about-owner-box:nth-of-type(2n) .about-owner-info h2 { border-left-color: var(--c-blue); }
.inner-page .page-services .col-lg-6:nth-child(2n) h2 { border-left-color: var(--c-gold); }
.inner-page .page-services .col-lg-6:nth-child(3n) h2 { border-left-color: var(--c-coral); }
.inner-page .page-services .col-lg-6:nth-child(4n) h2 { border-left-color: var(--c-blue); }
.sec-kick { color: var(--c-green); }
.inner-page .page-about-us .sec-kick + h2 + p { border-left-color: var(--c-gold); background: linear-gradient(90deg, rgba(245, 184, 0, .10), transparent 70%); border-radius: 0 12px 12px 0; padding-top: 8px; padding-bottom: 8px; }

/* bullet lists: rainbow ticks */
.inner-page .page-about-us ul li:nth-child(4n+1)::before, .inner-page .page-about-us ol li:nth-child(4n+1)::before { background: var(--c-green); }
.inner-page .page-about-us ul li:nth-child(4n+2)::before, .inner-page .page-about-us ol li:nth-child(4n+2)::before { background: var(--c-blue); }
.inner-page .page-about-us ul li:nth-child(4n+3)::before, .inner-page .page-about-us ol li:nth-child(4n+3)::before { background: var(--c-gold); color: #3a2a00; }
.inner-page .page-about-us ul li:nth-child(4n)::before, .inner-page .page-about-us ol li:nth-child(4n)::before { background: var(--c-coral); }

/* tables: gradient header, tinted rows */
.inner-tbl { border: 0; box-shadow: 0 14px 34px rgba(10, 44, 99, .10); }
.inner-tbl th, .inner-tbl tr:first-child > th,
.inner-tbl tr[style*="background-color:#262b8c"] > *, .inner-tbl tr[style*="background-color: #262b8c"] > * { background: linear-gradient(90deg, var(--iv-navy), #1a56ad 60%, var(--c-teal)) !important; }
.inner-tbl tr:nth-child(3n+1) > td { background: #f3f9ff !important; }
.inner-tbl tr:nth-child(3n+2) > td { background: #f2fbf0 !important; }
.inner-tbl tr:nth-child(3n) > td { background: #fff9e8 !important; }
.inner-tbl tr:hover > td { background: #e4f3ff !important; }

/* photo galleries: coloured frames */
.inner-page .photo-gallery a, .inner-page .photo-thumbnails .thumbnail { border: 0; padding: 7px; background: var(--fc, var(--c-green)); }
.inner-page .photo-gallery:nth-child(4n+1) a, .inner-page .photo-thumbnails .thumbnail:nth-child(4n+1) { --fc: linear-gradient(135deg, #7ddc5a, #2f8f22); }
.inner-page .photo-gallery:nth-child(4n+2) a, .inner-page .photo-thumbnails .thumbnail:nth-child(4n+2) { --fc: linear-gradient(135deg, #ffd24a, #f59e0b); }
.inner-page .photo-gallery:nth-child(4n+3) a, .inner-page .photo-thumbnails .thumbnail:nth-child(4n+3) { --fc: linear-gradient(135deg, #5aa9ff, #1a6fd6); }
.inner-page .photo-gallery:nth-child(4n) a, .inner-page .photo-thumbnails .thumbnail:nth-child(4n) { --fc: linear-gradient(135deg, #ff9fb2, #f0646e); }
.inner-page .photo-gallery a, .inner-page .photo-thumbnails .thumbnail { background: var(--fc); }
.inner-page .photo-gallery figure { border-radius: 14px; }

/* album list: colour tiles */
.inner-page .post-entry > li:nth-of-type(4n+1) > a::before { background: linear-gradient(135deg, #2f8f22, #7ddc5a); }
.inner-page .post-entry > li:nth-of-type(4n+2) > a::before { background: linear-gradient(135deg, #f59e0b, #ffd24a); }
.inner-page .post-entry > li:nth-of-type(4n+3) > a::before { background: linear-gradient(135deg, #1a6fd6, #5aa9ff); }
.inner-page .post-entry > li:nth-of-type(4n) > a::before { background: linear-gradient(135deg, #f0646e, #ff9fb2); }
.inner-page .post-entry > li > a { border-width: 1.5px; }
.inner-page .post-entry > li > a:hover { border-color: var(--c-green); }

/* lab/feature photos: rotate dot colour */
.inner-page .page-about-us .about-owner-box:nth-of-type(2n) .about-owner-image::before { background-image: radial-gradient(var(--c-gold) 2.2px, transparent 2.4px); }
.inner-page .page-about-us .about-us-image::before { background-image: radial-gradient(var(--c-gold) 2.2px, transparent 2.4px); }
.inner-page .page-about-us .about-us-image figure { box-shadow: 0 30px 60px rgba(10, 44, 99, .2), 14px 14px 0 -2px rgba(125, 220, 90, .35); }

/* contact: four colourful info cards */
.inner-page .contact-info-item:nth-child(1) { background: linear-gradient(135deg, #1a6fd6, #5aa9ff) !important; }
.inner-page .contact-info-item:nth-child(2) { background: linear-gradient(135deg, #2f8f22, #7ddc5a) !important; }
.inner-page .contact-info-item:nth-child(3) { background: linear-gradient(135deg, #f08a1c, #f5b800) !important; }
.inner-page .contact-info-item:nth-child(4) { background: linear-gradient(135deg, #e0505f, #ff9fb2) !important; }
.inner-page .contact-info-content p { color: rgba(255, 255, 255, .88) !important; }
.inner-page .contact-us-form::before { content: ""; display: block; height: 5px; margin: -34px -34px 28px; border-radius: 22px 22px 0 0; background: linear-gradient(90deg, var(--c-green) 0 25%, var(--c-gold) 25% 50%, var(--c-blue) 50% 75%, var(--c-coral) 75% 100%); }
@media (max-width: 575px) { .inner-page .contact-us-form::before { margin: -26px -20px 22px; } }

/* buttons: vivid */
.inner-page .page-about-us .btn-default, .inner-page .page-contact-us .btn-default, .inner-page .post-entry .btn-default { background: linear-gradient(135deg, #2f8f22, #7ddc5a) !important; }

/* ---------- Message pages: readable body, highlighted paragraph, signature card ---------- */
.inner-page .page-about-us .section-title p { font-size: 17px; line-height: 1.85; color: #34455b; }
.inner-page .page-about-us .section-title p.p-feature {
    position: relative; margin: 26px 0; padding: 46px 30px 28px 34px; border-radius: 22px;
    background: linear-gradient(135deg, #f1f8ee 0%, #eef5ff 100%); border: 1px solid #dbe9f5;
    box-shadow: 0 14px 34px rgba(10, 44, 99, .07); color: #26364d;
}
.inner-page .page-about-us .section-title p.p-feature::before {
    content: "\201C"; position: absolute; left: 14px; top: -6px; font: 700 78px/1 "Playfair Display", Georgia, serif; color: var(--c-green); opacity: .35; pointer-events: none;
}
.inner-page .page-about-us .section-title p.p-feature::after {
    content: ""; position: absolute; left: 0; top: 24px; bottom: 24px; width: 4px; border-radius: 0 4px 4px 0;
    background: linear-gradient(180deg, var(--c-green), var(--c-blue));
}
.inner-page .page-about-us .section-title p.p-sign {
    position: relative; display: block; margin-top: 30px; padding: 20px 24px 20px 92px; border-radius: 20px; text-align: left;
    background: linear-gradient(135deg, var(--iv-navy), #1a56ad); border: 0; color: #fff !important;
    box-shadow: 0 18px 38px rgba(10, 44, 99, .22); line-height: 1.6;
}
.inner-page .page-about-us .section-title p.p-sign strong { color: #fff; font-size: 17px; font-weight: 700; }
.inner-page .page-about-us .section-title p.p-sign::first-line { color: var(--iv-lime); font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 700; font-size: 19px; }
.inner-page .page-about-us .section-title p.p-sign::before {
    content: "\f19d"; font-family: FontAwesome; position: absolute; left: 22px; top: 50%; transform: translateY(-50%);
    width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--c-gold); color: var(--iv-navy); font-size: 22px; box-shadow: 0 0 0 5px rgba(255, 255, 255, .18);
}
@media (max-width: 575px) {
    .inner-page .page-about-us .section-title p.p-feature { padding: 42px 20px 22px 24px; }
    .inner-page .page-about-us .section-title p.p-sign { padding: 18px 18px 18px 80px; }
    .inner-page .page-about-us .section-title p { font-size: 16px; }
}

/* ---------- Photo floats right, text wraps around it ---------- */
.inner-page .page-about-us .about-us-image.pic-float { float: right; width: min(40%, 500px); margin: 8px 0 26px 44px; position: relative; top: auto; }
.inner-page .page-about-us .about-us-image.pic-float::before { left: -22px; top: -22px; }
.inner-page .page-about-us .section-title p.p-feature, .inner-page .page-about-us .section-title p.p-sign,
.inner-page .page-about-us .sec-kick + h2 + p { display: flow-root; }
.inner-page .page-about-us .section-title::after { content: ""; display: block; clear: both; }
@media (max-width: 991px) {
    .inner-page .page-about-us .about-us-image.pic-float { float: none; width: 100%; margin: 6px 0 30px; }
}
/* with the floated photo the long paragraph wraps around it: keep a side bar instead of a boxed panel */
.inner-page .page-about-us .section-title p.p-feature {
    display: block; padding: 4px 0 4px 26px; margin: 22px 0; background: none; border: 0; box-shadow: none; border-radius: 0; color: var(--iv-ink);
}
.inner-page .page-about-us .section-title p.p-feature::before { left: 6px; top: -20px; font-size: 60px; opacity: .3; }
.inner-page .page-about-us .section-title p.p-feature::after { top: 4px; bottom: 4px; border-radius: 4px; }
@media (max-width: 575px) { .inner-page .page-about-us .section-title p.p-feature { padding: 4px 0 4px 20px; } }
.inner-page .page-about-us .section-title p.p-sign { max-width: 520px; }

/* signature: one line  ->  Regards, Name (qualification) · School */
.inner-page .page-about-us .section-title p.p-sign {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; width: fit-content; max-width: 100%;
    padding: 18px 28px 18px 92px; min-height: 86px; align-content: center; border-radius: 999px;
}
.inner-page .page-about-us .section-title p.p-sign::first-line { font: inherit; color: inherit; }
.p-sign .sg-r { font: italic 700 19px/1.4 "Playfair Display", Georgia, serif; color: var(--iv-lime); }
.p-sign .sg-n { font: 700 17px/1.4 "DM Sans", sans-serif; color: #fff; }
.p-sign .sg-s { font: 500 14.5px/1.4 "DM Sans", sans-serif; color: rgba(255, 255, 255, .78); }
.p-sign .sg-s::before { content: "\00b7"; margin-right: 12px; color: var(--c-gold); font-weight: 700; }
@media (max-width: 575px) { .inner-page .page-about-us .section-title p.p-sign { border-radius: 26px; padding: 16px 18px 16px 84px; } .p-sign .sg-s::before { display: none; } .p-sign .sg-s { flex-basis: 100%; } }

/* clearer banner photo: text kept readable with a soft shadow instead of a heavy overlay */
.ph-lead { text-shadow: 0 2px 10px rgba(0, 0, 0, .55); color: #fff; }
.ph-kicker, .inner-page .page-header:not(.ax-hero) .inner-crumb { text-shadow: 0 1px 6px rgba(0, 0, 0, .5); }
.inner-page .page-header:not(.ax-hero) .page-header-box h1 { text-shadow: 0 2px 4px rgba(0, 0, 0, .55), 0 6px 24px rgba(0, 0, 0, .5); }
@media (max-width: 767px) {
    .inner-page .page-header:not(.ax-hero) {
        background: linear-gradient(180deg, rgba(6, 26, 60, .66) 0%, rgba(8, 34, 78, .56) 100%), var(--hdr-img, url("../images/opt/About-1920.webp")) center / cover no-repeat !important;
    }
}
.ph-kicker { padding: 7px 14px; border-radius: 999px; background: rgba(6, 26, 60, .62); backdrop-filter: blur(4px); border: 1px solid rgba(255, 255, 255, .18); color: #ffd24a; }
.ph-kicker::before { width: 20px; }

/* closing paragraph: callout card with icon, comfortable line length */
.inner-page .page-about-us .section-title p.p-closing {
    position: relative; display: flow-root; max-width: 900px; margin: 30px 0 !important; padding: 22px 28px 22px 92px;
    border-radius: 22px; background: linear-gradient(135deg, #fff8e6, #f1f8ee); border: 1px solid #f1e3b5;
    box-shadow: 0 14px 30px rgba(10, 44, 99, .07); color: var(--iv-ink); text-align: left; hyphens: manual;
}
.inner-page .page-about-us .section-title p.p-closing::before {
    content: "\f005"; font-family: FontAwesome; position: absolute; left: 24px; top: 50%; transform: translateY(-50%);
    width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #f08a1c, var(--c-gold)); color: #fff; font-size: 20px; box-shadow: 0 0 0 6px rgba(245, 184, 0, .18);
}
@media (max-width: 575px) { .inner-page .page-about-us .section-title p.p-closing { padding: 18px 18px 18px 78px; } .inner-page .page-about-us .section-title p.p-closing::before { left: 16px; width: 44px; height: 44px; } }

/* =====================================================================
   Signature card v2: light card, avatar badge, name + role chip
   ===================================================================== */
.inner-page .page-about-us .section-title p.p-sign {
    position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 18px; row-gap: 2px; align-items: center;
    width: fit-content; min-width: 340px; max-width: 100%; margin-top: 32px; padding: 20px 34px 20px 26px; min-height: 0;
    border-radius: 22px; background: #fff; color: var(--iv-ink) !important; text-align: left;
    border: 1px solid var(--iv-line); box-shadow: 0 18px 40px rgba(10, 44, 99, .10);
    overflow: hidden;
}
.inner-page .page-about-us .section-title p.p-sign::after {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px;
    background: linear-gradient(180deg, var(--c-green), var(--c-gold), var(--c-blue), var(--c-coral));
}
.inner-page .page-about-us .section-title p.p-sign::before {
    content: "\f19d"; font-family: FontAwesome; position: static; transform: none; grid-column: 1; grid-row: 1 / span 4;
    width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--iv-navy), #1a56ad); color: var(--c-gold); font-size: 26px;
    box-shadow: 0 0 0 5px #eaf1fb, 0 12px 22px rgba(10, 44, 99, .22);
}
.inner-page .page-about-us .section-title p.p-sign::first-line { all: unset; }
.p-sign > span, .p-sign > strong { grid-column: 2; }
.p-sign .sg-r { font: italic 700 17px/1.2 "Playfair Display", Georgia, serif; color: var(--c-green); }
.p-sign .sg-n { font: 800 21px/1.25 "DM Sans", sans-serif; color: var(--iv-navy); letter-spacing: -.01em; }
.p-sign .sg-role { justify-self: start; margin: 4px 0 2px; padding: 4px 12px; border-radius: 999px; background: #eaf6e6; color: var(--iv-green); font: 700 12.5px/1.3 "DM Sans", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.p-sign .sg-s { font: 500 14px/1.4 "DM Sans", sans-serif; color: #5b6b7f; }
.p-sign .sg-s::before { content: none; }
@media (max-width: 575px) {
    .inner-page .page-about-us .section-title p.p-sign { grid-template-columns: 54px minmax(0, 1fr); column-gap: 14px; min-width: 0; width: 100%; padding: 18px 18px 18px 22px; }
    .inner-page .page-about-us .section-title p.p-sign::before { width: 54px; height: 54px; font-size: 22px; }
    .p-sign .sg-n { font-size: 18px; }
}
.inner-page .page-about-us .section-title p.p-sign strong.sg-n { color: var(--iv-navy); font: 800 21px/1.25 "DM Sans", sans-serif; }
.inner-page .page-about-us .section-title p.p-sign .sg-r { font: italic 700 17px/1.2 "Playfair Display", Georgia, serif; color: var(--c-green); }
@media (max-width: 575px) { .inner-page .page-about-us .section-title p.p-sign strong.sg-n { font-size: 18px; } }

/* ---------- Numbered point cards (Aims & Objectives) ---------- */
.inner-page .aim-grid { clear: both; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 34px 0 6px; }
.inner-page .page-about-us .section-title p.aim-item {
    position: relative; display: block; margin: 0 !important; padding: 56px 22px 22px; border-radius: 20px; text-align: left !important; hyphens: manual;
    background: linear-gradient(180deg, var(--ab, #eef6ff) 0%, #fff 62%); border: 1px solid var(--al, #d3e4fb); box-shadow: 0 12px 26px rgba(10, 44, 99, .06);
    color: var(--iv-ink); font-size: 15.5px !important; line-height: 1.65 !important; font-weight: 500; overflow: hidden; transition: transform .25s, box-shadow .25s;
}
.inner-page .page-about-us .section-title p.aim-item::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--ac, #1a6fd6); }
.inner-page .page-about-us .section-title p.aim-item:hover { transform: translateY(-4px); box-shadow: 0 18px 32px rgba(10, 44, 99, .12); }
.aim-no { position: absolute; left: 22px; top: 16px; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--ac, #1a6fd6); color: #fff; font: 800 13px/1 "DM Sans", sans-serif; letter-spacing: .02em; }
.aim-item:nth-child(4n+1) { --ab: #eaf7e6; --al: #d3ecca; --ac: #2f8f22; }
.aim-item:nth-child(4n+2) { --ab: #e9f2ff; --al: #cfe1fa; --ac: #1a6fd6; }
.aim-item:nth-child(4n+3) { --ab: #fff4d8; --al: #f4e0a6; --ac: #e69a00; }
.aim-item:nth-child(4n) { --ab: #ffecef; --al: #f7cfd4; --ac: #e0505f; }
@media (max-width: 991px) { .inner-page .aim-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .inner-page .aim-grid { grid-template-columns: 1fr; gap: 12px; } }

/* ---------- Vision & Mission: divider heading, intro callout, point cards ---------- */
.inner-page .has-points { display: block; }
.inner-page .has-points h2.sub-h2 {
    clear: both; display: flex; align-items: center; gap: 16px; margin: 46px 0 18px !important; padding: 0 !important; border: 0 !important;
    font-size: clamp(26px, 2.7vw, 36px) !important;
}
.inner-page .has-points h2.sub-h2::before {
    content: "\f140"; font-family: FontAwesome; flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-green), var(--iv-lime)); color: #fff; font-size: 20px; font-style: normal; box-shadow: 0 10px 20px rgba(47, 143, 34, .25);
}
.inner-page .has-points h2.sub-h2::after { content: ""; flex: 1; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #cfe3c8, transparent); }
.inner-page .page-about-us .section-title p.p-intro {
    clear: both; margin: 0 0 24px !important; padding: 20px 24px 20px 28px; border-radius: 20px; text-align: left !important; hyphens: manual;
    background: linear-gradient(135deg, #eaf1fb, #f2f9ef); border: 1px solid #d7e4f4; border-left: 5px solid var(--iv-navy);
    font-size: 17.5px !important; line-height: 1.7 !important;
}
.inner-page .page-about-us .section-title p.p-intro strong { color: var(--iv-navy); font-weight: 700; }
.inner-page .pt-grid { counter-reset: pt; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.inner-page .page-about-us .section-title p.pt-item {
    counter-increment: pt; position: relative; margin: 0 !important; padding: 20px 20px 20px 78px; min-height: 84px; display: flex; align-items: center;
    border-radius: 18px; background: #fff; border: 1px solid var(--iv-line); box-shadow: 0 12px 26px rgba(10, 44, 99, .07);
    text-align: left !important; hyphens: manual; font-size: 16px !important; line-height: 1.55 !important; font-weight: 500; color: var(--iv-ink);
    transition: transform .25s, box-shadow .25s, border-color .25s;
}
.inner-page .page-about-us .section-title p.pt-item::before {
    content: counter(pt, decimal-leading-zero); position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center; background: var(--pc, #2f8f22); color: #fff; font: 800 15px/1 "DM Sans", sans-serif; box-shadow: 0 8px 16px rgba(10, 44, 99, .16);
}
.inner-page .page-about-us .section-title p.pt-item:hover { transform: translateY(-3px); border-color: var(--pc, #2f8f22); box-shadow: 0 18px 30px rgba(10, 44, 99, .12); }
.pt-item:nth-child(4n+1) { --pc: #2f8f22; } .pt-item:nth-child(4n+2) { --pc: #1a6fd6; } .pt-item:nth-child(4n+3) { --pc: #e69a00; } .pt-item:nth-child(4n) { --pc: #e0505f; }
.inner-page .pt-grid > .pt-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 767px) { .inner-page .pt-grid { grid-template-columns: 1fr; gap: 12px; } .inner-page .page-about-us .section-title p.pt-item { padding: 16px 16px 16px 70px; min-height: 0; } }

/* ---------- Stage cards (Academics: Primary / Middle / Senior) ---------- */
.inner-page .stage-list { clear: both; counter-reset: stg; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 34px 0 6px; align-items: stretch; }
.inner-page .stage-card {
    counter-increment: stg; position: relative; padding: 26px 24px 24px; border-radius: 22px; background: linear-gradient(180deg, var(--sb, #eef6ff) 0%, #fff 55%);
    border: 1px solid var(--sl, #d3e4fb); box-shadow: 0 14px 32px rgba(10, 44, 99, .08); overflow: hidden; min-width: 0; transition: transform .25s, box-shadow .25s;
}
.inner-page .stage-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--sc, #1a6fd6); }
.inner-page .stage-card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px rgba(10, 44, 99, .13); }
.stage-card:nth-child(3n+1) { --sb: #eaf7e6; --sl: #d3ecca; --sc: #2f8f22; }
.stage-card:nth-child(3n+2) { --sb: #e9f2ff; --sl: #cfe1fa; --sc: #1a6fd6; }
.stage-card:nth-child(3n) { --sb: #fff4d8; --sl: #f4e0a6; --sc: #e69a00; }
.inner-page .stage-card h2 {
    display: flex !important; align-items: center; gap: 14px; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important;
    font-size: 24px !important; font-weight: 800 !important; color: var(--iv-navy) !important;
}
.inner-page .stage-card h2::before {
    content: counter(stg, decimal-leading-zero); flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
    background: var(--sc); color: #fff; font: 800 15px/1 "DM Sans", sans-serif; box-shadow: 0 8px 16px rgba(10, 44, 99, .16);
}
.inner-page .stage-card h2 span, .inner-page .stage-card h2 span * { font-family: "DM Sans", sans-serif !important; font-style: normal !important; color: var(--iv-navy) !important; font-weight: 800 !important; }
.inner-page .page-about-us .stage-card p {
    position: relative; margin: 0 0 12px !important; padding-left: 24px; text-align: left !important; hyphens: manual; font-size: 15.5px !important; line-height: 1.65 !important; color: var(--iv-text);
    border: 0; background: none; box-shadow: none; display: block;
}
.inner-page .page-about-us .stage-card p::before { content: ""; position: absolute; left: 2px; top: .6em; width: 9px; height: 9px; border-radius: 50%; background: var(--sc); transform: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--sc) 18%, transparent); }
.inner-page .page-about-us .stage-card p::after { display: none; }
.inner-page .page-about-us .stage-card p:last-child { margin-bottom: 0 !important; }
@media (max-width: 1199px) { .inner-page .stage-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .inner-page .stage-list { grid-template-columns: 1fr; gap: 14px; } .inner-page .stage-card { padding: 22px 18px; } }

/* ---------- Table header: one continuous gradient bar (not one per cell) ---------- */
.inner-tbl th, .inner-tbl tr:first-child > th,
.inner-tbl tr[style*="background-color:#262b8c"] > *, .inner-tbl tr[style*="background-color: #262b8c"] > * { background: transparent !important; }
.inner-tbl tr:first-child:has(> th), .inner-tbl tr[style*="262b8c"] { background: linear-gradient(90deg, var(--iv-navy), #1a56ad 65%, var(--c-teal)) !important; }
.inner-tbl th { border-right: 1px solid rgba(255, 255, 255, .14) !important; }
.inner-tbl th:last-child { border-right: 0 !important; }

/* ---------- Table titles on list pages: clean navy heading with a green accent bar ---------- */
.inner-page .page-single-post .post-entry > h2 {
    display: flex; align-items: center; gap: 14px; margin: 0 0 22px !important; font-size: clamp(24px, 2.6vw, 34px) !important;
}
.inner-page .page-single-post .post-entry > h2::before { content: ""; flex-shrink: 0; width: 6px; height: 1.1em; border-radius: 4px; background: linear-gradient(180deg, var(--c-green), var(--iv-lime)); }
.inner-page .page-single-post .post-entry h2 span, .inner-page .page-single-post .post-entry h2 span * {
    font-family: "DM Sans", sans-serif !important; font-style: normal !important; font-weight: 800 !important; color: var(--iv-navy) !important;
}

/* full-width cards on list pages (theme limits .post-content to a narrow column) */
.inner-page .page-single-post .post-content { max-width: none; width: 100%; margin: 0; }
.inner-page .page-single-post .post-entry { width: 100%; }

/* ---------- Rules & regulations ---------- */
.inner-page .has-rules h2.rule-head {
    clear: both; position: relative; display: flex; align-items: center; gap: 16px; margin: 34px 0 20px !important; padding: 16px 22px !important;
    border: 0 !important; border-radius: 18px; background: linear-gradient(135deg, var(--iv-navy), #1a56ad); color: #fff !important;
    font-size: clamp(17px, 1.7vw, 21px) !important; letter-spacing: .02em !important; line-height: 1.35 !important; text-transform: uppercase; box-shadow: 0 16px 32px rgba(10, 44, 99, .2);
}
.inner-page .has-rules h2.rule-head::before {
    content: "\f0e3"; font-family: FontAwesome; flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--c-gold); color: var(--iv-navy); font-size: 18px; box-shadow: 0 0 0 5px rgba(255, 255, 255, .16);
}
.inner-page .rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inner-page .rule-grid .pt-item { align-items: center; }
@media (max-width: 767px) { .inner-page .rule-grid { grid-template-columns: 1fr; } }
/* rules banner v2: sits beside the photo, plain block so text never breaks per letter */
.inner-page .has-rules h2.rule-head {
    clear: none; display: block; text-align: left !important; text-wrap: balance; word-spacing: normal !important; hyphens: manual;
    padding: 18px 22px 18px 82px !important; margin: 26px 0 8px !important; min-height: 70px;
}
.inner-page .has-rules h2.rule-head::before { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); }
.inner-page .has-rules .rule-grid { clear: both; margin-top: 28px; }
@media (max-width: 575px) { .inner-page .has-rules h2.rule-head { padding: 16px 16px 16px 70px !important; font-size: 16px !important; } .inner-page .has-rules h2.rule-head::before { left: 14px; width: 38px; height: 38px; } }

/* rules page: smaller photo so the banner and photo line up */
.inner-page .has-rules > .about-us-image.pic-float { width: min(34%, 420px); }
.inner-page .has-rules > .about-us-image.pic-float img { aspect-ratio: 16 / 11; }
@media (max-width: 991px) { .inner-page .has-rules > .about-us-image.pic-float { width: 100%; } }

/* =====================================================================
   Download tables (worksheets, syllabus, calendar, results ...)
   ===================================================================== */
.inner-tbl.tbl-dl { border-radius: 22px; box-shadow: 0 18px 40px rgba(10, 44, 99, .10); }
.inner-tbl.tbl-dl > table { min-width: 560px; }
.inner-tbl.tbl-dl th { padding: 17px 22px !important; font-size: 13px !important; letter-spacing: .08em; }
.inner-tbl.tbl-dl td { padding: 16px 22px !important; font-size: 15.5px !important; font-weight: 500; color: var(--iv-ink) !important; }
.inner-tbl.tbl-dl tr:nth-child(odd) > td { background: #fff !important; }
.inner-tbl.tbl-dl tr:nth-child(even) > td { background: #f6faff !important; }
.inner-tbl.tbl-dl tr:hover > td { background: #eef8ea !important; }
.inner-tbl.tbl-dl td:first-child { width: 84px; }
/* class column */
.inner-tbl.tbl-dl td:nth-child(2) { font-weight: 800; color: var(--iv-navy) !important; }
/* download pill */
.inner-tbl.tbl-dl td a { display: inline-flex; align-items: center; gap: 10px; padding: 6px 18px 6px 8px; border-radius: 999px; background: linear-gradient(135deg, #2f8f22, #5fc23f); color: #fff !important; text-decoration: none; font-weight: 700; font-size: 14px; box-shadow: 0 8px 18px rgba(47, 143, 34, .25); transition: transform .2s, box-shadow .2s; }
.inner-tbl.tbl-dl td a::after { content: "Download PDF"; }
.inner-tbl.tbl-dl td a:hover { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(47, 143, 34, .34); color: #fff !important; }
.inner-tbl.tbl-dl td a img { width: 34px !important; height: 34px !important; padding: 5px; border-radius: 50%; background: #fff; border: 0 !important; box-shadow: none; }
.inner-tbl.tbl-dl td a:hover img { background: #fff; transform: none; }
@media (max-width: 575px) { .inner-tbl.tbl-dl td a::after { content: "PDF"; } .inner-tbl.tbl-dl td, .inner-tbl.tbl-dl th { padding: 13px 14px !important; } .inner-tbl.tbl-dl td a { padding-right: 14px; } }

/* list-page title: block layout with an accent bar (no per-letter wrapping on phones) */
.inner-page .page-single-post .post-entry > h2 { display: block; position: relative; padding-left: 20px; }
.inner-page .page-single-post .post-entry > h2::before { position: absolute; left: 0; top: .08em; height: .95em; }
@media (max-width: 575px) {
    .inner-page .page-single-post .post-entry > h2 { font-size: 22px !important; padding-left: 16px; }
    .inner-tbl.tbl-dl > table { min-width: 0; }
    .inner-tbl.tbl-dl th { font-size: 11.5px !important; letter-spacing: .04em; white-space: normal; }
    .inner-tbl.tbl-dl td:first-child { width: 46px; }
    .inner-tbl.tbl-dl td:nth-child(3) { word-break: normal; }
    .inner-tbl.tbl-dl td a { padding: 4px 12px 4px 5px; gap: 6px; font-size: 13px; }
    .inner-tbl.tbl-dl td a img { width: 28px !important; height: 28px !important; }
}
@media (max-width: 575px) {
    .inner-tbl.tbl-dl th { white-space: normal !important; font-size: 11px !important; padding: 12px 8px !important; line-height: 1.25; }
    .inner-tbl.tbl-dl td { padding: 12px 8px !important; font-size: 14px !important; }
    .inner-tbl.tbl-dl td:first-child, .inner-tbl.tbl-dl th:first-child { width: 40px; padding-left: 4px !important; padding-right: 4px !important; }
}

/* empty list pages (data not uploaded yet): friendly message instead of a blank card */
.inner-page .page-single-post .post-entry:not(:has(table, p, a, ul, ol, li, iframe, img, .inner-tbl)) { padding-bottom: 150px; }
.inner-page .page-single-post .post-entry:not(:has(table, p, a, ul, ol, li, iframe, img, .inner-tbl))::after {
    content: "No documents have been uploaded here yet. Please check back soon."; position: absolute; left: 40px; right: 40px; bottom: 36px;
    padding: 22px 24px 22px 76px; border-radius: 18px; background: #f2f8ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f8f22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M9 14h6M9 18h4'/%3E%3C/svg%3E") 22px center / 36px no-repeat;
    border: 1px dashed #bcd3ee; color: var(--iv-text); font: 500 15.5px/1.5 "DM Sans", sans-serif;
}
@media (max-width: 575px) {
    .inner-tbl.tbl-dl > table { table-layout: fixed; width: 100% !important; }
    .inner-tbl.tbl-dl th:nth-child(1), .inner-tbl.tbl-dl td:nth-child(1) { width: 13%; }
    .inner-tbl.tbl-dl th:nth-child(2), .inner-tbl.tbl-dl td:nth-child(2) { width: 22%; }
    .inner-tbl.tbl-dl th:nth-child(3), .inner-tbl.tbl-dl td:nth-child(3) { width: 38%; }
    .inner-tbl.tbl-dl td a::after { content: none; }
    .inner-tbl.tbl-dl td a { padding: 4px; gap: 0; }
    .inner-tbl.tbl-dl th { overflow-wrap: anywhere; }
}
@media (max-width: 575px) {
    .inner-tbl.tbl-dl th { overflow-wrap: normal !important; word-break: normal !important; font-size: 10px !important; letter-spacing: 0 !important; padding: 12px 4px !important; text-align: center !important; }
    .inner-tbl.tbl-dl th:nth-child(1), .inner-tbl.tbl-dl td:nth-child(1) { width: 12%; }
    .inner-tbl.tbl-dl th:nth-child(2), .inner-tbl.tbl-dl td:nth-child(2) { width: 24%; }
    .inner-tbl.tbl-dl th:nth-child(3), .inner-tbl.tbl-dl td:nth-child(3) { width: 30%; }
    .inner-tbl.tbl-dl td:nth-child(2), .inner-tbl.tbl-dl td:nth-child(4) { text-align: center !important; }
}
@media (max-width: 575px) {
    .inner-tbl.tbl-dl th { font-size: 9.5px !important; text-align: center !important; padding: 12px 2px !important; }
    .inner-tbl.tbl-dl th:nth-child(1), .inner-tbl.tbl-dl td:nth-child(1) { width: 11%; }
    .inner-tbl.tbl-dl th:nth-child(2), .inner-tbl.tbl-dl td:nth-child(2) { width: 27%; }
    .inner-tbl.tbl-dl th:nth-child(3), .inner-tbl.tbl-dl td:nth-child(3) { width: 29%; }
    .inner-tbl.tbl-dl td:nth-child(3) { text-align: center !important; }
    .inner-tbl.tbl-dl td:nth-child(1) { text-align: center !important; }
}

/* =====================================================================
   DATA GRID STYLE (all tables) - navy header with gold rule, gold left edge,
   bold navy first column, cream / white rows, blue hover
   ===================================================================== */
.inner-page .inner-tbl { border: 0; border-radius: 14px; background: #fff; box-shadow: 0 14px 34px rgba(10, 44, 99, .12); }
.inner-page .inner-tbl > table tr > th {
    background: linear-gradient(180deg, #1f4a99 0%, #102f6e 100%) !important; color: #fff !important;
    font: 700 14px/1.3 "DM Sans", sans-serif !important; letter-spacing: .01em !important; text-transform: none !important;
    text-align: center !important; padding: 13px 12px !important; white-space: nowrap;
    border: 0 !important; border-right: 1px solid rgba(255, 255, 255, .18) !important; border-bottom: 3px solid #f5b800 !important;
}
.inner-page .inner-tbl > table tr > th:last-child { border-right: 0 !important; }
.inner-page .inner-tbl > table tr:first-child:has(> th) { background: none !important; }
.inner-page .inner-tbl > table tr > td {
    padding: 10px 14px !important; font: 500 14.5px/1.5 "DM Sans", sans-serif !important; color: #26364d !important;
    background: #fff !important; border: 0 !important; border-bottom: 1px solid #e8ebf1 !important; vertical-align: middle !important;
}
.inner-page .inner-tbl > table tr:nth-child(even) > td { background: #f7f6ee !important; }
.inner-page .inner-tbl > table tr:hover > td { background: #e4eefb !important; }
.inner-page .inner-tbl > table tr > td:first-child {
    border-left: 5px solid #f5b800 !important; text-align: center !important; font-weight: 800 !important; color: #1b3f86 !important; width: 78px;
}
.inner-page .inner-tbl.no-th > table tr > td:first-child { width: auto; text-align: left !important; font-weight: 700 !important; }
/* download tables: everything centred, like the grid reference */
.inner-page .inner-tbl.tbl-dl > table tr > td { text-align: center !important; font-weight: 600 !important; color: #1d2f4b !important; }
.inner-page .inner-tbl.tbl-dl > table tr > td:first-child { font-weight: 800 !important; }
.inner-page .inner-tbl.tbl-dl > table tr > th, .inner-page .inner-tbl.tbl-dl > table tr > td { padding-top: 10px !important; padding-bottom: 10px !important; }
.inner-page .inner-tbl.tbl-dl td a { padding: 4px 16px 4px 5px; font-size: 13.5px; }
.inner-page .inner-tbl.tbl-dl td a img { width: 30px !important; height: 30px !important; }
@media (max-width: 575px) {
    .inner-page .inner-tbl > table tr > th { font-size: 11px !important; padding: 11px 3px !important; white-space: normal; }
    .inner-page .inner-tbl > table tr > td { padding: 9px 6px !important; font-size: 13.5px !important; }
    .inner-page .inner-tbl > table tr > td:first-child { width: 40px; border-left-width: 4px !important; }
    .inner-page .inner-tbl.tbl-dl td a { padding: 4px; }
}

/* =====================================================================
   Photo galleries: medium, centred 3-per-row cards (white frame, soft shadow)
   ===================================================================== */
.inner-page .page-gallery { padding: 10px 0 40px !important; }
.inner-page .page-gallery .container { max-width: 1300px; padding-left: 15px; padding-right: 15px; }
.inner-page .page-gallery-box { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; margin: 0; --bs-gutter-x: 0; --bs-gutter-y: 0; }
.inner-page .page-gallery-box > [class*="col-"] { flex: 0 0 calc((100% - 56px) / 3); max-width: calc((100% - 56px) / 3); width: auto; padding: 0; margin: 0; }
.inner-page .photo-gallery a {
    display: block; padding: 9px; border: 1px solid var(--iv-line); border-radius: 24px; background: #fff !important;
    box-shadow: 0 16px 36px rgba(10, 44, 99, .12);
}
.inner-page .photo-gallery figure { border-radius: 17px; overflow: hidden; margin: 0; }
.inner-page .photo-gallery img { aspect-ratio: 4 / 3; border-radius: 17px; }
.inner-page .photo-gallery a::after { right: 24px; bottom: 24px; width: 44px; height: 44px; background: var(--c-green); color: #fff; box-shadow: 0 8px 18px rgba(47, 143, 34, .4); }
.inner-page .photo-gallery a::before { content: ""; position: absolute; inset: 9px; border-radius: 17px; background: linear-gradient(180deg, transparent 55%, rgba(10, 44, 99, .35)); opacity: 0; transition: opacity .3s; pointer-events: none; z-index: 1; }
.inner-page .photo-gallery a:hover::before { opacity: 1; }
.inner-page .photo-gallery a::after { z-index: 2; }
@media (max-width: 991px) {
    .inner-page .page-gallery-box { gap: 22px; }
    .inner-page .page-gallery-box > [class*="col-"] { flex-basis: calc((100% - 22px) / 2); max-width: calc((100% - 22px) / 2); }
}
@media (max-width: 575px) {
    .inner-page .page-gallery-box { gap: 16px; }
    .inner-page .page-gallery-box > [class*="col-"] { flex-basis: 100%; max-width: 100%; }
}

/* =====================================================================
   Full grid: horizontal + vertical lines on every table
   ===================================================================== */
.inner-page .inner-tbl { border: 1.5px solid #c9d6ea; border-radius: 14px; }
.inner-page .inner-tbl > table { border-collapse: separate !important; border-spacing: 0 !important; }
.inner-page .inner-tbl > table tr > td { border-bottom: 1px solid #cfdaeb !important; border-right: 1px solid #cfdaeb !important; }
.inner-page .inner-tbl > table tr > td:last-child { border-right: 0 !important; }
.inner-page .inner-tbl > table tr > td:first-child { border-right: 1px solid #cfdaeb !important; }
.inner-page .inner-tbl > table tr:last-child > td { border-bottom: 0 !important; }
.inner-page .inner-tbl > table tr > th { border-right: 1px solid rgba(255, 255, 255, .3) !important; }
.inner-page .inner-tbl.tbl-view td a::after { content: "View PDF"; }
.inner-page .inner-tbl.tbl-dl > table tr > td:nth-child(2):not(:nth-last-child(2)) { text-align: center !important; }
/* text-heavy columns in download tables stay left-aligned when the table has only 3 columns (S.No, title, file) */
.inner-page .inner-tbl.tbl-view > table tr > td:nth-child(2), .inner-page .inner-tbl.tbl-view > table tr > th:nth-child(2) { text-align: left !important; padding-left: 20px !important; }
.inner-page .inner-tbl.tbl-view > table tr > th:nth-child(2) { text-align: center !important; }
.inner-page .inner-tbl.tbl-view > table tr > td:nth-child(3) { width: 190px; }
@media (max-width: 575px) { .inner-page .inner-tbl.tbl-view td a::after { content: none; } .inner-page .inner-tbl.tbl-view > table tr > td:nth-child(3) { width: 70px; } }

/* =====================================================================
   Photo Gallery albums: colourful cover cards, 3 per row
   ===================================================================== */
.inner-page .album-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-top: 8px; }
.inner-page .album-grid > li { list-style: none; display: block; margin: 0 !important; counter-increment: alb; }
.inner-page .album-grid > li > a {
    position: relative; display: flex !important; flex-direction: column; align-items: stretch; gap: 0; min-width: 0 !important; padding: 0 !important;
    border: 1px solid var(--iv-line); border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 16px 34px rgba(10, 44, 99, .10);
    transition: transform .3s, box-shadow .3s;
}
.inner-page .album-grid > li > a::before {
    content: "\f03e"; font-family: FontAwesome; display: flex; align-items: center; justify-content: center; width: auto; height: 150px; border-radius: 0; margin: 0;
    color: rgba(255, 255, 255, .95); font-size: 54px; background: var(--ag, linear-gradient(135deg, #2f8f22, #7ddc5a));
    background-image: radial-gradient(circle at 85% 20%, rgba(255, 255, 255, .28) 0 60px, transparent 61px), radial-gradient(circle at 10% 100%, rgba(255, 255, 255, .2) 0 70px, transparent 71px), var(--ag);
}
.inner-page .album-grid > li > a::after {
    content: "View photos \2192"; font-family: "DM Sans", system-ui, sans-serif; text-transform: none; position: static; margin: 0; display: block; padding: 0 22px 20px;
    font-size: 13.5px; font-weight: 700; color: var(--iv-green); letter-spacing: .02em;
}
.inner-page .album-grid > li > a .text { display: block; padding: 18px 22px 6px; font: 800 19px/1.3 "DM Sans", sans-serif !important; color: var(--iv-navy); }
.inner-page .album-grid > li > a:hover { transform: translateY(-6px); box-shadow: 0 26px 46px rgba(10, 44, 99, .18); border-color: transparent; }
.album-grid > li:nth-child(4n+1) { --ag: linear-gradient(135deg, #2f8f22, #7ddc5a); }
.album-grid > li:nth-child(4n+2) { --ag: linear-gradient(135deg, #f08a1c, #f5b800); }
.album-grid > li:nth-child(4n+3) { --ag: linear-gradient(135deg, #1a6fd6, #5aa9ff); }
.album-grid > li:nth-child(4n) { --ag: linear-gradient(135deg, #e0505f, #ff9fb2); }
@media (max-width: 991px) { .inner-page .album-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 575px) { .inner-page .album-grid { grid-template-columns: 1fr; } .inner-page .album-grid > li > a::before { height: 120px; } }

/* =====================================================================
   CONTACT PAGE (new layout)
   ===================================================================== */
.inner-page .cx { padding: 60px 0 90px !important; background: radial-gradient(circle at 4% 6%, rgba(125, 220, 90, .18), transparent 28%), radial-gradient(circle at 96% 4%, rgba(245, 184, 0, .15), transparent 26%), radial-gradient(circle at 94% 96%, rgba(26, 111, 214, .14), transparent 30%), linear-gradient(180deg, #fff, #f4f8fd) !important; }
.cx-head { text-align: center; margin-bottom: 34px; }
.cx-kicker { display: inline-flex; align-items: center; gap: 10px; font: 700 13px/1.2 "DM Sans", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--iv-green); }
.cx-kicker::before, .cx-kicker::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; }
.inner-page .cx-head h2 { margin: 12px 0 0 !important; text-align: center; }
.cx-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 30px; }
.cx-card {
    position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 30px 28px 24px; border-radius: 24px; background: #fff; overflow: hidden;
    border: 1px solid var(--iv-line); box-shadow: 0 16px 36px rgba(10, 44, 99, .09); text-decoration: none; transition: transform .3s, box-shadow .3s; min-width: 0;
}
.cx-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--cg); }
.cx-card::after { content: ""; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--cg); opacity: .09; }
.cx-card:hover { transform: translateY(-6px); box-shadow: 0 26px 46px rgba(10, 44, 99, .16); }
.cx-ic { width: 58px; height: 58px; border-radius: 18px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; background: var(--cg); color: #fff; font-size: 24px; box-shadow: 0 12px 22px rgba(10, 44, 99, .2); }
.cx-lb { font: 700 12.5px/1.2 "DM Sans", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #6b7a8d; }
.cx-card strong { font: 800 18.5px/1.4 "DM Sans", sans-serif; color: var(--iv-navy); overflow-wrap: anywhere; }
.cx-card em { margin-top: auto; padding-top: 10px; font: 700 14px/1 "DM Sans", sans-serif; font-style: normal; color: var(--iv-green); }
.cx-card em i { transition: transform .25s; margin-left: 4px; } .cx-card:hover em i { transform: translateX(5px); }
.cx-c1 { --cg: linear-gradient(135deg, #1a6fd6, #5aa9ff); }
.cx-c2 { --cg: linear-gradient(135deg, #2f8f22, #7ddc5a); }
.cx-c3 { --cg: linear-gradient(135deg, #f08a1c, #f5b800); }
.cx-main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 28px; align-items: stretch; }
.inner-page .cx-form { padding: 40px; height: auto; }
.inner-page .cx-form::before { display: none; }
.inner-page .cx-form .section-title { margin-bottom: 22px; }
.inner-page .cx-form .section-title h2 { margin: 0 !important; }
.cx-form .form-group { position: relative; margin-bottom: 20px !important; }
.cx-form .form-group > i { position: absolute; right: 18px; top: 17px; font-size: 16px; color: var(--iv-green); pointer-events: none; }
.inner-page .contact-us-form .cx-form .form-control, .inner-page .cx-form .form-control { padding: 15px 46px 15px 18px; border-radius: 14px; }
.cx-form textarea.form-control { min-height: 150px; resize: vertical; }
.cx-form .btn-default { width: 100%; justify-content: center; text-align: center; padding: 17px 28px !important; font-size: 16px; text-transform: none; }
.cx-form .btn-default::after { display: none !important; }
.cx-map { position: relative; border-radius: 26px; overflow: hidden; min-height: 480px; border: 1px solid var(--iv-line); box-shadow: 0 16px 40px rgba(10, 44, 99, .12); background: #e8eef7; }
.inner-page .cx-map .google-map-iframe { height: 100%; border: 0; border-radius: 0; box-shadow: none; margin: 0; }
.inner-page .cx-map .google-map-iframe iframe { height: 100%; min-height: 480px; position: absolute; inset: 0; }
.cx-dir { position: absolute; left: 20px; bottom: 20px; z-index: 2; display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; border-radius: 999px; background: var(--iv-navy); color: #fff; font: 700 14.5px/1 "DM Sans", sans-serif; text-decoration: none; box-shadow: 0 14px 28px rgba(10, 44, 99, .35); transition: transform .25s, background .25s; }
.cx-dir i { color: var(--iv-lime); font-size: 17px; }
.cx-dir:hover { transform: translateY(-2px); background: var(--iv-green); color: #fff; }
@media (max-width: 991px) {
    .cx-cards { grid-template-columns: 1fr; gap: 16px; }
    .cx-main { grid-template-columns: 1fr; }
    .cx-map { min-height: 380px; } .inner-page .cx-map .google-map-iframe iframe { min-height: 380px; }
    .inner-page .cx-form { padding: 28px 22px; }
}
.inner-page .cx-head h2 { font-size: clamp(30px, 3.2vw, 44px) !important; font-weight: 800 !important; color: var(--iv-navy) !important; }
.inner-page .cx-head h2 span { color: var(--iv-green) !important; font-family: "Playfair Display", Georgia, serif !important; font-style: italic; font-weight: 700; }
.inner-page .cx-main > .cx-form { margin: 0 !important; width: 100%; max-width: none; }

/* =====================================================================
   PROSPECTUS page
   ===================================================================== */
.inner-page .pr .container > * + * { margin-top: 56px; }
.pr-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 56px; align-items: center; }
.inner-page .pr .pr-intro h2 { margin: 10px 0 16px !important; }
.inner-page .pr .pr-intro p { text-align: justify; }
.pr-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.pr-btn-line { background: #fff; color: var(--iv-navy); border: 1.5px solid #cfdaeb; }
.pr-btn-line:hover { background: var(--iv-navy); color: #fff; }
.pr .ph-btn-lime { background: linear-gradient(135deg, #2f8f22, #5fc23f); color: #fff; box-shadow: 0 12px 26px rgba(47, 143, 34, .28); }
.pr .ph-btn-lime:hover { background: var(--iv-navy); color: #fff; }
.pr-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; padding: 0; list-style: none; }
.pr-facts li { display: flex; flex-direction: column; gap: 4px; padding: 22px 20px; border-radius: 22px; background: #fff; border: 1px solid var(--iv-line); border-top: 5px solid var(--c); box-shadow: 0 14px 30px rgba(10, 44, 99, .08); }
.pr-facts i { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; background: var(--c); color: #fff; font-size: 19px; }
.pr-facts b { font: 800 20px/1.2 "DM Sans", sans-serif; color: var(--iv-navy); }
.pr-facts span { font: 500 13.5px/1.4 "DM Sans", sans-serif; color: #6b7a8d; }
.inner-page .pr h2.pr-h { text-align: center; margin: 0 0 28px !important; }
.pr-grid { display: grid; gap: 20px; }
.pr-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pr-card { padding: 26px 22px; border-radius: 22px; background: #fff; border: 1px solid var(--iv-line); box-shadow: 0 14px 30px rgba(10, 44, 99, .07); position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.pr-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--c); }
.pr-card:hover { transform: translateY(-5px); box-shadow: 0 22px 40px rgba(10, 44, 99, .13); }
.pr-ic { width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; background: var(--c); color: #fff; font-size: 22px; }
.pr-card h3, .pr-steps h3 { margin: 0 0 8px; font: 800 19px/1.3 "DM Sans", sans-serif !important; color: var(--iv-navy); }
.inner-page .pr .pr-card p, .inner-page .pr .pr-steps p { margin: 0; font-size: 15px !important; line-height: 1.65 !important; text-align: left; }
.pr-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.pr-chips a { display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px 12px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--iv-line); box-shadow: 0 10px 22px rgba(10, 44, 99, .07); font: 700 15px/1 "DM Sans", sans-serif; color: var(--iv-navy); text-decoration: none; transition: transform .25s, box-shadow .25s, border-color .25s; }
.pr-chips a i { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--c); color: #fff; font-size: 15px; }
.pr-chips a:hover { transform: translateY(-3px); border-color: var(--c); box-shadow: 0 16px 28px rgba(10, 44, 99, .12); color: var(--iv-navy); }
.pr-steps { counter-reset: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.pr-steps li { position: relative; padding: 30px 22px 24px; border-radius: 22px; background: linear-gradient(180deg, color-mix(in srgb, var(--c) 10%, #fff), #fff 70%); border: 1px solid color-mix(in srgb, var(--c) 28%, #fff); }
.pr-steps li b { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 14px; border-radius: 50%; background: var(--c); color: #fff; font: 800 15px/1 "DM Sans", sans-serif; box-shadow: 0 0 0 6px color-mix(in srgb, var(--c) 18%, transparent); }
.pr-contact { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; border-radius: 24px; background: linear-gradient(135deg, var(--iv-navy), #1a56ad); color: #fff; box-shadow: 0 20px 44px rgba(10, 44, 99, .22); }
.pr-contact h3 { margin: 0 0 6px; font: 800 22px/1.3 "DM Sans", sans-serif !important; color: #fff; }
.inner-page .pr .pr-contact p { margin: 0; color: rgba(255, 255, 255, .85); font-size: 15px !important; text-align: left; }
.pr-contact .ph-btn { flex-shrink: 0; }
@media (max-width: 1199px) { .pr-grid-4, .pr-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991px) { .pr-intro { grid-template-columns: 1fr; gap: 32px; } .pr-contact { flex-direction: column; align-items: flex-start; } }
@media (max-width: 575px) { .pr-grid-4, .pr-steps { grid-template-columns: 1fr; } .pr-contact { padding: 24px 20px; } .pr-actions .ph-btn { flex: 1 1 100%; } }
/* prospectus fixes: heading colours, no tick bullets on cards */
.inner-page .pr h2 { font-family: "DM Sans", sans-serif !important; font-weight: 800 !important; color: var(--iv-navy) !important; font-size: clamp(26px, 2.8vw, 38px) !important; line-height: 1.2 !important; letter-spacing: -.02em; }
.inner-page .pr h2 span { color: var(--iv-green) !important; font-family: "Playfair Display", Georgia, serif !important; font-style: italic; font-weight: 700; }
.inner-page .pr .pr-facts li::before, .inner-page .pr .pr-steps li::before { content: none !important; display: none !important; }
.inner-page .pr .pr-facts li, .inner-page .pr .pr-steps li { padding-left: 20px; margin-bottom: 0; text-align: left; }
.inner-page .pr .pr-steps li { padding-left: 22px; }
.pr-facts span { text-align: left; }
.inner-page .pr .pr-intro-text .sec-kick + h2 + p { padding-left: 18px; border-left: 4px solid var(--c-gold); background: linear-gradient(90deg, rgba(245, 184, 0, .10), transparent 70%); border-radius: 0 12px 12px 0; font-size: 17.5px !important; font-weight: 500; color: var(--iv-ink); text-align: left; }
@media (max-width: 575px) { .pr-facts { gap: 12px; } .pr-facts li { padding: 18px 14px; } .pr-facts b { font-size: 18px; } }

/* =====================================================================
   MANDATORY DISCLOSURE: calm background, lettered section headings
   ===================================================================== */
.inner-page .page-services {
    background: linear-gradient(180deg, #ffffff 0%, #f3f7fc 100%) !important; padding: 56px 0 90px !important;
}
.inner-page .page-services > .container > .row > .col-lg-12 .section-title h2 { text-align: center; margin-bottom: 34px !important; }
.inner-page .page-services .col-lg-6 { flex: 0 0 100%; max-width: 100%; margin-top: 44px !important; }
.inner-page .page-services .col-lg-6 .section-title { margin: 0 0 16px; }
.inner-page .page-services .col-lg-6 h2.dh {
    display: flex !important; align-items: center; gap: 14px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
    font-size: clamp(22px, 2.2vw, 28px) !important; font-weight: 800 !important; color: var(--iv-navy) !important;
}
.inner-page .page-services .col-lg-6 h2.dh::after { content: ""; flex: 1; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #cdd9ec, transparent); }
.dh-badge { flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--iv-navy), #1a56ad); color: var(--c-gold); font: 800 20px/1 "DM Sans", sans-serif; box-shadow: 0 10px 20px rgba(10, 44, 99, .22); font-style: normal; }
.inner-page .page-services .col-lg-6:nth-of-type(2n) .dh-badge { background: linear-gradient(135deg, #2f8f22, #5fc23f); color: #fff; }
.inner-page .page-services .col-lg-6 h2.dh span, .inner-page .page-services .col-lg-6 h2.dh span * { font-family: "Playfair Display", Georgia, serif !important; font-style: italic; color: var(--iv-green) !important; font-weight: 700 !important; }
.inner-page .page-services .inner-tbl { margin: 0 0 8px; background: #fff; }
.inner-page .page-services .inner-layout, .inner-page .page-services .inner-layout > tbody > tr > td { background: transparent !important; }
/* icon badge (headings are split into words by the theme script, so a letter badge is not possible) */
.inner-page .page-services .col-lg-6 h2.dh::before {
    content: "\f15c"; font-family: FontAwesome; flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--iv-navy), #1a56ad); color: var(--c-gold); font-size: 19px; box-shadow: 0 10px 20px rgba(10, 44, 99, .22); font-style: normal;
}
.inner-page .page-services .col-lg-6:nth-of-type(2n) h2.dh::before { background: linear-gradient(135deg, #2f8f22, #5fc23f); color: #fff; }
.inner-page .page-services .col-lg-6:nth-of-type(3n) h2.dh::before { background: linear-gradient(135deg, #e69a00, #f5b800); color: var(--iv-navy); }
.inner-page .page-services .col-lg-6 h2.dh { text-align: left !important; word-spacing: normal !important; justify-content: flex-start; }
.inner-page .page-services .col-lg-6 h2.dh * { word-spacing: normal !important; }
@media (max-width: 575px) {
    .inner-page .page-services .inner-tbl > table { min-width: 0; table-layout: auto; }
    .inner-page .page-services .inner-tbl td, .inner-page .page-services .inner-tbl th { padding: 9px 7px !important; font-size: 12.5px !important; overflow-wrap: anywhere; }
    .inner-page .page-services .col-lg-6 h2.dh { font-size: 20px !important; }
}
@media (max-width: 575px) {
    .inner-page .page-services .inner-tbl th { overflow-wrap: normal !important; word-break: keep-all; white-space: nowrap; }
    .inner-page .page-services .inner-tbl td { overflow-wrap: break-word; word-break: normal; }
    .inner-page .page-services .inner-tbl td:first-child { width: 44px; }
}
/* contact page: form alone in the row (map now uses the same section as Home) */
.cx-main { grid-template-columns: minmax(0, 1fr); }
