/* Kindergarten landing redesign. Scoped to this page only. */
.primary-landing-page {--elc-navy:#174a69;--elc-red:#a01625;--elc-pale:#eff8fb;--elc-ink:#293c47;color:var(--elc-ink)}
.primary-landing-page .single-page-eyecatch{display:none}
.primary-landing-page #main{padding-top:70px;max-width:1320px}
.primary-landing-page .entry-content{padding-top:0;max-width:none}
.primary-landing-page .entry-content p{margin:0}
.primary-landing-page .entry-content h2,.primary-landing-page .entry-content h3{border:0;margin:0;padding:0;line-height:1.45}
.primary-landing-page .entry-content h2:before,.primary-landing-page .entry-content h2:after,.primary-landing-page .entry-content h3:before,.primary-landing-page .entry-content h3:after{display:none}
.primary-landing-page .entry-content img{max-width:100%}
.primary-landing-page .elc-kicker{font-size:.74rem;letter-spacing:.13em;font-weight:800;color:#257ca0;margin-bottom:12px!important}
.primary-landing-page .elc-hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:clamp(20px,4vw,64px);margin:0 0 76px;background:var(--elc-pale);border-radius:0 0 24px 24px;overflow:hidden}
.primary-landing-page .elc-hero__photo{height:100%;min-height:430px}
.primary-landing-page .elc-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.primary-landing-page .elc-hero__body{padding:36px 40px 36px 0}
.primary-landing-page .elc-hero h2{font-size:clamp(1.8rem,3.3vw,3rem);color:var(--elc-navy);font-weight:800;letter-spacing:.02em}
.primary-landing-page .elc-hero__lead{font-size:1.18rem;font-weight:800;margin:20px 0 12px!important;line-height:1.8}
.primary-landing-page .elc-hero__note{font-size:.92rem;line-height:1.9}
.primary-landing-page .elc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.primary-landing-page .elc-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:12px 22px;border-radius:9px;text-decoration:none;font-weight:800;line-height:1.5;transition:background .2s,transform .2s}
.primary-landing-page .elc-btn:hover{transform:translateY(-2px)}
.primary-landing-page .elc-btn--primary{background:var(--elc-red);color:white}
.primary-landing-page .elc-btn--primary:hover{background:#7e111d;color:white}
.primary-landing-page .elc-btn--outline{background:white;color:var(--elc-red);border:1.5px solid var(--elc-red)}
.primary-landing-page .elc-section{padding:50px 0 70px;max-width:1080px;margin:auto}
.primary-landing-page .elc-section>h2{font-size:clamp(1.55rem,2.8vw,2.25rem);font-weight:800;color:var(--elc-navy)}
.primary-landing-page .elc-section-lead{max-width:750px;margin:15px 0 30px!important;line-height:1.9}
.primary-landing-page .elc-assurance__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:32px}
.primary-landing-page .elc-info-card{background:var(--elc-pale);padding:24px 18px;border-radius:15px}
.primary-landing-page .elc-info-card__icon{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--elc-navy);border-radius:40px;min-width:62px;height:42px;padding:0 8px;font-size:.85rem;font-weight:900;margin-bottom:14px}
.primary-landing-page .elc-info-card h3{font-size:1.04rem;font-weight:800;color:var(--elc-navy);margin-bottom:9px!important}
.primary-landing-page .elc-info-card p{font-size:.85rem;line-height:1.85}
.primary-landing-page .elc-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.primary-landing-page .elc-story{border-radius:16px;overflow:hidden;background:#f7f9f9;box-shadow:0 3px 15px rgba(18,62,81,.06)}
.primary-landing-page .elc-story img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.primary-landing-page .elc-story>div{padding:22px}
.primary-landing-page .elc-story h3{font-size:1.18rem;color:var(--elc-navy);font-weight:800;margin-bottom:8px!important}
.primary-landing-page .elc-story p{font-size:.92rem;line-height:1.85}
.primary-landing-page .elc-detail{margin-top:25px}
.primary-landing-page .elc-detail details,.primary-landing-page .elc-school__details{border:1px solid #d7e3e9;border-radius:10px;overflow:hidden}
.primary-landing-page summary{cursor:pointer;padding:16px 20px;font-weight:800;color:var(--elc-navy);list-style:none;display:flex;justify-content:space-between;gap:10px}
.primary-landing-page summary::-webkit-details-marker{display:none}
.primary-landing-page details[open] summary span{transform:rotate(45deg)}
.primary-landing-page .elc-detail__body{padding:8px 22px 22px}
.primary-landing-page .elc-detail__body h3{font-size:1rem;font-weight:800;margin:16px 0 4px!important}
.primary-landing-page .elc-detail__body p{font-size:.9rem}
.primary-landing-page .elc-video{max-width:none;background:var(--elc-pale);padding:58px max(24px,calc((100% - 1080px)/2)) 65px}
.primary-landing-page .elc-video__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.primary-landing-page .elc-video__grid h3{font-size:1rem;font-weight:800;margin-bottom:10px!important}
.primary-landing-page .elc-video iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:10px}
.primary-landing-page .elc-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.primary-landing-page .elc-facts>div{background:#f5f8fa;padding:17px 20px;border-radius:9px}
.primary-landing-page .elc-facts span{display:block;font-size:.82rem;color:#536b78}
.primary-landing-page .elc-facts strong{display:block;font-size:1rem;color:var(--elc-navy)}
.primary-landing-page .elc-school__details table{width:100%;margin:0}
.primary-landing-page .elc-school__details td{padding:12px 15px;overflow-wrap:anywhere}
.primary-landing-page .elc-final{max-width:1080px;margin:20px auto 50px;background:#fff6f3;border:1px solid #f3d4ce;border-radius:20px;padding:44px 32px;text-align:center}
.primary-landing-page .elc-final h2{font-size:clamp(1.55rem,3vw,2.2rem);color:var(--elc-navy);font-weight:800}
.primary-landing-page .elc-final>p:not(.elc-kicker){margin:15px 0!important}
.primary-landing-page .elc-final .elc-actions{justify-content:center}
@media(max-width:800px){
 .primary-landing-page .elc-hero{grid-template-columns:1fr;gap:0;margin-bottom:30px;border-radius:0 0 20px 20px}
 .primary-landing-page .elc-hero__photo{min-height:0;height:auto}
 .primary-landing-page .elc-hero__photo img{display:block;aspect-ratio:16/10;object-fit:cover}
 .primary-landing-page .elc-hero__body{padding:24px 20px 30px}
 .primary-landing-page .elc-assurance__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .primary-landing-page .elc-video__grid{grid-template-columns:1fr}
 .primary-landing-page .elc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){
 .primary-landing-page #main{padding-left:16px;padding-right:16px;padding-bottom:3rem}
 .primary-landing-page .elc-hero{margin-left:-16px;margin-right:-16px}
 .primary-landing-page .elc-hero__photo img{aspect-ratio:4/3;object-position:center}
 .primary-landing-page .elc-hero h2{font-size:1.85rem}
 .primary-landing-page .elc-hero__lead{font-size:1.02rem;margin-top:14px!important}
 .primary-landing-page .elc-hero__note{font-size:.86rem}
 .primary-landing-page .elc-actions{flex-direction:column}
 .primary-landing-page .elc-btn{width:100%}
 .primary-landing-page .elc-section{padding:35px 0 42px}
 .primary-landing-page .elc-section>h2{font-size:1.55rem}
 .primary-landing-page .elc-section-lead{font-size:.9rem;margin-bottom:20px!important}
 .primary-landing-page .elc-assurance__grid{gap:9px;margin-top:22px}
 .primary-landing-page .elc-info-card{padding:15px 12px}
 .primary-landing-page .elc-info-card h3{font-size:.88rem}
 .primary-landing-page .elc-info-card p{font-size:.79rem}
 .primary-landing-page .elc-story-grid{grid-template-columns:1fr;gap:18px}
 .primary-landing-page .elc-story img{aspect-ratio:16/10}
 .primary-landing-page .elc-story>div{padding:17px}
 .primary-landing-page .elc-video{margin:0 -16px;padding:40px 16px}
 .primary-landing-page .elc-facts{gap:8px}
 .primary-landing-page .elc-facts>div{padding:13px 11px}
 .primary-landing-page .elc-facts strong{font-size:.88rem}
 .primary-landing-page .elc-final{padding:30px 18px;margin:15px 0 30px}
}
@media(prefers-reduced-motion:reduce){.primary-landing-page .elc-btn{transition:none}}

/* Additional day-in-the-life photo gallery */
.primary-landing-page .elc-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.primary-landing-page .elc-gallery-grid figure{margin:0;background:#f4f9fa;border-radius:14px;overflow:hidden}
.primary-landing-page .elc-gallery-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.primary-landing-page .elc-gallery-grid figcaption{padding:12px 8px;text-align:center;font-weight:800;color:#174a69;font-size:.9rem}
@media(max-width:700px){.primary-landing-page .elc-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.primary-landing-page .elc-gallery-grid figcaption{font-size:.78rem;padding:10px 4px}}

/* 2027 admissions announcement — directly below the hero */
.primary-landing-page .elc-recruit{box-sizing:border-box;margin:22px auto 36px;padding:28px 20px;text-align:center;background:#fff6f2;border:2px solid #d79a88;border-radius:18px;color:#792121;box-shadow:0 7px 22px rgba(96,32,32,.08)}
.primary-landing-page .elc-recruit__eyebrow{display:inline-block;margin:0 0 14px!important;padding:7px 17px;border-radius:99px;background:#9c1017;color:#fff;font-weight:800;font-size:.88rem;letter-spacing:.04em}
.primary-landing-page .elc-recruit h2{margin:0 0 10px!important;font-size:clamp(1.5rem,4.6vw,2.4rem);line-height:1.4;color:#91121a;font-weight:900}
.primary-landing-page .elc-recruit__date{margin:0 0 12px!important;font-size:1.08rem;font-weight:800;color:#91121a}
.primary-landing-page .elc-recruit__message{margin:0 0 20px!important;font-size:1rem;color:#503c37}
.primary-landing-page .elc-recruit__button{display:block;max-width:400px;margin:auto;padding:15px 20px;background:#9c1017;border-radius:10px;color:white!important;text-decoration:none!important;font-size:1rem;font-weight:800;transition:background .2s}
.primary-landing-page .elc-recruit__button:hover,.primary-landing-page .elc-recruit__button:focus-visible{background:#71090e}
.primary-landing-page .elc-recruit__mobile{display:none}
@media(max-width:600px){.primary-landing-page .elc-recruit{margin:16px 0 30px;padding:24px 15px}.primary-landing-page .elc-recruit__mobile{display:inline}.primary-landing-page .elc-recruit__date{font-size:1rem}.primary-landing-page .elc-recruit__message{font-size:.9rem}}

/* Primary-specific components */
.primary-landing-page .primary-feature__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}
.primary-landing-page .primary-feature__grid>div{background:#eff8fb;border-radius:16px;padding:25px}
.primary-landing-page .primary-feature__grid h3{font-size:1.14rem;font-weight:800;color:#174a69;margin-bottom:12px!important}
.primary-landing-page .primary-feature__grid p{font-size:.9rem;line-height:1.9;margin-bottom:14px!important}
.primary-landing-page .primary-feature__grid a{font-weight:800;color:#a01625;text-decoration:underline}
.primary-landing-page .primary-links__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.primary-landing-page .primary-links__grid a{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f5f8fa;border:1px solid #d7e3e9;border-radius:12px;padding:20px;font-weight:800;color:#174a69;text-decoration:none}
.primary-landing-page .primary-links__grid a:hover{background:#eaf5f9}
@media(max-width:800px){.primary-landing-page .primary-feature__grid{grid-template-columns:1fr}.primary-landing-page .primary-links__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.primary-landing-page .primary-links__grid{grid-template-columns:1fr}}
