/* ============================================================
   PHOTON INTERNATIONAL SCHOOL — ADMISSION ENQUIRY PAGE
   Photon Admission Enquiry plugin · frontend styles
   Every selector is scoped to .photon-admission-page:not(#pae-boost) so theme /
   Elementor styles cannot clash with it (and vice versa).
============================================================ */

.photon-admission-page:not(#pae-boost){
    --ph-maroon:#8B1232;
    --ph-maroon-dark:#700D28;
    --ph-maroon-deep:#620B25;
    --ph-gold:#C88A22;
    --ph-gold-light:#E1B45B;
    --ph-gold-soft:#F2DFC0;
    --ph-cream:#FCF8F1;
    --ph-cream-dark:#F5ECDF;
    --ph-white:#FFFFFF;
    --ph-ink:#28252A;
    --ph-muted:#696268;
    --ph-line:#E4D9CC;
    --ph-error:#B3261E;

    width:100%;
    max-width:none;
    position:relative;
    overflow:hidden;
    overflow:clip;
    /* Layout responds to the width the page actually gets (theme column,
       Elementor section or full width), not only to the browser window. */
    container-type:inline-size;
    container-name:photon;
    margin:0;
    padding:0;
    background:var(--ph-cream);
    color:var(--ph-ink);
    font-family:"Product Sans","Google Sans","Segoe UI",Arial,sans-serif;
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* ============================================================
   NEVER COLLAPSE INSIDE ELEMENTOR / FLEX LAYOUTS
   The page is a container-query box (container-type:inline-size), which
   gives it a natural width of 0. When an Elementor container aligns its
   widgets "center" / "start" (often only on mobile), the shortcode widget
   shrinks to that 0 width and the page becomes a ~30,000px tall blank
   strip. These rules keep the page and its wrappers full width.
============================================================ */

.photon-admission-page:not(#pae-boost){
    contain-intrinsic-inline-size:100vw;
    min-width:0;
}

.elementor-widget:has(.photon-admission-page),
.elementor-widget-container:has(.photon-admission-page),
.elementor-shortcode:has(> .photon-admission-page),
.elementor-widget-html:has(.photon-admission-page){
    align-self:stretch !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex-basis:auto !important;
}

.e-con .e-con:has(.photon-admission-page),
.e-con-inner:has(.photon-admission-page){
    align-self:stretch !important;
    max-width:100% !important;
    min-width:0 !important;
}

/* ============================================================
   RESET (doubled class beats theme / Elementor kit element rules)
   The embedded admission forms are excluded, so they keep the exact
   styling of your admission forms plugin.
============================================================ */

.photon-admission-page:not(#pae-boost) *:not(.photon-admission-form-embed *),
.photon-admission-page:not(#pae-boost) *:not(.photon-admission-form-embed *)::before,
.photon-admission-page:not(#pae-boost) *:not(.photon-admission-form-embed *)::after{
    box-sizing:border-box;
}

.photon-admission-page:not(#pae-boost).photon-admission-page:not(#pae-boost) :is(h1,h2,h3,h4,p,ul,li,table,th,td,button,input,select,textarea,label,legend,small,nav):not(.photon-admission-form-embed *){
    font-family:inherit;
    text-transform:none;
    text-shadow:none;
}

.photon-admission-page:not(#pae-boost).photon-admission-page:not(#pae-boost) :is(h1,h2,h3,h4,p):not(.photon-admission-form-embed *){
    margin:0;
    padding:0;
}

.photon-admission-page:not(#pae-boost).photon-admission-page:not(#pae-boost) button:not(.photon-admission-form-embed *){
    letter-spacing:normal;
    min-width:0;
    -webkit-appearance:none;
    appearance:none;
}

.photon-admission-page:not(#pae-boost) [hidden]{
    display:none !important;
}

.photon-admission-page:not(#pae-boost) img{
    max-width:100%;
}

/* Number ranges such as 2012–2017 never break across lines. */
.photon-admission-page:not(#pae-boost) .photon-nowrap{
    white-space:nowrap;
}

.photon-admission-page:not(#pae-boost) :is(button,a,[tabindex]):not(.photon-admission-form-embed *):focus-visible{
    outline:3px solid var(--ph-gold);
    outline-offset:2px;
}

/* ============================================================
   CONTAINER
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-admission-container{
    width:min(1440px, calc(100% - 120px));
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    padding:0;
}

/* ============================================================
   EYEBROW
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-admission-eyebrow{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;
    margin-bottom:14px;
    color:#3E393C;
    font-size:13px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.28em;
    text-transform:uppercase;
    text-align:center;
}

.photon-admission-page:not(#pae-boost) .photon-admission-eyebrow::before,
.photon-admission-page:not(#pae-boost) .photon-admission-eyebrow::after{
    content:"";
    flex:0 0 36px;
    width:36px;
    height:2px;
    background:var(--ph-gold);
}

.photon-admission-page:not(#pae-boost) .photon-admission-eyebrow--left{
    justify-content:flex-start;
    margin-bottom:18px;
}

.photon-admission-page:not(#pae-boost) .photon-admission-eyebrow--left::after{
    display:none;
}

/* ============================================================
   HERO
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-admission-hero{
    min-height:650px;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#F9F1E6;
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-image{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(
            90deg,
            rgba(252,248,241,.99) 0%,
            rgba(252,248,241,.97) 22%,
            rgba(252,248,241,.88) 37%,
            rgba(252,248,241,.52) 53%,
            rgba(252,248,241,.08) 76%
        ),
        var(--pae-hero-bg, none);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-image.is-empty{
    background-image:
        radial-gradient(circle at 82% 30%, rgba(200,138,34,.20) 0, rgba(200,138,34,0) 42%),
        radial-gradient(circle at 70% 85%, rgba(139,18,50,.12) 0, rgba(139,18,50,0) 40%),
        linear-gradient(120deg, #FCF8F1 0%, #F6EAD8 100%);
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
    position:relative;
    z-index:2;
    width:min(1440px, calc(100% - 120px));
    margin:0 auto;
    padding:115px 0 105px;
}

.photon-admission-page:not(#pae-boost) .photon-admission-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin-bottom:30px;
    color:#666064;
    font-size:14px;
    line-height:1.4;
}

.photon-admission-page:not(#pae-boost) .photon-admission-breadcrumb span:last-child{
    color:var(--ph-ink);
    font-weight:700;
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-title{
    max-width:900px;
    font-size:clamp(70px, 7vw, 112px);
    font-size:clamp(70px, 7cqw, 112px);
    line-height:.91;
    font-weight:700;
    letter-spacing:-.055em;
    color:var(--ph-maroon);
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-title span{
    color:var(--ph-gold);
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-highlight{
    max-width:700px;
    margin-top:26px !important;
    color:var(--ph-maroon);
    font-size:22px;
    line-height:1.4;
    font-weight:700;
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-subtitle{
    max-width:670px;
    margin-top:13px !important;
    color:#504A4E;
    font-size:18px;
    line-height:1.65;
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-cta{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:52px;
    margin-top:30px;
    padding:0 30px;
    border-radius:50px;
    background:var(--ph-maroon);
    color:#FFFFFF;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
    transition:background .3s ease, transform .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-admission-hero-cta:hover,
.photon-admission-page:not(#pae-boost) .photon-admission-hero-cta:focus{
    background:var(--ph-maroon-dark);
    color:#FFFFFF;
    transform:translateY(-2px);
}

/* ============================================================
   BRANDED IMAGE PLACEHOLDER (used when no image is selected)
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-image-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 20px 34px;
    overflow:hidden;
    background:
        radial-gradient(circle at 18% 22%, rgba(225,180,91,.30) 0 2px, transparent 3px) 0 0 / 26px 26px,
        radial-gradient(circle at 85% 15%, rgba(200,138,34,.35) 0, rgba(200,138,34,0) 45%),
        linear-gradient(140deg, var(--ph-maroon) 0%, var(--ph-maroon-deep) 100%);
    color:var(--ph-gold-light);
    text-align:center;
}

.photon-admission-page:not(#pae-boost) .photon-image-placeholder-mark{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1.5px solid rgba(225,180,91,.75);
    border-radius:50%;
}

.photon-admission-page:not(#pae-boost) .photon-image-placeholder-mark svg{
    width:28px;
    height:28px;
}

.photon-admission-page:not(#pae-boost) .photon-image-placeholder-text{
    font-size:11px;
    font-weight:700;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:rgba(242,223,192,.9);
}

.photon-admission-page:not(#pae-boost) .photon-admission-form-embed{
    width:100%;
    min-width:0;
}

.photon-admission-page:not(#pae-boost) .photon-admission-form-missing{
    padding:22px 26px;
    border:1px dashed rgba(139,18,50,.35);
    border-radius:12px;
    background:#FFF9F3;
    color:#5E575C;
    font-size:15px;
    line-height:1.6;
    text-align:center;
}

/* ============================================================
   ADMISSION CARDS — STACKED ACCORDION (v2.4)
   Three full-width bars. Each card's form opens directly under it.
   Every rule is scoped to .photon-admission-page .photon-pac.
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-pac{
    --pac-brand:#BC2549;
    --pac-brand-dark:#9C1B3A;
    --pac-blush:#FDEFF1;
    --pac-blush-strong:#FBE3E7;
    --pac-gold:#E9A23B;
    --pac-gold-soft:#F6C35E;
    --pac-ink:#2A2328;
    --pac-muted:#6B6367;
    --pac-line:rgba(188,37,73,.17);
    --pac-serif:"Merriweather",Georgia,"Times New Roman",serif;
    position:relative;
    padding:92px 0 104px;
    background:
        radial-gradient(900px 340px at 50% 0%, rgba(253,226,231,.55), rgba(253,226,231,0) 70%),
        linear-gradient(180deg,#FFFAF8 0%,#FFFDFB 100%);
}

/* ---------- Section heading ---------- */

.photon-admission-page:not(#pae-boost) .photon-pac-heading{
    max-width:880px;
    margin:0 auto 46px;
    text-align:center;
}

.photon-admission-page:not(#pae-boost) .photon-pac-eyebrow{
    margin:0 0 14px;
    color:var(--pac-brand);
    font-size:14px;
    line-height:1.3;
    font-weight:600;
    letter-spacing:.42em;
    text-transform:uppercase;
}

.photon-admission-page:not(#pae-boost) .photon-pac-heading-title{
    color:var(--pac-brand);
    font-family:var(--pac-serif) !important;
    font-size:clamp(28px, 3.4vw, 46px);
    font-size:clamp(28px, 3.4cqw, 46px);
    line-height:1.2;
    font-weight:700;
    letter-spacing:-.01em;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-pac-heading-title span{
    color:var(--pac-gold);
}

.photon-admission-page:not(#pae-boost) .photon-pac-rule{
    display:block;
    width:56px;
    height:3px;
    margin:16px auto 16px;
    border-radius:3px;
    background:var(--pac-gold);
}

.photon-admission-page:not(#pae-boost) .photon-pac-rule--left{
    width:46px;
    margin:12px 0 14px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-heading-text{
    color:var(--pac-muted);
    font-size:18px;
    line-height:1.6;
}

/* ---------- List ---------- */

.photon-admission-page:not(#pae-boost) .photon-pac-list{
    display:flex;
    flex-direction:column;
    gap:22px;
    max-width:1240px;
    margin:0 auto;
}

/* ---------- Card ---------- */

.photon-admission-page:not(#pae-boost) .photon-pac-card{
    position:relative;
    min-height:224px;
    overflow:hidden;
    border:1px solid var(--pac-line);
    border-radius:18px;
    background:linear-gradient(100deg,#FFFFFF 0%,#FFF8F8 46%,#FDEEF1 100%);
    box-shadow:0 14px 34px rgba(120,20,45,.07);
    scroll-margin-top:110px;
    transition:
        transform .35s cubic-bezier(.16,1,.3,1),
        box-shadow .35s ease,
        border-color .3s ease,
        background .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card:hover{
    transform:translateY(-3px);
    border-color:rgba(188,37,73,.38);
    box-shadow:0 20px 44px rgba(120,20,45,.12);
}

.photon-admission-page:not(#pae-boost) .photon-pac-card.is-open{
    border-color:var(--pac-brand);
    background:linear-gradient(100deg,#FFFFFF 0%,#FFF5F6 46%,#FCE8EC 100%);
    box-shadow:0 0 0 1px var(--pac-brand), 0 20px 44px rgba(188,37,73,.14);
    transform:none;
}

/* Photo on the right, fading softly into the card */
.photon-admission-page:not(#pae-boost) .photon-pac-media{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:36%;
    overflow:hidden;
    pointer-events:none;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 34%);
            mask-image:linear-gradient(90deg, transparent 0%, #000 34%);
}

.photon-admission-page:not(#pae-boost) .photon-pac-media img{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    margin:0;
    border:0;
    border-radius:0;
    object-fit:cover;
    object-position:center 30%;
    transition:transform .8s cubic-bezier(.16,1,.3,1);
}

.photon-admission-page:not(#pae-boost) .photon-pac-card:hover .photon-pac-media img{
    transform:scale(1.04);
}

/* No photo chosen: soft branded pattern instead of a broken image */
.photon-admission-page:not(#pae-boost) .photon-pac-card.no-image .photon-pac-media,
.photon-admission-page:not(#pae-boost) .photon-pac-media.is-placeholder{
    background:
        radial-gradient(circle at 70% 40%, rgba(188,37,73,.16) 0 2px, transparent 3px) 0 0 / 22px 22px,
        radial-gradient(420px 260px at 75% 50%, rgba(233,162,59,.20), rgba(233,162,59,0) 70%),
        linear-gradient(135deg,#FCE7EB 0%,#FDF3EE 100%);
}

/* ---------- Card content ---------- */

.photon-admission-page:not(#pae-boost) .photon-pac-body{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:104px minmax(0,1.08fr) minmax(0,1fr);
    grid-template-areas:"mark main points";
    align-items:center;
    gap:18px 30px;
    min-height:224px;
    padding:30px 34% 30px 34px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card--tiles .photon-pac-body,
.photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights .photon-pac-body{
    grid-template-columns:104px minmax(0,1fr);
    grid-template-areas:"mark main" "tiles tiles";
}

.photon-admission-page:not(#pae-boost) .photon-pac-mark{
    grid-area:mark;
    width:100px;
    height:100px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--pac-blush-strong);
    color:var(--pac-brand);
}

.photon-admission-page:not(#pae-boost) .photon-pac-mark svg{
    width:50px;
    height:50px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-mark.has-logo{
    background:#FFFFFF;
    box-shadow:0 6px 18px rgba(120,20,45,.10);
}

.photon-admission-page:not(#pae-boost) .photon-pac-mark.has-logo svg{
    display:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-mark img{
    display:block;
    width:78%;
    height:78%;
    max-width:none;
    margin:0;
    object-fit:contain;
}

.photon-admission-page:not(#pae-boost) .photon-pac-main{
    grid-area:main;
    min-width:0;
}

.photon-admission-page:not(#pae-boost) .photon-pac-title{
    color:var(--pac-brand);
    font-family:var(--pac-serif) !important;
    font-size:clamp(24px, 2.5vw, 36px);
    font-size:clamp(24px, 2.5cqw, 36px);
    line-height:1.18;
    font-weight:700;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-pac-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
    margin-top:10px !important;
}

.photon-admission-page:not(#pae-boost) .photon-pac-school{
    color:#7A4A55;
    font-size:12.5px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.photon-admission-page:not(#pae-boost) .photon-pac-board{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:4px 18px;
    border-radius:30px;
    font-size:15px;
    line-height:1;
    font-weight:700;
    letter-spacing:.06em;
}

.photon-admission-page:not(#pae-boost) .photon-pac-board--brand{
    background:var(--pac-brand);
    color:#FFFFFF;
}

.photon-admission-page:not(#pae-boost) .photon-pac-board--gold{
    background:var(--pac-gold-soft);
    color:#4A2A05;
}

.photon-admission-page:not(#pae-boost) .photon-pac-level{
    margin-top:12px !important;
    color:var(--pac-ink);
    font-size:clamp(20px, 1.9vw, 26px);
    font-size:clamp(20px, 1.9cqw, 26px);
    line-height:1.2;
    font-weight:700;
}

.photon-admission-page:not(#pae-boost) .photon-pac-note{
    margin-top:4px !important;
    color:var(--pac-muted);
    font-size:15.5px;
    line-height:1.45;
}

.photon-admission-page:not(#pae-boost) .photon-pac-tagline{
    max-width:34ch;
    margin-top:8px !important;
    color:var(--pac-muted);
    font-size:17px;
    line-height:1.5;
}

/* Highlights as a list (middle column) */
.photon-admission-page:not(#pae-boost) .photon-pac-points{
    grid-area:points;
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:0;
    margin:0;
    padding:4px 0 4px 30px;
    border-left:1px solid var(--pac-line);
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-points li{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    column-gap:14px;
    margin:0;
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-point-icon,
.photon-admission-page:not(#pae-boost) .photon-pac-why-icon{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--pac-blush-strong);
    color:var(--pac-brand);
}

.photon-admission-page:not(#pae-boost) .photon-pac-point-icon svg,
.photon-admission-page:not(#pae-boost) .photon-pac-why-icon svg{
    width:22px;
    height:22px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-point-text,
.photon-admission-page:not(#pae-boost) .photon-pac-why-text{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-point-text strong,
.photon-admission-page:not(#pae-boost) .photon-pac-why-text strong{
    color:var(--pac-ink);
    font-size:15px;
    line-height:1.3;
    font-weight:700;
}

.photon-admission-page:not(#pae-boost) .photon-pac-point-text > span,
.photon-admission-page:not(#pae-boost) .photon-pac-why-text > span{
    color:var(--pac-muted);
    font-size:13.5px;
    line-height:1.4;
}

/* Highlights as tiles (e.g. Nursery / Jr. KG / Sr. KG) */
.photon-admission-page:not(#pae-boost) .photon-pac-tiles{
    grid-area:tiles;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-tiles li{
    flex:1 1 128px;
    max-width:168px;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
    margin:0;
    padding:14px 10px 13px;
    border:1px solid var(--pac-line);
    border-radius:12px;
    background:rgba(255,255,255,.92);
    text-align:center;
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-tile-icon{
    display:flex;
    color:var(--pac-brand);
}

.photon-admission-page:not(#pae-boost) .photon-pac-tile-icon svg{
    width:28px;
    height:28px;
    margin-bottom:4px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-tiles strong{
    color:var(--pac-ink);
    font-size:15px;
    line-height:1.25;
    font-weight:700;
}

.photon-admission-page:not(#pae-boost) .photon-pac-tiles li > span:not(.photon-pac-tile-icon){
    color:var(--pac-muted);
    font-size:13px;
    line-height:1.3;
}

/* ---------- Whole-card toggle + arrow ---------- */

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-toggle{
    position:absolute;
    inset:0;
    z-index:3;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:inherit;
    background:transparent;
    box-shadow:none;
    color:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-toggle:hover,
.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-toggle:focus,
.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-toggle:active{
    background:transparent;
    box-shadow:none;
    color:inherit;
    outline:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-toggle:focus-visible{
    outline:3px solid var(--pac-gold);
    outline-offset:-3px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-arrow{
    position:absolute;
    top:50%;
    right:26px;
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#FFFFFF;
    color:var(--pac-brand);
    box-shadow:0 8px 22px rgba(120,20,45,.18);
    transform:translateY(-50%);
    transition:background .3s ease, color .3s ease, transform .35s cubic-bezier(.16,1,.3,1);
}

.photon-admission-page:not(#pae-boost) .photon-pac-arrow svg{
    width:22px;
    height:22px;
    transition:transform .35s cubic-bezier(.16,1,.3,1);
}

.photon-admission-page:not(#pae-boost) .photon-pac-card:hover .photon-pac-arrow{
    transform:translateY(-50%) scale(1.06);
}

.photon-admission-page:not(#pae-boost) .photon-pac-card.is-open .photon-pac-arrow{
    background:var(--pac-brand);
    color:#FFFFFF;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card.is-open .photon-pac-arrow svg{
    transform:rotate(-90deg);
}

/* ---------- Form panel (directly under its card) ---------- */

.photon-admission-page:not(#pae-boost) .photon-pac-panel{
    display:grid;
    grid-template-rows:0fr;
    margin-top:-6px;
    opacity:0;
    transform:translateY(-8px);
    outline:none;
    scroll-margin-top:110px;
    transition:
        grid-template-rows .5s cubic-bezier(.16,1,.3,1),
        opacity .35s ease,
        transform .5s cubic-bezier(.16,1,.3,1);
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel.is-open{
    grid-template-rows:1fr;
    opacity:1;
    transform:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel-inner{
    min-height:0;
    overflow:hidden;
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel.is-settled .photon-pac-panel-inner{
    overflow:visible;
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel-card{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:34px;
    align-items:start;
    padding:34px 36px 36px;
    border:1px solid var(--pac-line);
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 16px 38px rgba(120,20,45,.07);
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel-card.has-side{
    grid-template-columns:minmax(0,1fr) 310px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel-main{
    min-width:0;
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel .photon-admission-form-heading{
    color:var(--pac-brand);
    font-family:var(--pac-serif) !important;
    font-size:clamp(22px, 2.1vw, 30px);
    font-size:clamp(22px, 2.1cqw, 30px);
    line-height:1.25;
    font-weight:700;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-pac-panel-sub{
    margin:0 0 22px !important;
    color:var(--pac-muted);
    font-size:16.5px;
    line-height:1.5;
    white-space:pre-wrap;
}

.photon-admission-page:not(#pae-boost) .photon-pac-why{
    padding:28px 24px;
    border-radius:16px;
    background:linear-gradient(180deg,#FDEFF2 0%,#FFF7F8 100%);
}

.photon-admission-page:not(#pae-boost) .photon-pac-why-title{
    margin:0;
    color:var(--pac-brand);
    font-family:var(--pac-serif) !important;
    font-size:21px;
    line-height:1.3;
    font-weight:700;
}

.photon-admission-page:not(#pae-boost) .photon-pac-why-list{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin:6px 0 0;
    padding:0;
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-why-list li{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    align-items:center;
    column-gap:14px;
    margin:0;
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-pac-why-icon{
    width:52px;
    height:52px;
    background:#FFFFFF;
    box-shadow:0 6px 16px rgba(120,20,45,.08);
}

/* ---------- Admission cards: responsive (container queries) ---------- */

@container photon (max-width:1100px){
    .photon-admission-page:not(#pae-boost) .photon-pac-media{ width:32%; }
    .photon-admission-page:not(#pae-boost) .photon-pac-body{
        grid-template-columns:86px minmax(0,1fr);
        grid-template-areas:"mark main" "points points";
        padding-right:31%;
    }
    .photon-admission-page:not(#pae-boost) .photon-pac-card--tiles .photon-pac-body,
    .photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights .photon-pac-body{
        grid-template-columns:86px minmax(0,1fr);
    }
    .photon-admission-page:not(#pae-boost) .photon-pac-mark{ width:84px; height:84px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-mark svg{ width:42px; height:42px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-points{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
        gap:12px 18px;
        padding:16px 0 0;
        border-left:0;
        border-top:1px solid var(--pac-line);
    }
    .photon-admission-page:not(#pae-boost) .photon-pac-panel-card.has-side{ grid-template-columns:minmax(0,1fr) 260px; gap:26px; }
}

@container photon (max-width:860px){
    .photon-admission-page:not(#pae-boost) .photon-pac-panel-card.has-side{ grid-template-columns:minmax(0,1fr); }
    .photon-admission-page:not(#pae-boost) .photon-pac-why{ padding:22px 20px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-why-list{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
        gap:14px 18px;
    }
}

@container photon (max-width:700px){
    .photon-admission-page:not(#pae-boost) .photon-pac{ padding:64px 0 72px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-heading{ margin-bottom:32px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-eyebrow{ font-size:12px; letter-spacing:.32em; }
    .photon-admission-page:not(#pae-boost) .photon-pac-heading-text{ font-size:16px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-list{ gap:16px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-card{ min-height:0; border-radius:16px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-card:hover{ transform:none; }
    .photon-admission-page:not(#pae-boost) .photon-pac-media{
        bottom:auto;
        width:40%;
        height:156px;
        -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 40%), linear-gradient(180deg, #000 55%, transparent 100%);
                mask-image:linear-gradient(90deg, transparent 0%, #000 40%), linear-gradient(180deg, #000 55%, transparent 100%);
        -webkit-mask-composite:source-in;
                mask-composite:intersect;
    }
    .photon-admission-page:not(#pae-boost) .photon-pac-body,
    .photon-admission-page:not(#pae-boost) .photon-pac-card--tiles .photon-pac-body,
    .photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights .photon-pac-body{
        grid-template-columns:46px minmax(0,1fr);
        grid-template-areas:"mark main" "points points" "tiles tiles";
        align-items:start;
        gap:14px 12px;
        min-height:0;
        padding:18px 16px 18px;
    }
    .photon-admission-page:not(#pae-boost) .photon-pac-mark{ width:46px; height:46px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-mark svg{ width:24px; height:24px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-main{ min-height:128px; padding-right:36%; }
    .photon-admission-page:not(#pae-boost) .photon-pac-title{ font-size:21px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-level{ margin-top:8px !important; font-size:19px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-meta{ gap:6px 8px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-school{ font-size:11px; letter-spacing:.08em; }
    .photon-admission-page:not(#pae-boost) .photon-pac-board{ min-height:26px; padding:3px 14px; font-size:13px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-note{ font-size:14px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-tagline{ font-size:15px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-points{
        grid-template-columns:repeat(3, minmax(0,1fr));
        gap:8px;
        padding-top:12px;
    }
    .photon-admission-page:not(#pae-boost) .photon-pac-points li{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
    .photon-admission-page:not(#pae-boost) .photon-pac-point-text strong{ font-size:13px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-point-text > span{ font-size:11.5px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-point-icon{ width:36px; height:36px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-point-icon svg{ width:17px; height:17px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-tiles{ gap:8px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-tiles li{ flex:1 1 0; max-width:none; padding:11px 6px 10px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-tile-icon svg{ width:24px; height:24px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-tiles strong{ font-size:14px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-tiles li > span:not(.photon-pac-tile-icon){ font-size:12px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-arrow{ top:16px; right:16px; width:44px; height:44px; transform:none; }
    .photon-admission-page:not(#pae-boost) .photon-pac-card:hover .photon-pac-arrow{ transform:none; }
    .photon-admission-page:not(#pae-boost) .photon-pac-arrow svg{ width:19px; height:19px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-panel-card{ padding:22px 16px 24px; border-radius:16px; gap:22px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-panel-sub{ font-size:15px; margin-bottom:18px !important; }
    .photon-admission-page:not(#pae-boost) .photon-pac-why-list{ grid-template-columns:minmax(0,1fr); }
    .photon-admission-page:not(#pae-boost) .photon-pac-why-list li{ grid-template-columns:44px minmax(0,1fr); }
    .photon-admission-page:not(#pae-boost) .photon-pac-why-icon{ width:44px; height:44px; }
}

@container photon (max-width:380px){
    .photon-admission-page:not(#pae-boost) .photon-pac-main{ padding-right:34%; }
    .photon-admission-page:not(#pae-boost) .photon-pac-title{ font-size:20px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-media{ width:38%; height:150px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-tiles strong{ font-size:13px; }
}

/* ---------- Admission cards: responsive (older browsers) ---------- */
@supports not (container-type:inline-size){

    @media (max-width:1100px){
        .photon-admission-page:not(#pae-boost) .photon-pac-media{ width:32%; }
        .photon-admission-page:not(#pae-boost) .photon-pac-body{
            grid-template-columns:86px minmax(0,1fr);
            grid-template-areas:"mark main" "points points";
            padding-right:31%;
        }
        .photon-admission-page:not(#pae-boost) .photon-pac-card--tiles .photon-pac-body,
        .photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights .photon-pac-body{
            grid-template-columns:86px minmax(0,1fr);
        }
        .photon-admission-page:not(#pae-boost) .photon-pac-mark{ width:84px; height:84px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-mark svg{ width:42px; height:42px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-points{
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
            gap:12px 18px;
            padding:16px 0 0;
            border-left:0;
            border-top:1px solid var(--pac-line);
        }
        .photon-admission-page:not(#pae-boost) .photon-pac-panel-card.has-side{ grid-template-columns:minmax(0,1fr) 260px; gap:26px; }
        }

    @media (max-width:860px){
        .photon-admission-page:not(#pae-boost) .photon-pac-panel-card.has-side{ grid-template-columns:minmax(0,1fr); }
        .photon-admission-page:not(#pae-boost) .photon-pac-why{ padding:22px 20px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-why-list{
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
            gap:14px 18px;
        }
        }

    @media (max-width:700px){
        .photon-admission-page:not(#pae-boost) .photon-pac{ padding:64px 0 72px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-heading{ margin-bottom:32px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-eyebrow{ font-size:12px; letter-spacing:.32em; }
        .photon-admission-page:not(#pae-boost) .photon-pac-heading-text{ font-size:16px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-list{ gap:16px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-card{ min-height:0; border-radius:16px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-card:hover{ transform:none; }
        .photon-admission-page:not(#pae-boost) .photon-pac-media{
            bottom:auto;
            width:40%;
            height:156px;
            -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 40%), linear-gradient(180deg, #000 55%, transparent 100%);
                    mask-image:linear-gradient(90deg, transparent 0%, #000 40%), linear-gradient(180deg, #000 55%, transparent 100%);
            -webkit-mask-composite:source-in;
                    mask-composite:intersect;
        }
        .photon-admission-page:not(#pae-boost) .photon-pac-body,
        .photon-admission-page:not(#pae-boost) .photon-pac-card--tiles .photon-pac-body,
        .photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights .photon-pac-body{
            grid-template-columns:46px minmax(0,1fr);
            grid-template-areas:"mark main" "points points" "tiles tiles";
            align-items:start;
            gap:14px 12px;
            min-height:0;
            padding:18px 16px 18px;
        }
        .photon-admission-page:not(#pae-boost) .photon-pac-mark{ width:46px; height:46px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-mark svg{ width:24px; height:24px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-main{ min-height:128px; padding-right:36%; }
    .photon-admission-page:not(#pae-boost) .photon-pac-title{ font-size:21px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-level{ margin-top:8px !important; font-size:19px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-meta{ gap:6px 8px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-school{ font-size:11px; letter-spacing:.08em; }
        .photon-admission-page:not(#pae-boost) .photon-pac-board{ min-height:26px; padding:3px 14px; font-size:13px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-note{ font-size:14px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-tagline{ font-size:15px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-points{
            grid-template-columns:repeat(3, minmax(0,1fr));
            gap:8px;
            padding-top:12px;
        }
        .photon-admission-page:not(#pae-boost) .photon-pac-points li{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
    .photon-admission-page:not(#pae-boost) .photon-pac-point-text strong{ font-size:13px; }
    .photon-admission-page:not(#pae-boost) .photon-pac-point-text > span{ font-size:11.5px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-point-icon{ width:36px; height:36px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-point-icon svg{ width:17px; height:17px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-tiles{ gap:8px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-tiles li{ flex:1 1 0; max-width:none; padding:11px 6px 10px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-tile-icon svg{ width:24px; height:24px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-tiles strong{ font-size:14px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-tiles li > span:not(.photon-pac-tile-icon){ font-size:12px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-arrow{ top:16px; right:16px; width:44px; height:44px; transform:none; }
        .photon-admission-page:not(#pae-boost) .photon-pac-card:hover .photon-pac-arrow{ transform:none; }
        .photon-admission-page:not(#pae-boost) .photon-pac-arrow svg{ width:19px; height:19px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-panel-card{ padding:22px 16px 24px; border-radius:16px; gap:22px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-panel-sub{ font-size:15px; margin-bottom:18px !important; }
        .photon-admission-page:not(#pae-boost) .photon-pac-why-list{ grid-template-columns:minmax(0,1fr); }
        .photon-admission-page:not(#pae-boost) .photon-pac-why-list li{ grid-template-columns:44px minmax(0,1fr); }
        .photon-admission-page:not(#pae-boost) .photon-pac-why-icon{ width:44px; height:44px; }
        }

    @media (max-width:380px){
        .photon-admission-page:not(#pae-boost) .photon-pac-main{ padding-right:34%; }
    .photon-admission-page:not(#pae-boost) .photon-pac-title{ font-size:20px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-media{ width:38%; height:150px; }
        .photon-admission-page:not(#pae-boost) .photon-pac-tiles strong{ font-size:13px; }
        }
}

@media (prefers-reduced-motion:reduce){
    .photon-admission-page:not(#pae-boost) .photon-pac-card,
    .photon-admission-page:not(#pae-boost) .photon-pac-panel,
    .photon-admission-page:not(#pae-boost) .photon-pac-arrow,
    .photon-admission-page:not(#pae-boost) .photon-pac-arrow svg,
    .photon-admission-page:not(#pae-boost) .photon-pac-media img{
        transition:none !important;
    }
}

/* ---------- Optional website button inside a card (e.g. Photon School) ----------
   Only cards with a website button get these rules (.has-link). The link sits
   above the card's click area, so it opens the website and never the form. */

.photon-admission-page:not(#pae-boost) .photon-pac-card.has-link .photon-pac-body{
    z-index:auto;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card--list.has-link .photon-pac-body{
    grid-template-areas:"mark main points" ". link points";
}

.photon-admission-page:not(#pae-boost) .photon-pac-card--tiles.has-link .photon-pac-body,
.photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights.has-link .photon-pac-body{
    grid-template-areas:"mark main" ". link" "tiles tiles";
}

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link{
    grid-area:link;
    justify-self:start;
    align-self:start;
    position:relative;
    z-index:4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    margin:0;
    padding:10px 20px;
    border:1.5px solid var(--pac-brand);
    border-radius:40px;
    background:#FFFFFF;
    color:var(--pac-brand);
    font-size:14.5px;
    line-height:1.25;
    font-weight:600;
    letter-spacing:.01em;
    text-decoration:none;
    box-shadow:0 6px 16px rgba(188,37,73,.10);
    transition:background .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link:hover,
.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link:focus{
    background:var(--pac-brand);
    color:#FFFFFF;
    text-decoration:none;
    box-shadow:0 10px 22px rgba(188,37,73,.24);
    transform:translateY(-1px);
}

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link:focus-visible{
    outline:3px solid var(--pac-gold);
    outline-offset:2px;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link svg{
    flex:0 0 16px;
    width:16px;
    height:16px;
    transition:transform .25s ease;
}

.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link:hover svg,
.photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link:focus svg{
    transform:translate(2px,-2px);
}

.photon-admission-page:not(#pae-boost) .photon-pac-sr{
    position:absolute !important;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
}

@container photon (max-width:1100px){
    .photon-admission-page:not(#pae-boost) .photon-pac-card--list.has-link .photon-pac-body{ grid-template-areas:"mark main" ". link" "points points"; }
}

@container photon (max-width:700px){
    .photon-admission-page:not(#pae-boost) .photon-pac-card.has-link .photon-pac-body,
    .photon-admission-page:not(#pae-boost) .photon-pac-card--list.has-link .photon-pac-body,
    .photon-admission-page:not(#pae-boost) .photon-pac-card--tiles.has-link .photon-pac-body,
    .photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights.has-link .photon-pac-body{ grid-template-areas:"mark main" "points points" "tiles tiles" "link link"; }
    .photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link{ justify-self:stretch; width:100%; margin-top:4px; }
}
@supports not (container-type:inline-size){
    @media (max-width:1100px){
        .photon-admission-page:not(#pae-boost) .photon-pac-card--list.has-link .photon-pac-body{ grid-template-areas:"mark main" ". link" "points points"; }
    }
    @media (max-width:700px){
        .photon-admission-page:not(#pae-boost) .photon-pac-card.has-link .photon-pac-body,
        .photon-admission-page:not(#pae-boost) .photon-pac-card--list.has-link .photon-pac-body,
        .photon-admission-page:not(#pae-boost) .photon-pac-card--tiles.has-link .photon-pac-body,
        .photon-admission-page:not(#pae-boost) .photon-pac-card.no-highlights.has-link .photon-pac-body{ grid-template-areas:"mark main" "points points" "tiles tiles" "link link"; }
        .photon-admission-page:not(#pae-boost) .photon-pac-card .photon-pac-link{ justify-self:stretch; width:100%; margin-top:4px; }
    }
}

/* ============================================================
   ADMISSION PROCESS
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-process{
    padding:115px 0 125px;
    background:linear-gradient(180deg, #F6EDDF 0%, #FBF5EA 100%);
}

.photon-admission-page:not(#pae-boost) .photon-process-title{
    margin-top:8px !important;
    text-align:center;
    color:var(--ph-maroon);
    font-size:clamp(48px, 4.7vw, 72px);
    font-size:clamp(48px, 4.7cqw, 72px);
    line-height:.98;
    font-weight:700;
    letter-spacing:-.045em;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-process-title span{
    color:var(--ph-gold);
}

.photon-admission-page:not(#pae-boost) .photon-process-description{
    max-width:760px;
    margin:17px auto 50px !important;
    color:var(--ph-muted);
    text-align:center;
    font-size:17px;
    line-height:1.7;
}

/* ============================================================
   AGE REQUIREMENTS
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-age-box{
    position:relative;
    min-height:395px;
    margin-top:10px;
    overflow:hidden;
    border-radius:14px;
    background:#FFFDF9;
    box-shadow:0 18px 48px rgba(77,37,37,.08);
}

.photon-admission-page:not(#pae-boost) .photon-age-content{
    position:relative;
    z-index:2;
    width:64%;
    padding:42px;
}

.photon-admission-page:not(#pae-boost) .photon-age-box.has-no-image .photon-age-content{
    width:100%;
}

.photon-admission-page:not(#pae-boost) .photon-age-title{
    color:var(--ph-maroon);
    font-size:clamp(34px, 3vw, 47px);
    font-size:clamp(34px, 3cqw, 47px);
    line-height:1;
    font-weight:700;
    letter-spacing:-.035em;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-age-subtitle{
    margin:7px 0 23px !important;
    color:#6C6568;
    font-size:15px;
    line-height:1.6;
}

.photon-admission-page:not(#pae-boost) .photon-age-table-wrap{
    max-width:100%;
    overflow-x:auto;
    border-radius:6px;
}

.photon-admission-page:not(#pae-boost) .photon-age-table{
    width:100%;
    margin:0;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border:1px solid #E5D7C6;
    border-radius:6px;
    background:transparent;
}

.photon-admission-page:not(#pae-boost) .photon-age-table th{
    padding:14px 16px;
    border:0;
    background:linear-gradient(90deg, #DDA942, #C98C27);
    color:#241B11;
    text-align:left;
    font-size:14px;
    line-height:1.35;
    font-weight:700;
}

.photon-admission-page:not(#pae-boost) .photon-age-table td{
    padding:12px 16px;
    border:0;
    border-top:1px solid #E7DCCD;
    background:transparent;
    color:#50494D;
    font-size:14px;
    line-height:1.45;
    vertical-align:top;
}

.photon-admission-page:not(#pae-boost) .photon-age-table tr:nth-child(even) td{
    background:rgba(248,240,228,.58);
}

.photon-admission-page:not(#pae-boost) .photon-age-note{
    display:block;
    margin-top:3px;
    color:#857B80;
    font-size:12px;
    line-height:1.4;
}

.photon-admission-page:not(#pae-boost) .photon-age-image{
    position:absolute;
    top:0;
    right:0;
    width:42%;
    height:100%;
    background-image:
        linear-gradient(
            90deg,
            #FFFDF9 0%,
            rgba(255,253,249,.45) 25%,
            rgba(255,253,249,0) 55%
        ),
        var(--pae-age-bg, none);
    background-size:cover;
    background-position:center;
    box-shadow:inset 3px 0 0 #FFFDF9; /* hides the sub-pixel seam at the fade edge */
}

/* ============================================================
   PROCESS NAV
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-process-updated{
    width:100%;
    margin-top:55px;
}

.photon-admission-page:not(#pae-boost) .photon-process-top{
    display:block;
    width:100%;
}

.photon-admission-page:not(#pae-boost) .photon-process-nav{
    position:relative;
    display:grid;
    grid-template-columns:repeat(var(--pae-steps, 5), minmax(0, 1fr));
    gap:16px;
    width:100%;
    min-height:76px;
}

.photon-admission-page:not(#pae-boost) .photon-process-nav::before{
    content:"";
    position:absolute;
    z-index:0;
    top:50%;
    left:28px;
    right:28px;
    height:2px;
    transform:translateY(-50%);
    background:linear-gradient(90deg, var(--ph-gold), var(--ph-gold-light), var(--ph-gold));
}

/* More than five steps: same cards, horizontally scrollable row. */
.photon-admission-page:not(#pae-boost) .photon-process-nav.is-scrollable{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(200px, 1fr);
    overflow-x:auto;
    padding:6px 2px 12px;
    scrollbar-width:thin;
}

.photon-admission-page:not(#pae-boost) .photon-process-nav.is-scrollable::before{
    display:none;
}

.photon-admission-page:not(#pae-boost) .photon-process-step{
    position:relative;
    z-index:2;
    min-height:76px;
    min-width:0;
    width:100%;
    margin:0;
    display:grid;
    grid-template-columns:25px 48px minmax(0, 1fr) 20px;
    align-items:center;
    column-gap:9px;
    padding:8px 13px;
    border:1px solid #E4D9CC;
    border-radius:10px;
    background:rgba(255,255,255,.96);
    box-shadow:0 5px 20px rgba(75,35,35,.05);
    color:inherit;
    text-align:left;
    font-size:inherit;
    cursor:pointer;
    transition:transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-process-step:hover,
.photon-admission-page:not(#pae-boost) .photon-process-step:focus{
    transform:translateY(-3px);
    border-color:rgba(139,18,50,.45);
    background:#FFF9F2;
    color:inherit;
    box-shadow:0 10px 25px rgba(75,35,35,.09);
}

.photon-admission-page:not(#pae-boost) .photon-process-step.active,
.photon-admission-page:not(#pae-boost) .photon-process-step.active:hover,
.photon-admission-page:not(#pae-boost) .photon-process-step.active:focus{
    border:2px solid var(--ph-maroon);
    background:linear-gradient(135deg, #FFFDF9, #FFF6EC);
    box-shadow:0 10px 28px rgba(139,18,50,.13);
}

.photon-admission-page:not(#pae-boost) .photon-process-number{
    color:#A79B9E;
    font-size:13px;
    line-height:1;
    font-weight:700;
    text-align:center;
}

.photon-admission-page:not(#pae-boost) .photon-process-step.active .photon-process-number{
    color:var(--ph-maroon);
}

.photon-admission-page:not(#pae-boost) .photon-process-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#FFF0DD;
    color:var(--ph-maroon);
    transition:background .3s ease, color .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-process-icon svg{
    width:22px;
    height:22px;
}

.photon-admission-page:not(#pae-boost) .photon-process-step.active .photon-process-icon{
    background:var(--ph-maroon);
    color:#FFFFFF;
}

.photon-admission-page:not(#pae-boost) .photon-process-step-title{
    min-width:0;
    color:#4A4246;
    font-size:14px;
    line-height:1.2;
    font-weight:700;
    overflow-wrap:break-word;
    hyphens:manual;
}

.photon-admission-page:not(#pae-boost) .photon-process-step.active .photon-process-step-title{
    color:var(--ph-maroon);
}

.photon-admission-page:not(#pae-boost) .photon-process-arrow{
    color:var(--ph-maroon);
    font-size:18px;
    font-weight:700;
    opacity:0;
}

.photon-admission-page:not(#pae-boost) .photon-process-step.active .photon-process-arrow{
    opacity:1;
}

/* PROCESS DETAILS */

.photon-admission-page:not(#pae-boost) .photon-process-details{
    min-height:192px;
    margin-top:10px;
    overflow:hidden;
    border-radius:9px;
    background:rgba(255,255,255,.96);
    box-shadow:0 5px 20px rgba(75,35,35,.035);
}

.photon-admission-page:not(#pae-boost) .photon-process-detail{
    display:none;
    min-height:192px;
    grid-template-columns:55px minmax(0, 1fr);
    column-gap:17px;
    padding:20px 25px 24px;
    animation:photonDetailIn .25s ease both;
}

.photon-admission-page:not(#pae-boost) .photon-process-detail.active{
    display:grid;
}

.photon-admission-page:not(#pae-boost) .photon-detail-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(145deg, #FDEDE2, #FFF7F0);
    color:var(--ph-maroon);
}

.photon-admission-page:not(#pae-boost) .photon-detail-icon svg{
    width:23px;
    height:23px;
}

.photon-admission-page:not(#pae-boost) .photon-detail-step{
    color:var(--ph-gold);
    font-size:12px;
    line-height:1;
    font-weight:800;
    letter-spacing:.03em;
}

.photon-admission-page:not(#pae-boost) .photon-detail-title{
    margin-top:4px !important;
    color:var(--ph-maroon);
    font-size:24px;
    line-height:1.2;
    font-weight:700;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-detail-line{
    width:29px;
    height:2px;
    margin:8px 0 10px;
    background:var(--ph-gold);
}

.photon-admission-page:not(#pae-boost) .photon-detail-description{
    color:#5E575C;
    font-size:15px;
    line-height:1.65;
}

.photon-admission-page:not(#pae-boost) .photon-detail-list{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin:15px 0 0;
    padding:0;
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-detail-list li{
    position:relative;
    margin:0;
    padding-left:18px;
    color:#514B50;
    font-size:14px;
    line-height:1.5;
    list-style:none;
}

.photon-admission-page:not(#pae-boost) .photon-detail-list li::before{
    content:"";
    position:absolute;
    top:7px;
    left:1px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--ph-gold);
}

/* ============================================================
   FAQ
============================================================ */

.photon-admission-page:not(#pae-boost) .photon-faq{
    padding:115px 0 130px;
    background:#FFFDF9;
}

.photon-admission-page:not(#pae-boost) .photon-faq-heading{
    margin-bottom:55px;
    text-align:center;
}

.photon-admission-page:not(#pae-boost) .photon-faq-title{
    margin-top:8px !important;
    color:var(--ph-maroon);
    font-size:clamp(48px, 4.7vw, 72px);
    font-size:clamp(48px, 4.7cqw, 72px);
    line-height:.98;
    font-weight:700;
    letter-spacing:-.045em;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-faq-title span{
    color:var(--ph-gold);
}

.photon-admission-page:not(#pae-boost) .photon-faq-description{
    max-width:780px;
    margin:16px auto 0 !important;
    color:var(--ph-muted);
    font-size:17px;
    line-height:1.7;
}

.photon-admission-page:not(#pae-boost) .photon-faq-layout{
    display:grid;
    grid-template-columns:340px minmax(0, 1fr);
    gap:40px;
    align-items:start;
}

.photon-admission-page:not(#pae-boost) .photon-faq-categories{
    position:sticky;
    top:120px;
    overflow:hidden;
    border:1px solid #E5DAD0;
    border-radius:9px;
    background:#FFFFFF;
}

.photon-admission-page:not(#pae-boost) .photon-faq-category{
    width:100%;
    min-height:62px;
    margin:0;
    display:flex;
    align-items:center;
    gap:13px;
    padding:10px 20px;
    border:0;
    border-bottom:1px solid #EEE7E0;
    border-radius:0;
    background:#FFFFFF;
    color:#40393D;
    text-align:left;
    font-size:15px;
    line-height:1.3;
    font-weight:700;
    box-shadow:none;
    cursor:pointer;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-faq-category:last-child{
    border-bottom:0;
}

.photon-admission-page:not(#pae-boost) .photon-faq-category:hover,
.photon-admission-page:not(#pae-boost) .photon-faq-category:focus{
    background:#FFF4E8 !important;
    color:var(--ph-maroon) !important;
}

.photon-admission-page:not(#pae-boost) .photon-faq-category:hover .photon-faq-category-number{
    color:var(--ph-gold);
}

.photon-admission-page:not(#pae-boost) .photon-faq-category:hover .photon-faq-category-arrow{
    color:var(--ph-maroon);
    transform:translateX(3px);
}

.photon-admission-page:not(#pae-boost) .photon-faq-category.active,
.photon-admission-page:not(#pae-boost) .photon-faq-category.active:hover,
.photon-admission-page:not(#pae-boost) .photon-faq-category.active:focus{
    background:linear-gradient(90deg, var(--ph-maroon), var(--ph-maroon-dark)) !important;
    color:#FFFFFF !important;
    border-color:var(--ph-maroon);
}

.photon-admission-page:not(#pae-boost) .photon-faq-category.active .photon-faq-category-number{
    color:#F6DFAE;
}

.photon-admission-page:not(#pae-boost) .photon-faq-category.active .photon-faq-category-arrow{
    color:#FFFFFF;
    transform:translateX(3px);
}

.photon-admission-page:not(#pae-boost) .photon-faq-category-number{
    min-width:30px;
    color:#8C7F83;
    font-size:12px;
}

.photon-admission-page:not(#pae-boost) .photon-faq-category-label{
    min-width:0;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-faq-category-arrow{
    margin-left:auto;
    color:var(--ph-maroon);
    font-size:21px;
    transition:color .3s ease, transform .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-faq-questions{
    min-height:550px;
    min-width:0;
}

.photon-admission-page:not(#pae-boost) .photon-faq-group{
    display:none;
}

.photon-admission-page:not(#pae-boost) .photon-faq-group.active{
    display:block;
    animation:photonFaqFade .4s ease both;
}

.photon-admission-page:not(#pae-boost) .photon-faq-item{
    overflow:hidden;
    margin-bottom:14px;
    border:1px solid #E5DDD5;
    border-radius:11px;
    background:#FFFFFF;
    box-shadow:0 6px 22px rgba(55,31,31,.035);
    transition:border-color .3s ease, box-shadow .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-faq-item.open{
    border-color:rgba(139,18,50,.30);
    box-shadow:0 10px 28px rgba(139,18,50,.07);
}

.photon-admission-page:not(#pae-boost) .photon-faq-question-heading{
    margin:0;
    font-size:inherit;
    line-height:inherit;
}

.photon-admission-page:not(#pae-boost) .photon-faq-question{
    width:100%;
    min-height:76px;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    padding:14px 25px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#29252A;
    text-align:left;
    font-size:16px;
    line-height:1.45;
    font-weight:700;
    box-shadow:none;
    cursor:pointer;
    transition:background .3s ease, color .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-faq-question:hover,
.photon-admission-page:not(#pae-boost) .photon-faq-question:focus{
    background:#FFF7EE !important;
    color:var(--ph-maroon) !important;
}

.photon-admission-page:not(#pae-boost) .photon-faq-question-text{
    min-width:0;
    overflow-wrap:break-word;
}

.photon-admission-page:not(#pae-boost) .photon-faq-plus{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(139,18,50,.25);
    border-radius:50%;
    background:#FFF9F3;
    color:var(--ph-maroon);
    font-size:20px;
    font-weight:400;
    transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}

.photon-admission-page:not(#pae-boost) .photon-faq-question:hover .photon-faq-plus{
    background:var(--ph-gold);
    border-color:var(--ph-gold);
    color:#FFFFFF;
}

.photon-admission-page:not(#pae-boost) .photon-faq-item.open .photon-faq-question{
    background:linear-gradient(90deg, #FFF7EE, #FFFFFF) !important;
    color:var(--ph-maroon) !important;
}

.photon-admission-page:not(#pae-boost) .photon-faq-item.open .photon-faq-plus{
    background:var(--ph-maroon);
    border-color:var(--ph-maroon);
    color:#FFFFFF;
}

.photon-admission-page:not(#pae-boost) .photon-faq-answer{
    padding:0 25px 27px;
    color:#625B60;
    font-size:15px;
    line-height:1.75;
}

.photon-admission-page:not(#pae-boost) .photon-faq-answer a{
    color:var(--ph-maroon);
    text-decoration:underline;
}

/* ============================================================
   ANIMATIONS
============================================================ */

@keyframes photonAdmissionReveal{
    from{ opacity:0; transform:translateY(30px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes photonDetailIn{
    from{ opacity:0; transform:translateY(5px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes photonFaqFade{
    from{ opacity:0; transform:translateY(10px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes photonFieldIn{
    from{ opacity:0; transform:translateY(-6px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes photonSpin{
    to{ transform:rotate(360deg); }
}

/* ============================================================
   NARROWER DESKTOP — keep five process steps readable
============================================================ */

@container photon (max-width:1380px){

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        grid-template-columns:20px 42px minmax(0, 1fr);
        column-gap:8px;
        padding:8px 10px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-icon{
        width:42px;
        height:42px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step-title{
        font-size:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-arrow{
        position:absolute;
        top:4px;
        right:8px;
        font-size:13px;
    }
}

/* ============================================================
   TABLET
============================================================ */

@container photon (max-width:1050px){

    .photon-admission-page:not(#pae-boost) .photon-admission-container,
    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        width:calc(100% - 70px);
    }

    .photon-admission-page:not(#pae-boost) .photon-age-content{
        width:100%;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-image{
        display:none;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-layout{
        grid-template-columns:285px minmax(0, 1fr);
        gap:25px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-nav{
        gap:10px;
        min-height:72px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        min-height:72px;
        grid-template-columns:18px 40px minmax(0, 1fr);
        column-gap:6px;
        padding:7px 8px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-icon{
        width:40px;
        height:40px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step-title{
        font-size:12px;
    }
}

/* Small tablets: two programme cards per row, scrollable process steps */

@container photon (max-width:900px){

    .photon-admission-page:not(#pae-boost) .photon-process-nav,
    .photon-admission-page:not(#pae-boost) .photon-process-nav.is-scrollable{
        display:flex;
        width:100%;
        min-height:0;
        gap:10px;
        overflow-x:auto;
        overflow-y:hidden;
        padding:6px 2px 12px;
        scrollbar-width:none;
        scroll-snap-type:x proximity;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-nav::-webkit-scrollbar{
        display:none;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-nav::before{
        display:none;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        flex:0 0 235px;
        width:235px;
        min-height:70px;
        grid-template-columns:22px 42px minmax(0, 1fr);
        column-gap:9px;
        padding:8px 12px;
        scroll-snap-align:start;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step-title{
        font-size:13px;
    }
}

/* ============================================================
   MOBILE
============================================================ */

@container photon (max-width:700px){

    .photon-admission-page:not(#pae-boost) .photon-admission-container,
    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        width:calc(100% - 34px);
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero{
        min-height:650px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-image{
        background-image:
            linear-gradient(
                180deg,
                rgba(252,248,241,.98) 0%,
                rgba(252,248,241,.88) 47%,
                rgba(252,248,241,.32) 100%
            ),
            var(--pae-hero-bg, none);
        background-position:68% center;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        padding:95px 0 60px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-breadcrumb{
        margin-bottom:25px;
        font-size:12px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-title{
        font-size:clamp(54px, 14vw, 78px);
        font-size:clamp(54px, 14cqw, 78px);
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-highlight{
        margin-top:23px !important;
        font-size:18px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-subtitle{
        font-size:16px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process{
        padding:80px 0 90px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-title{
        font-size:43px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-description{
        margin-bottom:38px !important;
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-updated{
        margin-top:40px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-details{
        margin-top:8px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-detail{
        min-height:0;
        grid-template-columns:48px minmax(0, 1fr);
        column-gap:12px;
        padding:18px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-icon{
        width:43px;
        height:43px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-title{
        font-size:20px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-description{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-list li{
        font-size:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-box{
        min-height:0;
        margin-top:38px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-content{
        padding:28px 20px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-title{
        font-size:35px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-subtitle{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-table th,
    .photon-admission-page:not(#pae-boost) .photon-age-table td{
        padding:11px 12px;
        font-size:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq{
        padding:80px 0 90px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-heading{
        margin-bottom:38px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-title{
        font-size:43px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-description{
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-layout{
        grid-template-columns:minmax(0, 1fr);
        gap:25px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-categories{
        position:relative;
        top:auto;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-category{
        min-height:58px;
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-questions{
        min-height:0;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-question{
        min-height:70px;
        padding:12px 18px;
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-answer{
        padding:0 18px 23px;
        font-size:14px;
        line-height:1.7;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-plus{
        width:31px;
        height:31px;
        flex:0 0 31px;
    }
}

/* ============================================================
   SMALL MOBILE
============================================================ */

@container photon (max-width:420px){

    .photon-admission-page:not(#pae-boost) .photon-admission-container,
    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        width:calc(100% - 26px);
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero{
        min-height:620px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-title{
        font-size:51px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-title,
    .photon-admission-page:not(#pae-boost) .photon-faq-title{
        font-size:39px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        flex-basis:220px;
        width:220px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-detail{
        grid-template-columns:1fr;
        row-gap:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-icon{
        width:45px;
        height:45px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-category{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-question{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-eyebrow{
        gap:10px;
        letter-spacing:.2em;
        font-size:12px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-eyebrow::before,
    .photon-admission-page:not(#pae-boost) .photon-admission-eyebrow::after{
        flex-basis:24px;
        width:24px;
    }
}

@container photon (max-width:340px){

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-title{
        font-size:46px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-title,
    .photon-admission-page:not(#pae-boost) .photon-faq-title{
        font-size:35px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-title{
        font-size:30px;
    }
}

/* ============================================================
   REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion:reduce){

    .photon-admission-page:not(#pae-boost) *,
    .photon-admission-page:not(#pae-boost) *::before,
    .photon-admission-page:not(#pae-boost) *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
}

/* ============================================================
   FALLBACK for browsers without container queries (Safari < 16,
   Chrome < 105): the same breakpoints, based on the window width.
============================================================ */

@supports not (container-type:inline-size){

@media (max-width:1380px){

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        grid-template-columns:20px 42px minmax(0, 1fr);
        column-gap:8px;
        padding:8px 10px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-icon{
        width:42px;
        height:42px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step-title{
        font-size:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-arrow{
        position:absolute;
        top:4px;
        right:8px;
        font-size:13px;
    }
}

@media (max-width:1050px){

    .photon-admission-page:not(#pae-boost) .photon-admission-container,
    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        width:calc(100% - 70px);
    }

    .photon-admission-page:not(#pae-boost) .photon-age-content{
        width:100%;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-image{
        display:none;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-layout{
        grid-template-columns:285px minmax(0, 1fr);
        gap:25px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-nav{
        gap:10px;
        min-height:72px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        min-height:72px;
        grid-template-columns:18px 40px minmax(0, 1fr);
        column-gap:6px;
        padding:7px 8px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-icon{
        width:40px;
        height:40px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step-title{
        font-size:12px;
    }
}

@media (max-width:900px){

    .photon-admission-page:not(#pae-boost) .photon-process-nav,
    .photon-admission-page:not(#pae-boost) .photon-process-nav.is-scrollable{
        display:flex;
        width:100%;
        min-height:0;
        gap:10px;
        overflow-x:auto;
        overflow-y:hidden;
        padding:6px 2px 12px;
        scrollbar-width:none;
        scroll-snap-type:x proximity;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-nav::-webkit-scrollbar{
        display:none;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-nav::before{
        display:none;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        flex:0 0 235px;
        width:235px;
        min-height:70px;
        grid-template-columns:22px 42px minmax(0, 1fr);
        column-gap:9px;
        padding:8px 12px;
        scroll-snap-align:start;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step-title{
        font-size:13px;
    }
}

@media (max-width:700px){

    .photon-admission-page:not(#pae-boost) .photon-admission-container,
    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        width:calc(100% - 34px);
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero{
        min-height:650px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-image{
        background-image:
            linear-gradient(
                180deg,
                rgba(252,248,241,.98) 0%,
                rgba(252,248,241,.88) 47%,
                rgba(252,248,241,.32) 100%
            ),
            var(--pae-hero-bg, none);
        background-position:68% center;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        padding:95px 0 60px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-breadcrumb{
        margin-bottom:25px;
        font-size:12px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-title{
        font-size:clamp(54px, 14vw, 78px);
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-highlight{
        margin-top:23px !important;
        font-size:18px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-subtitle{
        font-size:16px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process{
        padding:80px 0 90px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-title{
        font-size:43px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-description{
        margin-bottom:38px !important;
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-updated{
        margin-top:40px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-details{
        margin-top:8px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-detail{
        min-height:0;
        grid-template-columns:48px minmax(0, 1fr);
        column-gap:12px;
        padding:18px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-icon{
        width:43px;
        height:43px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-title{
        font-size:20px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-description{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-list li{
        font-size:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-box{
        min-height:0;
        margin-top:38px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-content{
        padding:28px 20px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-title{
        font-size:35px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-subtitle{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-table th,
    .photon-admission-page:not(#pae-boost) .photon-age-table td{
        padding:11px 12px;
        font-size:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq{
        padding:80px 0 90px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-heading{
        margin-bottom:38px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-title{
        font-size:43px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-description{
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-layout{
        grid-template-columns:minmax(0, 1fr);
        gap:25px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-categories{
        position:relative;
        top:auto;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-category{
        min-height:58px;
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-questions{
        min-height:0;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-question{
        min-height:70px;
        padding:12px 18px;
        font-size:15px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-answer{
        padding:0 18px 23px;
        font-size:14px;
        line-height:1.7;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-plus{
        width:31px;
        height:31px;
        flex:0 0 31px;
    }
}

@media (max-width:420px){

    .photon-admission-page:not(#pae-boost) .photon-admission-container,
    .photon-admission-page:not(#pae-boost) .photon-admission-hero-content{
        width:calc(100% - 26px);
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero{
        min-height:620px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-title{
        font-size:51px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-title,
    .photon-admission-page:not(#pae-boost) .photon-faq-title{
        font-size:39px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-step{
        flex-basis:220px;
        width:220px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-detail{
        grid-template-columns:1fr;
        row-gap:13px;
    }

    .photon-admission-page:not(#pae-boost) .photon-detail-icon{
        width:45px;
        height:45px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-category{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-question{
        font-size:14px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-eyebrow{
        gap:10px;
        letter-spacing:.2em;
        font-size:12px;
    }

    .photon-admission-page:not(#pae-boost) .photon-admission-eyebrow::before,
    .photon-admission-page:not(#pae-boost) .photon-admission-eyebrow::after{
        flex-basis:24px;
        width:24px;
    }
}

@media (max-width:340px){

    .photon-admission-page:not(#pae-boost) .photon-admission-hero-title{
        font-size:46px;
    }

    .photon-admission-page:not(#pae-boost) .photon-process-title,
    .photon-admission-page:not(#pae-boost) .photon-faq-title{
        font-size:35px;
    }

    .photon-admission-page:not(#pae-boost) .photon-age-title{
        font-size:30px;
    }
}

}

/* ============================================================
   END-OF-PAGE SPACING (phone white space after the FAQ)
============================================================ */

/* The last question never adds a gap of its own. */
.photon-admission-page:not(#pae-boost) .photon-faq-group .photon-faq-item:last-child{
    margin-bottom:0;
}

@container photon (max-width:1050px){
    .photon-admission-page:not(#pae-boost) .photon-faq{
        padding-bottom:90px;
    }
}

@container photon (max-width:700px){
    .photon-admission-page:not(#pae-boost) .photon-faq{
        padding-bottom:48px;
    }

    .photon-admission-page:not(#pae-boost) .photon-faq-questions,
    .photon-admission-page:not(#pae-boost) .photon-faq-layout{
        min-height:0;
    }
}

@container photon (max-width:420px){
    .photon-admission-page:not(#pae-boost) .photon-faq{
        padding-bottom:40px;
    }
}

@supports not (container-type:inline-size){
    @media (max-width:1050px){
        .photon-admission-page:not(#pae-boost) .photon-faq{
            padding-bottom:90px;
        }
    }

    @media (max-width:700px){
        .photon-admission-page:not(#pae-boost) .photon-faq{
            padding-bottom:48px;
        }

        .photon-admission-page:not(#pae-boost) .photon-faq-questions,
        .photon-admission-page:not(#pae-boost) .photon-faq-layout{
            min-height:0;
        }
    }

    @media (max-width:420px){
        .photon-admission-page:not(#pae-boost) .photon-faq{
            padding-bottom:40px;
        }
    }
}

/* Theme / Elementor wrappers around the page must not add space below it.
   Only applies to wrappers that contain this page. */
main:has(> .photon-admission-page),
#photon-admission-main,
.site-main:has(.photon-admission-page),
.page-content:has(.photon-admission-page),
.entry-content:has(.photon-admission-page),
article:has(.photon-admission-page),
.elementor-widget-shortcode:has(.photon-admission-page),
.elementor-widget-html:has(.photon-admission-page),
.elementor-widget-container:has(> .photon-admission-page),
.elementor-shortcode:has(> .photon-admission-page),
.e-con:has(.photon-admission-page),
.e-con-inner:has(.photon-admission-page),
.elementor-section:has(.photon-admission-page),
.elementor-container:has(.photon-admission-page),
.elementor-column:has(.photon-admission-page),
.elementor-widget-wrap:has(.photon-admission-page){
    margin-bottom:0 !important;
    padding-bottom:0 !important;
    min-height:0 !important;
}

/* Empty paragraphs/line breaks that some editors leave after the shortcode. */
.photon-admission-page ~ p:empty,
.photon-admission-page ~ br{
    display:none;
}
