* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    margin: 0;
    font-family: "DM Sans", Arial, sans-serif;
    color: #25252a;
    background: #fff;
    line-height: 1.55;
    overflow-x: hidden;
}
a {
    text-decoration: none !important;
    color: inherit;
}
button {
    font-family: inherit;
}
.container-1 {
    width: min(1460px, 94%);
    margin: auto;
}
.topbar {
    height: 36px;
/*    background: #4b0718;*/
background: #ea2c2f;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 3%;
    font-size: 13px;
    overflow: hidden;
    font-weight: bold;
}
.topbar-label {
    background: #d5a34e;
    color: #3a120b;
    padding: 7px 12px;
    font-weight: 800;
    white-space: nowrap;
}
.marquee {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}
.marquee-track {
    align-items: center;
    gap: 85px;
    display: inline-flex;
    white-space: nowrap;
    animation: marquee 28s linear infinite;
}
.latest-news-event {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    letter-spacing: .05px;
}
.latest-news-event b {
    font-weight: 800;
}

.marquee-track span:before {
    content: "•";
    color: #e4b65e;
    margin-right: 9px;
}
@keyframes marquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
.top-links {
    display: flex;
    gap: 14px;
    white-space: nowrap;
}
.top-links a:hover {
    color: #e7bd69;
}
.site-header {
    height: 86px;
    background: #fff;
    border-bottom: 1px solid #eee;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 12px rgba(64, 4, 18, 0.06);
}
.nav-wrap {
    height: 86px;
    display: flex;
    align-items: center;
    position: relative;
}
.brand {
    width: 270px;
    flex: 0 0 270px;
    display: flex;
    align-items: center;
}
.brand img {
    width: 255px;
    height: 70px;
    object-fit: contain;
    object-position: left center;
    display: block;
}
.main-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin-left: auto;
    font-size: 11px;
    font-weight: 700;
}
.main-nav > a,
.nav-item > button {
    white-space: nowrap;
}
.main-nav > a {
    padding: 11px 12px;
    border-radius: 5px;
    color: #26242a;
    transition: 0.2s ease;
}
.main-nav > a:hover {
    background: #f8eee3;
    color: #74102a;
}
.nav-home.active {
    background: #74102a;
    color: #fff !important;
}
.nav-item {
    height: 86px;
    display: flex;
    align-items: center;
    position: relative;
}
.nav-item > button {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 11px 12px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #26242a;
    transition: 0.2s ease;
}
.nav-item > button:hover,
.nav-item:focus-within > button {
    background: #f8eee3;
    color: #74102a;
}
.nav-item > button span {
    display: inline-block;
    font-size: 11px;
    color: #8b7a7d;
    margin-left: 5px;
    transition: transform 0.2s ease;
}
.nav-item:hover > button span,
.nav-item:focus-within > button span {
    transform: rotate(180deg);
}
.dropdown {
    display: none;
    position: absolute;
    left: 0;
    top: 73px;
    width: 255px;
    background: #fff;
    border: 1px solid #eadfd8;
    border-top: 3px solid #d5a34e;
    border-radius: 0 0 7px 7px;
    box-shadow: 0 16px 35px rgba(60, 0, 15, 0.15);
    z-index: 2000;
    padding: 6px;
}
.nav-item:nth-last-of-type(1) .dropdown {
    left: auto;
    right: 0;
}
.dropdown a {
    display: block;
    padding: 10px 12px;
    border-radius: 4px;
    border-bottom: 0;
    font-size: 11px;
    font-weight: 500;
    color: #38333a;
    transition: 0.15s ease;
}
.dropdown a:hover {
    background: #f8eee3;
    color: #74102a;
    padding-left: 16px;
}
.nav-item:hover > .dropdown,
.nav-item:focus-within > .dropdown {
    display: block;
}
.menu-toggle {
    display: none;
    margin-left: auto;
    border: 1px solid #e5d8d0;
    background: #fff;
    color: #74102a;
    border-radius: 6px;
    font-size: 25px;
    width: 44px;
    height: 42px;
    cursor: pointer;
}
.quick-dock {
    position: fixed;
    right: 0;
    top: 42%;
    z-index: 1500;
    display: flex;
    align-items: center;
}
.quick-tab {
    width: 54px;
    min-height: 112px;
    border: 0;
    border-radius: 10px 0 0 10px;
    background: #74102a;
    color: #fff;
    font-size: 9px;
    letter-spacing: 1px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: -4px 5px 18px rgba(0, 0, 0, 0.2);
}
.quick-panel {
    width: 0;
    opacity: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #ddd;
    border-right: 0;
    box-shadow: -8px 8px 30px rgba(0, 0, 0, 0.16);
    transition:
        width 0.3s ease,
        opacity 0.2s ease;
}
.quick-dock:hover .quick-panel,
.quick-dock:focus-within .quick-panel,
.quick-dock.open .quick-panel {
    width: 245px;
    opacity: 1;
}
.quick-title {
    background: #74102a;
    color: #e7ba61;
    padding: 12px 15px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}
.quick-panel a {
    display: flex;
    justify-content: space-between;
    padding: 11px 15px;
    border-bottom: 1px solid #eee;
    font-size: 11px;
}
.quick-panel a:hover {
    background: #fbf3e7;
    color: #74102a;
}
.hero {
    height: 500px;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.hero-slides,
.hero-slide {
    position: absolute;
    inset: 0;
}
.hero-slide {
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1.03);
    transition:
        opacity 0.8s ease,
        transform 5s ease;
}
.hero-slide.active {
    opacity: 1;
    transform: scale(1);
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(64, 4, 17, 0.94),
        rgba(91, 8, 27, 0.82) 37%,
        rgba(47, 3, 12, 0.22) 75%,
        rgba(55, 3, 12, 0.78)
    );
}
.hero-inner {
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
}
.hero-copy {
    padding: 0 35px;
}
.eyebrow {
    color: #d4a34f;
    font-size: 11px;
    letter-spacing: 3px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 11px;
}
.hero h1 {
    font:
        700 clamp(48px, 5.8vw, 78px) / 0.97 "Playfair Display",
        Georgia,
        serif;
    margin: 0;
}
.hero h1 em {
    font-style: normal;
    color: #e5b75c;
}
.hero-copy > p:not(.eyebrow) {
    font:
        18px/1.5 Georgia,
        serif;
    margin: 23px 0;
}
.hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.btn {
    display: inline-block;
    padding: 12px 20px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
}
.btn-outline {
    border: 1px solid #d5a34e;
}
.btn-gold {
    background: #d5a34e;
    color: #35100b;
}
.hero-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}
.hero-dots button {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: #ffffff77;
    cursor: pointer;
}
.hero-dots button.active {
    background: #e0ad52;
}
.dashboard {
    padding: 18px 0 16px;
}
.dashboard-grid {
    display: grid;
    grid-template-columns: 1.12fr 1.18fr 1.12fr 1.05fr 1.05fr;
    gap: 10px;
}
.dashboard-card {
    border: 1px solid #e2dcd7;
    border-radius: 6px;
    background: #fff;
    padding: 16px;
    min-height: 305px;
}
.card-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 6px;
}
.card-heading h2 {
    font-size: 15px;
    text-transform: uppercase;
    color: #74102a;
    margin: 0;
}
.card-heading a {
    font-size: 9px;
    color: #74102a;
}
.event-row {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}
.event-row time {
    border: 1px solid #9d5063;
    border-radius: 3px;
    color: #74102a;
    display: grid;
    place-items: center;
    padding: 3px;
}
.event-row time b {
    font-size: 14px;
    line-height: 1;
}
.event-row time small {
    font-size: 7px;
}
.event-row strong {
    display: block;
    font-size: 13px;
    line-height: 1.3;
}
.event-row span small {
    display: block;
    font-size: 8px;
    color: #777;
    margin-top: 3px;
}
.card-btn {
    display: block;
    background: #74102a;
    color: #fff;
    text-align: center;
    padding: 9px;
    margin: 11px auto 0;
    width: 82%;
    font-size: 10px;
    font-weight: 700;
    border-radius: 2px;
}
.calendar-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #74102a;
    padding: 4px 0 8px;
}
.calendar-nav button {
    border: 0;
    background: none;
    color: #74102a;
    font-size: 22px;
    cursor: pointer;
}
.weekdays,
.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    text-align: center;
}
.weekdays {
    font-size: 8px;
    color: #555;
}
.calendar-days div {
    font-size: 12px;
    min-height: 24px;
    padding: 4px;
    border-radius: 50%;
}
.calendar-days .today {
    background: #74102a;
    color: #fff;
}
.calendar-days .event-day {
    box-shadow: inset 0 -2px 0 #2181ce;
}
.notice-row {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 8px;
    padding: 9px 0;
    border-bottom: 1px solid #eee;
}
.pdf {
    border: 1px solid #d9b7be;
    color: #9b1b35;
    height: 27px;
    display: grid;
    place-items: center;
    font-size: 7px;
    font-weight: 800;
}
.notice-row strong {
    display: block;
    font-size: 12px;
    line-height: 1.3;
}
.notice-row small {
    display: block;
    font-size: 8px;
    color: #777;
    margin-top: 3px;
}
.admission-card {
    background: linear-gradient(145deg, #7c112d, #4b0718);
    color: #fff;
    text-align: center;
    border-color: #7c112d;
}
.admission-card > p:first-child {
    color: #e4b65d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
}
.admission-card h2 {
    font: 700 34px Georgia;
    margin: 4px;
}
.admission-card h3 {
    font-size: 17px;
}
.admission-card h3 span {
    color: #d5a34e;
}
.admission-copy {
    font-size: 14px !important;
}
.apply-btn,
.prospectus-btn {
    display: block;
    padding: 10px;
    margin: 9px 0;
    font-size: 12px;
    font-weight: 700;
}
.apply-btn {
    background: #d5a34e;
    color: #35100b;
}
.prospectus-btn {
    border: 1px solid #fff;
}
.why-row {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 7px;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}
.why-row i {
    color: #74102a;
    font-style: normal;
    font-size: 17px;
}
.why-row span {
    font-size: 12px;
    color: #555;
}
.why-row strong {
    display: block;
    color: #74102a;
    font-size: 12px;
}
.feature-strip {
    background: #fbf2e3;
    border-top: 1px solid #eee0ce;
    border-bottom: 1px solid #eee0ce;
}
.feature-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}
.feature-grid a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 17px 5px;
    border-right: 1px solid #eadfce;
    font-size: 12px;
}
.feature-grid a:hover {
    background: #f3e6d3;
}
.feature-grid b {
    color: #74102a;
    font-size: 20px;
}
.feature-grid small {
    display: block;
    font-size: 12px;
}
.latest-news {
    padding: 45px 0;
}
.news-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 35px;
}
.news-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.news-cards article {
    border: 1px solid #e4ded8;
    padding: 17px;
    min-height: 150px;
}
.news-cards b {
    font-size: 8px;
    color: #b17f36;
    letter-spacing: 2px;
}
.news-cards h3 {
    font: 700 18px Georgia;
    color: #74102a;
    margin: 8px 0;
}
.news-cards p {
    font-size: 10px;
    color: #666;
}
.news-cards small {
    font-size: 8px;
    color: #999;
}
.contact-mini {
    border-left: 1px solid #ddd;
    padding-left: 30px;
}
.contact-mini h2 {
    font: 700 30px Georgia;
    color: #74102a;
    margin: 0 0 12px;
}
.contact-mini p {
    font-size: 11px;
    color: #666;
}
.map-btn {
    display: inline-block;
    background: #74102a;
    color: #fff;
    padding: 10px 17px;
    font-size: 10px;
    font-weight: 700;
}
footer {
    background: #4b0718;
    color: #eadfe3;
/*    padding: 40px 0 14px;*/
    padding: 20px 0 14px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.2fr 1fr;
    gap: 35px;
}
.footer-grid img {
    width: 205px;
    height: 65px;
    object-fit: contain;
    object-position: left;
    background:white;
    border-radius:10px;
/*    filter: brightness(0) invert(1);*/
}
.footer-grid h3 {
    font-size: 14px;
    color: #d5a34e;
    text-transform: uppercase;
}
.footer-grid a {
    display: block;
    color: #d4c1c7;
    /*font-size: 10px;
    margin: 7px 0;*/
    font-size: 14px;
    margin: 8px 0;
}
.copyright {
    border-top: 1px solid #ffffff1c;
    margin-top: 28px;
    padding-top: 12px;
    text-align: center;
    color: #a9949a;
    font-size: 14px;
}
@media (max-width: 1250px) and (min-width: 901px) {
    .main-nav {
        gap: 10px;
        font-size: 10px;
    }
    .brand {
        width: 245px;
        flex-basis: 245px;
    }
    .brand img {
        width: 235px;
    }
    .dashboard-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 900px) {
    .top-links {
        display: none;
    }
    .menu-toggle {
        display: block;
    }
    .main-nav {
        display: none;
    }
    .nav-wrap {
        height: 78px;
    }
    .site-header {
        height: 78px;
    }
    .brand {
        width: 220px;
        flex-basis: 220px;
    }
    .brand img {
        width: 210px;
        height: 65px;
    }
    .main-nav.open {
        display: flex;
        position: absolute;
        left: 0;
        right: 0;
        top: 78px;
        background: #fff;
        padding: 8px 5%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        box-shadow: 0 15px 30px #0002;
        max-height: calc(100vh - 78px);
        overflow-y: auto;
    }
    .main-nav.open > a {
        padding: 12px 4px;
        border-bottom: 1px solid #eee;
    }
    .nav-item {
        height: auto;
        display: block;
        border-bottom: 1px solid #eee;
    }
    .nav-item > button {
        width: 100%;
        text-align: left;
        padding: 12px 4px;
    }
    .nav-item > button span {
        float: right;
    }
    .dropdown {
        position: static;
        width: 100%;
        box-shadow: none;
        border-top: 0;
        border-left: 3px solid #d5a34e;
        background: #faf7f1;
    }
    .nav-item.open > .dropdown {
        display: block;
    }
    .dropdown a {
        padding: 10px 18px;
    }
    .quick-dock {
        top: auto;
        bottom: 20px;
    }
    .quick-tab {
        width: 50px;
        min-height: 92px;
    }
    .quick-dock.open .quick-panel {
        width: min(245px, calc(100vw - 55px));
    }
    .hero {
        height: 500px;
    }
    .hero-copy {
        padding: 0 5%;
    }
    .dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .feature-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .news-grid {
        grid-template-columns: 1fr;
    }
    .contact-mini {
        border-left: 0;
        border-top: 1px solid #ddd;
        padding: 25px 0 0;
    }
    .gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 180px 180px;
    }
    .gallery-grid .gallery-large {
        grid-row: span 2;
    }
}
@media (max-width: 600px) {
    .topbar {
        padding: 0 8px;
    }
    .topbar-label {
        font-size: 8px;
    }
    .marquee-track {
        animation-duration: 19s;
    }
    .brand {
        width: 195px;
        flex-basis: 195px;
    }
    .brand img {
        width: 190px;
    }
    .hero {
        height: 470px;
    }
    .hero h1 {
        font-size: 46px;
    }
    .hero-copy > p:not(.eyebrow) {
        font-size: 16px;
    }
    .dashboard-grid,
    .feature-grid,
    .news-cards,
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .feature-grid a {
        justify-content: flex-start;
        padding-left: 25px;
    }
    .gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: 220px 180px 180px 180px;
    }
    .gallery-grid .gallery-large {
        grid-row: auto;
    }
    .quick-dock {
        bottom: 14px;
    }
    .quick-panel a {
        font-size: 10px;
    }
}

/* Refined menu */
@media (min-width: 901px) {
    .main-nav {
        flex-wrap: nowrap;
    }
    .nav-item:hover > button,
    .nav-item:focus-within > button {
        box-shadow: 0 3px 10px rgba(116, 16, 42, 0.08);
    }
}
@media (max-width: 900px) {
    .main-nav.open {
        border-top: 3px solid #d5a34e;
    }
    .main-nav.open > a {
        padding: 13px 10px;
        margin: 1px 0;
        border-radius: 4px;
    }
    .nav-item {
        height: auto;
    }
    .nav-item > button {
        padding: 13px 10px;
        width: 100%;
        border-radius: 4px;
        text-align: left;
    }
    .nav-item.open > button {
        background: #f8eee3;
        color: #74102a;
    }
    .dropdown {
        border: 0;
        border-left: 3px solid #d5a34e;
        border-radius: 0;
        box-shadow: none;
        padding: 4px 0 5px;
        background: #fcf9f5;
    }
    .dropdown a {
        padding: 10px 18px;
    }
    .dropdown a:hover {
        padding-left: 23px;
    }
}

/* Vision & Mission page */
.vm-hero {
    background: linear-gradient(110deg, #4b0718, #74102a);
    color: #fff;
    padding: 64px 0;
}
.vm-hero h1 {
    font:
        700 clamp(40px, 5vw, 60px) "Playfair Display",
        Georgia,
        serif;
    margin: 5px 0 8px;
}
.vm-hero > div > p:last-child {
    color: #eadfe2;
    margin: 0;
}
.vm-section {
    padding: 38px 0 80px;
    background: #fff;
}
.breadcrumb {
    font-size: 11px;
    color: #777;
    margin-bottom: 42px;
}
.breadcrumb a {
    color: #74102a;
    font-weight: 700;
}
.breadcrumb span {
    padding: 0 8px;
    color: #aaa;
}
.vm-heading {
    text-align: center;
    margin-bottom: 35px;
}
.vm-heading h2 {
    font:
        700 38px "Playfair Display",
        Georgia,
        serif;
    color: #74102a;
    margin: 5px 0;
}
.vm-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 24px;
    max-width: 1120px;
    margin: auto;
}
.vm-card {
    position: relative;
    padding: 32px 35px;
    border: 1px solid #e5ddd7;
    border-radius: 9px;
    background: linear-gradient(145deg, #fff, #fcf7ef);
    box-shadow: 0 10px 28px rgba(65, 0, 15, 0.07);
    overflow: hidden;
}
.vm-card:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: #d5a34e;
}
.vm-card.mission {
    background: #fff;
}
.vm-top {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 20px;
}
.vm-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #74102a;
    color: #e5b75d;
    display: grid;
    place-items: center;
    font-size: 21px;
    flex: none;
}
.vm-top span {
    font-size: 10px;
    letter-spacing: 2.5px;
    font-weight: 800;
    color: #b07e34;
}
.vm-card h2 {
    font:
        700 30px "Playfair Display",
        Georgia,
        serif;
    color: #74102a;
    margin: 2px 0 0;
}
.vm-card > p {
    font-size: 16px;
    line-height: 1.9;
    color: #4c474a;
    margin: 0;
}
.vm-card ul {
    margin: 0;
    padding-left: 22px;
}
.vm-card li {
    font-size: 14px;
    line-height: 1.8;
    color: #4c474a;
    padding: 8px 0 8px 4px;
    border-bottom: 1px solid #eee5de;
}
.vm-card li:last-child {
    border-bottom: 0;
}
.active-page {
    background: #f8eee3 !important;
    color: #74102a !important;
}
@media (max-width: 800px) {
    .vm-grid {
        grid-template-columns: 1fr;
    }
    .vm-card {
        padding: 27px 24px;
    }
    .vm-card > p {
        font-size: 14px;
    }
    .vm-card li {
        font-size: 13px;
    }
    .vm-heading h2 {
        font-size: 32px;
    }
}

/* PREMIUM MEGA MENU */
.site-header {
    height: 88px;
    background: #fff;
    border-bottom: 1px solid #e9e1db;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 14px rgba(55, 0, 15, 0.07);
}
.nav-wrap {
    height: 88px;
    display: flex;
    align-items: center;
}
.brand {
    width: 255px;
    flex: 0 0 255px;
}
.brand img {
    width: 245px;
    height: 70px;
    object-fit: contain;
    object-position: left center;
}
.main-nav {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    margin-left: auto;
    font-size: 10.5px;
    font-weight: 700;
}
.nav-link {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 9px;
    color: #302b2e;
    position: relative;
    white-space: nowrap;
}
.nav-link:after,
.mega-trigger:after {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    bottom: 0;
    height: 3px;
    background: #d5a34e;
    transform: scaleX(0);
    transition: 0.2s;
}
.nav-link:hover:after,
.mega-item:hover .mega-trigger:after,
.mega-item:focus-within .mega-trigger:after {
    transform: scaleX(1);
}
.nav-link:hover,
.mega-trigger:hover,
.mega-item:focus-within .mega-trigger {
    color: #74102a;
}
.nav-home {
    font-weight: 800;
    color: #74102a;
}
.mega-item {
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
}
.mega-trigger {
    height: 100%;
    border: 0;
    background: transparent;
    color: #302b2e;
    padding: 0 9px;
    cursor: pointer;
    font-size: 10.5px;
    font-weight: 700;
    position: relative;
    white-space: nowrap;
}
.mega-trigger span {
    font-size: 10px;
    color: #9a888b;
    margin-left: 4px;
}
.mega-item:hover .mega-trigger span,
.mega-item:focus-within .mega-trigger span {
    display: inline-block;
    transform: rotate(180deg);
}
.mega-menu {
    position: absolute;
    top: 88px;
    left: 0;
    width: 520px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fff;
    border-top: 4px solid #74102a;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 18px 42px rgba(43, 0, 12, 0.18);
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(7px);
    transition: 0.18s;
    z-index: 2000;
}
.mega-wide {
    width: 610px;
}
.mega-item:hover > .mega-menu,
.mega-item:focus-within > .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.mega-column {
    padding: 0 18px;
    border-right: 1px solid #eee4dc;
}
.mega-column:first-child {
    padding-left: 4px;
}
.mega-column:last-child {
    border-right: 0;
}
.mega-column h4 {
    margin: 0 0 8px;
    color: #b17e36;
    font-size: 9px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}
.mega-column a {
    display: block;
    padding: 8px 7px;
    border-radius: 4px;
    color: #383235;
    font-size: 10.5px;
    font-weight: 500;
}
.mega-column a:before {
    content: "›";
    color: #d5a34e;
    margin-right: 7px;
    font-weight: 800;
}
.mega-column a:hover {
    background: #f8eee3;
    color: #74102a;
    padding-left: 11px;
}
@media (max-width: 900px) {
    .site-header,
    .nav-wrap {
        height: 78px;
    }
    .brand {
        width: 210px;
        flex-basis: 210px;
    }
    .brand img {
        width: 200px;
        height: 65px;
    }
    .menu-toggle {
        display: block;
        margin-left: auto;
        border: 1px solid #e2d5cc;
        background: #fff;
        color: #74102a;
        border-radius: 5px;
        width: 44px;
        height: 42px;
        font-size: 24px;
        cursor: pointer;
    }
    .main-nav {
        display: none;
    }
    .main-nav.open {
        display: flex;
        position: absolute;
        left: 0;
        right: 0;
        top: 78px;
        height: auto;
        max-height: calc(100vh - 78px);
        overflow-y: auto;
        background: #fff;
        padding: 8px 5%;
        flex-direction: column;
        align-items: stretch;
        gap: 1px;
        box-shadow: 0 18px 35px rgba(50, 0, 10, 0.18);
        border-top: 3px solid #d5a34e;
    }
    .nav-link {
        height: auto;
        padding: 13px 9px;
        border-bottom: 1px solid #eee;
    }
    .nav-link:after {
        display: none;
    }
    .mega-item {
        height: auto;
        display: block;
        border-bottom: 1px solid #eee;
    }
    .mega-trigger {
        height: auto;
        width: 100%;
        text-align: left;
        padding: 13px 9px;
        font-size: 11px;
    }
    .mega-trigger:after {
        display: none;
    }
    .mega-trigger span {
        float: right;
    }
    .mega-menu,
    .mega-wide {
        position: static;
        width: 100%;
        display: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: 0;
        border-left: 3px solid #d5a34e;
        border-radius: 0;
        background: #fcf9f5;
        padding: 6px 5px;
        grid-template-columns: 1fr;
    }
    .mega-item.open > .mega-menu {
        display: grid;
    }
    .mega-column {
        padding: 4px 10px;
        border: 0;
    }
    .mega-column a {
        padding: 9px 7px;
    }
}

/* =========================================================
   FLORENCE DEGREE COLLEGE — NEW MENU BAR DESIGN
   ========================================================= */
.utility-ribbon {
    height: 31px;
    background: #4b0718;
    color: #eadfe3;
    font-size: 9px;
    letter-spacing: 0.2px;
}
.utility-inner {
    height: 31px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.utility-inner > span {
    font-weight: 700;
    color: #e2b65f;
}
.utility-inner > div {
    display: flex;
    align-items: center;
    gap: 18px;
}
.utility-inner a {
    color: #eadfe3;
    transition: 0.2s;
}
.utility-inner a:hover {
    color: #e2b65f;
}

.site-header {
/*    height: 121px;*/
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid #e7ddd6;
    box-shadow: 0 3px 16px rgba(50, 0, 10, 0.08);
}
.site-header .nav-wrap {
    height: 90px;
    display: flex;
    align-items: center;
}
.site-header .brand {
    width: 270px;
    flex: 0 0 270px;
}
.site-header .brand img {
    width: 255px;
    height: 74px;
    object-fit: contain;
    object-position: left center;
}

.redesign-nav {
    height: 90px;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 0;
    margin-left: auto;
}
.redesign-link,
.redesign-item > button {
    height: 90px;
    display: flex;
    align-items: center;
    padding: 0 11px;
    border: 0;
    background: transparent;
    color: #302b2e;
    font-size: 13.5px;
    font-weight: 700;
    white-space: nowrap;
    position: relative;
    cursor: pointer;
}
.redesign-link:before,
.redesign-item > button:before {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 13px;
    height: 2px;
    background: #d5a34e;
    transform: scaleX(0);
    transition: 0.2s;
}
.redesign-link:hover,
.redesign-item:hover > button,
.redesign-item:focus-within > button {
    color: #74102a;
}
.redesign-link:hover:before,
.redesign-item:hover > button:before,
.redesign-item:focus-within > button:before,
.redesign-link.active:before {
    transform: scaleX(1);
}
.redesign-link.active {
    color: #74102a;
}
.redesign-item {
    height: 90px;
    position: relative;
    display: flex;
    align-items: center;
}
.redesign-item > button span {
    font-size: 10px;
    color: #9b8589;
    margin-left: 5px;
    transition: 0.2s;
}
.redesign-item:hover > button span,
.redesign-item:focus-within > button span {
    transform: rotate(180deg);
    display: inline-block;
}
.contact-link {
    margin-left: 3px;
}

.redesign-drop {
    position: absolute;
    top: 82px;
    left: 50%;
    transform: translate(-50%, 8px);
    width: 325px;
    padding: 0;
    background: #fff;
    border-top: 4px solid #74102a;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 18px 40px rgba(42, 0, 10, 0.18);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
    overflow: hidden;
}
.redesign-drop.wide {
    width: 565px;
}
.redesign-item:hover > .redesign-drop,
.redesign-item:focus-within > .redesign-drop {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.drop-intro {
    background: #faf4eb;
    padding: 15px 18px;
    border-bottom: 1px solid #eadfd7;
}
.drop-intro b {
    display: block;
    color: #74102a;
    font-size: 13px;
    letter-spacing: 1.7px;
}
.drop-intro small {
    display: block;
    color: #8b7b7f;
    font-size: 13px;
    margin-top: 3px;
}
.drop-links {
    padding: 9px 11px;
}
.drop-links.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 8px;
}
.drop-links a {
    display: block;
    padding: 9px 10px;
    border-radius: 4px;
    color: #373134;
    font-size: 13px;
    font-weight: 500;
}
.drop-links a:before {
    content: "›";
    color: #d5a34e;
    font-weight: 800;
    margin-right: 7px;
}
.drop-links a:hover {
    background: #f8eee3;
    color: #74102a;
}

@media (max-width: 1200px) and (min-width: 901px) {
    .site-header .brand {
        width: 220px;
        flex-basis: 220px;
    }
    .site-header .brand img {
        width: 210px;
    }
    .redesign-link,
    .redesign-item > button {
        padding: 0 7px;
        font-size: 9px;
    }
    .redesign-drop.wide {
        width: 520px;
    }
}
@media (max-width: 900px) {
    .site-header {
        height: 78px;
    }
    .utility-ribbon {
        height: 30px;
    }
    .utility-inner > span {
        display: none;
    }
    .utility-inner {
        justify-content: flex-end;
    }
    .site-header .nav-wrap {
        height: 78px;
    }
    .site-header .brand {
        width: 210px;
        flex-basis: 210px;
    }
    .site-header .brand img {
        width: 200px;
        height: 65px;
    }
    .site-header .menu-toggle {
        display: block;
        margin-left: auto;
        border: 1px solid #dfd3cb;
        background: #fff;
        color: #74102a;
        border-radius: 5px;
        width: 44px;
        height: 42px;
        font-size: 24px;
        cursor: pointer;
    }
    .redesign-nav {
        display: none;
    }
    .redesign-nav.open {
        display: flex;
        position: absolute;
        left: 0;
        right: 0;
        top: 78px;
        height: auto;
        max-height: calc(100vh - 78px);
        overflow-y: auto;
        background: #fff;
        padding: 8px 5%;
        flex-direction: column;
        align-items: stretch;
        box-shadow: 0 18px 35px rgba(50, 0, 10, 0.18);
        border-top: 3px solid #d5a34e;
    }
    .redesign-link,
    .redesign-item > button {
        height: auto;
        min-height: 47px;
        width: 100%;
        padding: 12px 10px;
        text-align: left;
        border-bottom: 1px solid #eee;
        font-size: 11px;
    }
    .redesign-link:before,
    .redesign-item > button:before {
        display: none;
    }
    .redesign-item {
        height: auto;
        display: block;
    }
    .redesign-item > button span {
        float: right;
    }
    .redesign-drop,
    .redesign-drop.wide {
        position: static;
        width: 100%;
        display: none;
        transform: none;
        opacity: 1;
        visibility: visible;
        border: 0;
        border-left: 3px solid #d5a34e;
        border-radius: 0;
        box-shadow: none;
        background: #fcf9f5;
    }
    .redesign-item.open > .redesign-drop {
        display: block;
    }
    .drop-links.two-col {
        grid-template-columns: 1fr;
    }
    .drop-intro {
        padding: 12px 15px;
    }
}

/* =========================================================
   MOBILE DROPDOWN FIX — FLORENCE DEGREE COLLEGE
   ========================================================= */
@media (max-width: 900px) {
    body.mobile-menu-open {
        overflow: hidden;
    }

    .site-header {
        position: sticky;
        top: 0;
        z-index: 9999;
    }

    .site-header .nav-wrap {
        position: relative;
    }

    .site-header .menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 10002;
    }

    .redesign-nav {
        display: none !important;
        position: absolute !important;
        top: 78px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: calc(100vh - 78px) !important;
        max-height: calc(100vh - 78px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: #fff !important;
        padding: 7px 16px 30px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        margin: 0 !important;
        box-shadow: 0 15px 35px rgba(50, 0, 10, 0.22) !important;
        border-top: 3px solid #d5a34e !important;
        z-index: 10001 !important;
    }

    .redesign-nav.open {
        display: flex !important;
    }

    .redesign-link,
    .redesign-item,
    .redesign-item > button {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .redesign-item {
        display: block !important;
        height: auto !important;
        position: relative !important;
        border-bottom: 1px solid #eee5df !important;
    }

    .redesign-link,
    .redesign-item > button {
        min-height: 50px !important;
        height: auto !important;
        padding: 14px 10px !important;
        display: flex !important;
        align-items: center !important;
        text-align: left !important;
        background: #fff !important;
        color: #302b2e !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        border: 0 !important;
        border-bottom: 0 !important;
    }

    .redesign-item > button {
        justify-content: space-between !important;
        cursor: pointer !important;
    }

    .redesign-item > button span {
        display: block !important;
        float: none !important;
        margin-left: auto !important;
        font-size: 15px !important;
        line-height: 1 !important;
        color: #74102a !important;
        transform: rotate(0deg) !important;
    }

    .redesign-item.open > button {
        color: #74102a !important;
        background: #faf4eb !important;
    }

    .redesign-item.open > button span {
        transform: rotate(180deg) !important;
    }

    /* Critical: override desktop dropdown hiding rules */
    .redesign-drop,
    .redesign-drop.wide {
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: none !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
        overflow: visible !important;
        box-shadow: none !important;
        border: 0 !important;
        border-left: 3px solid #d5a34e !important;
        border-radius: 0 !important;
        background: #fcf9f5 !important;
        padding: 0 !important;
    }

    .redesign-item.open > .redesign-drop,
    .redesign-item.open > .redesign-drop.wide {
        display: block !important;
    }

    .drop-intro {
        padding: 12px 15px !important;
        background: #f7eee3 !important;
        border-bottom: 1px solid #e7dcd2 !important;
    }

    .drop-intro b {
        font-size: 9px !important;
        letter-spacing: 1.5px !important;
        color: #74102a !important;
    }

    .drop-intro small {
        display: block !important;
        margin-top: 3px !important;
        font-size: 9px !important;
        color: #817174 !important;
    }

    .drop-links,
    .drop-links.two-col {
        display: block !important;
        width: 100% !important;
        padding: 6px 8px !important;
        box-sizing: border-box !important;
    }

    .drop-links a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 11px 10px !important;
        min-height: 40px !important;
        color: #413a3d !important;
        background: transparent !important;
        border-radius: 3px !important;
        font-size: 11px !important;
        font-weight: 500 !important;
    }

    .drop-links a:before {
        content: "›" !important;
        color: #d5a34e !important;
        margin-right: 8px !important;
        font-weight: 800 !important;
    }

    .drop-links a:hover,
    .drop-links a:focus {
        background: #f5e9dc !important;
        color: #74102a !important;
    }
}

/* ABOUT US INNER PAGES */
.about-hero {
    background: linear-gradient(110deg, #4b0718, #74102a);
    color: #fff;
    padding: 58px 0;
}
.about-hero h1 {
    font:
        700 clamp(38px, 5vw, 58px) "Playfair Display",
        Georgia,
        serif;
    margin: 5px 0 8px;
}
.about-hero > div > p:last-child {
    color: #eadfe2;
    margin: 0;
}
.about-content {
    padding: 38px 0 80px;
    background: #fff;
}
.about-breadcrumb {
    font-size: 11px;
    color: #777;
    margin-bottom: 42px;
}
.about-breadcrumb a {
    color: #74102a;
    font-weight: 700;
}
.about-breadcrumb span {
    padding: 0 8px;
    color: #aaa;
}
.about-title {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 35px;
}
.about-title h2,
.profile-card h2,
.person-copy h2 {
    font:
        700 36px "Playfair Display",
        Georgia,
        serif;
    color: #74102a;
    margin: 5px 0 12px;
}
.about-title > p:last-child {
    font-size: 14px;
    line-height: 1.9;
    color: #5a5356;
}
.about-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.about-cards article {
    padding: 27px;
    border: 1px solid #e5ddd7;
    border-radius: 8px;
    box-shadow: 0 9px 26px rgba(65, 0, 15, 0.06);
    border-top: 4px solid #d5a34e;
}
.about-cards h3 {
    font:
        700 21px "Playfair Display",
        Georgia,
        serif;
    color: #74102a;
    margin: 0 0 10px;
}
.about-cards p,
.profile-card p,
.profile-card li,
.person-copy p {
    font-size: 13px;
    line-height: 1.8;
    color: #555;
}
.about-highlight {
    margin-top: 25px;
    padding: 20px 24px;
    background: #faf3e9;
    border-left: 5px solid #d5a34e;
    color: #55494a;
    font-size: 13px;
    line-height: 1.8;
}
.message-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    max-width: 1050px;
    margin: auto;
}
.profile-card {
    padding: 34px;
    border: 1px solid #e5ddd7;
    border-radius: 9px;
    box-shadow: 0 10px 28px rgba(65, 0, 15, 0.07);
    background: linear-gradient(145deg, #fff, #fcf7ef);
}
.profile-symbol {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #74102a;
    color: #e5b75d;
    font-size: 23px;
    margin-bottom: 18px;
}
.profile-card ul {
    padding-left: 20px;
}
.profile-card li {
    padding: 8px 0;
    border-bottom: 1px solid #eee5de;
}
.person-message {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    max-width: 950px;
    margin: auto;
    align-items: center;
}
.person-photo {
    height: 350px;
    background: linear-gradient(145deg, #f8eee3, #e9ddd0);
    border-radius: 10px;
    display: grid;
    place-items: center;
    border: 1px solid #e2d6cc;
}
.person-photo div {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #74102a;
    color: #e5b75d;
    font: 700 34px Georgia;
    border: 4px solid #d5a34e;
}
.message-placeholder {
    font-weight: 600;
    color: #74102a !important;
}
.signature-line {
    margin-top: 28px;
    padding-top: 15px;
    border-top: 1px solid #ddd0c8;
    color: #74102a;
    font-weight: 700;
}
@media (max-width: 800px) {
    .about-cards,
    .message-layout,
    .person-message {
        grid-template-columns: 1fr;
    }
    .person-photo {
        height: 260px;
    }
    .about-title h2,
    .profile-card h2,
    .person-copy h2 {
        font-size: 30px;
    }
}


.diag {
    height: 64px;
    background: var(--mist);
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.diag.flip {
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.diag-ink {
    background: #1c1410;
}
.diag-maroon {
    background: var(--maroon);
}

.bg-ink {
    background: #1c1410;
    color: #efe9e0;
}

.eyebrow.on-dark {
    color: #e8a93a;
}

.eyebrow {
    font-family: var(--ff-mono);
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--maroon);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.g2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid {
    display: grid;
    gap: 1.6rem;
}

/*.section {
    padding: 3.5rem 0;
}*/


/* =========================================================
   HEADER UTILITY LINKS — RED MENU BAR
   ========================================================= */
.utility-ribbon {
    height: 38px;
    background: linear-gradient(90deg, #6f0718 0%, #a50d1d 48%, #c41622 100%);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.18);
    font-size: 10px;
    letter-spacing: .15px;
}
.utility-inner {
    height: 38px;
}
.utility-inner > span {
    color: #fff;
    font-size: 10px;
    letter-spacing: .4px;
    white-space: nowrap;
}
.utility-inner > div.utility-links {
    display: flex;
    align-items: center;
    gap: 0;
    margin-left: auto;
}
.utility-inner .utility-links a {
    color: #fff;
    text-decoration: none;
    padding: 4px 13px;
    white-space: nowrap;
    border-left: 1px solid rgba(255,255,255,.28);
    transition: background .2s ease, color .2s ease;
}
.utility-inner .utility-links a:last-child {
    border-right: 1px solid rgba(255,255,255,.28);
}
.utility-inner .utility-links a:hover,
.utility-inner .utility-links a:focus {
    color: #fff;
    background: rgba(0,0,0,.16);
}

@media (max-width: 900px) {
    .utility-ribbon,
    .utility-inner {
        height: 36px;
    }
    .utility-inner {
        overflow-x: auto;
        justify-content: flex-start;
        scrollbar-width: none;
    }
    .utility-inner::-webkit-scrollbar { display: none; }
    .utility-inner > span { display: none; }
    .utility-inner > div.utility-links {
        margin-left: 0;
        min-width: max-content;
    }
    .utility-inner .utility-links a {
        padding: 4px 11px;
        font-size: 9px;
    }
    .site-header {
        top: 0;
    }
}


/* Final header layout */
.site-header{position:sticky;top:0;z-index:1000;background:#fff;}
.utility-ribbon{height:34px;background:#5c0f1a;color:#fff;}
.utility-inner{height:34px;display:flex;align-items:center;justify-content:flex-start;}
.utility-inner .utility-links{display:flex;align-items:center;justify-content:flex-start;margin-left:0;}
.utility-inner .utility-links a{color:#fff;text-decoration:none;padding:6px 16px;border-left:1px solid rgba(255,255,255,.24);font-size:11px;font-weight:600;white-space:nowrap;transition:.2s ease;}
.utility-inner .utility-links a:last-child{border-right:1px solid rgba(255,255,255,.24);}
.utility-inner .utility-links a:hover{background:rgba(255,255,255,.12);color:#e6c877;}
.site-header .topbar{height:34px;}
.site-header .nav-wrap{height:82px;}
.redesign-nav{height:82px;}
.redesign-link,.redesign-item,.redesign-item>button{height:82px;}
.redesign-link,.redesign-item>button{font-size:14px;padding:0 13px;}
.redesign-link:before,.redesign-item>button:before{bottom:10px;height:3px;}
.director-divider{display:flex;align-items:center;gap:14px;margin:42px 0;padding:0 8px;color:#8a6a2e;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;}
.director-divider:before,.director-divider:after{content:"";height:1px;background:#e3d6ba;flex:1;}
@media(max-width:900px){.utility-ribbon,.utility-inner{height:36px}.utility-inner{overflow-x:auto}.utility-inner .utility-links{min-width:max-content}.utility-inner .utility-links a{font-size:9px;padding:6px 11px}.site-header .nav-wrap{height:78px}.redesign-nav{height:auto}.redesign-link,.redesign-item,.redesign-item>button{height:56px}}

/* =========================================================
   FLORENCE HEADER v2 — VISIBLE, ATTRACTIVE & RESPONSIVE
   ========================================================= */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: #fff !important;
    border-bottom: 1px solid #eadfd9 !important;
    box-shadow: 0 4px 18px rgba(68, 9, 22, .10) !important;
}

/* Top external links */
.site-header .utility-ribbon {
    height: 36px !important;
    min-height: 36px !important;
    background: linear-gradient(90deg, #640c1c, #8f1728 52%, #a91e2e) !important;
    overflow: hidden !important;
}
.site-header .utility-inner {
    height: 36px !important;
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: min(1460px, 94%) !important;
    margin: 0 auto !important;
}
.site-header .utility-links {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    min-width: max-content !important;
}
.site-header .utility-links a {
    display: inline-flex !important;
    align-items: center !important;
    height: 36px !important;
    padding: 0 15px !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border-left: 1px solid rgba(255,255,255,.20) !important;
    transition: background .2s ease, color .2s ease !important;
}
.site-header .utility-links a:last-child { border-right: 1px solid rgba(255,255,255,.20) !important; }
.site-header .utility-links a:hover,
.site-header .utility-links a:focus-visible {
    background: rgba(0,0,0,.18) !important;
    color: #f3d27f !important;
}

/* Latest-news strip */
.site-header .topbar {
    height: 38px !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    background: #e62c32 !important;
    padding: 0 3% !important;
    position: relative !important;
    z-index: 2 !important;
}
.site-header .topbar-label {
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 16px !important;
    background: #d2a14b !important;
    color: #3d170e !important;
    font-size: 12px !important;
    letter-spacing: .4px !important;
}

/* Main navigation — never collapse on desktop */
.site-header .nav-wrap {
    width: min(1460px, 94%) !important;
    height: 82px !important;
    min-height: 82px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    background: #fff !important;
}
.site-header .brand {
    width: 245px !important;
    min-width: 245px !important;
    flex: 0 0 245px !important;
    display: flex !important;
    align-items: center !important;
    height: 82px !important;
}
.site-header .brand img {
    width: 230px !important;
    max-width: 100% !important;
    height: 70px !important;
    object-fit: contain !important;
    object-position: left center !important;
    display: block !important;
}
.site-header .redesign-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 82px !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    overflow: visible !important;
    background: #fff !important;
}
.site-header .redesign-link,
.site-header .redesign-item > button {
    height: 82px !important;
    min-height: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 11px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    background: transparent !important;
    color: #302b2e !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    position: relative !important;
    cursor: pointer !important;
    transition: color .2s ease, background .2s ease !important;
}
.site-header .redesign-link:hover,
.site-header .redesign-link:focus-visible,
.site-header .redesign-item:hover > button,
.site-header .redesign-item:focus-within > button {
    color: #74102a !important;
    background: #fffaf6 !important;
}
.site-header .redesign-link:before,
.site-header .redesign-item > button:before {
    left: 10px !important;
    right: 10px !important;
    bottom: 8px !important;
    height: 3px !important;
    background: #d4a14b !important;
}
.site-header .redesign-link.active,
.site-header .redesign-item.active > button {
    color: #74102a !important;
}
.site-header .redesign-item { height: 82px !important; position: relative !important; }
.site-header .redesign-drop {
    top: 79px !important;
    z-index: 100000 !important;
}
.site-header .menu-toggle { display: none !important; }

/* Tablet: slightly tighter desktop navigation */
@media (max-width: 1180px) and (min-width: 901px) {
    .site-header .brand { width: 205px !important; min-width: 205px !important; flex-basis: 205px !important; }
    .site-header .brand img { width: 195px !important; }
    .site-header .redesign-link,
    .site-header .redesign-item > button {
        padding: 0 7px !important;
        font-size: 11.5px !important;
    }
}

/* Mobile: compact header + slide-down navigation */
@media (max-width: 900px) {
    .site-header { position: sticky !important; top: 0 !important; }
    .site-header .utility-ribbon,
    .site-header .utility-inner { height: 36px !important; min-height: 36px !important; }
    .site-header .utility-inner {
        width: 100% !important;
        padding: 0 10px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }
    .site-header .utility-inner::-webkit-scrollbar { display: none !important; }
    .site-header .utility-links a { padding: 0 11px !important; font-size: 9px !important; }
    .site-header .topbar { height: 34px !important; min-height: 34px !important; padding: 0 10px !important; }
    .site-header .topbar-label { height: 34px !important; padding: 0 10px !important; font-size: 10px !important; }
    .site-header .nav-wrap {
        width: 100% !important;
        height: 72px !important;
        min-height: 72px !important;
        padding: 0 14px !important;
    }
    .site-header .brand {
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        height: 72px !important;
    }
    .site-header .brand img { width: min(205px, 72vw) !important; height: 62px !important; }
    .site-header .menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 44px !important;
        margin-left: 10px !important;
        border: 1px solid #d9c5bc !important;
        border-radius: 8px !important;
        background: #74102a !important;
        color: #fff !important;
        font-size: 25px !important;
        line-height: 1 !important;
        cursor: pointer !important;
        box-shadow: 0 5px 12px rgba(116,16,42,.20) !important;
        z-index: 100002 !important;
    }
    .site-header .redesign-nav {
        display: none !important;
        position: absolute !important;
        top: 72px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: calc(100vh - 72px) !important;
        max-height: calc(100vh - 72px) !important;
        overflow-y: auto !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        padding: 8px 14px 28px !important;
        margin: 0 !important;
        background: #fff !important;
        border-top: 3px solid #d4a14b !important;
        box-shadow: 0 18px 40px rgba(42,0,10,.20) !important;
        z-index: 100001 !important;
    }
    .site-header .redesign-nav.open { display: flex !important; }
    .site-header .redesign-link,
    .site-header .redesign-item > button {
        width: 100% !important;
        min-height: 50px !important;
        height: auto !important;
        justify-content: flex-start !important;
        padding: 13px 12px !important;
        text-align: left !important;
        font-size: 14px !important;
        border-bottom: 1px solid #eee5df !important;
        border-radius: 0 !important;
    }
    .site-header .redesign-link:before,
    .site-header .redesign-item > button:before { display: none !important; }
    .site-header .redesign-item { width: 100% !important; height: auto !important; display: block !important; }
    .site-header .redesign-item > button span { margin-left: auto !important; font-size: 13px !important; }
    .site-header .redesign-drop,
    .site-header .redesign-drop.wide {
        position: static !important;
        width: 100% !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        border: 0 !important;
        border-left: 3px solid #d4a14b !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fcf8f4 !important;
    }
    .site-header .redesign-item.open > .redesign-drop { display: block !important; }
    .site-header .drop-intro { padding: 12px 14px !important; }
    .site-header .drop-links { padding: 7px 9px !important; }
    .site-header .drop-links.two-col { grid-template-columns: 1fr !important; }
    .site-header .drop-links a { padding: 10px 9px !important; font-size: 13px !important; }
}

@media (max-width: 420px) {
    .site-header .utility-links a { padding: 0 9px !important; font-size: 8.5px !important; }
    .site-header .brand img { width: min(180px, 68vw) !important; }
    .site-header .menu-toggle { width: 42px !important; height: 42px !important; font-size: 22px !important; }
}

/* =========================================================
   FLORENCE INNER ACADEMIC PAGES — WEBSITE TEMPLATE REDESIGN
   Shared visual language for Attendance, Internal Assessment,
   Examination, Results, Regulations and Certification pages.
   ========================================================= */
.inner-page {
    background: #fbf8f5;
    min-height: 60vh;
}
.inner-page .inner-hero {
    position: relative;
    overflow: hidden;
    padding: 58px 0 52px;
    background: linear-gradient(135deg, #5f0b22 0%, #74102a 52%, #8c1d36 100%);
    color: #fff;
}
.inner-page .inner-hero::before,
.inner-page .inner-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.inner-page .inner-hero::before {
    width: 320px;
    height: 320px;
    right: -90px;
    top: -170px;
    border: 1px solid rgba(255,255,255,.18);
}
.inner-page .inner-hero::after {
    width: 220px;
    height: 220px;
    left: -100px;
    bottom: -155px;
    border: 1px solid rgba(213,163,78,.28);
}
.inner-page .inner-hero .container {
    position: relative;
    z-index: 1;
}
.inner-page .inner-hero .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 13px;
    color: #f0d28f;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}
.inner-page .inner-hero .eyebrow::before {
    content: "";
    width: 28px;
    height: 2px;
    background: #d5a34e;
}
.inner-page .inner-hero h1 {
    margin: 0;
    max-width: 900px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.4px;
}
.inner-page .inner-hero p:not(.eyebrow) {
    max-width: 820px;
    margin: 15px 0 0;
    color: rgba(255,255,255,.86);
    font-size: 15px;
    line-height: 1.7;
}
.inner-page .page-content {
    padding-top: 0;
    padding-bottom: 70px;
}
.inner-page .breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    margin-bottom: 34px;
    padding: 0 2px;
    border-bottom: 1px solid #eadfd8;
    color: #8a7771;
    font-size: 12px;
    font-weight: 600;
}
.inner-page .breadcrumb a {
    color: #74102a;
    transition: color .2s ease;
}
.inner-page .breadcrumb a:hover { color: #b0203f; }
.inner-page .page-content > h2 {
    position: relative;
    margin: 38px 0 17px;
    padding-bottom: 12px;
    color: #4e1825;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(23px, 2.4vw, 29px);
    line-height: 1.25;
}
.inner-page .page-content > h2:first-of-type { margin-top: 0; }
.inner-page .page-content > h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 54px;
    height: 3px;
    background: #d5a34e;
}
.inner-page .page-content > p,
.inner-page .page-content > ul {
    max-width: 980px;
    color: #51494a;
    font-size: 15px;
    line-height: 1.78;
}
.inner-page .page-content > ul {
    padding-left: 21px;
}
.inner-page .page-content > ul li { margin: 8px 0; }
.inner-page .info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 12px 0 32px;
}
.inner-page .info-box {
    position: relative;
    overflow: hidden;
    min-height: 150px;
    padding: 24px 25px 22px;
    background: #fff;
    border: 1px solid #eadfd8;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(73,20,30,.06);
}
.inner-page .info-box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: #d5a34e;
}
.inner-page .info-box h3 {
    margin: 0 0 9px;
    color: #74102a;
    font-size: 17px;
    font-weight: 800;
}
.inner-page .info-box p {
    margin: 0;
    color: #5b5352;
    font-size: 14px;
    line-height: 1.7;
}
.inner-page .table-wrap {
    margin: 14px 0 30px;
    overflow-x: auto;
    background: #fff;
    border: 1px solid #e8ddd6;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(73,20,30,.055);
}
.inner-page .table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    margin: 0;
}
.inner-page .table thead th {
    padding: 14px 16px;
    background: #74102a;
    color: #fff;
    border: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .25px;
    text-align: left;
}
.inner-page .table tbody td,
.inner-page .table tbody th {
    padding: 13px 16px;
    border-bottom: 1px solid #eee6e1;
    color: #4d4747;
    font-size: 13.5px;
    vertical-align: top;
    text-align: left;
}
.inner-page .table tbody tr:nth-child(even) td,
.inner-page .table tbody tr:nth-child(even) th {
    background: #fcfaf8;
}
.inner-page .table tbody tr:hover td,
.inner-page .table tbody tr:hover th {
    background: #fff7eb;
}
.inner-page .table tbody tr:last-child td,
.inner-page .table tbody tr:last-child th { border-bottom: 0; }
.inner-page .small-note {
    padding: 14px 17px;
    border-left: 3px solid #d5a34e;
    background: #fffaf2;
    color: #665a55 !important;
    font-size: 13px !important;
}
.inner-page .back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    margin: 9px 8px 0 0;
    padding: 10px 17px;
    border: 1px solid #74102a;
    border-radius: 5px;
    background: #74102a;
    color: #fff !important;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .15px;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.inner-page .back-btn:hover {
    background: #5f0b22;
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(116,16,42,.18);
}
.inner-page .page-content > p > .back-btn,
.inner-page .page-content > .back-btn {
    margin-top: 15px;
}

/* Highlight useful numeric rules in academic pages */
.inner-page strong { color: #5e1728; }

@media (max-width: 900px) {
    .inner-page .inner-hero { padding: 42px 0 38px; }
    .inner-page .page-content { padding-bottom: 50px; }
    .inner-page .breadcrumb { margin-bottom: 26px; }
    .inner-page .info-grid { grid-template-columns: 1fr; gap: 14px; }
    .inner-page .info-box { min-height: 0; }
    .inner-page .page-content > p,
    .inner-page .page-content > ul { font-size: 14px; }
}
@media (max-width: 600px) {
    .inner-page .inner-hero { padding: 34px 0 31px; }
    .inner-page .inner-hero h1 { font-size: 31px; }
    .inner-page .inner-hero p:not(.eyebrow) { font-size: 13.5px; }
    .inner-page .breadcrumb { min-height: 50px; margin-bottom: 22px; font-size: 11px; }
    .inner-page .page-content > h2 { margin-top: 31px; font-size: 23px; }
    .inner-page .info-box { padding: 21px 20px 19px; }
    .inner-page .table { min-width: 560px; }
    .inner-page .table thead th,
    .inner-page .table tbody td,
    .inner-page .table tbody th { padding: 11px 12px; font-size: 12.5px; }
    .inner-page .back-btn { width: 100%; margin-right: 0; }
}

/* Digital Campus menu */
.digital-campus-item > button::before{content:"◈";font-size:.72em;margin-right:6px;opacity:.85}
.digital-campus-item .redesign-drop{min-width:245px}


/* Homepage hero action visibility */
.hero-actions .btn-outline { color:#fff; background:rgba(92,15,26,.28); border:1px solid #e5b75c; text-shadow:0 1px 2px rgba(0,0,0,.45); }
.hero-actions .btn-outline:hover { color:#35100b; background:#e5b75c; text-shadow:none; }
.hero-actions .btn-gold { color:#35100b; background:#d5a34e; border:1px solid #d5a34e; box-shadow:0 5px 18px rgba(0,0,0,.18); }
.hero-actions .btn-gold:hover { background:#e5b75c; }

/* Florence Student Feedback / Complaint additions */
.fdc-social-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.fdc-social-strip a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(255,255,255,.55);border-radius:5px;color:#fff;text-decoration:none;font-size:12px;font-weight:700;background:rgba(92,15,26,.7)}.fdc-social-strip a:hover{background:#b3872f;color:#fff}.fdc-chat{position:fixed;left:22px;right:auto;bottom:22px;width:360px;max-width:calc(100vw - 30px);z-index:9999;font-family:'DM Sans',Arial,sans-serif}.fdc-chat-toggle{margin-left:0;display:flex;align-items:center;gap:8px;border:0;border-radius:30px;background:#5c0f1a;color:#fff;padding:12px 18px;box-shadow:0 8px 25px rgba(0,0,0,.22);font-weight:700;cursor:pointer}.fdc-chat-panel{display:none;margin-bottom:10px;background:#fff;border:1px solid #e3d6ba;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.2);overflow:hidden}.fdc-chat.open .fdc-chat-panel{display:block}.fdc-chat-head{background:linear-gradient(135deg,#5c0f1a,#841925);color:#fff;padding:15px 17px}.fdc-chat-head strong{display:block;font-family:'Playfair Display',serif;font-size:18px}.fdc-chat-head small{opacity:.85}.fdc-chat-body{height:330px;overflow:auto;padding:13px;background:#fbf8f1}.fdc-msg{max-width:86%;padding:9px 11px;border-radius:10px;margin:7px 0;font-size:12.5px;line-height:1.55}.fdc-bot{background:#fff;border:1px solid #e3d6ba}.fdc-user{background:#5c0f1a;color:#fff;margin-left:auto}.fdc-chat-quick{display:flex;gap:6px;overflow:auto;padding:9px;border-top:1px solid #e3d6ba;background:#fff}.fdc-chat-quick button{white-space:nowrap;border:1px solid #d9c9aa;background:#fff7e8;border-radius:15px;padding:6px 9px;font-size:11px;cursor:pointer}.fdc-chat-input{display:flex;border-top:1px solid #e3d6ba;background:#fff}.fdc-chat-input input{flex:1;border:0;padding:11px;font:inherit;outline:0}.fdc-chat-input button{border:0;background:#b3872f;color:#fff;padding:0 15px;font-weight:700}.fdc-social-mini{display:flex;gap:7px;padding:8px 11px;background:#fff;border-top:1px solid #eee}.fdc-social-mini a{font-size:11px;text-decoration:none;color:#5c0f1a;font-weight:700}@media(max-width:600px){.fdc-chat{left:10px;right:auto;bottom:10px;width:calc(100vw - 20px)}.fdc-chat-body{height:280px}.fdc-social-strip a{flex:1;justify-content:center}}

/* Careers – current openings */
.flcareer-openings{margin:0 0 34px;padding:28px;border:1px solid rgba(115,25,45,.14);border-radius:18px;background:#fffaf3;box-shadow:0 12px 30px rgba(56,18,29,.06)}
.flcareer-opening-head{text-align:center;max-width:780px;margin:0 auto 22px}.flcareer-opening-head h2{margin:7px 0 9px;color:#6e1730;font-family:Georgia,serif;font-size:clamp(26px,3vw,36px)}.flcareer-opening-head p{margin:0;color:#5c5151;line-height:1.7}.flcareer-opening-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.flcareer-opening-grid article{background:#fff;border-radius:14px;padding:22px;border-left:4px solid #d6a23f}.flcareer-opening-grid h3{margin:0 0 12px;color:#6e1730}.flcareer-opening-grid ul{margin:0;padding-left:19px;color:#51484a;line-height:1.8}.flcareer-opening-note{margin-top:18px;padding:14px 16px;border-radius:10px;background:#f6ebd8;color:#55484a;line-height:1.6}.submenu-guide{font-weight:600}
@media(max-width:700px){.flcareer-opening-grid{grid-template-columns:1fr}.flcareer-openings{padding:20px 16px}}

/* UUCMS registration guide */
.inner-page .guide-box{margin:0 0 22px;padding:25px 28px;background:#fff;border:1px solid #eadfd8;border-radius:10px;box-shadow:0 8px 24px rgba(73,20,30,.055)}
.inner-page .guide-box h2{margin:0 0 16px;color:#74102a;font-family:"Playfair Display",Georgia,serif;font-size:25px}
.inner-page .styled-steps{margin:0;padding-left:26px;color:#51494a;line-height:1.75}
.inner-page .styled-steps li{padding:8px 0 8px 5px;border-bottom:1px solid #f0e8e3}.inner-page .styled-steps li:last-child{border-bottom:0}.inner-page .styled-steps strong{color:#74102a}
.inner-page .flow-text{margin:0!important;padding:16px 18px;background:#fffaf3;border-left:4px solid #d5a34e;border-radius:7px;color:#5b474a!important;font-weight:700;line-height:1.8!important}
.guide-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.guide-actions .btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:6px;background:#74102a;color:#fff;font-weight:700;text-decoration:none}.guide-actions .btn:hover{background:#5d1023}
@media(max-width:700px){.inner-page .guide-box{padding:20px 17px}.inner-page .styled-steps{padding-left:21px}.guide-actions{flex-direction:column}.guide-actions .btn{width:100%}}

/* Florence social media icons in the top-right corner */
.fdc-top-social{display:flex;align-items:center;gap:7px;margin-left:auto}.fdc-top-social a{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;font-family:Arial,sans-serif;font-size:14px;line-height:1;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);transition:all .2s ease}.fdc-top-social a:hover,.fdc-top-social a:focus{background:#b3872f;border-color:#e6c877;color:#fff;transform:translateY(-1px)}.fdc-top-social .wa{font-size:16px}.fdc-top-social .ig{font-size:17px}.fdc-top-social .fb{font-size:16px;font-family:Arial,sans-serif}.utility-inner{display:flex;align-items:center;width:100%}@media(max-width:767px){.utility-inner{gap:8px}.utility-links{overflow-x:auto;white-space:nowrap}.fdc-top-social{flex:0 0 auto}.fdc-top-social a{width:28px;height:28px}.utility-ribbon{padding:5px 0}}


/* Final header refinement: clean white utility area; social buttons removed from top. */
.site-header .utility-ribbon {
    background: #ffffff !important;
    color: #5c0f1a !important;
    border-bottom: 1px solid #eee3dc !important;
}
.site-header .utility-inner {
    background: #ffffff !important;
}
.site-header .utility-links a {
    color: #5c0f1a !important;
    border-left-color: #eadfd9 !important;
}
.site-header .utility-links a:last-child {
    border-right-color: #eadfd9 !important;
}
.site-header .utility-links a:hover,
.site-header .utility-links a:focus-visible {
    background: #f7f1ed !important;
    color: #a16b17 !important;
}
.site-header .brand {
    background: #ffffff !important;
}
.site-header .brand img {
    object-fit: contain !important;
}


/* Social media buttons: top header, positioned beside the college logo; never over hero images or latest-news bar */
.site-header .nav-wrap{position:relative;}
.site-header .fdc-top-social{display:flex;align-items:center;gap:8px;margin-left:16px;margin-right:18px;flex:0 0 auto;}
.site-header .fdc-top-social a{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 13px;border-radius:5px;text-decoration:none;font-family:'DM Sans',Arial,sans-serif;font-size:12px;font-weight:700;line-height:1;color:#5c0f1a;background:#fff;border:1px solid #c9a85b;transition:all .2s ease;white-space:nowrap;}
.site-header .fdc-top-social a:hover,.site-header .fdc-top-social a:focus{background:#5c0f1a;color:#fff;border-color:#5c0f1a;transform:translateY(-1px);}
.site-header .nav-wrap>.brand{flex:0 0 auto;}
@media(max-width:1100px){.site-header .fdc-top-social{margin-left:auto;margin-right:10px;}.site-header .fdc-top-social a{padding:0 10px;font-size:11px;}}
@media(max-width:767px){.site-header .nav-wrap{flex-wrap:wrap;}.site-header .fdc-top-social{order:2;margin:7px 8px 7px auto;width:auto;}.site-header .fdc-top-social a{height:30px;padding:0 8px;font-size:10px;}.site-header .menu-toggle{order:3;}.site-header .redesign-nav{order:4;width:100%;}}


/* Final placement: social media buttons in top-left utility area; homepage latest-news ticker below hero banner */
.site-header .utility-inner{display:flex;align-items:center;justify-content:flex-start;gap:18px;background:#fff;}
.site-header .fdc-top-social{display:flex;align-items:center;gap:7px;margin:0;flex:0 0 auto;order:1;}
.site-header .fdc-top-social a{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 11px;border-radius:5px;text-decoration:none;font-family:'DM Sans',Arial,sans-serif;font-size:11px;font-weight:700;line-height:1;color:#5c0f1a;background:#fff;border:1px solid #c9a85b;transition:all .2s ease;white-space:nowrap;}
.site-header .fdc-top-social a span[aria-hidden="true"]{font-size:15px;font-weight:800;line-height:1;}
.site-header .fdc-top-social .fb span[aria-hidden="true"]{font-family:Arial,sans-serif;font-size:17px;}
.site-header .fdc-top-social a:hover,.site-header .fdc-top-social a:focus-visible{background:#5c0f1a;color:#fff;border-color:#5c0f1a;transform:translateY(-1px);}
.site-header .utility-links{margin-left:auto;order:2;}
/* The homepage ticker is deliberately below the hero/banner, not above it. */
body>header.site-header + .quick-dock + .hero + .topbar{margin-top:0;}
.index .topbar{}
@media(max-width:767px){.site-header .utility-inner{gap:8px;overflow-x:auto;padding-left:8px;padding-right:8px;}.site-header .fdc-top-social{flex:0 0 auto;}.site-header .fdc-top-social a{height:29px;padding:0 8px;font-size:10px;}.site-header .utility-links{margin-left:0;flex:0 0 auto;}.site-header .utility-links a{font-size:9px;}}

/* Final header arrangement: clean white utility strip with social buttons at top-right */
.site-header .utility-ribbon{
  background:#fff !important;
  color:#5c0f1a !important;
  border-bottom:1px solid #eee;
  height:44px;
}
.site-header .utility-inner{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
}
.site-header .utility-inner .utility-links{
  order:1;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-left:0;
  flex:1 1 auto;
}
.site-header .utility-inner .utility-links a{
  color:#5c0f1a !important;
  background:transparent !important;
  border-left:1px solid #e5e5e5 !important;
  border-right:0 !important;
  padding:7px 14px;
}
.site-header .utility-inner .utility-links a:last-child{border-right:1px solid #e5e5e5 !important;}
.site-header .utility-inner .utility-links a:hover,
.site-header .utility-inner .utility-links a:focus{
  background:#f8f4e8 !important;
  color:#8b1e2d !important;
}
.site-header .utility-inner .fdc-top-social{
  order:2;
  margin-left:auto !important;
  margin-right:0 !important;
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.site-header .utility-inner .fdc-top-social a{
  height:32px !important;
  padding:0 11px !important;
  border-radius:5px !important;
  color:#5c0f1a !important;
  background:#fff !important;
  border:1px solid #c9a85b !important;
}
.site-header .utility-inner .fdc-top-social a:hover,
.site-header .utility-inner .fdc-top-social a:focus-visible{
  background:#5c0f1a !important;
  color:#fff !important;
  border-color:#5c0f1a !important;
}
@media(max-width:767px){
  .site-header .utility-ribbon{height:auto;}
  .site-header .utility-inner{min-height:42px;gap:8px;padding:5px 8px;overflow-x:auto;}
  .site-header .utility-inner .utility-links{order:1;flex:1 1 auto;overflow-x:auto;white-space:nowrap;}
  .site-header .utility-inner .fdc-top-social{order:2;flex:0 0 auto;}
  .site-header .utility-inner .fdc-top-social a{height:30px !important;padding:0 8px !important;font-size:10px !important;}
}

/* Final social icon-only header: compact top-right controls */
.site-header .utility-inner .fdc-top-social a{
  width:34px !important; height:34px !important; padding:0 !important;
  border-radius:50% !important; display:inline-flex !important;
  align-items:center !important; justify-content:center !important;
  font-size:0 !important; line-height:0 !important;
}
.site-header .utility-inner .fdc-top-social a svg{
  width:18px; height:18px; display:block; fill:currentColor;
}
.site-header .utility-inner .fdc-top-social .ig svg{fill:none;stroke:currentColor;stroke-width:2}
.site-header .utility-inner .fdc-top-social .ig .ig-dot{fill:currentColor;stroke:none}
.site-header .utility-inner .fdc-top-social a:hover svg{transform:scale(1.06)}
@media(max-width:767px){
 .site-header .utility-inner .fdc-top-social a{width:30px !important;height:30px !important;}
 .site-header .utility-inner .fdc-top-social a svg{width:16px;height:16px;}
}

/* Homepage admission announcement popup */
.florence-ad-popup{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.68);backdrop-filter:blur(3px);}
.florence-ad-popup[hidden]{display:none!important;}
.florence-ad-popup-card{position:relative;width:auto;max-width:92vw;max-height:94vh;background:transparent;border-radius:0;box-shadow:none;overflow:visible;line-height:0;}
.florence-ad-popup-card img{display:block;width:auto;max-width:92vw;height:auto;max-height:94vh;object-fit:contain;background:transparent;border-radius:0;box-shadow:0 18px 55px rgba(0,0,0,.38);}
.florence-ad-popup-close{position:absolute;right:-18px;top:-18px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px;line-height:42px;text-align:center;cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.25);z-index:2;}
.florence-ad-popup-close:hover{transform:scale(1.05);}
@media(max-width:600px){.florence-ad-popup{padding:10px}.florence-ad-popup-card{max-width:94vw}.florence-ad-popup-card img{max-width:94vw;max-height:90vh}.florence-ad-popup-close{width:38px;height:38px;font-size:26px;line-height:36px;right:-6px;top:-6px}}
/* Online enquiry page */
.enq-page .eyebrow{color:#f3d48c;font-weight:800;letter-spacing:.12em}.enq-page .container-1{width:min(1120px,92%);margin:auto}
/* IQAC composition table refinement */
.fliqc-table thead th:nth-child(1){width:8%}.fliqc-table thead th:nth-child(2){width:30%}.fliqc-table thead th:nth-child(3){width:28%}.fliqc-table thead th:nth-child(4){width:24%}
.fliqc-table tbody td:last-child{font-weight:600;color:var(--maroon-deep)}
@media(max-width:600px){.fliqc-table{min-width:760px}.fliqc-table thead th,.fliqc-table tbody td{padding:10px 11px}}

/* Floating contact buttons: positioned above chatbot to prevent overlap */
.fdc-home-contact-buttons{position:fixed;right:20px;left:auto;bottom:105px;z-index:10000;}
.fdc-chat.open ~ .fdc-home-contact-buttons{display:none!important;}
@media(max-width:600px){.fdc-home-contact-buttons{right:12px;left:auto;bottom:78px;}}
