:root { --home-green:#164e3f; --home-pink:#9b0b62; --home-gold:#d2a94f; --home-ink:#1e293b; --home-muted:#64748b; --home-line:#e2e8f0; }

/* Home Hero & Banner Carousel (1920x640 / 3:1 aspect ratio) */
.home-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 1.5rem;
    border-radius: 1rem;
    background: #0f2e25;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
    border: 1px solid var(--home-line);
    aspect-ratio: 1920 / 640;
}
.home-banner-link {
    text-decoration: none;
    color: inherit;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%;
}
.home-banner-img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1920 / 640;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.home-banner-link:hover .home-banner-img {
    transform: scale(1.012);
}

/* Carousel Indicators */
.home-hero .carousel-indicators {
    bottom: 14px;
    margin-bottom: 0;
    gap: 6px;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 5px 12px;
    border-radius: 20px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    z-index: 5;
}
.home-hero .carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.6);
    opacity: 1;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    margin: 0 2px;
}
.home-hero .carousel-indicators .active {
    width: 28px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
}

/* Carousel Controls */
.home-hero .carousel-control-prev,
.home-hero .carousel-control-next {
    width: 44px;
    height: 44px;
    top: 50%;
    bottom: auto !important;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.5);
    opacity: 0.85;
    transition: all 0.25s ease;
    margin: 0 1rem;
    z-index: 6;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.15);
    cursor: pointer;
    pointer-events: auto;
}
.home-hero:hover .carousel-control-prev,
.home-hero:hover .carousel-control-next {
    opacity: 0.95;
}
.carousel-control-custom-icon,
.carousel-control-custom-icon * {
    pointer-events: none;
}
.home-hero .carousel-control-prev:hover,
.home-hero .carousel-control-next:hover {
    opacity: 1;
    transform: translateY(-50%) scale(1.08);
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.25);
}
.carousel-control-custom-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--home-green);
    font-size: 1.2rem;
}
.home-hero .carousel-control-prev:hover .carousel-control-custom-icon,
.home-hero .carousel-control-next:hover .carousel-control-custom-icon {
    color: var(--home-pink);
}

/* Fallback Banner */
.home-banner-fallback {
    position: relative;
    display: flex;
    width: 100%;
    aspect-ratio: 1920 / 640;
    min-height: 280px;
    padding: 3.5rem;
    align-items: center;
    color: #fff;
    background: linear-gradient(135deg, #164e3f 0%, #0d352b 55%, #1a2a3a 100%);
    overflow: hidden;
}
.home-banner-decoration {
    position: absolute;
    top: -50px;
    right: -50px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(210, 169, 79, 0.15) 0%, transparent 70%);
    pointer-events: none;
}
.home-banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--home-gold);
    margin-bottom: 0.5rem;
}
.home-banner-copy h1 {
    margin: 0.5rem 0 1rem;
    color: #fff;
    font-size: clamp(2rem, 3.8vw, 3.4rem);
    font-weight: 800;
    line-height: 1.2;
}
.home-banner-copy h1 span {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 600;
    font-size: 0.75em;
    display: block;
    margin-top: 0.35rem;
}
.home-banner-copy p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.82);
    max-width: 650px;
    line-height: 1.6;
    margin-bottom: 1.75rem;
}
.home-banner-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.home-heading span, .executive-panel header span, .faculty-intro>div>span { font-size:.7rem; font-weight:700; letter-spacing:.15em; }
.home-actions { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:4.5rem; overflow:hidden; background:#fff; border:1px solid var(--home-line); border-top:4px solid var(--home-gold); border-radius:.75rem; box-shadow:0 8px 24px rgba(15,23,42,.07); }
.home-actions a { display:flex; min-height:92px; padding:1.15rem; align-items:center; gap:.8rem; color:var(--home-ink); border-right:1px solid var(--home-line); text-decoration:none; }
.home-actions a:last-child { border-right:0; }.home-actions a:hover { background:#f2f7f5; }.home-actions>a>i { display:grid; flex:0 0 42px; width:42px; height:42px; color:#fff; background:var(--home-green); border-radius:.75rem; place-items:center; font-size:1.1rem; }.home-actions a:nth-child(even)>i{background:var(--home-pink)}
.home-actions strong,.home-actions small { display:block; }.home-actions small { margin-top:.15rem; color:var(--home-muted); font-size:.75rem; }
.home-section { margin-bottom:5rem; }.home-heading { display:flex; margin-bottom:1.75rem; align-items:end; justify-content:space-between; gap:1rem; }.home-heading span { color:var(--home-pink); }.home-heading h2 { margin:.45rem 0; color:var(--home-green); font-size:clamp(1.6rem,2.5vw,2.25rem); }.home-heading p{margin:0;color:var(--home-muted)}.home-heading>a{color:var(--home-green);font-weight:700;text-decoration:none}
/* Featured News Carousel */
.featured-news-carousel {
    position: relative;
    overflow: hidden;
    margin-bottom: 1.75rem;
    background: #fff;
    border: 1px solid var(--home-line);
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    transition: box-shadow 0.3s ease;
}
.featured-news-carousel:hover {
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}
.featured-news-slide {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    height: 380px;
    min-height: 380px;
    max-height: 380px;
    background: #fff;
}
.featured-news-slide-image {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 380px;
    max-height: 380px;
    overflow: hidden;
    background: #e9efed;
}
.featured-news-slide-image img,
.featured-news-slide-image .news-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.featured-news-slide:hover .featured-news-slide-image img {
    transform: scale(1.04);
}
.featured-badge {
    position: absolute;
    top: 1.1rem;
    left: 1.1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.85rem;
    background: var(--home-pink);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(155, 11, 98, 0.35);
}
.featured-news-slide-body {
    display: flex;
    padding: 2rem 2.25rem 1.75rem;
    justify-content: space-between;
    flex-direction: column;
    background: #fff;
    position: relative;
    height: 100%;
    overflow: hidden;
}
.featured-news-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}
.featured-news-date {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--home-pink);
    font-size: 0.82rem;
    font-weight: 700;
}
.featured-news-tag {
    padding: 0.2rem 0.6rem;
    background: #eef7f4;
    color: var(--home-green);
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 6px;
}
.featured-news-slide-body h3 {
    margin: 0 0 0.85rem;
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    line-height: 1.45;
    font-weight: 800;
    color: var(--home-ink);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.featured-news-slide-body h3 a {
    color: var(--home-ink);
    text-decoration: none;
    transition: color 0.2s ease;
}
.featured-news-slide-body h3 a:hover {
    color: var(--home-green);
}
.featured-news-slide-body p {
    color: var(--home-muted);
    font-size: 0.92rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}
.featured-news-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid var(--home-line);
}
.btn-news-read {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1.25rem;
    background: var(--home-green);
    color: #fff;
    border-radius: 20px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(22, 78, 63, 0.25);
}
.btn-news-read:hover {
    background: var(--home-pink);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(155, 11, 98, 0.35);
}
.featured-slide-counter {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--home-muted);
    font-family: monospace;
}

/* Indicators */
.featured-news-carousel .carousel-indicators {
    bottom: 0.85rem;
    margin-bottom: 0;
    gap: 6px;
    z-index: 5;
}
.featured-news-carousel .carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 50%;
    background-color: var(--home-green);
    opacity: 0.3;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    margin: 0 2px;
}
.featured-news-carousel .carousel-indicators .active {
    width: 26px;
    border-radius: 10px;
    opacity: 1;
    background-color: var(--home-green);
}

/* Carousel Controls */
.featured-news-carousel .carousel-control-prev,
.featured-news-carousel .carousel-control-next {
    width: 40px;
    height: 40px;
    top: 50%;
    bottom: auto !important;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 50%;
    opacity: 0.85;
    transition: all 0.25s ease;
    margin: 0 0.85rem;
    z-index: 6;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
    cursor: pointer;
    pointer-events: auto;
}
.featured-news-carousel:hover .carousel-control-prev,
.featured-news-carousel:hover .carousel-control-next {
    opacity: 0.95;
}
.featured-nav-btn,
.featured-nav-btn * {
    pointer-events: none;
}
.featured-news-carousel .carousel-control-prev:hover,
.featured-news-carousel .carousel-control-next:hover {
    opacity: 1;
    background: #fff;
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2);
}
.featured-nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--home-green);
    font-size: 1.1rem;
}
.featured-news-carousel .carousel-control-prev:hover .featured-nav-btn,
.featured-news-carousel .carousel-control-next:hover .featured-nav-btn {
    color: var(--home-pink);
}

/* Secondary News Grid */
.news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}
.news-card {
    display: grid;
    grid-template-columns: 140px 1fr;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--home-line);
    border-radius: 0.85rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    height: 130px;
    min-height: 130px;
    max-height: 130px;
}
.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    border-color: #cbd5e1;
}
.news-card-thumb {
    position: relative;
    width: 140px;
    height: 100%;
    min-height: 130px;
    background: #e9efed;
    overflow: hidden;
    flex-shrink: 0;
}
.news-card-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}
.news-card:hover .news-card-thumb img {
    transform: scale(1.06);
}
.news-card-thumb .news-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    background: #e9efed;
    font-size: 2rem;
}
.news-card-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.1rem 1.2rem;
    background: #fff;
    min-width: 0;
}
.news-card-body .news-date {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--home-pink);
    font-size: 0.76rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
}
.news-card-body h3 {
    margin: 0 0 0.5rem;
    font-size: 0.92rem;
    line-height: 1.45;
    font-weight: 700;
    color: var(--home-ink);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.news-card-body h3 a {
    color: var(--home-ink);
    text-decoration: none;
    transition: color 0.2s ease;
}
.news-card-body h3 a:hover {
    color: var(--home-green);
}
.news-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: auto;
    color: var(--home-green);
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease;
}
.news-card-link:hover {
    transform: translateX(4px);
    color: var(--home-pink);
}

.executive-panel,.related-panel{overflow:hidden;margin-bottom:1.5rem;background:#fff;border:1px solid var(--home-line)}.executive-panel header{display:none}.executive-list{display:block;padding:1rem}.executive-list>a{display:flex;padding:.25rem;flex-direction:column;color:var(--home-ink);text-decoration:none;text-align:center}.executive-list>a:hover{background:#f8fbfa}.executive-list img,.executive-placeholder{display:grid;width:100%;max-width:240px;height:auto;margin:0 auto;aspect-ratio:3 / 4;object-fit:cover;object-position:center;background:#e9efed;border-radius:.75rem;place-items:center}.executive-placeholder{font-size:4rem}.executive-list>a>span{display:block;padding:1rem .25rem .25rem}.executive-list strong,.executive-list small{display:block}.executive-list strong{font-size:1.05rem}.executive-list small{margin-top:.3rem;color:var(--home-muted);font-size:.82rem}.executive-list>a>i{display:none}
.related-panel{padding:1rem}.related-panel h2{padding:.3rem .5rem .8rem;color:var(--home-green);font-size:1.05rem}.related-panel a{display:flex;padding:.75rem;align-items:center;gap:.7rem;color:var(--home-ink);border-radius:.75rem;text-decoration:none}.related-panel a:hover{background:#f2f7f5}.related-panel a i{display:grid;width:34px;height:34px;color:#fff;background:var(--home-pink);border-radius:.75rem;place-items:center}
.faculty-intro{display:grid;margin-bottom:5rem;padding:3.5rem;grid-template-columns:1.2fr 1fr;gap:4rem;color:#fff;background:var(--home-green);border-right:6px solid var(--home-gold)}.faculty-intro h2{margin:.7rem 0;color:#fff;font-size:clamp(1.6rem,3vw,2.4rem)}.faculty-intro p{color:rgba(255,255,255,.8)}.faculty-intro ul{display:grid;margin:0;padding:0;align-content:center;gap:.8rem;list-style:none}.faculty-intro li{display:flex;padding:.75rem;align-items:center;gap:.6rem;background:rgba(255,255,255,.08);border-radius:.75rem}.faculty-intro li i{color:var(--home-gold)}
.home-contact{margin-bottom:4rem}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.contact-grid>a{display:flex;padding:1.25rem;align-items:center;gap:1rem;color:var(--home-ink);background:#fff;border:1px solid var(--home-line);border-left:4px solid var(--home-gold);text-decoration:none}.contact-grid>a>i{display:grid;width:44px;height:44px;color:#fff;background:var(--home-green);border-radius:.75rem;place-items:center}.contact-grid small,.contact-grid strong{display:block}.contact-grid small{color:var(--home-muted);font-size:.75rem}.contact-grid strong{margin-top:.2rem;font-size:.88rem}.empty-state{padding:3rem;text-align:center;background:#fff;border:1px solid var(--home-line)}.empty-state>i{font-size:2.5rem;color:#94a3b8}
@media(max-width:1199.98px){.executive-panel{margin-top:1.5rem}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.home-actions{grid-template-columns:repeat(2,1fr);margin-bottom:3.5rem}.home-actions a:nth-child(2){border-right:0}.home-actions a:nth-child(-n+2){border-bottom:1px solid var(--home-line)}.featured-news-slide{grid-template-columns:1fr;height:auto;min-height:auto;max-height:none}.featured-news-slide-image{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16 / 9}.featured-news-slide-image img{aspect-ratio:16 / 9;object-fit:cover;object-position:center}.featured-news-slide-body{height:auto;padding:1.5rem 1.25rem 2rem}.featured-news-carousel .carousel-control-prev,.featured-news-carousel .carousel-control-next{opacity:.75}.faculty-intro{padding:2rem;grid-template-columns:1fr;gap:2rem}.contact-grid{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.home-banner-fallback{padding:1.5rem}.home-actions a{min-height:110px;padding:.9rem;align-items:flex-start;flex-direction:column}.featured-news-slide-body{padding:1.25rem 1rem 2.25rem}.featured-news-slide-body h3{font-size:1.15rem}.news-card{grid-template-columns:110px 1fr;height:115px;min-height:115px;max-height:115px}.news-card-thumb{width:110px;min-height:115px}.news-card-body{padding:.75rem .9rem}.news-card-body h3{font-size:.88rem}}

/* Keep rounded card corners clean without decorative gold edge strips. */
.home-actions { border-top-width:1px; border-top-color:var(--home-line); }
.faculty-intro { border-right:0; }
.contact-grid > a { border-left-width:1px; border-left-color:var(--home-line); }
