
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');

:root{
 --navy:#071a33; --navy-2:#0d294a; --gold:#c8a45d; --gold-soft:#ead9ad;
 --ink:#152335; --muted:#657487; --paper:#fff; --mist:#f5f7f9; --line:#e4e9ee;
 --serif:"Playfair Display",Georgia,serif; --sans:"DM Sans",Arial,sans-serif;
 --shadow:0 24px 70px rgba(7,26,51,.10); --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);line-height:1.65}
body.nav-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font:inherit}
.wc-container{width:min(1180px,calc(100% - 40px));margin:auto}
.wc-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#9b7735;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.wc-eyebrow:before{content:"";width:28px;height:1px;background:var(--gold)}
.wc-h1,.wc-h2,.wc-h3{font-family:var(--serif);color:var(--navy);line-height:1.08}
.wc-h1{font-size:clamp(46px,6vw,78px);margin:18px 0}
.wc-h2{font-size:clamp(34px,4vw,52px);margin:12px 0 18px}
.wc-h3{font-size:24px;margin:8px 0 12px}
.wc-lead{font-size:18px;color:#536274;max-width:690px}
.wc-topbar{background:var(--navy);color:#dbe5ef;font-size:11px;letter-spacing:.04em}
.wc-topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wc-toplinks{display:flex;gap:20px}
.wc-toplinks a:hover{color:#fff}
.wc-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,41,74,.10)}
.wc-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.wc-brand{display:flex;align-items:center;gap:13px;min-width:0}
.wc-brand img{width:54px;height:54px;object-fit:contain}
.wc-brand-name{font:600 20px var(--serif);color:var(--navy);line-height:1.05}
.wc-brand-sub{display:block;color:#748294;font:600 9px var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.wc-menu{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700;color:#334255}
.wc-menu a{position:relative;padding:30px 0}
.wc-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--gold);transition:.25s}
.wc-menu a:hover:after,.wc-menu a.active:after{right:0}
.wc-menu a.active{color:var(--navy)}
.wc-actions{display:flex;align-items:center;gap:10px}
.wc-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;border:1px solid transparent;font-size:12px;font-weight:800;letter-spacing:.02em;transition:.25s;cursor:pointer}
.wc-btn-gold{background:var(--gold);color:var(--navy)}
.wc-btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(200,164,93,.24)}
.wc-btn-dark{background:var(--navy);color:#fff}
.wc-btn-dark:hover{background:var(--navy-2);transform:translateY(-2px)}
.wc-btn-light{background:#fff;border-color:#dfe5ea;color:var(--navy)}
.wc-btn-light:hover{border-color:var(--gold)}
.wc-menu-toggle{display:none;border:0;background:none;font-size:27px;color:var(--navy);cursor:pointer}
.wc-hero{position:relative;min-height:720px;display:grid;align-items:end;overflow:hidden;background:var(--navy)}
.wc-hero-media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,37,.94) 0%,rgba(4,19,37,.73) 40%,rgba(4,19,37,.24) 75%,rgba(4,19,37,.45)),url('../../images/school_background.jpg') center/cover}
.wc-hero-content{position:relative;z-index:2;color:#fff;padding:100px 0 90px}
.wc-hero .wc-eyebrow{color:#e8d5a7}
.wc-hero .wc-eyebrow:before{background:#e8d5a7}
.wc-hero .wc-h1{color:#fff;max-width:780px}
.wc-hero p{font-size:19px;max-width:670px;color:#d9e1e9}
.wc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.wc-hero-bottom{position:absolute;z-index:3;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);color:var(--navy)}
.wc-hero-bottom-inner{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:92px}
.wc-hero-stat{padding:20px 28px;border-right:1px solid #dfe5ea;display:flex;align-items:center;gap:15px}
.wc-hero-stat:last-child{border-right:0}
.wc-hero-stat strong{font:600 29px var(--serif)}
.wc-hero-stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.wc-section{padding:105px 0}
.wc-section-mist{background:var(--mist)}
.wc-section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}
.wc-link{color:#8d6a2e;font-size:12px;font-weight:800;white-space:nowrap}
.wc-link:hover{color:var(--navy)}
.wc-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.wc-editorial{font-size:17px;color:#526174}
.wc-editorial p{margin:0 0 20px}
.wc-photo{position:relative}
.wc-photo img{width:100%;height:520px;object-fit:cover}
.wc-photo-card{position:absolute;bottom:-24px;left:-24px;background:var(--navy);color:#fff;padding:25px 28px;max-width:280px;box-shadow:var(--shadow)}
.wc-photo-card strong{display:block;font:600 28px var(--serif);color:#fff}
.wc-photo-card span{font-size:11px;color:#bdcad6}
.wc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wc-card{background:#fff;border:1px solid var(--line);padding:30px;min-height:235px;transition:.25s}
.wc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d7c59b}
.wc-card-number{font-size:11px;color:#a17b37;letter-spacing:.12em;font-weight:800}
.wc-card p{color:var(--muted);font-size:14px}
.wc-programs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wc-program{background:var(--navy);color:#fff;padding:32px;min-height:310px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.wc-program:before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(200,164,93,.3);border-radius:50%;right:-80px;top:-80px}
.wc-program .wc-eyebrow{color:#d8c087}
.wc-program .wc-eyebrow:before{background:#d8c087}
.wc-program h3{color:#fff;font-size:28px;max-width:330px}
.wc-program p{color:#bdc9d5;font-size:14px}
.wc-program a{color:#e3cc95;font-size:12px;font-weight:800}
.wc-story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.wc-story{position:relative;min-height:420px;overflow:hidden;background:#10243b}
.wc-story img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:.4s}
.wc-story:hover img{transform:scale(1.04)}
.wc-story-content{position:absolute;left:0;right:0;bottom:0;padding:32px;color:#fff;background:linear-gradient(transparent,rgba(3,15,29,.92))}
.wc-story-content h3{color:#fff;font-size:31px}
.wc-story-content p{color:#d2dbe3;font-size:13px}
.wc-mini-stories{display:grid;gap:18px}
.wc-mini-story{display:grid;grid-template-columns:145px 1fr;min-height:145px;border:1px solid var(--line);background:#fff}
.wc-mini-story img{width:145px;height:145px;object-fit:cover}
.wc-mini-story div{padding:20px}
.wc-mini-story h3{font-size:20px}
.wc-mini-story p{font-size:12px;color:var(--muted)}
.wc-cta{background:var(--gold);padding:65px 0}
.wc-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.wc-cta h2{margin:0;color:var(--navy);font-size:42px}
.wc-cta p{margin:8px 0 0;color:#4d432f;max-width:650px}
.wc-footer{background:#061629;color:#b9c5d0;padding:70px 0 25px}
.wc-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px}
.wc-footer h3{color:#fff;font:600 21px var(--serif);margin:0 0 15px}
.wc-footer p,.wc-footer a{font-size:12px}
.wc-footer a:hover{color:#fff}
.wc-footer-links{display:grid;gap:9px}
.wc-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#728292}
.wc-page-hero{background:var(--navy);padding:90px 0;color:#fff}
.wc-page-hero h1{color:#fff;max-width:800px}
.wc-page-hero p{color:#c9d4de;max-width:700px}
.wc-content{padding:90px 0}
.wc-two{display:grid;grid-template-columns:1.1fr .9fr;gap:60px}
.wc-info-card{background:var(--mist);padding:30px;border:1px solid var(--line)}
.wc-info-card h3{font-size:24px}
.wc-info-row{padding:15px 0;border-bottom:1px solid #dfe5ea;font-size:13px}
.wc-info-row:last-child{border-bottom:0}
.wc-form{display:grid;gap:17px}
.wc-form label{font-size:11px;font-weight:800;color:#425163}
.wc-form input,.wc-form textarea,.wc-form select{display:block;width:100%;margin-top:7px;padding:14px 15px;border:1px solid #dce2e7;background:#fff;outline:0;font:inherit}
.wc-form input:focus,.wc-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,164,93,.12)}
.wc-form textarea{min-height:170px;resize:vertical}
.wc-mobile-panel{display:none}
.wc-notice{padding:15px 18px;background:#eef7f0;color:#27643b;border:1px solid #d4ead9;font-size:12px;margin-bottom:25px}
@media(max-width:950px){
 .wc-menu{gap:15px}.wc-menu a{font-size:12px}.wc-intro-grid,.wc-two,.wc-story-grid{grid-template-columns:1fr}.wc-photo img{height:430px}.wc-cards,.wc-programs{grid-template-columns:1fr 1fr}.wc-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .wc-container{width:min(100% - 28px,1180px)}.wc-topbar-inner{justify-content:center}.wc-toplinks{display:none}.wc-nav{min-height:70px}.wc-brand-name{font-size:17px}.wc-brand-sub{font-size:8px}.wc-actions{display:none}.wc-menu-toggle{display:block}.wc-menu{position:fixed;inset:70px 0 auto 0;background:#fff;border-top:1px solid var(--line);box-shadow:0 20px 30px rgba(7,26,51,.12);display:none;flex-direction:column;align-items:stretch;padding:15px 20px;gap:0}.wc-menu.open{display:flex}.wc-menu a{padding:14px 4px;border-bottom:1px solid var(--line)}.wc-menu a:after{display:none}.wc-mobile-panel{display:block}.wc-hero{min-height:690px}.wc-hero-content{padding:80px 0 150px}.wc-h1{font-size:47px}.wc-hero p{font-size:16px}.wc-hero-bottom-inner{grid-template-columns:1fr;min-height:auto}.wc-hero-stat{border-right:0;border-bottom:1px solid #dfe5ea;padding:12px 20px}.wc-hero-stat:last-child{border-bottom:0}.wc-section{padding:75px 0}.wc-section-head{display:block;margin-bottom:30px}.wc-section-head .wc-link{display:inline-block;margin-top:10px}.wc-cards,.wc-programs{grid-template-columns:1fr}.wc-photo-card{left:12px;bottom:-20px}.wc-story{min-height:350px}.wc-mini-story{grid-template-columns:110px 1fr}.wc-mini-story img{width:110px;height:145px}.wc-cta-inner{display:block}.wc-cta h2{font-size:34px}.wc-cta .wc-btn{margin-top:20px}.wc-footer-grid{grid-template-columns:1fr;gap:30px}.wc-footer-bottom{display:block}.wc-footer-bottom span{display:block;margin-top:8px}
}

/* Signature editorial gallery — Faithful learning */
.wc-story-gallery{position:relative;min-height:620px;overflow:hidden;background:#071a33;isolation:isolate}
.wc-story-slides,.wc-story-slide{position:absolute;inset:0;margin:0}
.wc-story-slide{opacity:0;visibility:hidden;transform:scale(1.035);transition:opacity 1.25s cubic-bezier(.22,.61,.36,1),transform 6.5s cubic-bezier(.16,1,.3,1),visibility 1.25s}
.wc-story-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.wc-story-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.wc-story-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,15,30,.04) 15%,rgba(4,15,30,.08) 42%,rgba(4,15,30,.84) 100%);z-index:2;pointer-events:none}
.wc-story-gallery:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);z-index:5;pointer-events:none}
.wc-story-card{position:absolute;left:0;right:0;bottom:0;padding:42px 44px 36px;color:#fff;z-index:4}
.wc-story-card strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.5vw,3.15rem);font-weight:500;line-height:1.02;letter-spacing:-.025em;margin-bottom:9px}
.wc-story-card>span:not(.wc-story-card-top span){display:block;max-width:430px;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.7}
.wc-story-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:.65rem;letter-spacing:.18em;color:rgba(255,255,255,.7);font-weight:700}
.wc-story-card-top span:first-child{color:#e7c46b}
.wc-story-progress{height:2px;background:rgba(255,255,255,.22);margin-top:25px;overflow:hidden;max-width:100%}
.wc-story-progress i{display:block;height:100%;width:0;background:#e7c46b}
.wc-story-gallery.is-running .wc-story-progress i{animation:wcStoryProgress 6s linear forwards}
@keyframes wcStoryProgress{from{width:0}to{width:100%}}
.wc-story-dots{position:absolute;right:26px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px;z-index:6}
.wc-story-dots button{width:7px;height:7px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:transparent;padding:0;cursor:pointer;transition:.25s}
.wc-story-dots button.is-active{background:#e7c46b;border-color:#e7c46b;transform:scale(1.35)}
.wc-story-count{position:absolute;top:28px;right:28px;z-index:6;display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.78);font-size:.63rem;letter-spacing:.16em;font-weight:700}
.wc-story-count b{display:block;width:30px;height:1px;background:rgba(255,255,255,.45)}
@media(max-width:800px){
 .wc-story-gallery{min-height:520px}
 .wc-story-card{padding:30px 26px 25px}
 .wc-story-card strong{font-size:2rem}
 .wc-story-dots{right:17px;gap:8px}
 .wc-story-count{top:19px;right:19px}
}
@media(prefers-reduced-motion:reduce){
 .wc-story-slide,.wc-story-slide.is-active{transition:none;transform:none}
 .wc-story-gallery.is-running .wc-story-progress i{animation:none;width:100%}
}
/* Faithful Learning — cinematic single-frame gallery */

.wc-photo[data-story-gallery] {
    position: relative;
    overflow: hidden;
    min-height: 560px;
}

.wc-photo[data-story-gallery] .wc-story-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    transition: opacity 1.2s ease, transform 7s ease;
    transform: scale(1.04);
}

.wc-photo[data-story-gallery] .wc-story-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    transform: scale(1);
}

.wc-photo[data-story-gallery] .wc-story-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Keep the text card above the photos */
.wc-photo[data-story-gallery] .wc-photo-card {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    z-index: 5;
}

/* Gallery controls */
.wc-story-dots {
    position: absolute;
    right: 28px;
    bottom: 32px;
    z-index: 6;
    display: flex;
    gap: 7px;
}

.wc-story-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.45);
    cursor: pointer;
}

.wc-story-dots button.is-active {
    background: #c9a227;
    transform: scale(1.3);
}

.wc-story-counter {
    position: absolute;
    top: 25px;
    right: 28px;
    z-index: 6;
    color: #fff;
    font-size: 11px;
    letter-spacing: .12em;
    font-weight: 700;
}

@media (max-width: 700px) {
    .wc-photo[data-story-gallery] {
        min-height: 430px;
    }

    .wc-photo[data-story-gallery] .wc-photo-card {
        left: 18px;
        right: 18px;
        bottom: 18px;
    }

    .wc-story-dots {
        right: 18px;
        bottom: 22px;
    }

    .wc-story-counter {
        top: 18px;
        right: 18px;
    }
}
/* =========================================
   IBC — FAITHFUL LEARNING CINEMATIC GALLERY
   ========================================= */

.wc-photo[data-story-gallery] {
    position: relative;
    overflow: hidden;
    min-height: 560px;
    isolation: isolate;
}

/* Every photograph occupies the exact same frame */
.wc-photo[data-story-gallery] .wc-story-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;

    opacity: 0;
    visibility: hidden;

    z-index: 1;

    transform: scale(1.06);
    transition:
        opacity 1.2s cubic-bezier(.22,.61,.36,1),
        transform 7s cubic-bezier(.22,.61,.36,1);
}

/* Only the active photograph is visible */
.wc-photo[data-story-gallery] .wc-story-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    transform: scale(1);
}

/* Make every image completely fill the same frame */
.wc-photo[data-story-gallery] .wc-story-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Dark cinematic overlay */
.wc-photo[data-story-gallery]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;

    background:
        linear-gradient(
            to top,
            rgba(4, 13, 25, .72) 0%,
            rgba(4, 13, 25, .20) 42%,
            rgba(4, 13, 25, .04) 75%
        );
}

/* Text card */
.wc-photo[data-story-gallery] .wc-photo-card {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 30px;
    z-index: 5;
}

/* Dots */
.wc-photo[data-story-gallery] .wc-story-dots {
    position: absolute;
    right: 30px;
    bottom: 35px;
    z-index: 6;

    display: flex;
    align-items: center;
    gap: 8px;
}

.wc-photo[data-story-gallery] .wc-story-dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;

    background: rgba(255,255,255,.45);

    cursor: pointer;

    transition:
        transform .3s ease,
        background .3s ease;
}

.wc-photo[data-story-gallery] .wc-story-dots button.is-active {
    background: #c9a227;
    transform: scale(1.5);
}

/* Counter */
.wc-photo[data-story-gallery] .wc-story-counter {
    position: absolute;
    top: 28px;
    right: 30px;
    z-index: 6;

    color: #fff;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
}

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

    .wc-photo[data-story-gallery] {
        min-height: 430px;
    }

    .wc-photo[data-story-gallery] .wc-photo-card {
        left: 20px;
        right: 20px;
        bottom: 22px;
    }

    .wc-photo[data-story-gallery] .wc-story-dots {
        right: 20px;
        bottom: 29px;
    }

    .wc-photo[data-story-gallery] .wc-story-counter {
        top: 20px;
        right: 20px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .wc-photo[data-story-gallery] .wc-story-slide {
        transition: opacity .3s ease;
        transform: none;
    }
}