/* Dedicated homepage layout. Keep this after v2-style.css and school-theme.css. */
.home-page{width:100%;overflow:hidden;background:#fff;color:#172b46}
.welcome-hero{position:relative;display:flex;min-height:650px;align-items:center;padding:88px max(5%,calc((100% - 1140px)/2));background:linear-gradient(90deg,rgba(5,24,51,.82),rgba(5,24,51,.58) 48%,rgba(5,24,51,.16)),url('../images/School%20Pics%203/IMG_9015.jpeg') center 54%/cover no-repeat;color:#fff}
.welcome-hero__content{position:relative;z-index:1;width:min(700px,100%)}
.welcome-eyebrow,.section-kicker{display:inline-block;color:#bd6b00;font-size:.78rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.welcome-eyebrow{color:#ffd27e}
.welcome-hero h1{max-width:12ch;margin:20px 0;color:#fff;font-size:clamp(3.2rem,6vw,5.7rem);line-height:.99;letter-spacing:-.055em}
.welcome-hero__content>p{max-width:590px;color:rgba(255,255,255,.9);font-size:1.12rem;line-height:1.85}
.welcome-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.welcome-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:16px;padding:14px 22px;border:2px solid #f6c344;border-radius:999px;background:#f6c344;color:#102b50;font-weight:800;transition:transform .2s,background .2s,border-color .2s}
.welcome-button:hover{transform:translateY(-2px);border-color:#ffd968;background:#ffd968}
.welcome-button--outline{border-color:rgba(255,255,255,.7);background:rgba(8,30,61,.25);color:#fff}
.welcome-button--outline:hover{border-color:#fff;background:rgba(255,255,255,.14)}
.welcome-promise{margin-top:34px;color:#fff;font-weight:700;letter-spacing:.04em}
.welcome-promise span{margin-right:8px;color:#ffd27e}
.hero-photo-note{position:absolute;right:max(5%,calc((100% - 1140px)/2));bottom:34px;display:grid;gap:5px;padding:16px 20px;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:rgba(5,24,51,.55);color:#fff;backdrop-filter:blur(10px)}
.hero-photo-note span{color:rgba(255,255,255,.75);font-size:.78rem}
.hero-photo-note strong{font-size:.94rem}
.home-section{padding-top:88px;padding-bottom:88px}
.welcome-intro{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:80px}
.intro-copy h2,.section-heading h2,.journey-copy h2,.updates-card h2,.home-cta h2{margin-top:14px;color:#102b50;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.12;letter-spacing:-.04em}
.intro-copy p,.section-heading>p,.journey-copy>p{margin-top:18px;color:#596a7e;line-height:1.85}
.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:23px;color:#0b4b86;font-weight:800}
.text-link:hover{color:#bd6b00}
.welcome-principal{position:relative;padding:34px 34px 32px 40px;border-left:5px solid #f6c344;border-radius:20px;background:#f3f7fb}
.welcome-principal .principal-mark{position:absolute;top:12px;left:14px;color:#f6c344;font:4rem/1 Georgia,serif}
.welcome-principal p{position:relative;margin:14px 0 22px;color:#102b50;font-size:1.3rem;font-weight:600;line-height:1.65}
.welcome-principal strong,.welcome-principal>span:last-child{display:block;color:#102b50;font-size:.9rem}
.welcome-principal>span:last-child{margin-top:4px;color:#718096}
.home-pillars,.home-gallery{background:#f5f8fc}
.section-heading{max-width:700px;margin-bottom:36px}
.section-heading>p{max-width:620px}
.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pillar-card{padding:30px;border:1px solid #e1e9f2;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(16,43,80,.06);transition:transform .2s,box-shadow .2s}
.pillar-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(16,43,80,.1)}
.pillar-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:#fff4d8;font-size:1.6rem}
.pillar-card h3{margin-top:22px;color:#102b50;font-size:1.22rem}
.pillar-card p{margin-top:12px;color:#596a7e;line-height:1.8}
.pillar-card a{display:inline-flex;gap:8px;margin-top:20px;color:#0b4b86;font-size:.92rem;font-weight:800}
.home-journey{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:74px}
.journey-photo{min-height:490px;border-radius:24px;background:linear-gradient(180deg,transparent 50%,rgba(6,27,58,.15)),url('../images/School%20Pics%203/IMG_9013.jpeg') center/cover no-repeat;box-shadow:0 22px 50px rgba(16,43,80,.14)}
.journey-copy h2{max-width:15ch}
.journey-links{display:grid;margin:26px 0}
.journey-links a{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:17px 2px;border-bottom:1px solid #e1e9f2;color:#102b50}
.journey-links a span{color:#bd6b00;font-size:.82rem;font-weight:800}
.journey-links a strong{font-size:1rem}
.journey-links a b{color:#0b4b86;font-size:1.15rem}
.journey-links a:hover strong{color:#bd6b00}
.section-heading--row{display:flex;max-width:none;align-items:end;justify-content:space-between;gap:24px}
.section-heading--row .text-link{flex-shrink:0;margin-bottom:6px}
.home-photo-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
.home-photo{position:relative;display:block;min-height:260px;overflow:hidden;border-radius:18px;background:#102b50}
.home-photo img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .4s}
.home-photo:hover img{transform:scale(1.04)}
.home-photo::after{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(6,27,58,.78));content:''}
.home-photo span{position:absolute;z-index:1;bottom:18px;left:20px;color:#fff;font-weight:800}
.home-updates{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:70px;padding-bottom:70px}
.updates-card{padding:30px;border:1px solid #e1e9f2;border-radius:20px;background:#fff}
.updates-card h2{font-size:1.7rem}
.updates-card>p{margin-top:15px;color:#596a7e;line-height:1.8}
.home-events{display:grid;gap:10px;margin-top:18px;list-style:none}
.home-events li{padding:12px 14px;border-radius:10px;background:#f5f8fc;color:#40556f;line-height:1.55}
.home-cta{padding:54px 0;background:#102b50;color:#fff}
.home-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.home-cta .section-kicker{color:#ffd27e}
.home-cta h2{max-width:19ch;color:#fff;font-size:clamp(1.8rem,3.1vw,2.7rem)}
.home-cta p{margin-top:12px;color:rgba(255,255,255,.78)}
.home-cta .welcome-button{flex-shrink:0}
@media(max-width:900px){.welcome-intro,.home-journey{grid-template-columns:1fr;gap:38px}.welcome-principal{max-width:640px}.journey-photo{min-height:390px}.pillar-grid{grid-template-columns:1fr}.home-photo-grid{grid-template-columns:1fr 1fr}.home-photo--large{grid-column:1/-1}.home-cta__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.welcome-hero{min-height:620px;padding:70px 6% 120px;background-position:58% center}.welcome-hero h1{font-size:clamp(2.75rem,13vw,4rem)}.welcome-hero__content>p{font-size:1rem}.welcome-actions{align-items:stretch;flex-direction:column}.welcome-button{width:100%}.hero-photo-note{right:6%;bottom:22px;left:6%}.home-section{padding-top:62px;padding-bottom:62px}.welcome-intro{gap:28px}.welcome-principal{padding:28px 22px 24px 30px}.section-heading--row{align-items:flex-start;flex-direction:column;gap:0}.home-photo-grid,.home-updates{grid-template-columns:1fr}.home-photo--large{grid-column:auto}.home-photo,.home-photo img{min-height:230px}.journey-photo{min-height:300px}.updates-card{padding:24px}}
