/* ============================================================
   pg-page.css  –  Universal page renderer styles
   Uses CSS custom properties from your theme :root
   ============================================================ */

/* ── Reset / base ──────────────────────────────────────────── */
*,
*::before,
*::after { box-sizing: border-box; }

img { display: block; max-width: 100%; height: auto; }

/* ── Container ─────────────────────────────────────────────── */
.pg-container {
    width: 100%;
    /* max-width: 1200px; */
    margin-inline: auto;
    padding-inline: clamp(1rem, 5vw, 3rem);
}

/* ── Page root ─────────────────────────────────────────────── */
.pg-page {
    background: var(--bg);
    color: var(--text);
       font-family: 'Inter', system-ui, -apple-system, sans-serif;
    line-height: 1.7;
}

/* ── Section base ──────────────────────────────────────────── */
.pg-section {
    padding-block: clamp(2.5rem, 6vw, 5rem);
}
.pg-section.pg-raw h2 {
  margin-bottom: 15px;
}
/* ============================================================
   PAGE HEADER
   ============================================================ */
.pg-page-header {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    display: flex;
    align-items: center;
    padding: 80px 20px;
}

.pg-page-header--has-image .pg-page-header__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 0;
}

.pg-page-header__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(9, 71, 168, 0.82) 0%,
        rgba(16, 69, 158, 0.70) 100%
    );
    z-index: 1;
}

.pg-page-header__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    /* max-width: 1200px; */
    margin: 0 auto;
}
   .pg-page-header__inner .pg-h1 {
    background: rgba(232, 160, 32, .2);
    color: var(--clr-accent);
    display: inline-block;
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    /* color: var(--clr-accent); */
    /* background: var(--clr-accent-lt); */
    padding: .3rem .75rem;
    border-radius: 999px;
    margin-bottom: 1rem;
   }
/* Headings */
.pg-h1 {
    font-size: clamp(2rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 15px;
}
h2.pg-h2 span {
    color: #f68b1d;
}
.pg-h2 {
      font-family: var(--ff-display);
    font-size: 70px;
    font-weight: 600;
    color: var(--clr-white);
    line-height: 1.25;
    margin-bottom: .75rem;
}

.pg-h3 {
    font-size: clamp(1rem, 2vw, 1.4rem);
    font-weight: 500;
    color: rgba(255,255,255,.8);
    margin-bottom: 15px;
}

.pg-excerpt {
    font-size: 1.1rem;
    line-height: 1.8;
    color: rgba(255,255,255,.9);

    max-width: 700px;
}

/* Tablet */
@media (max-width: 992px) {
    .pg-page-header {
        min-height: 350px;
        padding: 60px 20px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .pg-page-header {
        min-height: 280px;
        padding: 50px 15px;
        text-align: center;
    }

    .pg-excerpt {
        max-width: 100%;
    }
}
/* ============================================================
   HERO SECTION
   ============================================================ */
.pg-hero {
    text-align: center;
    padding-block: clamp(3.5rem, 8vw, 6rem);
}

.pg-hero__heading {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0 0 1rem;
}

.pg-hero__sub {
    font-size: clamp(1rem, 2.5vw, 1.3rem);
    opacity: .85;
    max-width: 60ch;
    /* margin-inline: auto; */
    margin-bottom: 2rem;
}

.pg-hero__img {
    margin-inline: auto;
    border-radius: var(--radius);
}

/* image size modifiers */
.pg-img--full  { width: 100%; }
.pg-img--large { max-width: 900px; }
.pg-img--medium { max-width: 640px; }
.pg-img--small  { max-width: 360px; }

/* ============================================================
   TEXT SECTION
   ============================================================ */
.pg-text {
    background: #ffffff;
}

.pg-text--left  { text-align: left; }
.pg-text--center { text-align: center; }
.pg-text--right { text-align: right; }

.pg-prose {
    color: var(--text-main);
    font-size: 1.05rem;
    line-height: 1.8;
    /* max-width: 72ch; */
}

.pg-text--center .pg-prose,
.pg-text--right  .pg-prose {
    margin-inline: auto;
}

/* ============================================================
   IMAGE SECTION
   ============================================================ */
.pg-img-block--left   { text-align: left; }
.pg-img-block--center { text-align: center; }
.pg-img-block--right  { text-align: right; }

.pg-figure {
    display: inline-block;
    margin: 0;
}

.pg-figure--small  { max-width: 320px; width: 100%; }
.pg-figure--medium { max-width: 640px; width: 100%; }
.pg-figure--large  { max-width: 960px; width: 100%; }
.pg-figure--full   { max-width: 100%; width: 100%; }

.pg-figure__img {
    width: 100%;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-card);
}

.pg-figure__caption {
    margin-top: .6rem;
    font-size: .875rem;
    color: var(--text-muted);
    font-style: italic;
}

/* ============================================================
   IMAGE + TEXT SPLIT
   ============================================================ */
 /* ============================================================
   IMAGE + TEXT SPLIT
   ============================================================ */

.pg-split {
    padding: 70px 0;
    background: #fff;
}

.pg-split__inner {
    display: flex;
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

/* Image Left */
.pg-split--left .pg-split__inner {
    flex-direction: row;
}

/* Image Right */
.pg-split--right .pg-split__inner {
    flex-direction: row-reverse;
}

/* Image Column */
.pg-split__media {
    flex: 0 0 45%;
}

.pg-split__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 0 20px 40px rgba(0,0,0,.12);
    transition: transform .3s ease;
}

.pg-split__img:hover {
    transform: translateY(-5px);
}

/* Content Column */
.pg-split__body {
    flex: 1;
}

.pg-split__heading {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.2;
    color: #0f172a;
    margin-bottom: 1rem;
}

.pg-split__body .pg-prose {
    font-size: 1.05rem;
    line-height: 1.9;
    color: #475569;
}

.pg-split__body .pg-prose p:last-child {
    margin-bottom: 0;
}

/* Tablet */
@media (max-width: 991px) {

    .pg-split {
        padding: 60px 0;
    }

    .pg-split__inner {
        gap: 2rem;
    }

    .pg-split__heading {
        font-size: 2rem;
    }
}

/* Mobile */
@media (max-width: 768px) {

    .pg-split--left .pg-split__inner,
    .pg-split--right .pg-split__inner {
        flex-direction: column;
    }

    .pg-split__media,
    .pg-split__body {
        width: 100%;
        flex: 0 0 100%;
    }

    .pg-split__img {
        border-radius: 14px;
    }

    .pg-split__heading {
        font-size: 1.75rem;
        text-align: center;
    }

    .pg-split__body {
        text-align: center;
    }

    .pg-split__body .pg-prose {
        font-size: 1rem;
    }
}
/* ============================================================
   GALLERY
   ============================================================ */
.pg-gallery { background: var(--bg); }

.pg-gallery__grid {
    display: grid;
    gap: 1.25rem;
}

.pg-gallery__grid--1col { grid-template-columns: 1fr; }
.pg-gallery__grid--2col { grid-template-columns: repeat(2, 1fr); }
.pg-gallery__grid--3col { grid-template-columns: repeat(3, 1fr); }
.pg-gallery__grid--4col { grid-template-columns: repeat(4, 1fr); }

.pg-gallery__item {
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--bg-card);
    box-shadow: var(--shadow-card);
    aspect-ratio: 4 / 3;
}

.pg-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.pg-gallery__item:hover .pg-gallery__img {
    transform: scale(1.04);
}

@media (max-width: 700px) {
    .pg-gallery__grid--3col,
    .pg-gallery__grid--4col { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
    .pg-gallery__grid--2col,
    .pg-gallery__grid--3col,
    .pg-gallery__grid--4col { grid-template-columns: 1fr; }
}

/* ============================================================
   CTA
   ============================================================ */
.pg-cta { text-align: center; }

/* filled variant */
.pg-cta--filled {
    /* bg color comes inline from Blade */
}

/* outline variant */
.pg-cta--outline {
    background: transparent;
    border-top: 2px solid var(--line);
    border-bottom: 2px solid var(--line);
}

/* ghost variant */
.pg-cta--ghost {
    background: var(--bg2);
}

.pg-cta__inner {
    max-width: 680px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.pg-cta__heading {
    font-size: clamp(1.5rem, 3.5vw, 2.2rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.pg-cta__text {
    font-size: 1.05rem;
    max-width: 55ch;
    margin: 0;
}

/* CTA button */
.pg-cta__btn {
    display: inline-block;
    padding: .8rem 2.2rem;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: opacity .2s, transform .2s;
}

.pg-cta__btn:hover { opacity: .88; transform: translateY(-1px); }

.pg-cta__btn--filled {
    background: var(--brand-accent);
    color: var(--text);
}

.pg-cta__btn--outline {
    background: transparent;
    color: var(--brand-primary);
    border: 2px solid var(--brand-primary);
}

.pg-cta__btn--ghost {
    background: var(--brand-primary);
    color: #fff;
}

/* ============================================================
   FAQ
   ============================================================ */
.pg-faq { background: var(--bg2); }

.pg-faq__heading {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--text);
    margin: 0 0 2rem;
}

.pg-faq__list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    max-width: 800px;
}

.pg-faq__item {
    background: var(--bg-card);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: box-shadow .2s;
}

.pg-faq__item[open] {
    box-shadow: 0 8px 32px var(--primary-glow);
    border-color: var(--border);
}

.pg-faq__q {
    cursor: pointer;
    list-style: none;
    padding: 1.1rem 1.4rem;
    font-weight: 600;
    color: var(--text);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    user-select: none;
    transition: background .15s;
}

.pg-faq__q::-webkit-details-marker { display: none; }

.pg-faq__q::after {
    content: "+";
    font-size: 1.4rem;
    line-height: 1;
    color: var(--brand-primary);
    flex-shrink: 0;
    transition: transform .2s;
}

.pg-faq__item[open] .pg-faq__q::after {
    transform: rotate(45deg);
}

.pg-faq__q:hover {
    background: var(--bg2);
    color: var(--brand-primary);
}

.pg-faq__a {
    padding: .25rem 1.4rem 1.2rem;
    color: var(--text-muted);
    font-size: .975rem;
    line-height: 1.75;
    border-top: 1px solid var(--line);
}

/* ============================================================
   COLUMNS
   ============================================================ */
.pg-cols { background: var(--bg); }

.pg-cols__grid {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.5rem);
}

.pg-cols__grid--1col { grid-template-columns: 1fr; }
.pg-cols__grid--2col { grid-template-columns: repeat(2, 1fr); }
.pg-cols__grid--3col { grid-template-columns: repeat(3, 1fr); }
.pg-cols__grid--4col { grid-template-columns: repeat(4, 1fr); }

.pg-cols__col {
    background: var(--bg-card);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: clamp(1.25rem, 3vw, 2rem);
    box-shadow: var(--shadow-card);
}

.pg-cols__heading {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--brand-primary);
    margin: 0 0 .75rem;
    padding-bottom: .6rem;
    border-bottom: 2px solid var(--line);
}

@media (max-width: 900px) {
    .pg-cols__grid--4col { grid-template-columns: repeat(2, 1fr); }
    .pg-cols__grid--3col { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
    .pg-cols__grid--2col,
    .pg-cols__grid--3col,
    .pg-cols__grid--4col { grid-template-columns: 1fr; }
}

/* ============================================================
   DIVIDER
   ============================================================ */
.pg-divider { position: relative; }

.pg-divider {
    border: none;
    border-top: 1px solid  #3b3b3b;
    margin-top: 10px;
 margin-bottom: 10px;
}

.pg-divider--line {
    border-top: 1px solid #3b3b3b;
}

.pg-divider--thick {
    border-top: 3px solid #3b3b3b;
}

.pg-divider--dashed {
    border-top: 2px dashed #3b3b3b;
}

.pg-divider--dotted {
    border-top: 2px dotted #3b3b3b;
}

.pg-divider--blank .pg-container { display: none; }

/* ============================================================
   RAW HTML SECTION
   ============================================================ */
.pg-raw {
  background: var(--bg);
  padding: 30px 40px;
}
/* ============================================================
   EMPTY STATE
   ============================================================ */
.pg-page .pg-container > p[style] {
    color: var(--muted);
    font-size: 1rem;
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    .pg-gallery__img,
    .pg-cta__btn,
    .pg-faq__q,
    .pg-faq__item,
    .pg-faq__q::after {
        transition: none;
    }
}
/* ===============================
   Student Questions Section
================================== */

.student-questions-section{
    padding:80px 0;
    background:#f7f9fc;
}

.student-questions-section .container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.section-heading{
    text-align:center;
    max-width:850px;
    margin:0 auto 50px;
}

.section-heading h2{
    font-size:2.3rem;
    color:#0a2240;
    margin-bottom:18px;
    font-weight:700;
    line-height:1.3;
}

.section-heading h2 span{
    color:#f68e25;
}

.section-heading p{
    font-size:1.05rem;
    color:#555;
    line-height:1.8;
}

.question-card{
    background:#fff;
    border-radius:16px;
    padding:30px;
    margin-bottom:25px;
    border:1px solid #e8edf5;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
    transition:.35s ease;
}

.question-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 45px rgba(0,0,0,.12);
}

.question-card h3{
    color:#0a2240;
    font-size:1.4rem;
    margin-bottom:18px;
    line-height:1.5;
    font-weight:700;
}

.question-card p{
    color:#555;
    font-size:1rem;
    line-height:1.9;
    margin-bottom:15px;
}

.question-card p:last-child{
    margin-bottom:0;
}

.question-card strong{
    color:#0a2240;
}

@media (min-width:992px){

    .student-questions-section .container{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:30px;
    }

    .section-heading{
        grid-column:1/-1;
        margin-bottom:15px;
    }

    .question-card{
        margin:0;
        height:100%;
    }

}

@media (max-width:768px){

    .student-questions-section{
        padding:60px 0;
    }

    .section-heading h2{
        font-size:1.8rem;
    }

    .section-heading p{
        font-size:.96rem;
    }

    .question-card{
        padding:22px;
    }

    .question-card h3{
        font-size:1.2rem;
    }

    .question-card p{
        font-size:.95rem;
    }

}
h2.reveal.in span {
    color: #f79834;
    font-weight: 700;
}
.faq-title span {
    color: #f79834;
    font-weight: 700;
}