/* Admission landing page additions. Kept separate from the existing style.css. */
:root{--admission-maroon:#7f1519;--admission-charcoal:#262425;--admission-soft:#faf7f7;}
#admission-campus-life{
    overflow:hidden;padding:35px 0 0;margin:0 0 55px;border-bottom:12px solid var(--admission-charcoal); background-color: #fff;
        background-image: url(../images-2026/bg-70years.png);
    background-size: 100%;
    background-position: 0 100%;
    background-repeat: no-repeat;
}

#admission-campus-life .container{max-width:1320px}
#admission-campus-life .campus-life-copy{position:relative;z-index:2;padding:40px 10px 55px 60px}
#admission-campus-life .campus-life-title span{display:block;font-weight:700;line-height:.92; color: #454546; }

#admission-campus-life .campus-word{color:var(--admission-charcoal);font-size:clamp(22px,2vw,32px);margin:3px 0 14px}
#admission-campus-life .iba-word{color: #7f1519 !important; font-size:clamp(44px,4.5vw,90px);letter-spacing:.02em; margin-bottom: 10px;}
#admission-campus-life p{margin:0 0 18px;color:#000;}
#admission-campus-life .admission-action-btn{border-radius:0; border-radius: 5px; font-weight:600;padding:8px 18px}
#admission-campus-life .campus-life-visual{align-self:end}
#admission-campus-life .campus-life-visual img{display:block;width:100%;height:auto;margin-bottom:-1px}
#admission-three-steps{overflow:hidden;padding:25px 0 75px; position: relative;}
#admission-three-steps .admission-section-heading h2{color:var(--admission-maroon);font-size:clamp(28px,3vw,46px);line-height:1.05;font-weight:700;margin:0 0 8px}
#admission-three-steps .admission-section-heading p{color:#000;margin:0 auto;max-width:980px}
#admission-three-steps .steps-track{position:relative;margin-top:55px}
#admission-three-steps .steps-dotted-line{
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    /*background-image: url(../images-2026/bg-dotted-lines.png);*/
    background-size: contain;
    width: 100%;
    height: 100%;
    background-position: 13px 124%;
    background-repeat: no-repeat;

}
#admission-three-steps .admission-step-card{position:relative;z-index:1;min-height:250px;padding:24px 28px 22px;}
#admission-three-steps .step-icon{color:var(--admission-maroon);font-size:42px;line-height:1;margin-bottom:8px}
#admission-three-steps .step-icon img{
    display: block;
    width: 80px;
    height: auto;
}
#admission-three-steps .admission-step-card h3{color:var(--admission-charcoal);font-size:32px;line-height:1.05;font-weight:700;margin:0 0 8px}
#admission-three-steps .admission-step-card p{color:#000; margin:0 0 16px}
#admission-three-steps .step-link{color:var(--admission-maroon);text-decoration:none;font-weight:700}
#admission-three-steps .step-link:hover{color:var(--admission-charcoal)}
#admission-three-steps .step-link .bi{margin-left:3px}
#reports-magazine .admission-resource-grid{margin-top:32px}
#reports-magazine .admission-resource-grid>div{margin-bottom:24px}
#reports-magazine .admission-resource-card{display:block;height:100%;text-decoration:none;background:var(--admission-maroon);color:#fff;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
#reports-magazine .admission-resource-card:hover{color:#fff;transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.18)}
#reports-magazine .resource-image{aspect-ratio:16/9;overflow:hidden;background:#eee}
#reports-magazine .resource-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
#reports-magazine .admission-resource-card:hover .resource-image img{transform:scale(1.045)}
#reports-magazine .resource-caption{min-height:70px;display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px}
#reports-magazine .resource-caption>div{min-width:0;text-align:left}
#reports-magazine .resource-caption strong,#reports-magazine .resource-caption span{display:block;background:none;color:#fff;padding:0}
#reports-magazine .resource-caption strong{font-weight:700}
#reports-magazine .resource-caption span{font-size:14px;line-height:1.25;margin-top:3px}
#reports-magazine .resource-caption em{flex:0 0 auto;background:#fff;color:var(--admission-maroon);font-size:13px;line-height:1;font-style:normal;font-weight:700;padding:5px 7px}
@media(max-width:991px){#admission-campus-life .campus-life-copy{padding:35px 20px 10px;text-align:center}#admission-campus-life .campus-life-visual{margin-top:5px}#admission-three-steps .steps-dotted-line{display:none}#admission-three-steps .admission-step-card{min-height:0}}
@media(max-width:767px){#admission-campus-life{margin-bottom:35px;border-bottom-width:8px}#admission-campus-life .campus-life-copy{padding-top:25px}#admission-three-steps{padding-bottom:45px}#admission-three-steps .steps-track{margin-top:30px}#reports-magazine .admission-resource-card{max-width:520px;margin:0 auto}}


@media(min-width:992px){
    #key-features .kf-grid{max-width:min(640px,52%)}
    #key-features .kf-visual{
        position:absolute;
        z-index:2;
        right:0;
        top:-150px!important;
        width:200vw!important;
        height:150%!important;
        margin:0;
        padding:0;
        display:flex;
        justify-content:flex-end;
        align-items:flex-start;
    }
    #key-features .kf-visual img{
        width:100%;
        height:100%;
        object-fit:contain;
        object-position:right top;
    }
}

#key-features{
    background:#fff;
    overflow:visible;
    overflow-x:clip;
    padding:clamp(45px,5vw,85px) 0 clamp(40px,5vw,72px);
    margin:0;
}
#key-features .kf-heading{
    text-align:center;
    padding-bottom:clamp(26px,3vw,46px);
}
#key-features .kf-heading h2{
    max-width:1000px;
    margin:0 auto 14px;
    color:#7f1519;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.01em;
    line-height:1.08;
    font-size:clamp(23px,3.1vw,50px);
}
#key-features .kf-heading p{
    max-width: 1500px;
    color: rgb(17, 17, 17);
    line-height: 1.5;
    font-size: clamp(15px, 1.15vw, 20px);
    margin: 0px auto;
}
#key-features .kf-band{
    position:relative;
    padding:clamp(34px,4vw,62px) 0;
    background-color:#05050e;
    background-image:url(../images-2026/featured-bg.png);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
#key-features .kf-grid{margin-bottom:0;position: relative;z-index: 99999;}
#key-features .kf-item{
    padding:14px 25px 18px;
    border:1px solid transparent;
    border-radius:10px;
    background-color:transparent;
    transition:transform .35s ease,box-shadow .35s ease,background-color .35s ease,border-color .35s ease;
}
#key-features .kf-item-top{
    display:flex;
    align-items:center;
    gap:clamp(12px,1.2vw,22px);
}
#key-features .kf-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:clamp(58px,4.4vw,90px);
    height:clamp(58px,4.4vw,90px);
    border:2px solid #97171c;
    border-radius:4px;
    background-color:rgba(255,255,255,.03);
    transition:transform .35s ease,box-shadow .35s ease,background-color .35s ease,border-color .35s ease;
}
#key-features .kf-icon img{
    display:block;
    width:auto;
    height:auto;
    max-width:66%;
    max-height:64%;
}
#key-features .kf-item h3{
    margin:0;
    color:#fff;
    font-weight:700;
    text-transform:uppercase;
    line-height:1.16;
    font-size:clamp(15px,1.5vw,19px)!important;
}
#key-features .kf-item p{
    color: rgb(241, 241, 241);
    text-align: left;
    line-height: 1.6;
    font-size: clamp(13.5px, 1vw, 15px);
    margin: clamp(14px, 1.4vw, 22px) 0px 0px;
    transition: color 0.35s;
}
#key-features .kf-visual{
    display:block;
    margin-top:clamp(24px,3vw,34px);
    padding:0;
}
#key-features .kf-visual img{
    display:block;
    width:100%;
    height:auto;
}
/* hover effects */
#key-features .kf-item:hover{
    transform:translateY(-8px);
    background-color:#000;
    border-color:#97171c;
    box-shadow:0 16px 34px rgba(0,0,0,.45);
}
#key-features .kf-item:hover .kf-icon{
    background-color:#97171c;
    border-color:#97171c;
    transform:scale(1.08) rotate(-4deg);
    box-shadow:none;
}
#key-features .kf-item:hover h3{color:#97171c;}
#key-features .kf-item:hover p{color:#fff}
/* entrance animation (progressive: content is visible if unsupported) */
@keyframes kfRise{
    from{opacity:0;translate:0 45px}
    to{opacity:1;translate:0 0}
}
@supports (animation-timeline:view()){
    #key-features .kf-heading{
        animation-name:kfRise;
        animation-timing-function:linear;
        animation-fill-mode:both;
        animation-timeline:view();
        animation-range:entry 10% cover 32%;
    }
    #key-features .kf-item{
        animation-name:kfRise;
        animation-timing-function:linear;
        animation-fill-mode:both;
        animation-timeline:view();
        animation-range:entry 0% cover 30%;
    }
    #key-features .kf-item:nth-child(2),
    #key-features .kf-item:nth-child(4){
        animation-range:entry 6% cover 36%;
    }
}


@media(max-width:1920px){   
    #key-features .kf-visual{        
        top:-150px!important;
		right: -50px!important;
        height:145%!important;      
    }
	
}


@media(max-width:1366px){       
	#key-features .kf-grid{max-width:min(760px,63%)!important;}
}


@media(min-width:992px){
    #key-features .kf-grid{max-width:min(660px,52%)}
    #key-features .kf-visual{top:-163px!important;height:147%!important; right: -100px!important;}
    #key-features .kf-visual img{
        width:100%;
        height:100%;
        object-fit:contain;
        object-position:right top;
    }
}
@media(max-width:767px){
    #key-features .kf-item{padding:12px 12px 16px}
    #key-features .kf-item p{text-align:left}
}
@media(prefers-reduced-motion:reduce){
    #key-features *{
        animation:none !important;
        transition:none !important;
        opacity:1 !important;
    }
}

/* ===================== HOME FAQ (matches supplied screenshot) =====================
   Scoped to body.home-page #registrar-faq so no other page/section is affected. */
body.home-page #registrar-faq .registrar-accordion{
    display:grid;
    gap:14px;
}
body.home-page #registrar-faq .accordion-item{
    border:0;
    border-radius:8px;
    overflow:hidden;
    background-color:#f5f5f5;
}
body.home-page #registrar-faq .accordion-button{
    padding:20px 24px;
    margin:0;
    background-color:#f5f5f5;
    color:#262425;
    border-radius:8px;
    box-shadow:none;
    font-size:clamp(15px,1.1vw,17px);
    font-weight:700;
    transition:background-color .25s ease,color .25s ease;
}
body.home-page #registrar-faq .accordion-button:not(.collapsed){
    background-color:#7f1519;
    color:#fff;
    border-radius:8px 8px 0 0;
    box-shadow:none;
}
body.home-page #registrar-faq .accordion-button:not(.collapsed)::after{
    content:"\2026";
    background-image:none;
    filter:none;
    width:auto;
    height:auto;
    color:#fff;
    font-size:24px;
    font-weight:700;
    line-height:1;
    transform:none;
}
body.home-page #registrar-faq .accordion-button:focus{
    border-color:transparent;
    box-shadow:none;
}
body.home-page #registrar-faq .accordion-body{
    padding:0 24px 22px;
    background-color:#7f1519;
    color:#fff;
    font-size:clamp(14px,1.05vw,16px);
    line-height:1.6;
}
@media(hover:hover){
    body.home-page #registrar-faq .accordion-button.collapsed:hover{
        background-color:#ececec;
    }
}
@media(max-width:767px){
    body.home-page #registrar-faq .registrar-accordion{gap:12px}
    body.home-page #registrar-faq .accordion-button{padding:17px 18px}
    body.home-page #registrar-faq .accordion-body{padding:0 18px 18px}
}

/* "View All" button below the homepage FAQ accordion.
   Scoped to #registrar-faq so nothing else on the site is affected. */
#registrar-faq .faq-view-all{
    margin-top:24px;
    text-align:right;
}
#registrar-faq .faq-view-all a{
    display:inline-block;
    padding:13px 34px;
    background-color:#7f1519;
    border-radius:8px;
    color:#fff;
    font-size:17px;
    font-weight:700;
    text-decoration:none;
    transition:background-color .25s ease,color .25s ease;
}
#registrar-faq .faq-view-all a:hover,
#registrar-faq .faq-view-all a:focus{
    background-color:#262425;
    color:#fff;
}
@media(max-width:767px){
    #registrar-faq .faq-view-all a{padding:12px 28px;font-size:16px}
}

/* Links inside the FAQ answers: white (not Bootstrap blue) so they read on the
   maroon answer panel. Scoped to #registrar-faq only. */
#registrar-faq .accordion-body a{
    color:#fff;
    text-decoration:underline;
}
#registrar-faq .accordion-body a:hover,
#registrar-faq .accordion-body a:focus{
    color:#fff;
    opacity:.8;
}
