/* --- Exact NALSAR Structure Styles (Refined) --- */

:root {
    --color-white: #ffffff;
    --color-black: #000000;
    --color-text-main: #475569; /* Premium slate */
    --color-text-light: #64748b; /* Slate 500 */
    --color-bg-light: #f8fafc; /* Soft official white */
    --color-primary: #0b3d91; /* Deep official navy */
    --color-accent: #10b981; /* Emerald service accent */
    --color-secondary: #2563eb; /* Royal blue */
    --color-heading: #1e3a8a;
    --color-border: #e5e7eb;
    --shadow-card: 0 12px 30px rgba(15, 23, 42, 0.09);
    --shadow-card-hover: 0 20px 42px rgba(11, 61, 145, 0.16);
    
    --font-sans: 'Nunito', sans-serif;
    --font-serif: 'Lora', serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-sans);
    color: var(--color-text-main);
    line-height: 1.6;
    background-color: var(--color-white);
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

ul {
    list-style: none;
}

/* Container matching NALSAR wide max-width */
.container {
    max-width: 1440px; 
    margin: 0 auto;
    padding: 0 24px;
}

/* Header */
.site-header {
    background-color: var(--color-white);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header-container {
    max-width: 1440px;
    margin: 0 auto;
}

.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 24px;
    border-bottom: 1px solid #e2e8f0;
}

.logo-link {
    display: block;
}

.logo-text {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1.2;
}

.top-nav-wrapper {
    display: none;
}

@media (min-width: 1024px) {
    .top-nav-wrapper {
        display: block;
    }
}

.top-menu ul {
    display: flex;
    gap: 24px;
}

.top-menu a {
    font-size: 0.95rem;
    color: var(--color-text-light);
    font-weight: 600;
}

.top-menu a:hover {
    color: var(--color-accent);
}

.mobile-menu-btn {
    display: block;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-primary);
}

@media (min-width: 1024px) {
    .mobile-menu-btn {
        display: none;
    }
}

.header-bottom {
    display: none;
    padding: 16px 24px;
    justify-content: center;
}

@media (min-width: 1024px) {
    .header-bottom {
        display: flex;
    }
}

.main-menu ul {
    display: flex;
    gap: 48px;
}

.main-menu > ul > li > a {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--color-text-main);
}

.main-menu > ul > li > a:hover {
    color: var(--color-accent);
}

.has-dropdown {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: -10px;
}

.dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--color-white);
    min-width: 260px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    padding: 12px 0;
    z-index: 100;
    border-top: 3px solid var(--color-primary);
}

.has-dropdown:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown a {
    display: block;
    padding: 12px 24px;
    color: var(--color-text-main);
    font-weight: 500;
}

.dropdown a:hover {
    background: var(--color-bg-light);
    color: var(--color-accent);
    padding-left: 28px; /* little slide effect */
}

/* Mobile Nav */
.mobile-nav {
    display: none;
    background: var(--color-bg-light);
    padding: 24px;
    border-bottom: 1px solid #e2e8f0;
}

.mobile-nav.open {
    display: block;
}

.mobile-main-links {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-primary);
}

.mobile-top-links {
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-size: 1rem;
    color: var(--color-text-light);
    font-weight: 600;
}

/* Hero Section */
.hero {
    position: relative;
    width: 100%;
    height: 650px; /* matches NALSAR full large video box */
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0f172a;
    background-size: cover;
    background-position: center;
}

.hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 1440px;
    margin: 0 auto;
    padding-bottom: 48px;
    padding-left: 24px;
    display: flex;
    align-items: flex-end;
    height: 100%;
    z-index: 10;
}

.hero-text-box {
    background: rgba(30, 58, 95, 0.9); /* Delft Blue with opacity exactly like NALSAR */
    color: var(--color-white);
    padding: 48px 40px;
    max-width: 600px; 
}

.hero-text-box h1 {
    font-size: 2.75rem;
    font-weight: 500;
    margin-bottom: 24px;
    line-height: 1.2;
    font-family: var(--font-sans);
}

.hero-text-box p {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    line-height: 1.7;
    color: #f1f5f9;
}

/* Admissions / Carousel */
.admissions-section {
    background: var(--color-white);
    padding: 80px 0;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
}

.section-header h2 {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--color-primary);
}

.carousel-controls {
    display: flex;
    gap: 12px;
}

.carousel-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid #cbd5e1;
    background: var(--color-white);
    cursor: pointer;
    font-size: 1.2rem;
    color: var(--color-primary);
    transition: all 0.2s;
}

.carousel-btn:hover {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

.carousel-wrapper {
    overflow: hidden;
    padding: 10px 0;
}

.carousel-track {
    display: flex;
    gap: 24px;
    transition: transform 0.5s ease-in-out;
}

.carousel-card {
    min-width: 320px;
    width: calc(25% - 18px);
    background: var(--color-bg-light); /* Seasalt */
    padding: 32px 24px;
    border-radius: 4px;
    border-top: 4px solid var(--color-accent);
}

.carousel-card h3 {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.5;
}

.carousel-card a:hover {
    color: var(--color-accent);
}

/* Latest News */
.latest-news {
    padding: 96px 0;
}
.bg-gray {
    background-color: var(--color-bg-light);
}

.section-header-vertical {
    margin-bottom: 48px;
}

.section-header-vertical h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--color-primary);
}

.section-header-vertical p {
    font-size: 1.25rem;
    color: var(--color-text-light);
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.news-card {
    background: var(--color-white);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.news-card:hover {
    transform: translateY(-5px);
}

.news-img {
    height: 220px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-placeholder {
    font-size: 4rem;
}

.news-content {
    padding: 24px;
}

.news-date {
    font-size: 0.875rem;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    display: block;
    margin-bottom: 12px;
}

.news-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.4;
}

.news-content h3 a:hover {
    color: var(--color-accent);
}

.news-content p {
    color: var(--color-text-light);
    font-size: 1rem;
}

/* Upcoming Events */
.upcoming-events {
    padding: 96px 0;
    background: var(--color-white);
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.event-card {
    display: flex;
    border: 1px solid #e2e8f0;
    background: var(--color-white);
    transition: box-shadow 0.3s;
    border-radius: 8px;
    overflow: hidden;
}

.event-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
}

.event-date-box {
    background: var(--color-bg-light);
    padding: 24px;
    text-align: center;
    min-width: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #e2e8f0;
}

.event-day {
    font-size: 3rem;
}

.event-details {
    padding: 32px 24px;
}

.event-details h3 {
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.event-details h3 a:hover {
    color: var(--color-accent);
}

.event-meta {
    font-size: 1rem;
    color: var(--color-text-light);
}

/* Footer */
.site-footer {
    background: #f9fafb;
    color: #4b5563;
    padding: 60px 0 20px;
    border-top: 1px solid #e5e7eb;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1.5fr 1fr 2fr;
    gap: 30px;
    margin-bottom: 40px;
}

.footer-col-logo {
    text-align: center;
}

.footer-links ul li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #4b5563;
    font-size: 0.95rem;
    font-weight: 500;
}

.footer-links a:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

.footer-contact .contact-item {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    font-size: 0.95rem;
}

.footer-contact .icon {
    color: #b91c1c;
    font-size: 1.2rem;
}

.social-links-container p {
    font-size: 0.95rem;
    margin-bottom: 10px;
}

.social-icons {
    display: flex;
    gap: 15px;
    font-size: 1.2rem;
    color: #b91c1c;
}

.social-icons a {
    color: #b91c1c;
    font-weight: bold;
}

.social-icons a:hover {
    color: var(--color-primary);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
    color: #6b7280;
    font-size: 0.85rem;
}

.credits {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
}

/* Modal for Login */
.modal {
    display: none;
    position: fixed;
    z-index: 2000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.7);
    align-items: center;
    justify-content: center;
}
.modal.active { display: flex; }
.modal-content {
    background-color: #fff;
    padding: 40px;
    border-radius: 8px;
    width: 90%;
    max-width: 450px;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
}
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}
.modal-header h2 { margin: 0; color: var(--color-primary); font-size: 1.75rem; }
.modal-close { background: none; border: none; font-size: 2rem; cursor: pointer; color: #94a3b8; line-height: 1; }

/* Responsive */
@media (max-width: 1024px) {
    .news-grid { grid-template-columns: repeat(2, 1fr); }
    .events-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .carousel-card { min-width: 280px; }
    .hero-text-box { margin: 0 24px; padding: 32px 24px; }
    .hero-text-box h1 { font-size: 2.25rem; }
    .news-grid, .footer-grid { grid-template-columns: 1fr; }
}

/* Social Icons */
.social-icons {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}
.social-icons a {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    background: var(--color-white);
    border: 1px solid #dbe4ee;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
    transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.social-icons svg {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px;
    max-height: 17px;
    flex: 0 0 17px;
    display: block;
}
.social-icons a:hover,
.social-icons a:focus-visible {
    color: var(--color-white);
    background: var(--color-accent);
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(185, 28, 28, 0.22);
}
.social-icons a:focus-visible {
    outline: 3px solid rgba(185, 28, 28, 0.2);
    outline-offset: 2px;
}

/* Official website enhancements: scoped additions only */
.news-img{height:190px;overflow:hidden;background:#dbe4ee}.news-img img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.news-card:hover .news-img img{transform:scale(1.025)}
.official-label{display:block;margin-bottom:8px;color:var(--color-accent);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.official-overview{padding:72px 0;background:#fff;border-bottom:1px solid #e2e8f0}.official-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.official-overview-grid article{padding:28px;border-top:4px solid var(--color-accent);background:#f8fafc;box-shadow:0 8px 22px rgba(15,23,42,.07)}.official-overview-grid h3{margin:0 0 10px;color:var(--color-primary);font-family:var(--font-serif);font-size:1.45rem}.official-quick-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.official-quick-links a{padding:11px 18px;border:1px solid #cbd5e1;border-radius:4px;color:var(--color-primary);font-weight:800;background:#fff}.official-quick-links a:hover{color:#fff;background:var(--color-primary)}
.case-support-contact{padding:72px 0;background:#f7f9fc;border-bottom:1px solid #e2e8f0}.official-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:34px;align-items:start}.support-contact-card,.case-support-form-card{overflow:hidden;background:#fff;border:1px solid #dbe4ee;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.08)}.support-contact-card>img{width:100%;height:290px;display:block;object-fit:cover}.support-contact-body,.case-support-form-card{padding:32px}.support-contact-body h2,.case-support-form-card h2{margin:0 0 12px;color:var(--color-primary);font-family:var(--font-serif);font-size:1.9rem}.support-detail{padding:13px 15px;margin-top:10px;border-left:4px solid var(--color-accent);background:#f8fafc}.support-detail strong,.support-detail span,.support-detail a{display:block}.support-detail span,.support-detail a{margin-top:3px;color:#475569}.support-detail a{color:var(--color-primary);font-weight:800}.support-quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.quick-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px;border-radius:4px;background:var(--color-primary);color:#fff!important;font-weight:800;text-align:center}.quick-action.disabled{background:#94a3b8;cursor:not-allowed}.support-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.support-form-grid .form-group{margin:0}.support-form-grid .full-width{grid-column:1/-1}.support-form-grid label{display:block;margin-bottom:6px;color:#1e293b;font-size:.9rem;font-weight:700}.support-form-grid input,.support-form-grid select,.support-form-grid textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#0f172a;font:inherit}.support-form-grid input:focus,.support-form-grid select:focus,.support-form-grid textarea:focus{border-color:var(--color-primary);outline:3px solid rgba(30,58,95,.12)}.support-form-grid small{display:block;margin-top:5px;color:#64748b;line-height:1.35}.support-consent{display:flex;gap:9px;align-items:flex-start;margin:18px 0;font-size:.9rem}.support-consent input{margin-top:4px}.support-submit{border:0;border-radius:4px;padding:13px 22px;background:var(--color-accent);color:#fff;font:inherit;font-weight:800;cursor:pointer}.support-submit:disabled{opacity:.65;cursor:wait}.case-support-form-card .form-message{margin-top:14px}
@media(max-width:900px){.official-contact-grid,.official-overview-grid{grid-template-columns:1fr}}@media(max-width:600px){.official-overview,.case-support-contact{padding:48px 0}.support-contact-body,.case-support-form-card{padding:23px}.support-contact-card>img{height:220px}.support-form-grid{grid-template-columns:1fr}.support-quick-actions{grid-template-columns:1fr}}
/* Contact submission enhancements */
.contact-form-box textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:4px;font:inherit;resize:vertical}.contact-form-box textarea:focus{border-color:var(--color-primary);outline:3px solid rgba(30,58,95,.12)}.contact-form-box .submit-btn:disabled{opacity:.65;cursor:wait}.contact-form-box .form-message{margin-top:14px}
/* Premium official theme v1 */
html{scroll-behavior:smooth}body{background:#f8fafc;color:#475569;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body::selection{background:rgba(37,99,235,.2);color:#0b3d91}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}.container{max-width:1380px;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid rgba(229,231,235,.9);box-shadow:0 8px 24px rgba(15,23,42,.08);backdrop-filter:blur(14px)}.header-top{min-height:106px;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px);border-bottom-color:#e5e7eb}.logo-link img{filter:drop-shadow(0 4px 8px rgba(15,23,42,.08))}.logo-text{color:#0b3d91!important;letter-spacing:.02em!important}.header-bottom{padding:14px 24px}.main-menu ul{gap:clamp(24px,3vw,48px)}.main-menu>ul>li>a{position:relative;color:#334155;font-size:1.05rem;letter-spacing:.01em}.main-menu>ul>li>a::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:3px;border-radius:3px;background:linear-gradient(90deg,#2563eb,#10b981);transition:right .25s ease}.main-menu>ul>li>a:hover{color:#0b3d91}.main-menu>ul>li>a:hover::after{right:0}.top-menu a:hover{color:#2563eb}.mobile-nav{background:#fff;box-shadow:0 18px 30px rgba(15,23,42,.12)}
.hero{isolation:isolate}.hero-bg::after{background:linear-gradient(90deg,rgba(5,24,55,.9) 0%,rgba(11,61,145,.62) 48%,rgba(15,23,42,.24) 100%)}.hero-text-box{background:linear-gradient(135deg,rgba(11,61,145,.96),rgba(30,58,138,.9));border:1px solid rgba(255,255,255,.2);border-left:5px solid #10b981;border-radius:16px;padding:clamp(32px,4vw,50px);box-shadow:0 24px 58px rgba(2,6,23,.34);backdrop-filter:blur(8px);animation:officialFadeUp .65s ease both}.hero-text-box h1{font-size:clamp(2.25rem,4vw,3rem);font-weight:800;letter-spacing:-.025em}.hero-text-box p{font-family:var(--font-sans);font-size:clamp(1.05rem,2vw,1.22rem);color:#eef6ff}.hero-text-box a{border-radius:10px!important;box-shadow:0 8px 18px rgba(2,6,23,.2)}
.section-header h2,.section-header-vertical h2{color:#1e3a8a;font-size:clamp(2rem,3vw,2.55rem);font-weight:800;letter-spacing:-.02em}.section-header-vertical{position:relative;padding-left:20px}.section-header-vertical::before{content:"";position:absolute;left:0;top:5px;width:5px;height:52px;border-radius:6px;background:linear-gradient(#2563eb,#10b981)}.section-header-vertical p{font-size:1.08rem}.admissions-section,.latest-news,.upcoming-events,.official-overview,.case-support-contact{padding-top:clamp(64px,8vw,96px);padding-bottom:clamp(64px,8vw,96px)}
.carousel-card,.news-card,.event-card,.official-overview-grid article,.support-contact-card,.case-support-form-card,.contact-form-box,.info-card,.modal-content{border:1px solid #e5e7eb;border-radius:16px;box-shadow:var(--shadow-card);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.carousel-card{background:#fff;border-top:4px solid #10b981}.carousel-card:hover,.news-card:hover,.event-card:hover,.official-overview-grid article:hover,.info-card:hover{transform:translateY(-7px);border-color:rgba(37,99,235,.28);box-shadow:var(--shadow-card-hover)}.news-card{isolation:isolate}.news-img{height:210px;background:#e8eef7}.news-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(11,61,145,.16));pointer-events:none}.news-img{position:relative}.news-content{padding:28px}.news-date,.official-label{color:#047857}.news-content h3,.event-details h3{color:#1e3a8a;font-size:1.3rem}.news-content h3 a:hover,.event-details h3 a:hover{color:#2563eb}.event-date-box{background:linear-gradient(145deg,#eff6ff,#ecfdf5);border-right-color:#e5e7eb;color:#0b3d91}.event-card{overflow:hidden}.official-overview-grid article{border-top:4px solid #10b981;background:#fff}.official-overview-grid h3{color:#1e3a8a}.official-quick-links a,.quick-action,.case-submit-button,.support-submit,.submit-btn,.primary-action,.admin-type-card,.record-edit{border-radius:10px!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.official-quick-links a,.quick-action,.case-submit-button,.support-submit,.submit-btn,.primary-action{background:linear-gradient(135deg,#0b3d91,#2563eb);color:#fff!important;border:0;box-shadow:0 8px 18px rgba(37,99,235,.2)}.official-quick-links a:hover,.quick-action:hover,.case-submit-button:hover,.support-submit:hover,.submit-btn:hover,.primary-action:hover{background:linear-gradient(135deg,#2563eb,#10b981);transform:translateY(-2px);box-shadow:0 12px 24px rgba(37,99,235,.28)}.quick-action.disabled{background:#94a3b8;box-shadow:none;transform:none}.carousel-btn{border-color:#dbe4ee;box-shadow:0 5px 14px rgba(15,23,42,.07)}.carousel-btn:hover{background:#2563eb;border-color:#2563eb}
input,select,textarea{border-color:#d7dee8!important;border-radius:10px!important;background:#fff!important;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:#2563eb!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;outline:0!important}.form-message.success{border-color:#10b981!important;background:#ecfdf5!important;color:#047857!important}.form-message.error{border-color:#ef4444!important;background:#fef2f2!important;color:#b91c1c!important}.support-detail{border-left-color:#10b981;background:#f8fafc;border-radius:0 10px 10px 0}.support-contact-card>img{height:310px}.case-support-form-card,.support-contact-card{background:#fff}.info-card{background:#fff!important}
.site-footer{position:relative;background:linear-gradient(145deg,#071d43,#0b3d91);color:#dbeafe;padding-top:72px;border-top:4px solid #10b981}.site-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 10%,rgba(37,99,235,.22),transparent 35%);pointer-events:none}.site-footer>.container{position:relative}.site-footer .footer-col-logo div{color:#fff!important}.site-footer .footer-links a,.site-footer .footer-contact,.site-footer .social-links-container p{color:#dbeafe}.site-footer .footer-links a:hover{color:#6ee7b7}.site-footer .footer-bottom{border-top-color:rgba(219,234,254,.22);color:#bfdbfe}.social-icons a{color:#0b3d91;background:#fff;border-color:rgba(255,255,255,.7);box-shadow:0 7px 18px rgba(2,6,23,.22)}.social-icons a:hover{background:#10b981;color:#fff}.footer-contact .icon{color:#6ee7b7}
@keyframes officialFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.official-contact-grid{grid-template-columns:1fr}.header-top{min-height:92px}}@media(max-width:768px){.hero[style*="height"]{min-height:0}.hero-content{padding:24px 0}.hero-text-box{margin:0 20px;padding:28px 24px}.hero-text-box h1{font-size:2.1rem}.section-header-vertical{padding-left:16px}.news-img{height:220px}.site-footer{padding-top:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Hero content box color refinement v2 */
.hero-text-box{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.92));color:#0b3d91;border-color:rgba(255,255,255,.75);border-left-color:#10b981;box-shadow:0 24px 58px rgba(2,6,23,.26)}
.hero-text-box h1{color:#0b3d91}.hero-text-box p{color:#475569}.hero-text-box a[style*="transparent"]{background:#fff!important;border-color:#2563eb!important;color:#0b3d91!important}.hero-text-box a[style*="transparent"]:hover{background:#eff6ff!important;color:#1e3a8a!important}
/* Full hero image visibility v3 */
.hero-bg{background-size:contain!important;background-position:center center!important;background-repeat:no-repeat!important;background-color:#071d43!important}
/* Full-width long hero presentation v4 */
.hero{height:650px!important;min-height:650px!important;width:100%!important}
.hero-bg{background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important}
@media(max-width:768px){.hero{height:600px!important;min-height:600px!important}.hero-content{align-items:flex-end}.hero-text-box{max-width:calc(100% - 40px)!important}}
/* Balanced hero panel and highlighted sections v5 */
.hero-content{align-items:center!important;padding-top:32px!important;padding-bottom:32px!important}.hero-text-box{position:relative;max-width:min(620px,calc(100% - 48px))!important;margin:0!important;border:1px solid rgba(255,255,255,.9)!important;border-left:6px solid #10b981!important;box-shadow:0 28px 64px rgba(2,6,23,.3),0 0 0 1px rgba(37,99,235,.08)!important}.hero-text-box::before{content:"";position:absolute;left:28px;top:-5px;width:72px;height:5px;border-radius:8px;background:linear-gradient(90deg,#2563eb,#10b981)}
main>section:not(.hero){position:relative;isolation:isolate;border-top:1px solid rgba(226,232,240,.85);border-bottom:1px solid rgba(226,232,240,.7)}main>section:not(.hero):nth-of-type(even){background:linear-gradient(145deg,#f8fafc 0%,#eff6ff 55%,#ecfdf5 100%)}main>section:not(.hero):nth-of-type(odd){background:linear-gradient(145deg,#ffffff 0%,#f8fafc 100%)}main>section:not(.hero)::before{content:"";position:absolute;z-index:-1;right:4%;top:12%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.07),transparent 68%);pointer-events:none}.section-header,.section-header-vertical{position:relative}.section-header-vertical{padding-top:10px;padding-bottom:10px}.section-header-vertical h2,.section-header h2{position:relative;display:inline-block;text-shadow:0 1px 0 #fff}.section-header-vertical h2::after,.section-header h2::after{content:"";display:block;width:74px;height:4px;margin-top:12px;border-radius:5px;background:linear-gradient(90deg,#2563eb,#10b981)}.news-card,.event-card,.carousel-card,.official-overview-grid article,.support-contact-card,.case-support-form-card,.contact-form-box,.info-card{box-shadow:0 14px 34px rgba(15,23,42,.1)!important;border-color:rgba(203,213,225,.85)!important}.news-card:hover,.event-card:hover,.carousel-card:hover,.official-overview-grid article:hover,.info-card:hover{box-shadow:0 24px 50px rgba(11,61,145,.18)!important}.news-card,.official-overview-grid article{border-bottom:4px solid rgba(16,185,129,.75)!important}.event-card{border-left:4px solid rgba(37,99,235,.8)!important}.carousel-card{border-top-color:#10b981!important}.official-quick-links{padding:20px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(203,213,225,.75);box-shadow:0 12px 28px rgba(15,23,42,.07)}
@media(max-width:768px){.hero-content{align-items:flex-end!important;padding:24px 0!important}.hero-text-box{margin:0 20px!important;max-width:calc(100% - 40px)!important}.hero-text-box::before{left:22px}main>section:not(.hero)::before{width:140px;height:140px}}
/* Balanced whole-page emphasis v6 */
.hero-bg::after{background:linear-gradient(90deg,rgba(5,24,55,.56) 0%,rgba(11,61,145,.24) 48%,rgba(15,23,42,.06) 100%)!important}.hero-text-box{max-width:min(540px,calc(100% - 48px))!important;padding:36px 34px!important;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(248,250,252,.72))!important;backdrop-filter:blur(7px) saturate(1.08)!important;box-shadow:0 18px 42px rgba(2,6,23,.22)!important}.hero-text-box h1{font-size:clamp(2.15rem,3.5vw,2.75rem)!important;margin-bottom:16px!important}.hero-text-box p{font-size:1.08rem!important;line-height:1.6!important}
main>section:not(.hero){box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}main>section:not(.hero)>.container{position:relative;z-index:1}.admissions-section,.latest-news,.upcoming-events,.official-overview,.case-support-contact{background-image:linear-gradient(135deg,rgba(37,99,235,.025),rgba(16,185,129,.035))!important}.section-header-vertical,.section-header{padding:18px 20px!important;border-radius:14px;background:rgba(255,255,255,.76);border:1px solid rgba(203,213,225,.72);box-shadow:0 10px 28px rgba(15,23,42,.07)}.section-header-vertical::before{top:18px!important;left:0!important;height:58px!important}.news-grid,.events-grid,.carousel-wrapper,.official-overview-grid,.official-contact-grid{position:relative;padding-top:8px}.news-card,.event-card,.carousel-card,.official-overview-grid article,.support-contact-card,.case-support-form-card,.contact-form-box,.info-card{background:rgba(255,255,255,.96)!important;box-shadow:0 16px 38px rgba(11,61,145,.12)!important}.news-card:hover,.event-card:hover,.carousel-card:hover,.official-overview-grid article:hover,.info-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 28px 58px rgba(11,61,145,.2)!important}.site-footer{box-shadow:0 -14px 40px rgba(7,29,67,.16)}
@media(max-width:768px){.hero-text-box{padding:26px 24px!important;background:rgba(255,255,255,.84)!important}.hero-text-box h1{font-size:2rem!important}.section-header-vertical,.section-header{padding:16px!important}}
/* CONTENT IMAGE REPLACEMENTS - preserves existing card and page structure */
.event-date-box:has(.content-card-image) {
    padding: 0;
    overflow: hidden;
    width: 150px;
    min-width: 150px;
}
.event-date-box .content-card-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 120px;
    object-fit: cover;
}
.news-img img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
}
.portal-access-image {
    display: block;
    width: min(100%, 440px);
    height: 210px;
    object-fit: cover;
    border-radius: 12px;
    margin: 0 auto 18px;
}
@media (max-width: 640px) {
    .event-date-box:has(.content-card-image) {
        width: 120px;
        min-width: 120px;
    }
    .portal-access-image { height: 170px; }
}
/* HERO PANEL BELOW IMAGE V8 */
.hero {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #ffffff;
}
.hero-bg {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 650px !important;
    min-height: 650px !important;
    flex: 0 0 650px;
    order: 1;
}
.hero-bg::after {
    background: linear-gradient(180deg, rgba(5,24,55,.08), rgba(5,24,55,.16)) !important;
}
.hero-content {
    position: relative !important;
    inset: auto !important;
    order: 2;
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 24px 40px !important;
    align-items: stretch !important;
}
.hero-text-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    border-radius: 0 0 16px 16px !important;
    background: #ffffff !important;
    backdrop-filter: none !important;
    box-shadow: 0 18px 42px rgba(11,61,145,.12) !important;
}
.hero-text-box::before {
    top: 0 !important;
}
img[src="logo-transparent.png"] {
    display: block;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    object-fit: contain;
}
.logo-link img[src="logo-transparent.png"] {
    width: 100px !important;
    height: 100px !important;
}
.footer-col-logo img[src="logo-transparent.png"] {
    width: 140px !important;
    height: 140px !important;
}
@media (max-width: 768px) {
    .hero-bg {
        height: 430px !important;
        min-height: 430px !important;
        flex-basis: 430px;
    }
    .hero-content {
        padding: 0 16px 28px !important;
    }
    .hero-text-box {
        margin: 0 !important;
        max-width: 100% !important;
        border-radius: 0 0 14px 14px !important;
    }
    .logo-link img[src="logo-transparent.png"] {
        width: 82px !important;
        height: 82px !important;
    }
}



.contact-hero-button {
    display: inline-block;
    margin-top: 22px;
    padding: 11px 26px;
    border: 1px solid #d99618;
    border-radius: 3px !important;
    background: #d99618;
    color: #ffffff !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.contact-hero-button:hover,
.contact-hero-button:focus-visible {
    background: #ffffff;
    border-color: #ffffff;
    color: #062856 !important;
}
#contactSupportForm {
    scroll-margin-top: 150px;
}

/* OVERLAP FIX AND BLUE IMAGE TREATMENT V9 */
.hero-content {
    padding-top: 28px !important;
}
.hero-text-box {
    border-radius: 16px !important;
}
.hero-text-box::before {
    top: -5px !important;
}
.hero-bg::after {
    background: linear-gradient(135deg, rgba(11,61,145,.28), rgba(37,99,235,.12) 54%, rgba(7,29,67,.22)) !important;
}
.news-img::after {
    background: linear-gradient(135deg, rgba(11,61,145,.20), rgba(37,99,235,.05) 58%, rgba(7,29,67,.16)) !important;
    mix-blend-mode: multiply;
}
.event-date-box:has(.content-card-image)::after,
.portal-access-image {
    box-shadow: inset 0 0 0 1px rgba(37,99,235,.16);
}
.service-matters {
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid #dbeafe;
}
.service-matters-title {
    display: block;
    margin-bottom: 10px;
    color: #0b3d91;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.service-matter-list {
    margin: 0;
    padding-left: 20px;
    color: #475569;
}
.service-matter-list li {
    margin-bottom: 8px;
    padding-left: 3px;
    line-height: 1.48;
}
.service-matter-list li::marker {
    color: #2563eb;
}
.latest-news .news-grid {
    align-items: stretch;
}
.latest-news .news-card {
    height: 100%;
}
@media (max-width: 768px) {
    .hero-content {
        padding-top: 18px !important;
    }
    .hero-text-box {
        border-radius: 14px !important;
    }
}

/* ALTERNATING LEGAL SERVICES LAYOUT V10 */
body:has(.service-matters) .latest-news .news-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
body:has(.service-matters) .latest-news .news-card {
    display: grid;
    grid-template-columns: minmax(320px, 42%) minmax(0, 1fr);
    min-height: 430px;
    overflow: hidden;
}
body:has(.service-matters) .latest-news .news-card:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 42%);
}
body:has(.service-matters) .latest-news .news-card:nth-child(even) .news-img {
    grid-column: 2;
    grid-row: 1;
}
body:has(.service-matters) .latest-news .news-card:nth-child(even) .news-content {
    grid-column: 1;
    grid-row: 1;
}
body:has(.service-matters) .latest-news .news-img {
    width: 100%;
    height: 100%;
    min-height: 430px;
}
body:has(.service-matters) .latest-news .news-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body:has(.service-matters) .latest-news .news-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(30px, 4vw, 54px);
}
body:has(.service-matters) .latest-news .news-card:hover {
    transform: translateY(-6px);
}
@media (max-width: 800px) {
    body:has(.service-matters) .latest-news .news-card,
    body:has(.service-matters) .latest-news .news-card:nth-child(even) {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }
    body:has(.service-matters) .latest-news .news-card:nth-child(even) .news-img,
    body:has(.service-matters) .latest-news .news-card:nth-child(even) .news-content {
        grid-column: auto;
        grid-row: auto;
    }
    body:has(.service-matters) .latest-news .news-img {
        height: 260px;
        min-height: 260px;
    }
    body:has(.service-matters) .latest-news .news-content {
        padding: 28px 24px;
    }
}
/* HOME BENEFITS AND MANUAL PROCESS V12 */
.upcoming-events .events-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.upcoming-events .event-card{display:flex;flex-direction:column;min-width:0}
.upcoming-events .event-date-box:has(.content-card-image){width:100%;min-width:100%;height:190px;min-height:190px;border-right:0;border-bottom:1px solid #dbe4ee}
.upcoming-events .event-date-box .content-card-image{width:100%;height:190px;min-height:190px;object-fit:cover}
.upcoming-events .event-details{flex:1;padding:24px}
.admissions-section .carousel-controls{display:none!important}
.admissions-section .carousel-wrapper{overflow-x:auto;overflow-y:visible;padding:8px 4px 20px;scrollbar-width:thin;scrollbar-color:#2563eb #dbeafe;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.admissions-section .carousel-track{display:flex;width:max-content;transform:none!important;transition:none!important;gap:18px}
.admissions-section .process-card{flex:0 0 min(360px,calc(100vw - 64px));width:min(360px,calc(100vw - 64px));min-height:0;padding:0;scroll-snap-align:start;overflow:hidden}
.process-toggle{width:100%;min-height:112px;padding:22px;border:0;background:#fff;color:#1e3a8a;text-align:left;font:inherit;font-weight:800;line-height:1.4;cursor:pointer}
.process-toggle span{display:block;margin-bottom:8px;color:#047857;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.process-toggle::after{content:"View details";display:block;margin-top:12px;color:#2563eb;font-size:.78rem;font-weight:700}
.process-toggle[aria-expanded="true"]::after{content:"Hide details"}
.process-detail{padding:0 22px 22px;color:#475569;border-top:1px solid #dbeafe}
.process-detail p{margin:18px 0 12px;line-height:1.55}.process-detail ul{margin:0;padding-left:20px}.process-detail li{margin-bottom:7px}
.process-card.is-open{border-color:rgba(37,99,235,.45)!important;box-shadow:0 20px 44px rgba(11,61,145,.18)!important}
@media(max-width:900px){.upcoming-events .events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.upcoming-events .events-grid{grid-template-columns:1fr}.upcoming-events .event-date-box:has(.content-card-image),.upcoming-events .event-date-box .content-card-image{height:220px;min-height:220px}}
/* SYSTEMATIC PROCESS IMAGES V13 */
.process-card-image {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-bottom: 1px solid #dbeafe;
}
.process-card .process-toggle {
    min-height: 112px;
}
.process-card.is-open .process-card-image {
    filter: saturate(.92) contrast(1.02);
}
@media (max-width: 600px) {
    .process-card-image {
        height: 175px;
    }
}
/* OFFICIAL CONTENT BULLETS V15 */
.service-matter-list,
.process-detail ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}
.service-matter-list li,
.process-detail li {
    position: relative;
    padding-left: 25px;
}
.service-matter-list li::before,
.process-detail li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: .62em;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2563eb 0 55%, #10b981 55% 100%);
    box-shadow: 0 0 0 3px rgba(37,99,235,.10);
}
.service-matter-list li:last-child,
.process-detail li:last-child {
    margin-bottom: 0;
}
/* OFFICE LOCATION MAP V16 */
.office-location-map{overflow:hidden;border:1px solid #dbe4ee;border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(11,61,145,.10)}
.office-location-map iframe{display:block;width:100%;min-height:320px}
.map-direction-link{display:block;padding:14px 18px;color:#fff;background:linear-gradient(135deg,#0b3d91,#2563eb);font-weight:700;text-align:center}
.map-direction-link:hover{color:#fff;background:linear-gradient(135deg,#2563eb,#10b981)}
@media(max-width:600px){.office-location-map iframe{min-height:260px;height:260px}}
/* ALTERNATING CAREERS LAYOUT V17 */
body:has(.career-matters) .upcoming-events .events-grid{display:grid;grid-template-columns:1fr;gap:32px}
body:has(.career-matters) .upcoming-events .event-card{display:grid;grid-template-columns:minmax(320px,42%) minmax(0,1fr);min-height:430px;overflow:hidden}
body:has(.career-matters) .upcoming-events .event-card:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(320px,42%)}
body:has(.career-matters) .upcoming-events .event-card:nth-child(even) .event-date-box{grid-column:2;grid-row:1}
body:has(.career-matters) .upcoming-events .event-card:nth-child(even) .event-details{grid-column:1;grid-row:1}
body:has(.career-matters) .upcoming-events .event-date-box:has(.content-card-image){width:100%;min-width:100%;height:100%;min-height:430px;border-bottom:0}
body:has(.career-matters) .upcoming-events .event-date-box .content-card-image{width:100%;height:100%;min-height:430px;object-fit:cover}
body:has(.career-matters) .upcoming-events .event-details{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,54px)}
@media(max-width:800px){
 body:has(.career-matters) .upcoming-events .event-card,body:has(.career-matters) .upcoming-events .event-card:nth-child(even){display:flex;flex-direction:column;min-height:0}
 body:has(.career-matters) .upcoming-events .event-card:nth-child(even) .event-date-box,body:has(.career-matters) .upcoming-events .event-card:nth-child(even) .event-details{grid-column:auto;grid-row:auto}
 body:has(.career-matters) .upcoming-events .event-date-box:has(.content-card-image),body:has(.career-matters) .upcoming-events .event-date-box .content-card-image{height:260px;min-height:260px}
 body:has(.career-matters) .upcoming-events .event-details{padding:28px 24px}
}
/* COMPLETE NON-FIXED MOBILE MENU V18 */
.site-header {
    position: relative !important;
    top: auto !important;
}
.mobile-nav {
    position: relative !important;
    top: auto !important;
    z-index: 900;
    max-height: none;
    overflow: visible;
}
.mobile-nav.open {
    display: block !important;
}
.mobile-main-links {
    margin: 0;
    gap: 0;
}
.mobile-main-links li {
    border-bottom: 1px solid #e2e8f0;
}
.mobile-main-links li:last-child {
    border-bottom: 0;
}
.mobile-main-links a {
    display: block;
    padding: 14px 8px;
    color: #1e3a8a;
}
.mobile-main-links a:hover,
.mobile-main-links a:focus-visible {
    color: #047857;
    background: #eff6ff;
}
.mobile-menu-btn {
    flex: 0 0 auto;
    padding: 8px;
}
@media (min-width: 1024px) {
    .mobile-nav,
    .mobile-nav.open {
        display: none !important;
    }
}
@media (max-width: 1023px) {
    .mobile-nav {
        width: 100%;
        padding: 12px clamp(20px, 4vw, 40px) 18px;
    }
}
/* SECURE PORTAL LOGIN V19 */
.client-login-message{display:none;margin-top:16px;padding:12px 14px;border:1px solid transparent;border-radius:10px;line-height:1.45}
.client-login-message.success,.client-login-message.error{display:block}
#clientPortalLoginButton:disabled{cursor:wait;opacity:.78}
/* IDENTICAL LOGO ARTWORK RENDERING V20 */
.logo-link img[src="logo-transparent.png"],
.footer-col-logo img[src="logo-transparent.png"],
.admin-login-card img[src="logo-transparent.png"] {
    width: 100px !important;
    height: 100px !important;
    max-width: 100px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    box-shadow: none !important;
}
/* FULL WIDTH WITHOUT OUTER SIDE GAPS V21 */
html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}
.site-header,
main,
.site-footer,
main > section {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.header-container,
main > section > .container,
.site-footer > .container {
    width: 100%;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.footer-col-logo img[src="logo-transparent.png"] {
    width: 100px !important;
    height: 100px !important;
    max-width: 100px !important;
    background: transparent !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}
/* FOOTER HEADER LOGO MATCH V22 */
.footer-col-logo .footer-logo-image {
    display: block !important;
    width: 100px !important;
    height: 100px !important;
    max-width: 100px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}
/* FOOTER LOGO WHITE BACKGROUND V23 */
.footer-col-logo .footer-logo-image {
    background-color: #ffffff !important;
    border-radius: 50% !important;
}

/* HERO TEXT OVER IMAGE WITH TRANSPARENT BACKGROUND V24 */
.hero {
    position: relative !important;
    display: block !important;
    height: 650px !important;
    min-height: 650px !important;
    overflow: hidden !important;
    background: #071d43;
}
.hero-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
}
.hero-bg::after {
    background: linear-gradient(90deg, rgba(5, 24, 55, .68) 0%, rgba(11, 61, 145, .34) 48%, rgba(15, 23, 42, .08) 100%) !important;
}
.hero-content {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 48px 24px !important;
    display: flex !important;
    align-items: center !important;
}
.hero-text-box {
    width: auto !important;
    max-width: min(800px, calc(100% - 48px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-white) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.hero-text-box::before {
    display: none !important;
}
.hero-text-box h1,
.hero-text-box p {
    color: var(--color-white) !important;
    text-shadow: 0 2px 12px rgba(2, 6, 23, .65);
}
.hero-text-box a[style*="transparent"] {
    background: transparent !important;
    border-color: var(--color-white) !important;
    color: var(--color-white) !important;
}
.hero + section {
    padding-top: 24px !important;
}
@media (max-width: 768px) {
    .hero {
        height: 600px !important;
        min-height: 600px !important;
    }
    .hero-content {
        padding: 32px 20px !important;
        align-items: center !important;
    }
    .hero-text-box {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }
}

/* FINAL MOBILE HEADER AND NAVIGATION FIX V27 */
@media (max-width: 1023px) {
    .site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
    }
    .header-top {
        min-height: 0 !important;
        padding: 8px 12px !important;
    }
    .logo-wrapper,
    .logo-link {
        min-width: 0;
    }
    .logo-link {
        gap: 8px !important;
    }
    .logo-link img[src="logo-transparent.png"] {
        width: clamp(58px, 17vw, 72px) !important;
        height: clamp(58px, 17vw, 72px) !important;
        flex: 0 0 auto;
    }
    .logo-text {
        min-width: 0;
        font-size: clamp(.68rem, 2.7vw, .9rem) !important;
        line-height: 1.18 !important;
        overflow-wrap: anywhere;
    }
    .mobile-menu-btn {
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
    }
    .mobile-nav,
    .mobile-nav.open {
        position: fixed !important;
        top: var(--mobile-header-height, 88px) !important;
        right: 0;
        left: 0;
        z-index: 999;
        width: 100% !important;
        max-height: calc(100dvh - var(--mobile-header-height, 88px));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        box-shadow: 0 18px 30px rgba(15, 23, 42, .18);
    }
    .mobile-nav:not(.open) {
        display: none !important;
    }
}

.admin-attachment-actions {
    display: inline-flex;
    gap: 8px;
    margin-left: 10px;
}
.admin-attachment-actions button {
    padding: 6px 10px;
    border: 1px solid #2563eb;
    border-radius: 6px;
    background: #ffffff;
    color: #0b3d91;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

/* COMPACT LEFT-SIDE HERO COPY V28 */
.hero-text-box {
    max-width: min(560px, calc(100% - 48px)) !important;
}
.hero-text-box h1 {
    max-width: 540px;
    font-size: clamp(2rem, 3vw, 2.5rem) !important;
    line-height: 1.18 !important;
    margin-bottom: 16px !important;
}
.hero-text-box p {
    max-width: 540px;
    font-size: clamp(1rem, 1.45vw, 1.08rem) !important;
    line-height: 1.55 !important;
}
.hero-text-box h1,
.hero-text-box p {
    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(2, 6, 23, .65);
}
@media (max-width: 768px) {
    .hero-text-box {
        width: min(92%, 520px) !important;
        max-width: min(92%, 520px) !important;
    }
    .hero-text-box h1 {
        font-size: clamp(1.75rem, 7vw, 2.1rem) !important;
    }
    .hero-text-box p {
        font-size: .98rem !important;
        line-height: 1.5 !important;
    }
}

/* REFERENCE-INSPIRED NAVY AND GOLD SITE SYSTEM V31 */
:root {
    --color-primary: #062856;
    --color-secondary: #0b3d73;
    --color-accent: #d99618;
    --color-heading: #072b5d;
    --color-text-main: #334155;
    --color-bg-light: #f7f8fa;
    --color-border: #dfe4ea;
    --shadow-card: 0 5px 18px rgba(4, 36, 77, .09);
    --shadow-card-hover: 0 12px 28px rgba(4, 36, 77, .15);
}
body {
    background: #ffffff;
    color: #334155;
}
.site-header {
    background: #ffffff !important;
    border-top: 5px solid #062856;
    border-bottom: 1px solid #dfe4ea !important;
    box-shadow: 0 4px 15px rgba(4, 36, 77, .08) !important;
    backdrop-filter: none !important;
}
.header-container {
    max-width: 1440px !important;
    margin: 0 auto !important;
}
.header-top {
    min-height: 82px !important;
    padding: 7px clamp(20px, 3vw, 42px) !important;
}
.logo-link {
    gap: 11px !important;
}
.logo-link img[src="logo-transparent.png"] {
    width: 68px !important;
    height: 68px !important;
}
.logo-text {
    color: #062856 !important;
    font-size: .9rem !important;
    line-height: 1.15 !important;
}
.top-menu a {
    color: #334155 !important;
    font-size: .82rem !important;
    text-transform: uppercase;
    letter-spacing: .045em;
}
.header-bottom {
    padding: 9px 24px !important;
    background: #ffffff;
    border-top: 1px solid #eef1f4;
}
.main-menu ul {
    gap: clamp(22px, 3vw, 44px) !important;
}
.main-menu > ul > li > a {
    color: #062856 !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .035em;
}
.main-menu > ul > li > a::after {
    background: #d99618 !important;
    bottom: -8px !important;
}
.dropdown {
    border-top-color: #d99618 !important;
}
.mobile-menu-btn {
    color: #062856 !important;
}
.mobile-nav {
    background: #ffffff !important;
    border-top: 3px solid #d99618;
}
.mobile-main-links a {
    color: #062856 !important;
    font-size: 1rem;
}
.hero {
    height: 470px !important;
    min-height: 470px !important;
    background: #062856 !important;
}
.hero-bg {
    background-size: cover !important;
    background-position: center !important;
}
.hero-bg::after {
    background: linear-gradient(90deg, rgba(3, 28, 63, .94) 0%, rgba(6, 40, 86, .76) 42%, rgba(6, 40, 86, .16) 76%, rgba(6, 40, 86, .04) 100%) !important;
}
.hero-content {
    max-width: 1440px !important;
    padding: 44px clamp(24px, 5vw, 72px) !important;
}
.hero-text-box {
    width: min(510px, 48vw) !important;
    max-width: min(510px, 48vw) !important;
}
.hero-text-box h1 {
    color: #ffffff !important;
    font-size: clamp(2rem, 3vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
    text-transform: uppercase;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35) !important;
}
.hero-text-box p {
    color: #f8fafc !important;
    max-width: 490px !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .35) !important;
}
.hero-text-box a {
    border-radius: 3px !important;
    box-shadow: none !important;
}
.hero-text-box a[style*="background-color: var(--color-accent)"] {
    background: #d99618 !important;
    color: #ffffff !important;
}
.hero-text-box a[style*="transparent"] {
    background: transparent !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
}
.hero + section {
    padding-top: 48px !important;
}
main > section:not(.hero) {
    background: #ffffff !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
main > section:not(.hero):nth-of-type(even),
main > section:not(.hero):nth-of-type(odd) {
    background: #ffffff !important;
}
main > section:not(.hero)::before {
    display: none !important;
}
.admissions-section,
.latest-news,
.upcoming-events,
.official-overview,
.case-support-contact {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
}
.section-header,
.section-header-vertical {
    padding: 0 0 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.section-header-vertical::before {
    display: none !important;
}
.section-header h2,
.section-header-vertical h2 {
    color: #062856 !important;
    font-size: clamp(1.65rem, 2.4vw, 2.15rem) !important;
    text-transform: uppercase;
    letter-spacing: -.01em;
    text-shadow: none !important;
}
.section-header h2::after,
.section-header-vertical h2::after {
    width: 58px !important;
    height: 3px !important;
    margin-top: 9px !important;
    background: #d99618 !important;
}
.official-label,
.news-date {
    color: #b87808 !important;
}
.news-grid,
.events-grid,
.official-overview-grid {
    gap: 22px !important;
}
.news-card,
.event-card,
.carousel-card,
.official-overview-grid article,
.support-contact-card,
.case-support-form-card,
.contact-form-box,
.info-card {
    border: 1px solid #dfe4ea !important;
    border-radius: 2px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 18px rgba(4, 36, 77, .09) !important;
}
.news-card,
.official-overview-grid article {
    border-bottom: 3px solid #d99618 !important;
}
.carousel-card {
    border-top: 3px solid #d99618 !important;
}
.event-card {
    border-left: 3px solid #062856 !important;
}
.news-card:hover,
.event-card:hover,
.carousel-card:hover,
.official-overview-grid article:hover,
.info-card:hover {
    transform: translateY(-4px) !important;
    border-color: #d99618 !important;
    box-shadow: 0 12px 28px rgba(4, 36, 77, .15) !important;
}
.news-img,
.support-contact-card > img {
    background: #e9edf2 !important;
}
.news-img::after {
    background: linear-gradient(180deg, transparent 64%, rgba(6, 40, 86, .24)) !important;
    mix-blend-mode: normal !important;
}
.news-content h3,
.event-details h3,
.official-overview-grid h3 {
    color: #062856 !important;
}
.official-quick-links {
    border: 1px solid #dfe4ea !important;
    border-radius: 2px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}
.official-quick-links a,
.quick-action,
.case-submit-button,
.support-submit,
.submit-btn,
.primary-action {
    border-radius: 3px !important;
    background: #d99618 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}
.official-quick-links a:hover,
.quick-action:hover,
.case-submit-button:hover,
.support-submit:hover,
.submit-btn:hover,
.primary-action:hover {
    background: #062856 !important;
    transform: translateY(-1px) !important;
    box-shadow: none !important;
}
.site-footer {
    background: linear-gradient(135deg, #031c3f, #092f61) !important;
    border-top: 4px solid #d99618 !important;
    padding-top: 56px !important;
    box-shadow: none !important;
}
.site-footer::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .025)) !important;
}
.site-footer .footer-links a:hover {
    color: #f2b844 !important;
}
.site-footer .social-icons a:hover {
    background: #d99618 !important;
}
input:focus,
select:focus,
textarea:focus {
    border-color: #d99618 !important;
    box-shadow: 0 0 0 3px rgba(217, 150, 24, .15) !important;
}
@media (max-width: 1023px) {
    .site-header {
        border-top-width: 4px;
    }
    .hero {
        height: 440px !important;
        min-height: 440px !important;
    }
    .hero-text-box {
        width: min(560px, 76vw) !important;
        max-width: min(560px, 76vw) !important;
    }
}
@media (max-width: 768px) {
    .hero {
        height: 410px !important;
        min-height: 410px !important;
    }
    .hero-bg::after {
        background: linear-gradient(90deg, rgba(3, 28, 63, .9), rgba(6, 40, 86, .55)) !important;
    }
    .hero-content {
        padding: 30px 20px !important;
    }
    .hero-text-box {
        width: min(92%, 520px) !important;
        max-width: min(92%, 520px) !important;
    }
    .hero-text-box h1 {
        font-size: clamp(1.7rem, 7vw, 2.15rem) !important;
    }
    .hero-text-box p {
        font-size: .94rem !important;
    }
    .hero + section {
        padding-top: 36px !important;
    }
    .admissions-section,
    .latest-news,
    .upcoming-events,
    .official-overview,
    .case-support-contact {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}

/* COMPLETE HERO IMAGE VISIBILITY V33 */
.hero {
    height: clamp(420px, calc(100svh - 130px), 650px) !important;
    min-height: 420px !important;
}
.hero-bg {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #062856 !important;
}
