/* ==========================================================================
   منصة صُنّاع الأثر 
   ========================================================================== */

:root {
    /* ===== الهوية الرسمية — جائزة/منصة صُنّاع الأثر المجتمعي =====
       Midnight #003866 · Gold #C7A667 · Emerald #71B280 · Deep Teal #134E5E
       Soft White #F7F7F7 · Cairo. (asset: cima_identity_dynamic_guide) */
    --midnight: #003866;
    --ink: #0F1B24;
    --emerald: #71B280;
    --deep-teal: #134E5E;

    /* أسماء قديمة مُبقاة، بقيم الهوية الرسمية */
    --ae-black-950: #0a141c;
    --ae-black-900: #003866;
    --ae-black-800: #011F30;
    --ae-charcoal: #203241;
    --ae-navy: #003866;
    /* Gold = accent. gold-600/700 داكنة AA للنص على الفاتح */
    --ae-gold-50: #f4eede;
    --ae-gold-100: #E2D3AF;
    --ae-gold-500: #C7A667;
    --ae-gold-600: #A17E43;
    --ae-gold-700: #7B5F2D; /* كانت #896A32 (4.35:1 على --ae-gold-50 — دون AA)؛ عُتّمت لهامش أمان ≥5:1 */
    --ae-gold-950: #3f2c12;
    /* Emerald/Teal (success + brand green) */
    --ae-green-50: #e8f1ea;
    --ae-green-100: #cfe5d5;
    --ae-green-700: #2A6C52;  /* AA على الأبيض */
    --ae-green-800: #1f5340;
    --ae-green-900: #134E5E;
    /* Danger */
    --ae-red-50: #fbf0ee;
    --ae-red-700: #b42318;
    --ae-red-900: #7a271a;
    /* Info = deep teal (ضمن الهوية) */
    --ae-blue-50: #e4eef0;
    --ae-blue-600: #134E5E;
    --ae-blue-700: #0e3b47;
    --warm-white: #F7F7F7;   /* Soft White — خلفية موحّدة */
    --surface: #ffffff;
    --surface-warm: #FBFBFB;
    --neutral-50: #f3f4f5;
    --neutral-100: #e7eaec;
    --neutral-200: #d4d9dc;
    --neutral-500: #6D7B86;
    --neutral-700: #3a4650;
    --text: #203241;
    --text-muted: #5D6972; /* كانت #6D7B86 (4.35:1 على أبيض — دون AA)؛ عُتّمت لتحقيق ≥4.5:1 على كل الخلفيات المستخدمة */
    --border: rgba(16, 32, 45, 0.12);
    --border-strong: rgba(16, 32, 45, 0.22);

    /* تدرّجات الهوية */
    --grad-brand: linear-gradient(135deg, #71B280 0%, #134E5E 100%);
    --grad-hero: radial-gradient(ellipse at 50% 0%, #1a3547 0%, #003866 45%, #0B1620 100%);
    /* تدرّج الذهبي — يُستخدم في 10+ موضعًا (أزرار/نصوص/فواصل)؛ كان غير مُعرَّف مسبقًا فتحوّلت كل استخداماته لخلفية شفافة */
    --grad-gold: linear-gradient(135deg, var(--ae-gold-100) 0%, var(--ae-gold-500) 55%, var(--ae-gold-600) 100%);

    /* Bootstrap semantic bridge */
    --primary: #003866;        /* Midnight — أزرار/إجراءات أساسية، أبيض AA ~15:1 */
    --primary-dark: #0F1B24;
    --secondary: var(--ae-gold-500);
    --accent: var(--ae-gold-500);
    --accent-text: var(--ae-gold-700); /* ذهبي للنص على الفاتح = AA */
    --success: var(--ae-green-700);
    --warning: var(--ae-gold-700);
    --danger: var(--ae-red-700);
    --info: var(--ae-blue-600);
    --bg: var(--warm-white);

    /* System — الخط الرسمي Cairo */
    --font-ar: "Cairo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-en: "Cairo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --container-wide: 1280px;
    --space-section: clamp(4.5rem, 7vw, 7rem);
    --radius-sm: 14px;
    --radius: 18px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --shadow-sm: 0 1px 2px rgba(8, 9, 11, 0.06), 0 8px 24px rgba(8, 9, 11, 0.05);
    --shadow-md: 0 16px 42px rgba(8, 9, 11, 0.1);
    --shadow-lg: 0 24px 70px rgba(8, 9, 11, 0.18);
    --transition: 180ms ease;

    /* ═══ نظام الحركة المركزي (المرحلة 11) ═══════════════════════════════ */
    --motion-instant: 120ms;
    --motion-fast: 200ms;
    --motion-base: 320ms;
    --motion-slow: 520ms;
    --motion-story: 700ms;

    --ease-standard: cubic-bezier(.4, 0, .2, 1);
    --ease-emphasized: cubic-bezier(.2, .8, .2, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-soft: cubic-bezier(.34, .06, .16, 1);
    --ease-impact: cubic-bezier(.16, 1, .3, 1);

    --motion-distance-xs: 6px;
    --motion-distance-sm: 12px;
    --motion-distance-md: 22px;
    --motion-distance-lg: 36px;
}

/* بلا حركة إطلاقًا حين يطلب المستخدم تقليل الحركة — يُطبَّق على كل النظام دفعة واحدة */
@media (prefers-reduced-motion: reduce) {
    :root {
        --motion-instant: 0ms;
        --motion-fast: 0ms;
        --motion-base: 0ms;
        --motion-slow: 0ms;
        --motion-story: 0ms;
    }
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--warm-white);
    color: var(--text);
    font-family: var(--font-ar);
    font-size: 16px;
    line-height: 1.75;
    text-align: start;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
}

body.ltr { font-family: var(--font-en); }

h1, h2, h3, h4, h5, h6 {
    color: var(--text);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: 0;
}

p { max-width: 72ch; }
a { transition: color var(--transition), opacity var(--transition), background-color var(--transition), border-color var(--transition); }

.container { max-width: var(--container-wide); }
.py-6 { padding-top: var(--space-section) !important; padding-bottom: var(--space-section) !important; }
.opacity-85 { opacity: 0.85; }
.letter-spacing-2 { letter-spacing: 0.08em; }

.skip-link {
    position: fixed;
    inset-block-start: 0.75rem;
    inset-inline-start: 0.75rem;
    z-index: 2000;
    transform: translateY(-160%);
    border-radius: var(--radius);
    background: var(--primary);
    color: #fff;
    padding: 0.65rem 1rem;
    text-decoration: none;
    font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }

/* Bootstrap palette and component bridge */
.bg-primary { background-color: var(--primary) !important; }
.text-primary { color: var(--primary) !important; }
.border-primary { border-color: var(--primary) !important; }
.bg-warning { background-color: var(--ae-gold-500) !important; }
.text-warning { color: var(--accent-text) !important; }
.bg-light { background-color: var(--warm-white) !important; }
.text-muted { color: var(--text-muted) !important; }
.bg-success { background-color: var(--success) !important; }
.border-success { border-color: var(--success) !important; }
.text-success { color: var(--success) !important; }
.border-warning { border-color: var(--ae-gold-500) !important; }
.bg-danger { background-color: var(--danger) !important; }
.text-danger { color: var(--danger) !important; }
.text-info { color: var(--info) !important; }
.bg-info { background-color: var(--info) !important; }

.btn {
    border-radius: var(--radius-sm);
    font-weight: 700;
    min-height: 2.65rem;
    padding-inline: 1rem;
    letter-spacing: 0;
}
.btn-sm { min-height: 2.15rem; }
.btn-lg { min-height: 3.25rem; border-radius: var(--radius); }
.btn-primary {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: #fff;
}
.btn-warning {
    background: var(--grad-gold);
    border-color: var(--ae-gold-600);
    color: var(--midnight); /* نص داكن على الذهبي = AA */
    box-shadow: 0 12px 28px rgba(199, 166, 103, 0.28);
}
.btn-warning:hover,
.btn-warning:focus {
    background: var(--ae-gold-600);
    border-color: var(--ae-gold-700);
    color: #fff;
}
/* زر التدرّج الرسمي (Digital Gradient) — للإجراءات المميّزة على الواجهات */
.btn-gradient {
    background: var(--grad-brand);
    border: 0;
    color: #fff;
    box-shadow: 0 14px 30px rgba(19, 78, 94, 0.28);
}
.btn-gradient:hover,
.btn-gradient:focus {
    filter: brightness(1.06);
    color: #fff;
}
.bg-gradient-brand { background: var(--grad-brand) !important; color: #fff !important; }
.btn-outline-primary {
    color: var(--primary);
    border-color: rgba(14, 15, 18, 0.35);
    background: transparent;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.btn-info,
.btn-success {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.btn-info:hover,
.btn-info:focus,
.btn-success:hover,
.btn-success:focus {
    background: var(--ae-gold-950);
    border-color: var(--ae-gold-950);
    color: #fff;
}
.btn-outline-success,
.btn-outline-info {
    color: var(--primary);
    border-color: rgba(199, 166, 103, 0.42);
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-info:hover,
.btn-outline-info:focus {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.btn-outline-light {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.03);
}
.btn-outline-light:hover,
.btn-outline-light:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.72);
    color: #fff;
}
.btn-link-light {
    color: rgba(255,255,255,0.86);
    text-decoration: none;
    box-shadow: none;
}
.btn-link-light:hover,
.btn-link-light:focus { color: #fff; }

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus,
.form-select:focus {
    outline: 3px solid rgba(199, 166, 103, 0.42);
    outline-offset: 3px;
    box-shadow: 0 0 0 0.22rem rgba(199, 166, 103, 0.18);
}

.card {
    border-radius: var(--radius-xl) !important;
    border: 1px solid rgba(23,32,42,0.08) !important;
    box-shadow: var(--shadow-sm) !important;
}
.shadow-sm { box-shadow: var(--shadow-sm) !important; }
.shadow-lg { box-shadow: var(--shadow-lg) !important; }

/* Header */
#main-navbar {
    isolation: isolate;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.97), rgba(250,250,247,0.94)) !important;
    border-bottom: 1px solid rgba(199, 166, 103, 0.16);
    box-shadow: 0 12px 42px rgba(23, 32, 42, 0.1) !important;
    padding: 0.75rem 0;
    backdrop-filter: blur(14px);
}
#main-navbar.scrolled { box-shadow: 0 18px 50px rgba(23,32,42,0.14) !important; }
.navbar-brand { min-width: 230px; }
.brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border: 1px solid rgba(199, 166, 103,0.28);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(199, 166, 103,0.14), rgba(199, 166, 103,0.1));
}
.brand-name {
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.25;
    letter-spacing: 0;
}
.brand-slogan {
    color: var(--text-muted);
    font-size: 0.68rem;
    line-height: 1.4;
}
.navbar-nav .nav-link {
    position: relative;
    color: rgba(23,32,42,0.78) !important;
    border-radius: 0;
    font-size: 0.86rem;
    font-weight: 600;
    padding: 0.62rem 0.72rem !important;
}
/* أُزيل الخط السفلي المتحرك تحت الروابط (طلب المستخدم) — يُكتفى بتغيّر اللون */
.navbar-nav .nav-link::after { display: none !important; }
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active { color: var(--primary) !important; }
.lang-btn {
    border-radius: 999px !important;
    border-color: rgba(199, 166, 103,0.32) !important;
    color: var(--primary) !important;
    font-size: 0.78rem !important;
}
.navbar-toggler {
    min-height: 2.5rem;
    border: 1px solid var(--border-strong);
    color: var(--primary);
}
.navbar-toggler:focus { box-shadow: 0 0 0 0.2rem rgba(16,32,45,0.15); }
/* أيقونة القائمة (هامبرغر) داكنة لتظهر على الهيدر الأبيض */
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2310202D' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
/* القائمة المنسدلة على الهاتف: نصوص/أيقونات واضحة على خلفية فاتحة */
.navbar .dropdown-menu {
    border: 1px solid var(--border);
    box-shadow: var(--shadow-md);
    border-radius: var(--radius);
}
.navbar .dropdown-item { color: var(--text); font-weight: 600; }
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus { background: var(--warm-white); color: var(--midnight); }

/* Hero */
.hero-section {
    position: relative;
    overflow: hidden;
    min-height: 70vh;
    padding: clamp(3.5rem, 6vw, 6rem) 0 clamp(4rem, 7vw, 6.5rem);
    background-color: var(--midnight);
    background-image: var(--grad-hero);
    background-size: cover;
    background-position: center;
}
.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(199, 166, 103,0.18), transparent 28%),
        radial-gradient(circle at 70% 15%, rgba(250,250,247,0.16), transparent 26rem);
}
.hero-section::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(199, 166, 103,0.75), transparent);
}
.hero-section .container { position: relative; z-index: 1; }
.min-vh-hero { min-height: 62vh; }
.hero-content {
    max-width: 730px;
    padding-block: 1rem;
}
.hero-cycle-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(199, 166, 103, 0.58);
    border-radius: 999px;
    background: rgba(199, 166, 103, 0.16);
    color: #fff7df;
    padding: 0.6rem 0.95rem;
    font-size: 0.82rem;
    font-weight: 700;
}
.hero-section h1 {
    color: #fff;
    max-width: 700px;
    font-size: clamp(2.25rem, 5vw, 4.35rem);
    line-height: 1.18;
    margin-block-end: 1.15rem !important;
}
.hero-section .lead {
    color: #f5ead1 !important;
    font-size: clamp(1.1rem, 2vw, 1.5rem) !important;
    line-height: 1.65;
}
.hero-desc {
    max-width: 620px;
    color: rgba(255,255,255,0.76);
    font-size: 1rem;
}
.hero-assurance {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    max-width: 660px;
}
.hero-assurance span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 999px;
    background: rgba(255,255,255,0.055);
    color: rgba(255,255,255,0.78);
    padding: 0.4rem 0.8rem;
    font-size: 0.78rem;
}
.hero-visual {
    width: min(100%, 380px);
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-visual-panel {
    width: 100%;
    border: 1px solid rgba(199, 166, 103,0.34);
    border-radius: var(--radius-xl);
    background: linear-gradient(160deg, rgba(255,255,255,0.12), rgba(255,255,255,0.035));
    box-shadow: var(--shadow-lg);
    padding: 1.35rem;
    backdrop-filter: blur(12px);
}
.hero-visual-title {
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}
.hero-visual-grid {
    display: grid;
    gap: 0.7rem;
}
.hero-visual-grid span {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 3rem;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(7,26,58,0.24);
    color: rgba(255,255,255,0.84);
    border-radius: var(--radius);
    padding: 0.65rem 0.85rem;
    font-size: 0.85rem;
}
.hero-visual-grid i { color: var(--ae-gold-100); }

/* Stats */
.stats-bar {
    position: relative;
    z-index: 2;
    margin-top: -2.6rem;
    background: transparent !important;
    border: 0 !important;
}
.stats-bar .row {
    border: 1px solid rgba(199, 166, 103,0.12);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,0.94);
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(10px);
    padding: 0.8rem;
}
.stat-item {
    padding: 1rem 0.75rem;
    border-inline-end: 1px solid rgba(199, 166, 103,0.1);
}
.stats-bar .col-6:last-child .stat-item,
.stats-bar .col-md-3:last-child .stat-item { border-inline-end: 0; }
.stat-number {
    color: var(--primary) !important;
    font-size: clamp(1.75rem, 3vw, 2.55rem) !important;
    font-weight: 800;
    letter-spacing: 0;
}
.stat-label {
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

/* Sections and cards */
.section-header { max-width: 760px; margin-inline: auto; }
.section-tag {
    display: inline-flex;
    align-items: center;
    color: var(--primary) !important;
    letter-spacing: 0.08em;
    font-size: 0.76rem !important;
}
.section-header h2,
.award-categories-section h2 {
    font-size: clamp(1.75rem, 3vw, 2.8rem);
}
.components-section {
    background: transparent;
}
.component-card,
.cat-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    background: linear-gradient(180deg, #fff, #fffdf8) !important;
    border: 1px solid rgba(199, 166, 103,0.11) !important;
    border-top: 3px solid rgba(199, 166, 103,0.58) !important;
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.component-card::before,
.cat-card::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    width: 6rem;
    height: 6rem;
    background: radial-gradient(circle, rgba(199, 166, 103,0.11), transparent 68%);
    pointer-events: none;
}
.component-card.hover-lift:hover,
.cat-card:hover {
    transform: translateY(-5px);
    border-color: rgba(199, 166, 103,0.28) !important;
    box-shadow: var(--shadow-md) !important;
}
.component-card h4,
.cat-card h5 { color: var(--text); }
/* البطاقات البارزة/العناصر الرقمية → التدرّج الرسمي (Digital Gradient) */
.component-card .icon-circle,
.cat-card > i {
    border: 0 !important;
    background: var(--grad-brand) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(19, 78, 94, 0.22);
}
.component-card .icon-circle i,
.cat-card > i { color: #fff !important; }
/* أيقونات الصفحات الأخرى تبقى ذهبية هادئة */
.auth-icon > div,
.contact-item > div {
    border: 1px solid rgba(199,166,103,0.22);
    background: var(--ae-gold-50) !important;
    color: var(--accent-text) !important;
}
.contact-item i { color: var(--accent-text) !important; }
.card-award { border-top-color: var(--ae-gold-500) !important; }

.award-categories-section {
    background: transparent !important;
}
.cat-card {
    border-bottom-width: 0 !important;
    padding-block: 2rem !important;
}
.cat-card > i {
    width: 4rem;
    height: 4rem;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.55rem !important;
}
.official-fields-panel {
    border: 1px solid rgba(199, 166, 103,0.1);
    box-shadow: var(--shadow-sm);
}
.official-fields-panel .badge {
    border: 1px solid rgba(199, 166, 103,0.12);
    background: #fff !important;
    color: var(--text) !important;
    font-weight: 700;
}

/* CTA and page headers */
.cta-section,
.page-header {
    position: relative;
    overflow: hidden;
    background: var(--grad-hero) !important;
    background-color: var(--midnight) !important;
    border-block: 1px solid rgba(199,166,103,0.28);
}
.cta-section::before,
.page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent, rgba(199, 166, 103,0.14), transparent),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0 1px, transparent 1px 22px);
}
.cta-section .container,
.page-header .container { position: relative; z-index: 1; }
.page-header h1,
.cta-section h2 { color: #fff; }
.breadcrumb a { text-decoration: none; }
.breadcrumb-item.active { color: var(--ae-gold-100) !important; }

/* Footer */
.footer {
    background:
        linear-gradient(180deg, var(--ae-green-900), #050b1f) !important;
    border-top: 1px solid rgba(199, 166, 103,0.34);
}
.footer h5,
.footer h6 { color: #fff; }
.footer-slogan {
    color: #f5ead1 !important;
    font-size: 0.95rem;
}
.footer-links li { margin-bottom: 0.48rem; }
.footer-links a {
    color: rgba(255,255,255,0.72) !important;
    text-decoration: none;
    font-size: 0.86rem;
}
.footer-links a:hover,
.footer a:hover { color: #fff !important; opacity: 1 !important; }
.footer .fs-5 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 50%;
    background: rgba(255,255,255,0.04);
}
.footer-bottom {
    border-color: rgba(255,255,255,0.12) !important;
    background: rgba(0,0,0,0.12);
}

/* Forms and auth */
.auth-page {
    position: relative;
    background:
        radial-gradient(circle at 20% 12%, rgba(199, 166, 103,0.22), transparent 24rem),
        linear-gradient(135deg, rgba(7,26,58,0.96), rgba(5,11,31,0.92)) !important;
}
.auth-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(199, 166, 103,0.16), transparent 26rem);
}
.auth-page .container { position: relative; z-index: 1; }
.auth-page .card {
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(199, 166, 103,0.16) !important;
    backdrop-filter: blur(10px);
}
.form-label {
    color: var(--text);
    font-size: 0.9rem;
}
.form-control,
.form-select,
.input-group-text {
    min-height: 2.85rem;
    border-color: rgba(23,32,42,0.14);
    border-radius: var(--radius-sm);
}
.input-group .form-control,
.input-group .input-group-text,
.input-group .btn { border-radius: 0; }
.input-group > :first-child { border-start-start-radius: var(--radius-sm); border-end-start-radius: var(--radius-sm); }
.input-group > :last-child { border-start-end-radius: var(--radius-sm); border-end-end-radius: var(--radius-sm); }
.input-group .form-control:focus {
    border-color: rgba(199, 166, 103,0.55);
}
.form-text { font-size: 0.78rem; }

/* Empty states and contact blocks */
.contact-item,
.media-empty,
.empty-state {
    color: var(--text);
}

/* Leadership quotes */
.leadership-quotes-section {
    background: linear-gradient(180deg, var(--ae-green-900), var(--ae-green-700));
    color: #fff;
    border-block: 1px solid rgba(199, 166, 103,0.28);
}
.leadership-quotes-section h2,
.leadership-quotes-section .section-tag { color: #fff !important; }
.leadership-quotes-section .quote-card {
    border: 1px solid rgba(199, 166, 103,0.18) !important;
    background: rgba(255,255,255,0.96);
}

/* 404 */
body.bg-light {
    background:
        radial-gradient(circle at 20% 12%, rgba(199, 166, 103,0.22), transparent 24rem),
        linear-gradient(135deg, rgba(7,26,58,0.96), rgba(5,11,31,0.92)) !important;
}
body.bg-light .min-vh-100 > .text-center {
    max-width: 560px;
    border: 1px solid rgba(199, 166, 103,0.18);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,0.95);
    box-shadow: var(--shadow-lg);
    padding: 3rem !important;
}

/* RTL/LTR refinements */
.rtl .me-1 { margin-right: 0 !important; margin-left: 0.25rem !important; }
.rtl .me-2 { margin-right: 0 !important; margin-left: 0.5rem !important; }
.rtl .ms-1 { margin-left:  0 !important; margin-right: 0.25rem !important; }
.rtl .ms-2 { margin-left:  0 !important; margin-right: 0.5rem !important; }
.rtl .ms-3 { margin-left:  0 !important; margin-right: 1rem !important; }

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

@media (max-width: 991.98px) {
    #main-navbar .navbar-collapse {
        margin-top: 0.9rem;
        border: 1px solid rgba(199, 166, 103,0.14);
        border-radius: var(--radius-lg);
        background: rgba(255,255,255,0.96);
        padding: 1rem;
    }
    #main-navbar .d-flex.align-items-center.gap-2.ms-2 {
        margin-inline-start: 0 !important;
        margin-top: 0.75rem;
        flex-wrap: wrap;
    }
    .navbar-nav .nav-link { padding-inline: 0 !important; }
    .hero-section {
        min-height: auto;
        padding-block: 4.5rem 5.5rem;
        background-position: 42% center;
    }
    .hero-section h1 { font-size: clamp(2rem, 9vw, 3.1rem); }
    .stats-bar { margin-top: -1.75rem; }
    .stat-item { border-inline-end: 0; }
}

@media (max-width: 575.98px) {
    body { font-size: 15px; }
    .brand-name { font-size: 0.82rem; }
    .navbar-brand { min-width: 0; }
    .hero-assurance span { width: 100%; justify-content: center; }
    .hero-section .btn { width: 100%; justify-content: center; }
    .stats-bar .row { margin-inline: 0.05rem; }
    .card-body.p-5,
    .card.p-5,
    body.bg-light .min-vh-100 > .text-center { padding: 1.5rem !important; }
    .py-6 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
}

/* ─── Website Identity Refresh: attached gold/black reference palette ─────── */
body {
    background:rgba(255, 255, 255, 0.5) ;
        
}

#main-navbar {
    border-bottom-color: rgba(162,119,50,0.22);
    box-shadow: 0 12px 36px rgba(17,17,17,0.08) !important;
}

.brand-logo-mark,
.topbar-brand-mark {
    display: block;
    width: auto;
    height: 3.2rem;
    flex: 0 0 auto;
    object-fit: contain;
}

.topbar-brand-mark {
    width: 3.4rem;
    height: 2rem;
    border-radius: 0;
    background: transparent;
}

.award-identity-logo {
    display: block;
    width: min(100%, 36rem);
    max-height: 15rem;
    object-fit: contain;
    margin-inline: auto;
}

.brand-name {
    color: #111;
    font-weight: 800;
}

.brand-slogan,
.navbar-nav .nav-link {
    color: rgba(17,17,17,0.72) !important;
}

/* (نُظّفت: كانت تفرض الذهبي على الأزرار الأساسية وتخالف الهوية) */
.navbar-nav .nav-link::after,
.bg-warning {
    background-color: var(--ae-gold-500) !important;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active,
.text-primary,
.text-warning,
.section-tag,
.stat-number,
.component-card .icon-circle i,
.cat-card > i,
.contact-item i {
    color: var(--accent-text) !important; /* gold-600 يفشل AA (3.5:1)؛ accent-text يتكيّف تلقائيًا مع الوضع الليلي (gold-700 لا يتكيّف) */
}

.btn-warning {
    border-color: var(--ae-gold-600) !important;
}

.btn-warning:hover,
.btn-warning:focus {
    background: var(--ae-gold-600) !important;
    border-color: var(--ae-gold-700) !important;
    color: #fff !important;
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-info,
.lang-btn {
    color: var(--ae-gold-600) !important;
    border-color: rgba(162,119,50,0.42) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-info:hover,
.btn-outline-info:focus {
    background: var(--ae-gold-500) !important;
    border-color: var(--ae-gold-500) !important;
    color: #fff !important;
}

.hero-section,
.cta-section,
.page-header,
.auth-page,
body.bg-light {
    background-color: #111 !important;
    background-image:
        radial-gradient(circle at 74% 8%, rgba(199, 166, 103,0.2), transparent 24rem),
        linear-gradient(90deg, rgba(7,26,58,0.94) 0%, rgba(13,40,84,0.84) 56%, rgba(5,11,31,0.96) 100%) !important;
}

.hero-section::before,
.cta-section::before,
.page-header::before {
    background:
        linear-gradient(90deg, rgba(255,255,255,0.035) 0 50%, transparent 50% 100%),
        radial-gradient(circle at 75% 12%, rgba(162,119,50,0.22), transparent 24rem);
}

.hero-cycle-badge,
.hero-visual-panel {
    border-color: rgba(162,119,50,0.46);
    background: rgba(162,119,50,0.18);
}

.hero-section .lead,
.hero-desc,
.hero-assurance span {
    color: rgba(255,255,255,0.82) !important;
}

.stats-bar .row,
.component-card,
.cat-card,
.official-fields-panel,
.auth-page .card,
body.bg-light .min-vh-100 > .text-center {
    border-color: rgba(162,119,50,0.16) !important;
}

.component-card,
.cat-card {
    border-top-color: rgba(162,119,50,0.82) !important;
    background: #fff !important;
    border-radius: 1.35rem !important;
}

.component-card::before,
.cat-card::before {
    background: radial-gradient(circle, rgba(162,119,50,0.12), transparent 68%);
}

.component-card .icon-circle,
.cat-card > i,
.auth-icon > div,
.contact-item > div {
    border-color: rgba(162,119,50,0.22);
    background: var(--ae-gold-50) !important;
    color: var(--ae-gold-600) !important;
}

.components-section,
.award-categories-section {
    background:
        linear-gradient(90deg, rgba(17,17,17,0.025) 0 50%, rgba(255,255,255,0.2) 50% 100%),
        linear-gradient(180deg, #f7f7f5, #fff) !important;
}

.footer,
.leadership-quotes-section,
.dashboard-topbar {
    background: linear-gradient(180deg, #111, #1d1a16) !important;
    border-color: rgba(162,119,50,0.3) !important;
}

.footer-slogan,
.footer h6,
.breadcrumb-item.active {
    color: var(--ae-gold-100) !important;
}

/* ─── Strong blue/gold override requested from ceremony references ───────── */
:root {
    /* مُعاد ربطها بالهوية الرسمية (Midnight/Teal/Gold/Soft White) */
    --impact-blue-950: #0a141c;
    --impact-blue-900: #003866;
    --impact-blue-800: #011F30;
    --impact-blue-700: #134E5E;
    --impact-gold-500: #C7A667;
    --impact-gold-600: #A17E43;
    --impact-gold-300: #E2D3AF;
    --impact-paper: #F7F7F7;
}

body {
    background:rgba(255, 255, 255, 0.5);
}

#main-navbar {
    border-bottom-color: rgba(199, 166, 103,0.22);
}

.brand-name,
h1, h2, h3, h4, h5, h6 {
    color: var(--impact-blue-950);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--impact-blue-900) !important;
}

.navbar-nav .nav-link::after {
    background: var(--impact-gold-500) !important;
}

.text-primary,
.text-success,
.text-info,
.text-warning,
.section-tag,
.stat-number,
.component-card .icon-circle i,
.cat-card > i,
.contact-item i {
    color: var(--accent-text) !important; /* impact-gold-600 يفشل AA (3.5:1)؛ accent-text يتكيّف تلقائيًا مع الوضع الليلي */
}

/* (نُظّفت: كانت تفرض الذهبي على primary/success/info أيضًا، ونصًا أبيض بتباين فاشل ~1.5:1
   فوق التدرّج الذهبي الفاتح. .btn-warning/.bg-warning لهما قاعدة صحيحة أعلى الملف
   (خلفية ذهبية + نص Midnight داكن AA)؛ لا حاجة لفرض الذهبي على primary/success/info. */
.btn-warning:hover,
.btn-warning:focus,
.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus,
.btn-info:hover,
.btn-info:focus {
    filter: brightness(0.94);
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-info,
.lang-btn {
    color: var(--midnight) !important;
    background: #fff !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
}
.lang-btn:hover,
.lang-btn:focus {
    background: var(--midnight) !important;
    color: #fff !important;
    border-color: var(--midnight) !important;
}
.footer-logo {

	/* display: block !important; */
	width: 150px !important;
	max-width: 150px !important;
	height: auto !important;
	max-height: 92px !important;
	object-fit: contain !important;
	margin: 0 0 1rem !important;

}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-info:hover,
.btn-outline-info:focus {
    background: var(--impact-gold-500) !important;
    border-color: var(--impact-gold-500) !important;
    color: #fff !important;
}

.hero-section,
.cta-section,
.page-header,
.auth-page {
    background-color: var(--midnight) !important;
    background-image: var(--grad-ceremony) !important;
}

.hero-section::before,
.cta-section::before,
.page-header::before {
    background: none !important;
}

.hero-section::after,
.cta-section,
.page-header,
.footer {
    border-color: rgba(199, 166, 103,0.42) !important;
}

.hero-cycle-badge,
.hero-visual-panel,
.hero-visual-grid span,
.hero-assurance span {
    border-color: rgba(216,182,106,0.32) !important;
    background: rgba(7,26,58,0.5) !important;
}

.hero-visual-grid i {
    color: var(--impact-gold-300) !important;
}

.stats-bar .row,
.component-card,
.cat-card,
.official-fields-panel,
.auth-page .card,
body.bg-light .min-vh-100 > .text-center {
    border-color: rgba(199, 166, 103,0.24) !important;
}

.component-card,
.cat-card {
    border-top-color: var(--impact-gold-500) !important;
    border-radius: 1.35rem !important;
}

.component-card:hover,
.cat-card:hover {
    border-color: rgba(18,58,114,0.28) !important;
}

.component-card::before,
.cat-card::before {
    background: radial-gradient(circle, rgba(199, 166, 103,0.13), transparent 68%) !important;
}

.component-card .icon-circle,
.cat-card > i {
    border: 0 !important;
    background: var(--grad-brand) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(19, 78, 94, 0.22) !important;
}
.component-card .icon-circle i,
.cat-card > i { color: #fff !important; }
.auth-icon > div,
.contact-item > div {
    border-color: rgba(199, 166, 103,0.28) !important;
    background: var(--ae-gold-50) !important;
    color: var(--accent-text) !important;
}

.components-section,
.award-categories-section {
    background:
        linear-gradient(90deg, rgba(7,26,58,0.028) 0 50%, rgba(255,255,255,0.42) 50% 100%),
        linear-gradient(180deg, #f8f8f5, #eef2f5) !important;
}

.footer,
.leadership-quotes-section,
.dashboard-topbar {
    background:
        radial-gradient(circle at 80% 0%, rgba(199, 166, 103,0.16), transparent 22rem),
        linear-gradient(180deg, var(--impact-blue-900), var(--impact-blue-950)) !important;
}

.footer-slogan,
.footer h6,
.breadcrumb-item.active {
    color: var(--impact-gold-300) !important;
}

.alert-banner.alert-info,
.alert-banner.alert-success,
.alert-banner.alert-warning {
    background-color: var(--impact-gold-500) !important;
    color: var(--impact-blue-950) !important;
}

/* ─── Announcement Banner ───────────────────────────────────────────────── */
.alert-banner {
    border: 0;
    border-radius: 0;
    margin-bottom: 0;
    color: #fff;
}
.alert-banner.alert-info    { background-color: #1B3A6B; }
.alert-banner.alert-success { background-color: #1f7a4d; }
.alert-banner.alert-warning { background-color: #b8860b; color: #1A1A2E; }
.alert-banner.alert-urgent  { background-color: #c0392b; }
.alert-banner a { color: inherit; }
.alert-banner .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.alert-banner.alert-warning .btn-close { filter: none; }

/* ==========================================================================
   Accessibility — toolbar, text scaling, high-contrast, dark mode
   ========================================================================== */
.a11y-bar {
    background: linear-gradient(180deg, #0B1620 0%, #003866 100%);
    color: rgba(247, 247, 247, 0.86);
    border-bottom: 1px solid rgba(199, 166, 103, 0.22);
    font-size: 0.8rem;
}
.a11y-bar-inner {
    max-width: var(--container-wide);
    margin: 0 auto;
    padding: 0.34rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.a11y-bar-label {
    font-weight: 700;
    margin-inline-end: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: rgba(226, 211, 175, 0.9);
    letter-spacing: 0.03em;
}
.a11y-bar-label .bi { color: var(--ae-gold-500); font-size: 1.05rem; }
.a11y-group {
    display: inline-flex;
    gap: 0.2rem;
    padding: 0.1rem;
    background: rgba(199, 166, 103, 0.07);
    border: 1px solid rgba(199, 166, 103, 0.14);
    border-radius: 999px;
}
.a11y-btn {
    background: transparent;
    border: 1px solid rgba(199, 166, 103, 0.28);
    color: rgba(247, 247, 247, 0.88);
    border-radius: 999px;
    padding: 0.2rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transition: var(--transition);
}
/* أزرار حجم الخط داخل المجموعة: بلا حدّ منفصل (المجموعة تحمل الإطار) */
.a11y-group .a11y-btn { border-color: transparent; }
.a11y-btn:hover,
.a11y-btn:focus-visible {
    background: var(--grad-gold);
    border-color: var(--ae-gold-600);
    color: var(--midnight);
}
.a11y-btn[aria-pressed="true"] {
    background: var(--grad-gold);
    border-color: var(--ae-gold-600);
    color: var(--midnight);
}
@media (max-width: 575.98px) { .a11y-btn-text { display: none; } }

/* Text scaling */
html[data-a11y-font="lg"] { font-size: 109%; }
html[data-a11y-font="xl"] { font-size: 118%; }

/* High contrast */
html.a11y-hc {
    --text: #000000;
    --text-muted: #1c2430;
    --border: rgba(0, 0, 0, 0.55);
    --border-strong: rgba(0, 0, 0, 0.7);
    --primary: #0a2c5c;
    --accent-text: #6f5417;
}
html.a11y-hc a:not(.btn) { text-decoration: none !important; }
html.a11y-hc .btn { border-width: 2px; }
html.a11y-hc .text-muted { color: #1c2430 !important; }
html.a11y-hc .card,
html.a11y-hc .dash-card { border: 1px solid #000 !important; }

/* Dark mode (token-level + key component overrides) */
html.a11y-dark {
    --warm-white: #0c1322;
    --surface: #131c2e;
    --surface-warm: #131c2e;
    --bg: #0c1322;
    --text: #eaeef5;
    --text-muted: #aab4c4;
    --border: rgba(255, 255, 255, 0.14);
    --border-strong: rgba(255, 255, 255, 0.26);
    --neutral-50: #131c2e;
    --neutral-100: #1b2740;
    --ae-gold-50: #1a2336;
    --primary: #6ea8ff;
    --accent-text: #e0bd6a;
}
html.a11y-dark body {
    background: var(--warm-white); /* = #0c1322 في الوضع الليلي */
    color: var(--text);
}
html.a11y-dark .bg-light,
html.a11y-dark .bg-white,
html.a11y-dark .card,
html.a11y-dark .dash-card { background-color: var(--surface) !important; color: var(--text); }
html.a11y-dark .navbar,
html.a11y-dark #main-navbar { background: #0c1322 !important; border-bottom: 1px solid var(--border); }
html.a11y-dark .navbar .nav-link,
html.a11y-dark .navbar-brand,
html.a11y-dark .brand-name,
html.a11y-dark .brand-slogan { color: var(--text) !important; }
/* لا تُطبَّق على .badge: النص الداكن هناك مقصود فوق خلفية الشارة الذهبية الخاصة بها بصرف النظر عن وضع الصفحة */
html.a11y-dark .text-dark:not(.badge) { color: var(--text) !important; }
html.a11y-dark .border,
html.a11y-dark .border-top,
html.a11y-dark .border-bottom { border-color: var(--border) !important; }
html.a11y-dark .footer { background: #060c18 !important; }
/* أزرار محدّدة الإطار تظهر بوضوح في الوضع الليلي */
html.a11y-dark .btn-outline-primary,
html.a11y-dark .btn-outline-success,
html.a11y-dark .btn-outline-info,
html.a11y-dark .btn-outline-secondary {
    color: #d7e6ff !important;
    border-color: rgba(255, 255, 255, 0.42) !important;
    background: transparent !important; /* كانت بلا !important فتخسر أمام الخلفية البيضاء !important للوضع النهاري (نص فاتح على أبيض ~1.26:1) */
}
html.a11y-dark .btn-outline-primary:hover,
html.a11y-dark .btn-outline-primary:focus,
html.a11y-dark .btn-outline-success:hover,
html.a11y-dark .btn-outline-success:focus,
html.a11y-dark .btn-outline-info:hover,
html.a11y-dark .btn-outline-info:focus,
html.a11y-dark .btn-outline-secondary:hover,
html.a11y-dark .btn-outline-secondary:focus {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: #fff !important;
    color: #fff !important;
}
html.a11y-dark .stat-number,
html.a11y-dark .section-tag { color: var(--accent-text) !important; }

/* ==========================================================================
   Ceremonial Home — المفهوم التكريمي (داكن + مساحات عاجية)
   يُطبَّق فقط داخل .ceremonial-home (الصفحة الرئيسية)
   ========================================================================== */
:root {
    --ivory: #F7F1E6;
    --ivory-2: #FBF7EF;
    --grad-ceremony: radial-gradient(ellipse at 50% 0%, #1a3547 0%, #003866 45%, #0B1620 100%);
}

/* ─── Hero تكريمي مركزي ─── */
.ceremonial-home .hero-section {
    min-height: 88vh;
    background-color: #0B1620 !important;
    background-image: var(--grad-ceremony) !important;
    text-align: center;
    padding: clamp(4rem, 7vw, 6.5rem) 0 clamp(3rem, 5vw, 5rem);
}
.ceremonial-home .hero-section::after { display: none; }
.ceremonial-home .hero-halo {
    width: clamp(140px, 18vw, 190px);
    height: clamp(140px, 18vw, 190px);
    margin: 0 auto 1.8rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle, rgba(199,166,103,0.18), transparent 70%);
    border: 1px solid rgba(199,166,103,0.3);
}
.ceremonial-home .hero-halo img {
    width: 64%;
    filter: drop-shadow(0 6px 20px rgba(199,166,103,0.4));
}
.ceremonial-home .hero-eyebrow {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    letter-spacing: 0.14em;
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--ae-gold-500);
    text-transform: uppercase;
}
.ceremonial-home .hero-section h1 {
    font-size: clamp(2.3rem, 5vw, 4.4rem);
    font-weight: 900;
    line-height: 1.16;
    color: #fff;
    max-width: 820px;
    margin: 14px auto 4px !important; /* توسيط الصندوق (تصحيح التصاق RTL) */
}
.ceremonial-home .hero-gold-text {
    background: var(--grad-gold);
    -webkit-background-clip: text;
    background-clip: text;
}
.ceremonial-home .hero-slogan {
    font-size: 1.28rem;
    color: var(--ae-gold-100);
    font-weight: 600;
    margin: 10px 0 6px;
}
.ceremonial-home .hero-desc {
    max-width: 620px;
    margin: 12px auto 22px;
    color: rgba(247,247,247,0.72);
    font-size: 1.05rem;
}
.ceremonial-home .hero-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
/* رابط ثالثي (الفائزون والمكرَّمون) — إجراء نصّي هادئ لا ينافس الزرّين الأساسي والثانوي */
.ceremonial-home .hero-tertiary-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: rgba(226, 211, 175, 0.8);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(199, 166, 103, 0.32);
    padding-bottom: 2px;
    transition: var(--transition);
}
.ceremonial-home .hero-tertiary-link:hover,
.ceremonial-home .hero-tertiary-link:focus-visible {
    color: #fff;
    border-color: var(--ae-gold-500);
}
.ceremonial-home .hero-tertiary-link-arrow {
    font-size: 0.78rem;
    transition: transform var(--transition);
}
.ceremonial-home .hero-tertiary-link:hover .hero-tertiary-link-arrow {
    transform: translateX(var(--tertiary-arrow-shift, -3px));
}
[dir="rtl"] .ceremonial-home .hero-tertiary-link:hover .hero-tertiary-link-arrow { --tertiary-arrow-shift: 3px; }
.ceremonial-home .hero-cycle-note {
    margin-top: 2.6rem;
    color: rgba(199,166,103,0.7);
    font-size: 0.85rem;
    letter-spacing: 0.1em;
}
.ceremonial-home .btn-outline-gold {
    border: 1.5px solid rgba(199,166,103,0.5);
    color: var(--ae-gold-100);
    border-radius: 999px;
    font-weight: 800;
}
.ceremonial-home .btn-outline-gold:hover,
.ceremonial-home .btn-outline-gold:focus {
    background: rgba(199,166,103,0.12);
    color: #fff;
    border-color: var(--ae-gold-500);
}
.ceremonial-home .hero-actions .btn { border-radius: 999px; padding: 0.85rem 1.9rem; }

/* ─── أقسام عاجية ─── */
.ceremonial-home .section-ivory {
    background: var(--ivory) !important;
}
.ceremonial-home .section-ivory .section-header h2 { color: var(--midnight); }
.ceremonial-home .section-ivory .section-tag { color: var(--ae-gold-700) !important; }
.ceremonial-home .divider-gold {
    width: 70px;
    height: 3px;
    background: var(--grad-gold);
    border-radius: 99px;
    margin: 0.8rem auto 1.2rem;
}

/* أركان المنظومة (بطاقات على العاجي) */
.ceremonial-home .pillar-card {
    background: #fff !important;
    border: 1px solid rgba(199,166,103,0.28) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 14px 34px rgba(16,32,45,0.06) !important;
    text-align: center;
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.ceremonial-home .pillar-card:hover {
    transform: translateY(-6px);
    border-color: rgba(199,166,103,0.55) !important;
    box-shadow: 0 22px 50px rgba(16,32,45,0.12) !important;
}
.ceremonial-home .pillar-card .icon-circle {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: rgba(199,166,103,0.12) !important;
    border: 1px solid rgba(199,166,103,0.3) !important;
    color: var(--ae-gold-600) !important;
    box-shadow: none !important;
}
.ceremonial-home .pillar-card .icon-circle i { color: var(--ae-gold-600) !important; font-size: 1.5rem; }

/* شريط الإحصاءات فوق العاجي */
.ceremonial-home .stats-bar { margin-top: -2.6rem; }
.ceremonial-home .stats-bar .row {
    background: rgba(255,255,255,0.97);
    border: 1px solid rgba(199,166,103,0.25);
}

/* قسم التكريم الداكن (فئات الجائزة) — يشمل .ceremonial-home و.ceremonial-page */
.ceremonial-home .honor-section,
.ceremonial-page .honor-section {
    background: linear-gradient(120deg, #003866, #011F30) !important;
    border-block: 1px solid rgba(199,166,103,0.25);
    color: #fff;
}
.ceremonial-home .honor-section .section-header h2,
.ceremonial-page .honor-section .section-header h2 { color: #fff; }
.ceremonial-home .honor-section .section-header p,
.ceremonial-page .honor-section .section-header p { color: rgba(247,247,247,0.72) !important; }
.ceremonial-home .medal-card,
.ceremonial-page .medal-card {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(199,166,103,0.22) !important;
    border-radius: var(--radius) !important;
    box-shadow: none !important;
    color: #fff;
}
.ceremonial-home .medal-card:hover,
.ceremonial-page .medal-card:hover { border-color: rgba(199,166,103,0.5) !important; }
.ceremonial-home .medal-card h5,
.ceremonial-page .medal-card h5 { color: #fff; }
.ceremonial-home .medal-card p,
.ceremonial-page .medal-card p { color: rgba(247,247,247,0.62) !important; }
.ceremonial-home .medal-card > i,
.ceremonial-page .medal-card > i {
    width: 56px;
    height: 56px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--grad-gold) !important;
    color: var(--midnight) !important;
    border: 0 !important;
    font-size: 1.4rem !important;
}
.ceremonial-page .trophy-showcase-img {
    border: 1px solid rgba(199,166,103,0.3);
    box-shadow: 0 20px 50px rgba(0,0,0,0.35) !important;
}

/* CTA تكريمي */
.ceremonial-home .cta-section {
    background: radial-gradient(ellipse at 50% 120%, rgba(199,166,103,0.14), transparent 60%), #0B1620 !important;
    border-block: 1px solid rgba(199,166,103,0.2);
}
.ceremonial-home .cta-section .hero-gold-text { font-weight: 900; }

/* الوضع الليلي: العاجي يتحول لسطح داكن متسق */
html.a11y-dark .ceremonial-home .section-ivory { background: var(--surface) !important; }
html.a11y-dark .ceremonial-home .pillar-card { background: var(--neutral-100) !important; }
html.a11y-dark .ceremonial-home .section-ivory .section-header h2 { color: var(--text); }

@media (max-width: 767.98px) {
    .ceremonial-home .hero-section { min-height: auto; }
}

/* ═══ هيدر شفاف متراكب فوق الهيرو — الرئيسية فقط (كما في المفهوم) ═══════════ */
body.page-home #main-navbar {
    position: absolute;               /* يُرفع من التدفّق فيصعد الهيرو خلفه */
    inset-inline: 0;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none;
}
/* منح الهيرو مساحة علوية كافية كي لا يختفي الشعار خلف الهيدر */
body.page-home .ceremonial-home .hero-section {
    padding-block-start: clamp(6rem, 9vw, 8.5rem);
}
/* روابط ونصوص فاتحة فوق الخلفية الداكنة */
body.page-home #main-navbar .brand-name { color: #fff !important; }
body.page-home #main-navbar .brand-slogan { color: rgba(199,166,103,0.85) !important; }
body.page-home #main-navbar .navbar-nav .nav-link {
    color: rgba(247,247,247,0.82) !important;
}
body.page-home #main-navbar .navbar-nav .nav-link:hover,
body.page-home #main-navbar .navbar-nav .nav-link.active {
    color: var(--ae-gold-400, #E2D3AF) !important;
}
/* زر الدخول: حدّ ذهبي فاتح على خلفية شفافة (كان أبيض على أبيض) */
body.page-home #main-navbar .btn-outline-primary {
    color: #fff !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: rgba(199,166,103,0.55) !important;
}
body.page-home #main-navbar .btn-outline-primary:hover,
body.page-home #main-navbar .btn-outline-primary:focus {
    background: rgba(199,166,103,0.16) !important;
    color: #fff !important;
}
body.page-home #main-navbar .lang-btn {
    color: rgba(247,247,247,0.9) !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: rgba(199,166,103,0.45) !important;
}
/* أيقونة القائمة (هامبرغر) فاتحة على الرئيسية */
body.page-home #main-navbar .navbar-toggler { border-color: rgba(255,255,255,0.35); }
body.page-home #main-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23F7F1E6' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
/* عند فتح القائمة على الجوال: خلفية داكنة كي تُقرأ الروابط الفاتحة */
@media (max-width: 991.98px) {
    body.page-home #main-navbar .navbar-collapse {
        background: rgba(11,22,32,0.97);
        border: 1px solid rgba(199,166,103,0.22);
        border-radius: var(--radius, 18px);
        margin-top: 0.6rem;
        padding: 0.85rem 1rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   الطابع التكريمي للصفحات الداخلية (.ceremonial-page)
   ترويسة داكنة متمركزة: شعار مُهالٰ + eyebrow ذهبي + عنوان + divider ذهبي
   ═══════════════════════════════════════════════════════════════════════════ */
.ceremonial-page .page-header {
    background-color: #0B1620 !important;
    background-image: var(--grad-ceremony) !important;
    text-align: center;
    padding-block: clamp(3rem, 6vw, 4.75rem) !important;
    border-bottom: 1px solid rgba(199,166,103,0.18);
}
.ceremonial-page .page-header .breadcrumb { justify-content: center; }
.ceremonial-page .page-header .breadcrumb-item,
.ceremonial-page .page-header .breadcrumb-item a { color: rgba(247,247,247,0.7) !important; }
.ceremonial-page .page-header .breadcrumb-item.active { color: var(--ae-gold-400, #E2D3AF) !important; }
.ceremonial-page .page-header .breadcrumb-item + .breadcrumb-item::before { color: rgba(199,166,103,0.5); }

/* شعار مُهالٰ مصغّر */
.ceremonial-page .ch-halo {
    width: clamp(84px, 11vw, 108px);
    height: clamp(84px, 11vw, 108px);
    margin: 0 auto 1.1rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle, rgba(199,166,103,0.18), transparent 70%);
    border: 1px solid rgba(199,166,103,0.3);
}
.ceremonial-page .ch-halo img {
    width: 62%;
    filter: drop-shadow(0 6px 18px rgba(199,166,103,0.4));
}

.ceremonial-page .hero-eyebrow {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    letter-spacing: 0.14em;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--ae-gold-500);
    text-transform: uppercase;
}
.ceremonial-page .page-header h1 {
    color: #fff;
    font-weight: 900;
    margin: 12px auto 4px;
}
.ceremonial-page .page-header .hero-gold-text {
    background: var(--grad-gold);
    -webkit-background-clip: text;
    background-clip: text;
}
.ceremonial-page .page-header .lead,
.ceremonial-page .page-header p:not(.breadcrumb) {
    color: rgba(247,247,247,0.74) !important;
    max-width: 620px;
    margin-inline: auto;
}
.ceremonial-page .divider-gold {
    width: 70px;
    height: 3px;
    background: var(--grad-gold);
    border-radius: 99px;
    margin: 0.85rem auto 1.1rem;
}

#main-content .opacity-85 {color: #FFF !important;}

/* ========================================================================
   Premium UI System V4.4 — unified buttons, surfaces and contrast
   Applies platform-wide while preserving existing markup and Bootstrap.
   ======================================================================== */
:root {
    --ui-navy: #003866;
    --ui-navy-deep: #062948;
    --ui-navy-950: #031d33;
    --ui-gold: #C7A667;
    --ui-gold-dark: #765624;
    --ui-gold-light: #F1D898;
    --ui-ink: #10202D;
    --ui-muted: #5D6972;
    --ui-soft: #F8F9FA;
    --ui-line: #E4E7E9;
    --ui-radius-control: 9px;
    --ui-shadow-control: 0 10px 24px rgba(0,56,102,.10);
}

/* Typography contrast baseline */
body { color: var(--ui-ink); }
p, .form-label, .form-text, .small, small { color: inherit; }
.text-muted { color: var(--ui-muted) !important; }
.text-primary { color: var(--ui-navy) !important; }
.text-warning { color: var(--ui-gold-dark) !important; }
.bg-primary, .impact-footer, .footer, .bg-dark, [class*="bg-primary"] {
    --bs-body-color: #fff;
}
.bg-primary .text-muted,
.impact-footer .text-muted,
.footer .text-muted { color: rgba(255,255,255,.78) !important; }
.bg-primary .text-warning,
.impact-footer .text-warning,
.footer .text-warning { color: var(--ui-gold-light) !important; }
.bg-primary p,
.bg-primary li,
.bg-primary small,
.impact-footer p,
.impact-footer li,
.impact-footer small { color: rgba(255,255,255,.84); }
.bg-primary a:not(.btn),
.impact-footer a:not(.btn) { color: rgba(255,255,255,.88); }
.bg-primary a:not(.btn):hover,
.impact-footer a:not(.btn):hover { color: #fff; }

/* Unified control language */
.btn,
button.btn,
a.btn {
    min-height: 46px;
    border-radius: var(--ui-radius-control) !important;
    padding: .7rem 1.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.985); }
.btn-primary,
.btn-info,
.btn-success {
    background: var(--ui-navy) !important;
    border-color: var(--ui-navy) !important;
    color: #fff !important;
    box-shadow: var(--ui-shadow-control);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-info:hover,
.btn-info:focus,
.btn-success:hover,
.btn-success:focus {
    background: var(--ui-navy-deep) !important;
    border-color: var(--ui-navy-deep) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(0,56,102,.16);
}
.btn-warning,
.btn-gradient {
    background: linear-gradient(135deg,#E8CB83 0%,#C7A667 55%,#AE8847 100%) !important;
    border-color: #A17E43 !important;
    color: #17324A !important;
    box-shadow: 0 10px 24px rgba(199,166,103,.20);
}
.btn-warning:hover,
.btn-warning:focus,
.btn-gradient:hover,
.btn-gradient:focus {
    background: #B68F4D !important;
    border-color: #8F6A32 !important;
    color: #102A43 !important;
    filter: none !important;
}
.btn-outline-primary,
.btn-outline-info,
.btn-outline-success {
    background: #fff !important;
    color: var(--ui-navy) !important;
    border-color: rgba(0,56,102,.30) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-success:hover,
.btn-outline-success:focus {
    background: #F3F7FA !important;
    color: var(--ui-navy-deep) !important;
    border-color: var(--ui-navy) !important;
}
.btn-outline-light { color:#fff !important; border-color:rgba(255,255,255,.58) !important; }
.btn-outline-light:hover,.btn-outline-light:focus { background:#fff !important;color:var(--ui-navy)!important;border-color:#fff!important; }
.btn-link { color: var(--ui-navy); font-weight: 800; }

/* Form contrast and premium control geometry */
.form-control,
.form-select,
.form-check-input,
.input-group-text {
    border-color: #C9D1D6;
}
.form-control,
.form-select {
    min-height: 48px;
    border-radius: var(--ui-radius-control);
    color: var(--ui-ink);
    background-color: #fff;
}
.form-control::placeholder { color: #7B8790; opacity: 1; }
.form-control:focus,
.form-select:focus {
    border-color: var(--ui-gold-dark);
    box-shadow: 0 0 0 .2rem rgba(199,166,103,.18);
}

/* Generic surfaces */
.card {
    background: #fff;
    color: var(--ui-ink);
}
.card .text-muted { color: var(--ui-muted) !important; }
.badge.bg-warning { color:#17324A !important; }
.dropdown-menu { background:#fff; color:var(--ui-ink); }
.dropdown-item { color:var(--ui-ink) !important; }
.dropdown-item:hover,.dropdown-item:focus { background:#F3F6F8 !important; color:var(--ui-navy) !important; }

/* Strong, visible focus on light and dark backgrounds */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible {
    outline: 3px solid rgba(199,166,103,.55) !important;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .btn { transition: none !important; }
    .btn:hover,.btn:active { transform:none !important; }
}

/* ======================================================================
   PUBLIC UI V4.6 — Unified visual language across public pages
   ====================================================================== */
body:not(.admin-layout):not(.dashboard-layout) {
    background: #fff;
    color: #203241;
}

/* One consistent inner-page hero across Community / Award / Media / Contact / etc. */
.page-header,
.ceremonial-page .page-header {
    position: relative;
    overflow: hidden;
    padding: clamp(3.2rem, 5vw, 5rem) 0 !important;
    min-height: 250px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 85% 10%, rgba(199,166,103,.10), transparent 28rem),
        linear-gradient(135deg, #063f68 0%, #003866 56%, #05273e 100%) !important;
    color: #fff;
    border: 0 !important;
}
.page-header::after,
.ceremonial-page .page-header::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(199,166,103,.75), transparent);
}
.page-header .container { position: relative; z-index: 2; }
.page-header h1,
.page-header .h1,
.page-header .h2,
.ceremonial-page .page-header h1,
.ceremonial-page .page-header .h2 {
    color: #fff !important;
    font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
    line-height: 1.25;
    margin-bottom: .65rem !important;
}
.page-header p { color: rgba(255,255,255,.78) !important; max-width: 720px; }
.page-header .breadcrumb { margin-bottom: 1.15rem !important; }
.page-header .breadcrumb a { color: rgba(255,255,255,.72) !important; }
.page-header .breadcrumb-item.active { color: #efd691 !important; }
.page-header .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.42); }
.ceremonial-page .page-header .ch-halo,
.ceremonial-page .page-header .hero-eyebrow,
.ceremonial-page .page-header .divider-gold { display: none !important; }

/* Consistent public section rhythm */
main > section.py-6,
.ceremonial-page > section.py-6 { padding-block: clamp(4rem, 6vw, 6.5rem) !important; }

/* Clean, quieter surfaces */
main .card,
.ceremonial-page .card {
    border: 1px solid rgba(0,56,102,.09) !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 40px rgba(15,27,36,.06) !important;
    background: #fff;
}
main .card:hover { border-color: rgba(199,166,103,.28) !important; }

/* Unified section headings */
main section h2,
main section .h2,
main section h3.h4,
main section .h4.fw-bold.text-center {
    color: #102c42;
}

/* Form system */
.form-control,
.form-select {
    min-height: 48px;
    border-radius: 12px;
    border-color: #cbd5dd;
    color: #203241;
    background: #fff;
}
textarea.form-control { min-height: 140px; }
.form-control::placeholder { color: #7c8993; opacity: 1; }
.form-control:focus,
.form-select:focus {
    border-color: #a17e43;
    box-shadow: 0 0 0 .2rem rgba(199,166,103,.16);
}
.form-label { color: #203241; font-weight: 700 !important; }

/* Pill / filter buttons visually match the core system */
.btn-sm { min-height: 40px; border-radius: 10px; }
.badge { font-weight: 700; }

/* Better text contrast everywhere */
.text-muted { color: #556671 !important; }
.small.text-muted,
p.text-muted.small { color: #5c6d78 !important; }
.text-warning,
.text-warning-emphasis { color: #7b5f2d !important; }

/* Empty states */
main .text-center.py-5 > .rounded-circle,
main .text-center.text-muted.py-5 > i {
    color: #6b7a84 !important;
}

/* Ceremonial page should no longer have a separate visual universe */
.ceremonial-page { background: #fff; }
.ceremonial-page .cat-card,
.ceremonial-page .award-level-card {
    background: #fff !important;
    color: #203241 !important;
}

@media (max-width: 767.98px) {
    .page-header,
    .ceremonial-page .page-header { min-height: 210px; padding-block: 2.6rem !important; }
    main .card,
    .ceremonial-page .card { border-radius: 18px !important; }
}

/* ======================================================================
   Public UI consistency — V4.7
   Shared contrast and surface hierarchy for all public pages.
   ====================================================================== */
body:not(.admin-page) .page-header,
body:not(.admin-page) .inner-hero,
body:not(.admin-page) .ceremonial-hero {
    background:linear-gradient(135deg,#073f66 0%,#003866 58%,#062948 100%) !important;
    color:#fff;
}
body:not(.admin-page) .page-header h1,
body:not(.admin-page) .page-header h2,
body:not(.admin-page) .inner-hero h1,
body:not(.admin-page) .ceremonial-hero h1 { color:#fff !important; }
body:not(.admin-page) .page-header p,
body:not(.admin-page) .inner-hero p,
body:not(.admin-page) .ceremonial-hero p { color:rgba(255,255,255,.82) !important; }
body:not(.admin-page) .breadcrumb,
body:not(.admin-page) .breadcrumb a { color:rgba(255,255,255,.76) !important; }
body:not(.admin-page) .breadcrumb .active { color:#efd691 !important; }

body:not(.admin-page) .card,
body:not(.admin-page) .content-card,
body:not(.admin-page) .info-card {
    border-color:#dfe5e8 !important;
    box-shadow:0 12px 30px rgba(0,56,102,.045) !important;
}
body:not(.admin-page) .text-muted { color:#5d6972 !important; }
body:not(.admin-page) .text-warning { color:#765624 !important; }
body:not(.admin-page) .form-label { color:#203443; font-weight:700; }
body:not(.admin-page) .form-control,
body:not(.admin-page) .form-select,
body:not(.admin-page) textarea {
    border-color:#cfd8de;
    color:#203443;
    background:#fff;
}
body:not(.admin-page) .form-control::placeholder,
body:not(.admin-page) textarea::placeholder { color:#73818a; opacity:1; }

/* ======================================================================
   V5 — UNIFIED PUBLIC ART DIRECTION
   Global public pages: one navigation, one page hero, one surface system.
   ====================================================================== */
:root{
    --ui-v5-navy:#003866;
    --ui-v5-navy-deep:#08283d;
    --ui-v5-gold:#C7A667;
    --ui-v5-gold-dark:#7B5F2D;
    --ui-v5-ink:#102c42;
    --ui-v5-muted:#526471;
    --ui-v5-soft:#f6f8f9;
    --ui-v5-line:#dfe6ea;
    --ui-v5-radius:18px;
    --ui-v5-radius-lg:26px;
}
body:not(.admin-page):not(.admin-layout):not(.dashboard-layout){background:#fff;color:var(--ui-v5-ink)}
body:not(.admin-page) #main-navbar{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e8edef!important;box-shadow:none!important;backdrop-filter:blur(12px);padding:.72rem 0}
body:not(.admin-page) #main-navbar.scrolled{box-shadow:0 10px 30px rgba(15,43,65,.06)!important}
body:not(.admin-page) .navbar-nav .nav-link{color:#40535f!important;font-weight:700;font-size:.84rem}
body:not(.admin-page) .navbar-nav .nav-link:hover,body:not(.admin-page) .navbar-nav .nav-link.active{color:var(--ui-v5-navy)!important}
body:not(.admin-page) .brand-name{color:var(--ui-v5-ink)!important;font-weight:900}.brand-slogan{color:#73808a!important}

/* Buttons */
body:not(.admin-page) .btn{border-radius:11px;min-height:44px;padding:.65rem 1.15rem;font-weight:800;box-shadow:none;transition:transform 150ms ease,background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease}
body:not(.admin-page) .btn-lg{min-height:50px;padding:.78rem 1.45rem;border-radius:12px}
body:not(.admin-page) .btn-primary{background:var(--ui-v5-navy);border-color:var(--ui-v5-navy);color:#fff}
body:not(.admin-page) .btn-primary:hover,body:not(.admin-page) .btn-primary:focus{background:var(--ui-v5-navy-deep);border-color:var(--ui-v5-navy-deep);color:#fff;box-shadow:0 10px 22px rgba(0,56,102,.14)}
body:not(.admin-page) .btn-warning{background:var(--ui-v5-gold);border-color:var(--ui-v5-gold);color:#102c42;box-shadow:none}
body:not(.admin-page) .btn-warning:hover,body:not(.admin-page) .btn-warning:focus{background:#b79450;border-color:#b79450;color:#102c42}
body:not(.admin-page) .btn-outline-primary{border-color:#b9c7d0;color:var(--ui-v5-navy);background:#fff}
body:not(.admin-page) .btn-outline-primary:hover,body:not(.admin-page) .btn-outline-primary:focus{background:#f2f6f8;border-color:var(--ui-v5-navy);color:var(--ui-v5-navy)}

/* One inner-page hero system */
body:not(.admin-page) .page-header,
body:not(.admin-page) .inner-hero,
body:not(.admin-page) .ceremonial-hero,
body:not(.admin-page) .ceremonial-page .page-header{
    position:relative;min-height:235px;padding:clamp(3rem,5vw,4.6rem) 0!important;display:flex;align-items:center;background:linear-gradient(135deg,#073f66 0%,#003866 58%,#08283d 100%)!important;color:#fff;border:0!important;box-shadow:none!important;overflow:hidden
}
body:not(.admin-page) .page-header::before,body:not(.admin-page) .inner-hero::before,body:not(.admin-page) 
body:not(.admin-page) .page-header::after,body:not(.admin-page) .inner-hero::after,body:not(.admin-page) .ceremonial-hero::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(199,166,103,.7),transparent)}
body:not(.admin-page) .page-header .container,body:not(.admin-page) .inner-hero .container,body:not(.admin-page) .ceremonial-hero .container{position:relative;z-index:2}
body:not(.admin-page) .page-header h1,body:not(.admin-page) .page-header h2,body:not(.admin-page) .inner-hero h1,body:not(.admin-page) .ceremonial-hero h1{color:#fff!important;font-size:clamp(2rem,3.4vw,3.25rem)!important;line-height:1.28;font-weight:900!important;letter-spacing:-.015em;margin-bottom:.55rem!important}
body:not(.admin-page) .page-header p,body:not(.admin-page) .inner-hero p,body:not(.admin-page) .ceremonial-hero p{color:rgba(255,255,255,.80)!important;max-width:720px;line-height:1.8}
body:not(.admin-page) .breadcrumb,body:not(.admin-page) .breadcrumb a{color: #023a66 !important}.breadcrumb .active{color:#efd691!important}

/* Public content rhythm */
body:not(.admin-page) main>section.py-6,body:not(.admin-page) .ceremonial-page>section.py-6{padding-block:clamp(4.5rem,6vw,6.5rem)!important}
body:not(.admin-page) main section h2,body:not(.admin-page) main section .h2{color:var(--ui-v5-ink);font-weight:900;letter-spacing:-.015em}
body:not(.admin-page) .text-muted{color:var(--ui-v5-muted)!important}.text-warning,.text-warning-emphasis{color:var(--ui-v5-gold-dark)!important}

/* Surface system */
body:not(.admin-page) main .card,body:not(.admin-page) .content-card,body:not(.admin-page) .info-card,body:not(.admin-page) .ceremonial-page .card{background:#fff!important;border:1px solid var(--ui-v5-line)!important;border-radius:var(--ui-v5-radius)!important;box-shadow:0 12px 32px rgba(15,43,65,.045)!important}
body:not(.admin-page) main .card:hover{border-color:#d1bc8f!important;box-shadow:0 16px 36px rgba(15,43,65,.065)!important}

/* Form system */
body:not(.admin-page) .form-label{color:#213746;font-weight:800!important}
body:not(.admin-page) .form-control,body:not(.admin-page) .form-select,body:not(.admin-page) textarea{min-height:48px;border:1px solid #cbd5dc;border-radius:11px;background:#fff;color:#203443;box-shadow:none}
body:not(.admin-page) textarea.form-control{min-height:145px}
body:not(.admin-page) .form-control::placeholder,body:not(.admin-page) textarea::placeholder{color:#768690;opacity:1}
body:not(.admin-page) .form-control:focus,body:not(.admin-page) .form-select:focus{border-color:#9b783d;box-shadow:0 0 0 .2rem rgba(199,166,103,.14)}

/* Footer: same architecture on every public page */
body:not(.admin-page) .impact-footer,body:not(.admin-page) .home-footer-v4{background:linear-gradient(135deg,#073f66,#003866 58%,#08283d)!important;color:#fff;border-top:1px solid rgba(199,166,103,.22)}
body:not(.admin-page) .impact-footer h5,body:not(.admin-page) .impact-footer h6,body:not(.admin-page) .home-footer-v4 h6{color:#fff!important}
body:not(.admin-page) .impact-footer a,body:not(.admin-page) .home-footer-v4 a{color:rgba(255,255,255,.76)!important;text-decoration:none}
body:not(.admin-page) .impact-footer a:hover,body:not(.admin-page) .home-footer-v4 a:hover{color:#efd691!important}
body:not(.admin-page) .impact-footer .text-warning,body:not(.admin-page) .home-footer-v4 h6{color:#efd691!important}

@media(max-width:767.98px){body:not(.admin-page) .page-header,body:not(.admin-page) .inner-hero,body:not(.admin-page) .ceremonial-hero{min-height:205px;padding:2.6rem 0!important}body:not(.admin-page) .page-header::before{font-size:9rem}body:not(.admin-page) main .card{border-radius:15px!important}}

/* ======================================================================
   V5.2 — HEADER ACTIONS / CONTRAST LOCK
   Final public-header override. This intentionally sits at EOF so legacy
   page-home transparent-header rules can never turn text white on white.
   ====================================================================== */
body:not(.admin-page) #main-navbar,
body.page-home #main-navbar {
    position: sticky !important;
    inset-block-start: 0;
    background: rgba(255,255,255,.985) !important;
    border-bottom: 1px solid #e6ebee !important;
    box-shadow: 0 8px 26px rgba(15,43,65,.045) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

body.page-home #main-navbar .brand-name,
body:not(.admin-page) #main-navbar .brand-name {
    color: #102c42 !important;
}
body.page-home #main-navbar .brand-slogan,
body:not(.admin-page) #main-navbar .brand-slogan {
    color: #667783 !important;
    opacity: 1 !important;
}
body.page-home #main-navbar .navbar-nav .nav-link,
body:not(.admin-page) #main-navbar .navbar-nav .nav-link {
    color: #314754 !important;
    opacity: 1 !important;
}
body.page-home #main-navbar .navbar-nav .nav-link:hover,
body.page-home #main-navbar .navbar-nav .nav-link.active,
body:not(.admin-page) #main-navbar .navbar-nav .nav-link:hover,
body:not(.admin-page) #main-navbar .navbar-nav .nav-link.active {
    color: #003866 !important;
}

/* Login — white surface, navy label/icon, visible in every state */
body.page-home #main-navbar a.btn-outline-primary,
body:not(.admin-page) #main-navbar a.btn-outline-primary {
    color: #003866 !important;
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid #b9c7d0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
}
body.page-home #main-navbar a.btn-outline-primary i,
body:not(.admin-page) #main-navbar a.btn-outline-primary i {
    color: #003866 !important;
    opacity: 1 !important;
}
body.page-home #main-navbar a.btn-outline-primary:hover,
body.page-home #main-navbar a.btn-outline-primary:focus,
body:not(.admin-page) #main-navbar a.btn-outline-primary:hover,
body:not(.admin-page) #main-navbar a.btn-outline-primary:focus {
    color: #fff !important;
    background: #003866 !important;
    background-color: #003866 !important;
    border-color: #003866 !important;
}
body.page-home #main-navbar a.btn-outline-primary:hover i,
body.page-home #main-navbar a.btn-outline-primary:focus i,
body:not(.admin-page) #main-navbar a.btn-outline-primary:hover i,
body:not(.admin-page) #main-navbar a.btn-outline-primary:focus i {
    color: #fff !important;
}

/* Language — never inherit the old white-on-transparent homepage style */
body.page-home #main-navbar .lang-btn,
body:not(.admin-page) #main-navbar .lang-btn {
    color: #003866 !important;
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid #cbd5db !important;
    box-shadow: none !important;
    opacity: 1 !important;
}
body.page-home #main-navbar .lang-btn i,
body.page-home #main-navbar .lang-btn span,
body:not(.admin-page) #main-navbar .lang-btn i,
body:not(.admin-page) #main-navbar .lang-btn span {
    color: #003866 !important;
    opacity: 1 !important;
}
body.page-home #main-navbar .lang-btn:hover,
body.page-home #main-navbar .lang-btn:focus,
body:not(.admin-page) #main-navbar .lang-btn:hover,
body:not(.admin-page) #main-navbar .lang-btn:focus {
    color: #003866 !important;
    background: #f2f6f8 !important;
    background-color: #f2f6f8 !important;
    border-color: #8fa6b5 !important;
}

/* Apply now — gold with deliberately dark text/icon */
body:not(.admin-page) #main-navbar .btn-warning,
body.page-home #main-navbar .btn-warning {
    color: #102c42 !important;
    background: #C7A667 !important;
    background-color: #C7A667 !important;
    border-color: #B99550 !important;
    opacity: 1 !important;
}
body:not(.admin-page) #main-navbar .btn-warning i,
body:not(.admin-page) #main-navbar .btn-warning span,
body.page-home #main-navbar .btn-warning i,
body.page-home #main-navbar .btn-warning span {
    color: #102c42 !important;
    opacity: 1 !important;
}
body:not(.admin-page) #main-navbar .btn-warning:hover,
body:not(.admin-page) #main-navbar .btn-warning:focus,
body.page-home #main-navbar .btn-warning:hover,
body.page-home #main-navbar .btn-warning:focus {
    color: #102c42 !important;
    background: #D5B573 !important;
    background-color: #D5B573 !important;
    border-color: #A9813F !important;
}

/* Logged-in user dropdown button */
body:not(.admin-page) #main-navbar .btn-outline-warning,
body.page-home #main-navbar .btn-outline-warning {
    color: #715224 !important;
    background: #fff !important;
    border-color: #C7A667 !important;
}

/* Header action geometry — unified across public pages */
body:not(.admin-page) #main-navbar .btn-sm,
body.page-home #main-navbar .btn-sm {
    min-height: 38px !important;
    padding: .5rem .82rem !important;
    border-radius: 10px !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .25rem;
    white-space: nowrap;
}

/* Mobile menu follows the same light system */
@media (max-width: 991.98px) {
    body.page-home #main-navbar .navbar-collapse,
    body:not(.admin-page) #main-navbar .navbar-collapse {
        background: #fff !important;
        border: 1px solid #e0e6e9 !important;
        box-shadow: 0 18px 38px rgba(15,43,65,.10) !important;
        border-radius: 16px !important;
        margin-top: .65rem;
        padding: .85rem 1rem;
    }
    body.page-home #main-navbar .navbar-toggler,
    body:not(.admin-page) #main-navbar .navbar-toggler {
        color: #003866 !important;
        border-color: #cbd5db !important;
        background: #fff !important;
    }
    body.page-home #main-navbar .navbar-toggler-icon,
    body:not(.admin-page) #main-navbar .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23003866' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    }
}

/* ======================================================================
   V5.3 — ABOUT PLATFORM & AWARD PAGE
   ====================================================================== */
.public-about-hero{position:relative;padding:clamp(5rem,8vw,8rem) 0;background:linear-gradient(135deg,#003866 0%,#0a4a72 62%,#0f2d43 100%);color:#fff;overflow:hidden}
.public-about-hero::after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(199,166,103,.18);border-radius:50%;inset-inline-end:-180px;inset-block-start:-250px;box-shadow:0 0 0 62px rgba(199,166,103,.035),0 0 0 124px rgba(199,166,103,.02)}
.public-about-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.public-about-hero h1{margin:.5rem 0 0;color:#fff;font-size:clamp(2.6rem,5.4vw,5.4rem);font-weight:900;line-height:1.08;letter-spacing:-.035em;max-width:880px}
.public-about-hero p{max-width:800px;margin:1.5rem 0 0;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.4vw,1.18rem);line-height:2}
.public-about-mark{display:flex;align-items:center;justify-content:center}
.public-about-mark img{width:min(100%,240px);height:auto;filter:brightness(0) invert(1);opacity:.82}
.public-breadcrumb{display:flex;align-items:center;gap:.55rem;color:rgba(255,255,255,.62);font-size:.78rem}
.public-breadcrumb a{color:rgba(255,255,255,.78);text-decoration:none}.public-breadcrumb a:hover{color:#fff}
.public-kicker{display:inline-block;color:#9a742f;font-size:.75rem;font-weight:800;letter-spacing:.05em;margin-bottom:.75rem}
.public-about-hero .public-kicker{color:#efd691}
.public-about-intro,.public-about-objectives{padding:clamp(5rem,8vw,8rem) 0;background:#fff}
.public-about-two-col{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.public-about-lead h2{margin:0;color:#0f2c42;font-size:clamp(2rem,4vw,4.1rem);font-weight:900;line-height:1.2;letter-spacing:-.03em}
.public-about-prose p{margin:0;color:#475d6a;font-size:1.05rem;line-height:2.05;max-width:760px}
.public-about-rule{height:1px;background:#e1e7ea;margin:2rem 0}
.public-about-model{padding:clamp(5rem,8vw,8rem) 0;background:#f5f7f8;border-block:1px solid #e9eef0}
.public-section-head{max-width:780px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.public-section-head h2{margin:0;color:#0f2c42;font-size:clamp(2rem,4vw,4rem);font-weight:900;line-height:1.22;letter-spacing:-.03em}
.public-section-head p{margin:1rem 0 0;color:#526570;line-height:1.9;font-size:1rem}
.public-about-model-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dfe6e9;border-bottom:1px solid #dfe6e9}
.public-about-model-grid article{position:relative;padding:clamp(2.5rem,5vw,4.5rem);min-height:340px}.public-about-model-grid article+article{border-inline-start:1px solid #dfe6e9}
.public-about-model-num{display:block;color:#d7e0e5;font-size:3.5rem;font-weight:900;line-height:1}.public-about-model-grid i{display:block;margin:2rem 0 1.2rem;color:#a47c35;font-size:2rem}.public-about-model-grid h3{margin:0;color:#003866;font-size:1.6rem;font-weight:900}.public-about-model-grid p{margin:1rem 0 0;color:#526570;line-height:1.9;max-width:560px}
.public-about-values{padding:clamp(5rem,8vw,8rem) 0;background:#003866;color:#fff}.public-about-values .public-kicker{color:#efd691}.public-about-values .public-section-head h2{color:#fff}.public-values-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}.public-values-list div{display:flex;align-items:center;gap:1rem;padding:1.45rem .2rem;border-bottom:1px solid rgba(255,255,255,.14)}.public-values-list div:not(:nth-child(3n+1)){border-inline-start:1px solid rgba(255,255,255,.1);padding-inline-start:1.2rem}.public-values-list span{color:#efd691;font-size:.72rem;font-weight:800}.public-values-list strong{font-size:1rem;font-weight:800;color:#fff}
.public-objective-list{border-top:1px solid #dfe6e9}.public-objective-row{display:grid;grid-template-columns:56px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid #dfe6e9}.public-objective-row span{color:#a47c35;font-size:.75rem;font-weight:800}.public-objective-row p{margin:0;color:#405563;font-size:.95rem;line-height:1.85}
.public-about-resource{padding:clamp(5rem,8vw,8rem) 0;background:#f5f7f8}.public-resource-card{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr);gap:clamp(2rem,5vw,5rem);align-items:center;max-width:1080px;margin:auto;padding:clamp(2rem,4vw,3.6rem);background:#fff;border:1px solid #e1e7ea;border-radius:28px;box-shadow:0 20px 55px rgba(15,43,65,.065)}.public-resource-cover{text-align:center}.public-resource-cover img{width:min(100%,210px);max-height:300px;object-fit:contain;border-radius:12px;box-shadow:0 16px 34px rgba(15,43,65,.12)}.public-resource-copy h2{margin:0;color:#0f2c42;font-size:clamp(1.8rem,3vw,3rem);font-weight:900;line-height:1.3}.public-resource-copy p{max-width:700px;margin:1rem 0 0;color:#526570;line-height:1.9}.public-resource-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.7rem}
@media(max-width:991.98px){.public-about-hero-inner,.public-about-two-col{grid-template-columns:1fr}.public-about-mark{display:none}.public-values-list{grid-template-columns:1fr 1fr}.public-values-list div:not(:nth-child(3n+1)){border-inline-start:0;padding-inline-start:.2rem}.public-values-list div:nth-child(even){border-inline-start:1px solid rgba(255,255,255,.1);padding-inline-start:1.2rem}}
@media(max-width:767.98px){.public-about-hero{padding:4rem 0}.public-about-model-grid,.public-resource-card{grid-template-columns:1fr}.public-about-model-grid article+article{border-inline-start:0;border-top:1px solid #dfe6e9}.public-values-list{grid-template-columns:1fr}.public-values-list div:nth-child(even){border-inline-start:0;padding-inline-start:.2rem}.public-resource-card{text-align:center;padding:2rem 1.25rem}.public-resource-cover img{width:150px}.public-resource-actions{justify-content:center}.public-resource-actions .btn{width:100%}}

/* ==========================================================================
   CONTACT V5.4 — institutional contact experience
   ========================================================================== */
.page-header--contact {
    position: relative;
    overflow: hidden;
    padding: clamp(3.8rem, 7vw, 6.8rem) 0 clamp(4.2rem, 7vw, 7rem);
    background:
        radial-gradient(circle at 12% 20%, rgba(199,166,103,.11), transparent 24rem),
        linear-gradient(120deg, #003866 0%, #063653 58%, #071f30 100%) !important;
}
.page-header--contact::after {
    content: "";
    position: absolute;
    inset-inline-end: clamp(-3rem, -2vw, -1rem);
    inset-block-start: 50%;
    width: clamp(12rem, 22vw, 22rem);
    aspect-ratio: 1;
    transform: translateY(-50%);
    border: 1px solid rgba(199,166,103,.13);
    border-radius: 50%;
    box-shadow: 0 0 0 32px rgba(199,166,103,.035), 0 0 0 70px rgba(199,166,103,.025);
    pointer-events: none;
}
.page-header--contact .container { position: relative; z-index: 1; }
.page-header--contact .breadcrumb a { color: rgba(255,255,255,.78) !important; text-decoration: none; }
.page-header--contact .breadcrumb-item.active { color: #efd691 !important; }
.page-header__copy { max-width: 760px; }
.page-header__eyebrow {
    display: block;
    color: #efd691;
    font-size: .78rem;
    font-weight: 800;
    margin-bottom: .8rem;
}
.page-header--contact h1 {
    margin: 0 0 .8rem;
    color: #fff;
    font-size: clamp(2.25rem, 4.5vw, 4.4rem);
    font-weight: 900;
    letter-spacing: -.035em;
}
.page-header--contact p {
    margin: 0;
    max-width: 64ch;
    color: rgba(255,255,255,.79);
    font-size: clamp(.96rem, 1.3vw, 1.12rem);
    line-height: 1.9;
}

.contact-v5 {
    padding: clamp(4rem, 7vw, 7.5rem) 0;
    background:
        linear-gradient(180deg, #fff 0%, #fbfcfd 55%, #f7f9fa 100%);
}
.contact-v5__shell {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .8fr);
    max-width: 1180px;
    margin-inline: auto;
    border: 1px solid #dfe5e9;
    border-radius: 30px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 28px 80px rgba(16,32,45,.09);
}
.contact-v5__form-panel { padding: clamp(2rem, 4vw, 4.2rem); }
.contact-v5__aside {
    display: flex;
    flex-direction: column;
    padding: clamp(2rem, 3.4vw, 3.5rem);
    background: #f6f8f9;
    border-inline-start: 1px solid #e1e6e9;
}
.contact-v5__section-head {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 2.2rem;
}
.contact-v5__index {
    flex: 0 0 auto;
    color: #c9a35f;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    padding-top: .35rem;
}
.contact-v5__section-head h2,
.contact-v5__aside h2 {
    margin: 0 0 .55rem;
    color: #0f2940;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    font-weight: 900;
}
.contact-v5__section-head p,
.contact-v5__aside-top > p {
    margin: 0;
    color: #596b78;
    line-height: 1.8;
    font-size: .92rem;
}
.contact-form-v5 { position: relative; }
.contact-form-v5__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.contact-field { margin-bottom: 1.15rem; }
.contact-field label {
    display: block;
    margin-bottom: .55rem;
    color: #203241;
    font-size: .82rem;
    font-weight: 800;
}
.contact-field__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.contact-field__label-row > span {
    color: #73818b;
    font-size: .7rem;
    font-variant-numeric: tabular-nums;
}
.contact-form-v5 .form-control {
    min-height: 3.35rem;
    padding: .82rem 1rem;
    border: 1px solid #cfd8de;
    border-radius: 12px;
    background: #fff;
    color: #162936;
    font-size: .9rem;
    box-shadow: none;
}
.contact-form-v5 textarea.form-control {
    min-height: 170px;
    resize: vertical;
    line-height: 1.8;
}
.contact-form-v5 .form-control::placeholder { color: #7a8994; opacity: 1; }
.contact-form-v5 .form-control:hover { border-color: #aebcc5; }
.contact-form-v5 .form-control:focus {
    border-color: #a17e43;
    box-shadow: 0 0 0 4px rgba(199,166,103,.13);
}
.contact-form-v5__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1.6rem;
    padding-top: 1.4rem;
    border-top: 1px solid #e6eaed;
}
.contact-form-v5__trust {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    max-width: 420px;
    color: #60717d;
    font-size: .75rem;
    line-height: 1.7;
}
.contact-form-v5__trust i { color: #2a6c52; margin-top: .15rem; }
.contact-submit {
    min-width: 190px;
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
}
.contact-submit:disabled { opacity: .62; cursor: wait; }

.contact-v5__aside-top {
    padding-bottom: 2rem;
    border-bottom: 1px solid #dfe5e9;
}
.contact-v5__aside-top .contact-v5__index { display: block; margin-bottom: .8rem; }
.contact-v5__quick-links { display: grid; gap: .6rem; margin-top: 1.45rem; }
.contact-v5__quick-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3rem;
    padding: .75rem .9rem;
    color: #003866;
    background: #fff;
    border: 1px solid #d9e0e5;
    border-radius: 11px;
    text-decoration: none;
    font-size: .8rem;
    font-weight: 800;
}
.contact-v5__quick-link:hover,
.contact-v5__quick-link:focus-visible {
    color: #fff;
    background: #003866;
    border-color: #003866;
}
.contact-v5__info-list { display: grid; gap: 0; margin-top: 1rem; }
.contact-v5__info-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: .9rem;
    padding: 1.35rem 0;
    border-bottom: 1px solid #dfe5e9;
}
.contact-v5__info-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(161,126,67,.24);
    border-radius: 50%;
    color: #8b6a31;
    background: #fffaf0;
}
.contact-v5__info-item h3 {
    margin: 0 0 .3rem;
    color: #243746;
    font-size: .8rem;
    font-weight: 900;
}
.contact-v5__info-item p {
    margin: 0;
    color: #61727d;
    font-size: .76rem;
    line-height: 1.75;
}
.contact-v5__security-note {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin-top: auto;
    padding-top: 1.5rem;
    color: #4f675e;
    font-size: .72rem;
    line-height: 1.65;
}
.contact-v5__security-note i { color: #2a6c52; }

.contact-hp {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 991.98px) {
    .contact-v5__shell { grid-template-columns: 1fr; max-width: 760px; }
    .contact-v5__aside { border-inline-start: 0; border-top: 1px solid #e1e6e9; }
}
@media (max-width: 575.98px) {
    .page-header--contact { padding-block: 3.5rem 4rem; }
    .contact-v5 { padding-block: 2.5rem; }
    .contact-v5__shell { border-radius: 20px; }
    .contact-v5__form-panel, .contact-v5__aside { padding: 1.35rem; }
    .contact-form-v5__grid { grid-template-columns: 1fr; gap: 0; }
    .contact-form-v5__footer { align-items: stretch; flex-direction: column; }
    .contact-submit { width: 100%; }
}

/* ======================================================================
   LIVE HOTFIX V5.5 — PUBLIC CONSISTENCY / ICON CONTRAST / NAVBAR SCALE
   ====================================================================== */
:root{
    --v55-navy:#003866;
    --v55-deep:#08283d;
    --v55-ink:#102c42;
    --v55-muted:#60717d;
    --v55-gold:#C7A667;
    --v55-gold-dark:#8a672d;
    --v55-line:#dfe7eb;
    --v55-soft:#f5f7f8;
}

/* Navbar — compact and stable on desktop/mobile */
body:not(.admin-page) #main-navbar{min-height:70px!important;padding-block:.45rem!important}
body:not(.admin-page) #main-navbar .navbar-brand{padding:0!important;margin-inline-end:1.15rem;max-width:225px;min-width:150px}
body:not(.admin-page) #main-navbar .brand-logo-mark{max-height:45px!important;width:auto!important;max-width:250px!important;object-fit:contain!important}
body:not(.admin-page) #main-navbar .nav-link{font-size:.91rem;font-weight:800;padding:.65rem .58rem!important}
body:not(.admin-page) #main-navbar .btn-sm{min-height:38px!important;padding:.48rem .72rem!important;font-size:.82rem}
@media(max-width:1199.98px){body:not(.admin-page) #main-navbar .navbar-brand{max-width:190px}body:not(.admin-page) #main-navbar .brand-logo-mark{max-width:190px!important;max-height:40px!important}body:not(.admin-page) #main-navbar .nav-link{font-size:.84rem;padding-inline:.42rem!important}}
@media(max-width:991.98px){body:not(.admin-page) #main-navbar{min-height:62px!important}body:not(.admin-page) #main-navbar .navbar-brand{max-width:172px;min-width:0}body:not(.admin-page) #main-navbar .brand-logo-mark{max-width:172px!important;max-height:36px!important}body:not(.admin-page) #navbarMain{padding:1rem 0 1.2rem}body:not(.admin-page) #navbarMain .navbar-nav{gap:.15rem!important}body:not(.admin-page) #navbarMain>.d-flex{margin-inline-start:0!important;margin-top:.75rem;flex-wrap:wrap}}
@media(max-width:575.98px){body:not(.admin-page) #main-navbar .navbar-brand{max-width:145px}body:not(.admin-page) #main-navbar .brand-logo-mark{max-width:200px!important;}}

/* Page Header — one alignment everywhere: RTL right, LTR left */
body:not(.admin-page) .page-header,
body:not(.admin-page) .ceremonial-page .page-header,
body:not(.admin-page) .page-header--contact,
body:not(.admin-page) .guide-hero-section{
    text-align:start!important;
}
body:not(.admin-page) .page-header .container,
body:not(.admin-page) .ceremonial-page .page-header .container{
    display:block!important;
}
body:not(.admin-page) .page-header .breadcrumb,
body:not(.admin-page) .ceremonial-page .page-header .breadcrumb{
    justify-content:flex-start!important;
    text-align:start!important;
}
body:not(.admin-page) .page-header h1,
body:not(.admin-page) .page-header h2,
body:not(.admin-page) .page-header p,
body:not(.admin-page) .page-header__copy{
    margin-inline-start:0!important;
    margin-inline-end:auto!important;
    text-align:start!important;
}
[dir="rtl"] body:not(.admin-page) .page-header,[dir="rtl"] body:not(.admin-page) .page-header *{text-align:right}
[dir="ltr"] body:not(.admin-page) .page-header,[dir="ltr"] body:not(.admin-page) .page-header *{text-align:left}
.public-page-kicker,.public-section-kicker{display:inline-block;color:var(--v55-gold-dark);font-size:.78rem;font-weight:900;letter-spacing:.02em;margin-bottom:.65rem}
.page-header .public-page-kicker{color:#efd691!important}
.public-section-kicker--light{color:#efd691}
.public-section-head--start{text-align:start!important;max-width:760px;margin-bottom:2.3rem}
.public-section-head--start h2{font-size:clamp(1.9rem,3vw,3rem);line-height:1.3;margin:.2rem 0 .65rem}
.public-section-head--start p{color:var(--v55-muted);line-height:1.9}

/* Contrast-safe icon discs — fixes invisible icon on same-color background */
.ui-icon-disc,
body:not(.admin-page) .rounded-circle.bg-primary.bg-opacity-10,
body:not(.admin-page) .rounded-circle.bg-info.bg-opacity-10{
    width:76px;height:76px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
    background:var(--v55-navy)!important;border:1px solid rgba(199,166,103,.35);color:#fff!important;
}
.ui-icon-disc i,
body:not(.admin-page) .rounded-circle.bg-primary.bg-opacity-10 i,
body:not(.admin-page) .rounded-circle.bg-info.bg-opacity-10 i{
    color:#fff!important;opacity:1!important;font-size:1.75rem!important;
}
.ui-icon-disc--gold{background:var(--v55-deep)!important;color:#efd691!important}
.ui-icon-disc--gold i{color:#efd691!important}
.ui-icon-disc--small{width:52px;height:52px;flex:0 0 52px}
.ui-icon-disc--small i{font-size:1.22rem!important}
.error-icon .rounded-circle{background:var(--v55-navy)!important}
.error-icon .rounded-circle i{color:#fff!important}

/* Shared empty state */
.public-empty-state{max-width:760px;margin:0 auto;text-align:center;padding:4.3rem 2rem;border:1px solid var(--v55-line);border-radius:24px;background:#fff}
.public-empty-state h3{font-size:1.45rem;font-weight:900;color:var(--v55-ink);margin:1.15rem 0 .7rem}
.public-empty-state p{color:var(--v55-muted);line-height:1.9;max-width:650px;margin-inline:auto}
.public-empty-state--wide{max-width:980px;background:linear-gradient(180deg,#fff,#fbfcfc)}

/* COMMUNITY V5.5 */
.community-v55-intro{padding:clamp(4.5rem,7vw,7rem) 0 3.5rem;background:#fff}
.community-v55-intro__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.community-v55-intro h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.25;font-weight:900;color:var(--v55-ink);max-width:760px}
.community-v55-intro p{color:var(--v55-muted);font-size:1.03rem;line-height:2;max-width:760px}
.community-v55-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.community-v55-summary{border-inline-start:1px solid var(--v55-line);padding-inline-start:2.3rem;display:flex;flex-direction:column;align-items:flex-start}
.community-v55-summary>span{margin-top:1.2rem;color:var(--v55-muted);font-size:.84rem;font-weight:800}
.community-v55-summary>strong{font-size:4.6rem;line-height:1;color:var(--v55-ink);font-weight:900;margin:.3rem 0 .7rem}
.community-v55-summary p{font-size:.88rem;line-height:1.8;margin:0}
.community-v55-members{padding:4.5rem 0 6rem;background:var(--v55-soft)}
.community-v55-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.community-v55-card{position:relative;background:#fff;border:1px solid var(--v55-line);border-radius:18px;padding:1.55rem;min-height:230px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.community-v55-card:hover{transform:translateY(-2px);border-color:#d1bc8f;box-shadow:0 14px 34px rgba(16,44,66,.06)}
.community-v55-card__top{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.community-v55-type{font-size:.76rem;font-weight:900;color:var(--v55-gold-dark);background:#f7f1e5;border-radius:999px;padding:.35rem .65rem}
.community-v55-featured{margin-inline-start:auto;color:var(--v55-gold-dark)}
.community-v55-card h3{font-size:1.08rem;font-weight:900;color:var(--v55-ink)}
.community-v55-card p{color:var(--v55-muted);font-size:.88rem;line-height:1.8}
.community-v55-card__meta{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin-top:1rem;font-size:.78rem}.community-v55-card__meta span{color:var(--v55-muted)}.community-v55-card__meta a{color:var(--v55-navy);font-weight:800;text-decoration:none}

/* GUIDE V5.5 */
.guide-v55-searchbar{padding:1.3rem 0;background:#fff;border-bottom:1px solid var(--v55-line)}
.guide-v55-search{max-width:820px;display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;border:1px solid #cbd5dc;border-radius:14px;padding:.45rem .45rem .45rem .9rem;background:#fff}
.guide-v55-search>i{color:var(--v55-muted);font-size:1.1rem}.guide-v55-search input{border:0;outline:0;min-height:42px;width:100%;background:transparent;color:var(--v55-ink)}
.guide-v55-categories{padding:3rem 0 4rem;background:#fff}
.guide-v55-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-block:1px solid var(--v55-line)}
.guide-v55-category-grid article{position:relative;padding:1.35rem .85rem;min-height:142px;border-inline-end:1px solid var(--v55-line);display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.guide-v55-category-grid article:last-child{border-inline-end:0}.guide-v55-category-num{position:absolute;inset-inline-end:.75rem;top:.65rem;color:#d5dee3;font-weight:900;font-size:1.25rem}.guide-v55-category-grid strong{font-size:.84rem;color:var(--v55-ink);line-height:1.5}
.guide-v55-latest{padding:0 0 3.5rem;background:#fff}.guide-v55-latest__panel{background:var(--v55-soft);border:1px solid var(--v55-line);border-radius:20px;padding:1.7rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.guide-v55-latest h2{color:var(--v55-ink);font-size:1.45rem;font-weight:900}.guide-v55-latest h2 small{font-size:.75rem;color:var(--v55-muted)}.guide-v55-latest p{color:var(--v55-muted);margin:0}
.guide-v55-content{padding:4.5rem 0 6rem;background:var(--v55-soft)}
.guide-v55-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.guide-v55-card{display:flex;flex-direction:column;min-height:250px;padding:1.55rem;background:#fff;border:1px solid var(--v55-line);border-radius:18px;text-decoration:none;color:inherit;transition:.16s ease}.guide-v55-card:hover{border-color:#d1bc8f;transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,44,66,.06)}.guide-v55-card__meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}.guide-v55-card__meta span{font-size:.72rem;font-weight:800;color:var(--v55-gold-dark);background:#f7f1e5;border-radius:999px;padding:.3rem .55rem}.guide-v55-card__meta i{color:var(--v55-gold-dark);margin-inline-start:auto}.guide-v55-card h3{font-size:1.08rem;line-height:1.55;font-weight:900;color:var(--v55-ink)}.guide-v55-card p{color:var(--v55-muted);font-size:.87rem;line-height:1.8;flex:1}.guide-v55-card__link{font-size:.78rem;font-weight:900;color:var(--v55-navy)}

/* AWARD V5.5 */
.award-v55{background:#fff}.award-v55-intro{padding:5rem 0 4rem}.award-v55-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}.award-v55-intro h2{font-size:clamp(2.15rem,3.6vw,3.6rem);line-height:1.25;font-weight:900;color:var(--v55-ink)}.award-v55-intro p{font-size:1.02rem;line-height:2;color:var(--v55-muted)}.award-v55-meta{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem}.award-v55-meta span{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border:1px solid var(--v55-line);border-radius:999px;color:var(--v55-ink);font-size:.78rem;font-weight:800}.award-v55-meta i{color:var(--v55-gold-dark)}
.award-v55-categories{padding:2rem 0 5rem}.award-v55-category-list{border-block:1px solid var(--v55-line)}.award-v55-category-list article{display:grid;grid-template-columns:80px 52px 1fr;gap:1.2rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid var(--v55-line)}.award-v55-category-list article:last-child{border-bottom:0}.award-v55-num{font-size:2rem;font-weight:900;color:#d8e0e4}.award-v55-category-list h3{font-size:1.08rem;font-weight:900;color:var(--v55-ink);margin:0 0 .3rem}.award-v55-category-list p{color:var(--v55-muted);font-size:.87rem;margin:0;line-height:1.75}
.award-v55-recognition{padding:5.5rem 0;background:linear-gradient(135deg,#073f66,#003866 58%,#08283d);color:#fff}.award-v55-recognition__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.award-v55-trophy img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;border:1px solid rgba(199,166,103,.28)}.award-v55-recognition__copy h2{font-size:clamp(2rem,3.2vw,3rem);font-weight:900;color:#fff}.award-v55-recognition__copy p{color:rgba(255,255,255,.75);line-height:1.9}.award-v55-recognition__copy ul{list-style:none;padding:0;margin:1.4rem 0}.award-v55-recognition__copy li{display:flex;align-items:center;gap:.65rem;margin:.65rem 0;color:rgba(255,255,255,.88)}.award-v55-recognition__copy li i{color:#efd691}.award-v55-recognition__copy small{color:#d9c28e}.award-v55-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);margin-top:4rem}.award-v55-levels article{padding:1.4rem;background:#0a466d;display:flex;flex-direction:column;gap:.35rem}.award-v55-levels article.is-distinguished{background:#113d56}.award-v55-levels span{color:#efd691;font-size:1.2rem;font-weight:900}.award-v55-levels strong{color:#fff}.award-v55-level-note{text-align:center;color:rgba(255,255,255,.6);font-size:.78rem;margin:1rem 0 0}
.award-v55-timeline{padding:5rem 0;background:#fff}.award-v55-timeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.award-v55-timeline-grid article{position:relative;padding:1.35rem;border:1px solid var(--v55-line);border-radius:16px;min-height:190px}.award-v55-timeline-grid article.is-active{border-color:#c8a35e;box-shadow:inset 0 3px 0 var(--v55-gold)}.award-v55-phase-num{font-size:1.5rem;font-weight:900;color:#d8e0e4}.award-v55-timeline-grid small{display:block;color:var(--v55-gold-dark);font-weight:800;margin:.55rem 0}.award-v55-timeline-grid h3{font-size:1rem;font-weight:900;color:var(--v55-ink)}.award-v55-timeline-grid p{font-size:.8rem;line-height:1.7;color:var(--v55-muted)}
.award-v55-fields{padding:0 0 6rem}.award-v55-fields__panel{background:var(--v55-soft);border:1px solid var(--v55-line);border-radius:22px;padding:2.2rem}.award-v55-fields__panel h2{font-size:1.7rem;font-weight:900;color:var(--v55-ink)}.award-v55-field-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.25rem 0 1.7rem}.award-v55-field-chips span{background:#fff;border:1px solid var(--v55-line);border-radius:999px;padding:.48rem .75rem;color:var(--v55-ink);font-size:.77rem;font-weight:800}.award-v55-actions{display:flex;gap:.7rem;flex-wrap:wrap}

@media(max-width:991.98px){.community-v55-intro__grid,.award-v55-intro__grid,.award-v55-recognition__grid{grid-template-columns:1fr}.community-v55-summary{border-inline-start:0;border-top:1px solid var(--v55-line);padding-inline-start:0;padding-top:2rem}.community-v55-grid,.guide-v55-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-v55-category-grid{grid-template-columns:repeat(3,1fr)}.guide-v55-category-grid article{border-bottom:1px solid var(--v55-line)}.award-v55-timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.community-v55-grid,.guide-v55-grid,.award-v55-levels,.award-v55-timeline-grid{grid-template-columns:1fr}.guide-v55-category-grid{grid-template-columns:repeat(2,1fr)}.guide-v55-search{grid-template-columns:auto 1fr}.guide-v55-search button{grid-column:1/-1;width:100%}.guide-v55-latest__panel{align-items:flex-start;flex-direction:column}.award-v55-category-list article{grid-template-columns:52px 1fr}.award-v55-num{display:none}.award-v55-actions .btn,.community-v55-actions .btn{width:100%}.public-empty-state{padding:3rem 1.25rem}}

/* ==========================================================================\n   V5.5.2 — restore floating accessibility widget after public CSS hotfix\n   ========================================================================== */
/* Quiet floating accessibility control — available without adding a top strip. */
.a11y-widget {
    position: fixed;
    inset-inline-end: 1rem;
    inset-block-end: 1rem;
    z-index: 1095;
}
.a11y-launcher {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(199,166,103,.45);
    background: #003866;
    color: #fff;
    display: inline-grid;
    place-items: center;
    box-shadow: 0 12px 28px rgba(0,56,102,.22);
    font-size: 1.25rem;
}
.a11y-launcher:hover,
.a11y-launcher:focus-visible { background: #08283d; color: #fff; }
.a11y-panel {
    position: absolute;
    inset-inline-end: 0;
    inset-block-end: calc(100% + .65rem);
    width: min(320px, calc(100vw - 2rem));
    border: 1px solid #d8e0e5;
    border-radius: 16px;
    background: #fff;
    color: #203443;
    box-shadow: 0 20px 50px rgba(10,31,48,.18);
    overflow: hidden;
}
.a11y-panel[hidden] { display: none !important; }
.a11y-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    background: #f6f8f9;
    border-bottom: 1px solid #e3e9ed;
}
.a11y-panel-close {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #334b5d;
}
.a11y-panel-close:hover,
.a11y-panel-close:focus-visible { background: #e9eef1; }
.a11y-panel-body { display: grid; gap: .65rem; padding: 1rem; }
.a11y-control-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.a11y-control-label { font-weight: 700; font-size: .9rem; }
.a11y-panel .a11y-group { background: #f4f6f7; border-color: #d7e0e5; }
.a11y-panel .a11y-btn {
    min-height: 42px;
    border-color: #cbd5dc;
    color: #17364d;
    background: #fff;
}
.a11y-panel .a11y-toggle { width: 100%; justify-content: flex-start; border-radius: 10px; padding-inline: .85rem; }
.a11y-panel .a11y-btn:hover,
.a11y-panel .a11y-btn:focus-visible,
.a11y-panel .a11y-btn[aria-pressed="true"] { background: #003866; border-color: #003866; color: #fff; }

/* Strong, consistent keyboard focus — independent of hover styling. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--a11y-focus) !important;
    outline-offset: 3px !important;
}

/* Minimum target size for touch without inflating full-size buttons. */
.btn-sm,
.navbar-toggler,
.dropdown-item,
.sidebar-link,
.pagination .page-link,
.a11y-btn { min-height: 44px; }

/* Scrollable tables must visibly communicate keyboard focus. */
.table-responsive[tabindex="0"] { border-radius: 10px; }
.table-responsive[tabindex="0"]:focus-visible {
    outline: 3px solid rgba(155,120,61,.78) !important;
    outline-offset: 3px;
}

/* Screen-reader friendly validation state. */
.field-error-feedback,
.invalid-feedback { color: #a61b29; font-weight: 600; font-size: .85rem; margin-top: .35rem; }
.form-control.is-invalid,
.form-select.is-invalid { border-color: #b42331 !important; }
.form-validation-summary { scroll-margin-top: 6rem; }

/* Better mobile form actions: full-width, thumb-friendly, without changing desktop. */
@media (max-width: 575.98px) {
    .a11y-widget { inset-inline-end: .75rem; inset-block-end: .75rem; }
    .a11y-launcher { width: 46px; height: 46px; }
    form .d-flex.justify-content-end.gap-3.pb-4,
    form .d-flex.justify-content-between.gap-2,
    form .d-flex.justify-content-end.gap-2 { align-items: stretch !important; }
    form .d-flex.justify-content-end.gap-3.pb-4 > .btn,
    form .d-flex.justify-content-between.gap-2 > .btn,
    form .d-flex.justify-content-end.gap-2 > .btn { flex: 1 1 auto; }
}

/* Text scaling must not clip navigation/actions. */
html[data-a11y-font="lg"] .navbar-nav,
html[data-a11y-font="xl"] .navbar-nav { gap: .15rem !important; }
html[data-a11y-font="xl"] #main-navbar .btn-sm { padding-inline: .6rem; }

/* Accessibility modes for the floating panel itself. */
html.a11y-dark .a11y-panel { background: #131c2e; color: #eaeef5; border-color: rgba(255,255,255,.18); }
html.a11y-dark .a11y-panel-head { background: #0c1322; border-color: rgba(255,255,255,.14); }
html.a11y-dark .a11y-panel .a11y-btn,
html.a11y-dark .a11y-panel-close { background: #1b2740; color: #eaeef5; border-color: rgba(255,255,255,.22); }
html.a11y-hc .a11y-panel { border: 2px solid #000; }


/* =========================================================
   V5.7 — AWARD SIGNATURE PAGE
   ========================================================= */
.award-v57{--aw-navy:#003866;--aw-navy-deep:#062b46;--aw-navy-dark:#08283d;--aw-gold:#C7A667;--aw-gold-soft:#ecd9ae;--aw-ink:#102c42;--aw-muted:#5d6f7b;--aw-soft:#f5f7f8;--aw-line:#dfe6ea;background:#fff;color:var(--aw-ink)}
.award-v57-pagehead{min-height:245px}
.award-v57-eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:#8a682f;font-size:.78rem;font-weight:900;letter-spacing:.02em;margin-bottom:1rem}.award-v57-eyebrow i{font-size:1rem}.award-v57-eyebrow--light{color:#efd691}

.award-v57-signature{position:relative;overflow:hidden;padding:5.5rem 0 5rem;background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%)}
.award-v57-signature::after{content:"أثر";position:absolute;inset-inline-end:-.03em;bottom:-.3em;font-size:17rem;font-weight:900;line-height:.8;color:rgba(199,166,103,.045);pointer-events:none}
.award-v57-signature__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.award-v57-signature__copy h2{max-width:720px;margin:0 0 1.25rem;font-size:clamp(2.5rem,4.8vw,4.65rem);font-weight:900;line-height:1.16;letter-spacing:-.035em;color:var(--aw-ink)}
.award-v57-signature__copy>p{max-width:700px;margin:0;color:var(--aw-muted);font-size:1.05rem;line-height:2}
.award-v57-facts{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.65rem 0 1.9rem}.award-v57-facts span{display:inline-flex;align-items:center;gap:.55rem;padding:.68rem .85rem;border:1px solid var(--aw-line);border-radius:999px;background:#fff;color:var(--aw-ink);font-size:.79rem}.award-v57-facts i{color:#9b7636}.award-v57-facts strong{font-weight:900}
.award-v57-signature__actions{display:flex;flex-wrap:wrap;gap:.7rem}
.award-v57-signature__visual{position:relative;display:grid;place-items:center;min-height:480px}.award-v57-signature__visual img{position:relative;z-index:2;display:block;width:min(100%,600px);max-height:530px;object-fit:contain;filter:drop-shadow(0 25px 36px rgba(8,40,61,.18))}.award-v57-trophy-halo{position:absolute;width:min(86%,480px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(199,166,103,.18) 0%,rgba(199,166,103,.06) 48%,transparent 72%);filter:blur(1px)}

.award-v57-categories{padding:5.25rem 0 6rem;background:#fff}.award-v57-section-head{max-width:760px;margin-bottom:2.5rem}.award-v57-section-head h2{font-size:clamp(2rem,3.3vw,3.2rem);font-weight:900;line-height:1.2;color:var(--aw-ink)}.award-v57-section-head p{margin:.7rem 0 0;color:var(--aw-muted);line-height:1.9}
.award-v57-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.award-v57-category-card{position:relative;overflow:hidden;min-height:280px;padding:1.9rem;border:1px solid var(--aw-line);border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(16,44,66,.045);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.award-v57-category-card:hover{transform:translateY(-4px);border-color:rgba(199,166,103,.75);box-shadow:0 20px 44px rgba(16,44,66,.09)}
.award-v57-category-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.1rem}.award-v57-category-no{font-size:2.15rem;line-height:1;font-weight:900;color:#dbe3e7}.award-v57-category-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--aw-navy);color:#fff;box-shadow:0 8px 22px rgba(0,56,102,.18)}.award-v57-category-icon i{font-size:1.2rem;color:#fff!important}.award-v57-category-card h3{font-size:1.25rem;font-weight:900;color:var(--aw-ink);margin-bottom:.65rem}.award-v57-category-card p{font-size:.9rem;line-height:1.9;color:var(--aw-muted);margin:0}.award-v57-card-line{position:absolute;inset-inline:1.9rem;bottom:0;height:3px;background:linear-gradient(90deg,var(--aw-gold),transparent)}

.award-v57-recognition{position:relative;overflow:hidden;padding:6rem 0;background:linear-gradient(135deg,var(--aw-navy-dark),var(--aw-navy) 54%,#064b72);color:#fff}.award-v57-recognition::before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;inset-inline-end:-260px;top:-300px;background:radial-gradient(circle,rgba(199,166,103,.12),transparent 70%)}
.award-v57-recognition__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:center}.award-v57-recognition__copy h2{margin:0 0 1.1rem;font-size:clamp(2.25rem,4vw,3.8rem);line-height:1.2;font-weight:900;color:#fff!important}.award-v57-recognition__copy>p{color:rgba(255,255,255,.78)!important;line-height:2;font-size:1rem}.award-v57-recognition-list{list-style:none;margin:1.8rem 0 1.25rem;padding:0}.award-v57-recognition-list li{display:grid;grid-template-columns:48px 1fr;gap:.85rem;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.11)}.award-v57-recognition-list li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(239,214,145,.5);color:#efd691}.award-v57-recognition-list strong{display:block;color:#fff;font-size:.95rem}.award-v57-recognition-list small{display:block;color:rgba(255,255,255,.6);font-size:.76rem;margin-top:.18rem}.award-v57-no-cash{display:flex;align-items:center;gap:.55rem;color:#d9c28e!important;font-size:.78rem!important}
.award-v57-level-wrap{padding:2rem;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:rgba(255,255,255,.055);backdrop-filter:blur(7px)}.award-v57-level-label{display:block;color:#efd691;font-size:.8rem;font-weight:900;margin-bottom:1.1rem}.award-v57-levels{display:grid;gap:.7rem}.award-v57-levels article{position:relative;padding:1.25rem 1.3rem 1.2rem;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(0,0,0,.08)}.award-v57-levels article.is-distinguished{border-color:rgba(239,214,145,.55);background:linear-gradient(135deg,rgba(199,166,103,.18),rgba(255,255,255,.04))}.award-v57-score{display:block;color:#efd691;font-size:1.3rem;font-weight:900}.award-v57-levels strong{display:block;margin:.22rem 0;color:#fff;font-size:1rem}.award-v57-levels small{color:rgba(255,255,255,.58);font-size:.75rem}.award-v57-level-note{margin:1rem 0 0;color:rgba(255,255,255,.55)!important;font-size:.76rem!important}

.award-v57-timeline{padding:6rem 0;background:#fff}.award-v57-timeline-track{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:2.5rem}.award-v57-timeline-track::before{content:"";position:absolute;inset-inline:7%;top:27px;height:1px;background:linear-gradient(90deg,transparent,var(--aw-line) 12%,var(--aw-line) 88%,transparent)}.award-v57-timeline-step{position:relative;z-index:1}.award-v57-step-marker{height:55px;display:flex;align-items:flex-start}.award-v57-step-marker span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid var(--aw-line);background:#fff;color:#c9d3d9;font-size:.9rem;font-weight:900}.award-v57-timeline-step.is-active .award-v57-step-marker span{background:var(--aw-gold);border-color:var(--aw-gold);color:#122f42;box-shadow:0 8px 22px rgba(199,166,103,.24)}.award-v57-step-body{padding-top:1.1rem}.award-v57-step-body small{display:block;color:#9b7636;font-weight:800;font-size:.7rem;margin-bottom:.5rem}.award-v57-step-body h3{font-size:1rem;font-weight:900;color:var(--aw-ink);margin-bottom:.45rem}.award-v57-step-body p{font-size:.78rem;line-height:1.75;color:var(--aw-muted);margin:0}

.award-v57-fields{padding:0 0 6.5rem;background:#fff}.award-v57-fields__panel{position:relative;overflow:hidden;padding:3rem;border:1px solid var(--aw-line);border-radius:24px;background:linear-gradient(135deg,#f6f8f9,#fff);box-shadow:0 16px 42px rgba(16,44,66,.045)}.award-v57-fields__panel::after{content:"أثر";position:absolute;inset-inline-end:-.04em;bottom:-.2em;color:rgba(0,56,102,.035);font-size:12rem;font-weight:900;line-height:.8;pointer-events:none}.award-v57-fields__intro{position:relative;z-index:1;max-width:700px}.award-v57-fields__intro h2{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:900;color:var(--aw-ink)}.award-v57-fields__intro p{color:var(--aw-muted);line-height:1.9}.award-v57-field-grid{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0 2rem}.award-v57-field-grid span{display:inline-flex;align-items:center;gap:.55rem;padding:.62rem .82rem;border:1px solid var(--aw-line);border-radius:999px;background:#fff;color:var(--aw-ink);font-size:.78rem;font-weight:800}.award-v57-field-grid i{color:#9b7636}.award-v57-bottom-actions{position:relative;z-index:1;display:flex;gap:.8rem;flex-wrap:wrap}

@media(max-width:991.98px){.award-v57-signature__grid,.award-v57-recognition__grid{grid-template-columns:1fr}.award-v57-signature__visual{min-height:350px}.award-v57-signature__visual img{max-height:410px}.award-v57-category-grid{grid-template-columns:1fr}.award-v57-category-card{min-height:auto}.award-v57-timeline-track{grid-template-columns:repeat(2,minmax(0,1fr))}.award-v57-timeline-track::before{display:none}}
@media(max-width:575.98px){.award-v57-signature{padding:3.6rem 0 4rem}.award-v57-signature__copy h2{font-size:2.45rem}.award-v57-signature__visual{min-height:290px;margin-top:1rem}.award-v57-signature__visual img{max-height:320px}.award-v57-signature__actions .btn,.award-v57-bottom-actions .btn{width:100%}.award-v57-recognition{padding:4.5rem 0}.award-v57-level-wrap{padding:1.2rem}.award-v57-timeline{padding:4.5rem 0}.award-v57-timeline-track{grid-template-columns:1fr}.award-v57-timeline-step{display:grid;grid-template-columns:54px 1fr;gap:1rem}.award-v57-step-marker{height:auto}.award-v57-step-body{padding-top:.15rem;padding-bottom:1.5rem}.award-v57-fields__panel{padding:2rem 1.2rem}.award-v57-field-grid span{width:100%;border-radius:12px}.award-v57-category-card{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.award-v57-category-card{transition:none}.award-v57-category-card:hover{transform:none}}


/* =========================================================
   V5.8 — Cinematic Award Hero
   bg-section.png keeps the trophy on the physical right side.
   Copy occupies the negative space on the physical left side
   in both RTL and LTR; text alignment still follows language.
   ========================================================= */
.award-v58-cinematic{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:clamp(560px,68vh,760px);
  display:flex;align-items:center;background:#071634;color:#fff;
  border-bottom:1px solid rgba(199,166,103,.34);
}
.award-v58-cinematic__media{
  position:absolute;inset:0;z-index:-3;
  background-size:cover;background-position:center right;background-repeat:no-repeat;
  transform:scale(1.002);
}
.award-v58-cinematic__veil{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(3,18,47,.97) 0%,rgba(3,18,47,.91) 27%,rgba(3,18,47,.62) 48%,rgba(3,18,47,.08) 71%,rgba(3,18,47,.02) 100%),
    linear-gradient(180deg,rgba(3,18,47,.08),rgba(3,18,47,.22));
}
.award-v58-cinematic::after{
  content:"";position:absolute;inset-inline-start:0;bottom:0;width:48%;height:2px;
  background:linear-gradient(90deg,var(--aw-gold,#C7A667),transparent);opacity:.9;
}
.award-v58-cinematic__inner{width:100%;position:relative;z-index:2}
.award-v58-cinematic__copy{
  width:min(48%,720px);margin-left:0;margin-right:auto;
  padding:clamp(4.5rem,7vw,7.5rem) 0;
}
html[dir="rtl"] .award-v58-cinematic__copy{text-align:right;direction:rtl}
html[dir="ltr"] .award-v58-cinematic__copy{text-align:left;direction:ltr}
.award-v58-kicker{
  display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.1rem;
  color:#f1d899;font-size:.82rem;font-weight:900;letter-spacing:.02em;
}
.award-v58-kicker i{color:#f1d899!important;font-size:1.05rem}
.award-v58-cinematic__copy h2{
  margin:0 0 1.2rem;color:#fff!important;
  font-size:clamp(2.65rem,4.6vw,5.15rem);line-height:1.5;font-weight:900;letter-spacing:-.035em;
  text-wrap:balance;max-width:720px;
}
.award-v58-cinematic__copy>p{
  margin:0;max-width:650px;color:rgba(255,255,255,.79)!important;
  font-size:clamp(.98rem,1.25vw,1.12rem);line-height:2;
}
.award-v58-facts{display:flex;flex-wrap:wrap;gap:.62rem;margin:1.65rem 0 1.9rem}
.award-v58-facts span{
  display:inline-flex;align-items:center;gap:.5rem;padding:.66rem .82rem;
  border:1px solid rgba(255,255,255,.19);border-radius:999px;
  background:rgba(5,29,63,.46);backdrop-filter:blur(8px);
  color:#fff;font-size:.78rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.award-v58-facts i{color:#f1d899!important}.award-v58-facts strong{font-weight:900}
.award-v58-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.award-v58-actions .btn-outline-light{
  border-color:rgba(255,255,255,.48);color:#fff;background:rgba(255,255,255,.035);
}
.award-v58-actions .btn-outline-light:hover{background:#fff;color:#073f66;border-color:#fff}

@media(max-width:1199.98px){
  .award-v58-cinematic__copy{width:min(53%,660px)}
  .award-v58-cinematic__veil{background:linear-gradient(90deg,rgba(3,18,47,.98) 0%,rgba(3,18,47,.91) 34%,rgba(3,18,47,.56) 58%,rgba(3,18,47,.12) 82%,rgba(3,18,47,.04) 100%)}
}
@media(max-width:991.98px){
  .award-v58-cinematic{min-height:620px;align-items:flex-end}
  .award-v58-cinematic__media{background-position:66% center}
  .award-v58-cinematic__veil{background:linear-gradient(180deg,rgba(3,18,47,.18) 0%,rgba(3,18,47,.42) 34%,rgba(3,18,47,.94) 72%,rgba(3,18,47,.99) 100%)}
  .award-v58-cinematic__copy{width:100%;max-width:760px;padding:16rem 0 4.5rem}
}
@media(max-width:575.98px){
  .award-v58-cinematic{min-height:650px}
  .award-v58-cinematic__media{background-size:auto 100%;background-position:68% center}
  .award-v58-cinematic__copy{padding:14rem 0 3.4rem}
  .award-v58-cinematic__copy h2{font-size:2.55rem;line-height:1.13}
  .award-v58-facts{gap:.45rem;margin:1.2rem 0 1.4rem}
  .award-v58-facts span{font-size:.7rem;padding:.58rem .7rem}
  .award-v58-actions{display:grid;grid-template-columns:1fr;width:100%}
  .award-v58-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.award-v58-cinematic__media{transform:none}}

/*==========*/

/* =========================================================
   V5 — Award Guide Signature Section
   ========================================================= */

.v5-award-guide {
    padding: clamp(5rem, 8vw, 8rem) 0;
    background:
        radial-gradient(
            circle at 12% 50%,
            rgba(199,166,103,.09),
            transparent 30%
        ),
        #fff;
}

.v5-award-guide .v5-resource-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(300px, .62fr) minmax(0, 1.18fr);
    align-items: center;
    gap: clamp(2.5rem, 5vw, 5.5rem);

    max-width: 1240px;
    margin-inline: auto;

    padding: clamp(3rem, 5vw, 5.5rem);
    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(247,249,250,.94)
        );

    border: 1px solid #dce4e9;
    border-radius: 30px;

    box-shadow:
        0 30px 80px rgba(8,40,61,.08),
        0 8px 24px rgba(8,40,61,.04);
}


/* IMAGE SIDE
   --------------------------------------------------------- */

.v5-resource-visual {
    position: relative;
    min-height: 430px;

    display: flex;
    align-items: center;
    justify-content: center;

    isolation: isolate;
}

.v5-resource-visual::before {
    content: "";
    position: absolute;
    width: 390px;
    height: 390px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(199,166,103,.16) 0%,
            rgba(199,166,103,.06) 46%,
            transparent 72%
        );

    z-index: -2;
}

.v5-resource-visual-glow {
    position: absolute;
    inset: 15% 8% 4%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(0,56,102,.10),
            transparent 68%
        );

    filter: blur(18px);
    z-index: -1;
}


/* الكتاب نفسه */

.v5-resource-book {
    position: relative;
    z-index: 2;

    width: min(100%, 560px);
    max-height: 430px;

    object-fit: contain;

    transform: scale(1.08);

    filter:
        drop-shadow(0 28px 28px rgba(8,40,61,.20))
        drop-shadow(0 8px 10px rgba(8,40,61,.08));

    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        filter .5s ease;
}

.v5-resource-panel:hover .v5-resource-book {
    transform: scale(1.11) translateY(-5px);

    filter:
        drop-shadow(0 34px 35px rgba(8,40,61,.23))
        drop-shadow(0 10px 12px rgba(8,40,61,.10));
}


/* Edition badge */

.v5-resource-edition {
    position: absolute;
    z-index: 3;

    inset-inline-start: 8%;
    bottom: 8%;

    display: inline-flex;
    align-items: center;
    gap: .65rem;

    padding: .65rem .9rem;

    background: rgba(255,255,255,.92);
    border: 1px solid rgba(199,166,103,.42);
    border-radius: 12px;

    box-shadow: 0 12px 28px rgba(8,40,61,.10);

    backdrop-filter: blur(10px);
}

.v5-resource-edition span {
    color: #526471;
    font-size: .78rem;
    font-weight: 600;
}

.v5-resource-edition strong {
    color: #7b5f2d;
    font-size: .9rem;
}


/* CONTENT
   --------------------------------------------------------- */

.v5-award-guide .v5-resource-copy {
    position: relative;
    z-index: 2;
}

.v5-award-guide .v5-section-label {
    display: inline-flex;
    margin-bottom: 1rem;

    color: #8b6b2f;
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.v5-award-guide .v5-resource-copy h2 {
    max-width: 720px;

    margin: 0 0 1.25rem;

    color: #102c42;

    font-size: clamp(2.3rem, 4vw, 4.25rem);
    line-height: 1.5;
    font-weight: 900;
    letter-spacing: -.025em;
}

.v5-resource-lead {
    max-width: 740px;

    margin-bottom: 1.7rem;

    color: #526471;

    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 2;
}


/* Points */

.v5-award-guide .v5-resource-points {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;

    margin: 0 0 2rem;
}

.v5-award-guide .v5-resource-points span {
    display: inline-flex;
    align-items: center;
    gap: .5rem;

    color: #203b50;
    font-size: .92rem;
    font-weight: 700;
}

.v5-award-guide .v5-resource-points i {
    color: #b58b42;
    font-size: 1rem;
}


/* Actions */

.v5-award-guide .v5-resource-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
}

.v5-award-guide .v5-resource-actions .btn {
    min-height: 54px;
    padding-inline: 1.5rem;
}


/* LTR
   --------------------------------------------------------- */

html[dir="ltr"] .v5-award-guide .v5-resource-panel {
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
}

html[dir="ltr"] .v5-award-guide .v5-resource-copy {
    order: 1;
}

html[dir="ltr"] .v5-award-guide .v5-resource-visual {
    order: 2;
}


/* TABLET
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    .v5-award-guide {
        padding: 4.5rem 0;
    }

    .v5-award-guide .v5-resource-panel,
    html[dir="ltr"] .v5-award-guide .v5-resource-panel {
        grid-template-columns: 1fr;
        gap: 1.5rem;

        padding: 2.5rem;
    }

    .v5-resource-visual,
    html[dir="ltr"] .v5-resource-visual {
        order: 1;
        min-height: 360px;
    }

    .v5-award-guide .v5-resource-copy,
    html[dir="ltr"] .v5-award-guide .v5-resource-copy {
        order: 2;
    }

    .v5-resource-book {
        width: min(90%, 520px);
        max-height: 360px;
    }

}


/* MOBILE
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    .v5-award-guide {
        padding: 3.5rem 0;
    }

    .v5-award-guide .v5-resource-panel {
        padding: 1.6rem;
        border-radius: 22px;
    }

    .v5-resource-visual {
        min-height: 260px;
        margin-bottom: .5rem;
    }

    .v5-resource-visual::before {
        width: 280px;
        height: 280px;
    }

    .v5-resource-book {
        width: 100%;
        max-height: 275px;

        transform: scale(1.02);
    }

    .v5-resource-panel:hover .v5-resource-book {
        transform: scale(1.02);
    }

    .v5-resource-edition {
        inset-inline-start: 0;
        bottom: 0;
    }

    .v5-award-guide .v5-resource-copy h2 {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .v5-award-guide .v5-resource-points {
        display: grid;
        grid-template-columns: 1fr;
        gap: .65rem;
    }

    .v5-award-guide .v5-resource-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .v5-award-guide .v5-resource-actions .btn {
        width: 100%;
    }

}

/* ======================================================================
   V5.9 — PUBLIC FOOTER / MOBILE COMPACT MODE
   Mobile-only refinement. Desktop layout remains unchanged.
   ====================================================================== */
@media (max-width: 767.98px) {
    body:not(.admin-page) .public-footer-v5 {
        text-align: center !important;
    }

    /* Home footer: compact, centered, and limited to useful navigation. */
    body:not(.admin-page) .home-footer-v4 .home-footer-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 1.6rem 1rem !important;
        padding: 2.5rem 0 1.8rem !important;
        align-items: start !important;
    }
    body:not(.admin-page) .home-footer-v4 .home-footer-brand {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 430px !important;
        margin-inline: auto !important;
        text-align: center !important;
    }
body:not(.admin-page) .home-footer-v4 .home-footer-logo {
	/* display: block !important; */
	width: 150px !important;
	max-width: 150px !important;
	height: auto !important;
	max-height: 92px !important;
	object-fit: contain !important;
	margin: 0 0 1rem !important;
}
    body:not(.admin-page) .home-footer-v4 .home-footer-brand > p:first-of-type {
        max-width: 310px !important;
        margin: 0 auto !important;
        font-size: .78rem !important;
        line-height: 1.75 !important;
    }
    body:not(.admin-page) .home-footer-v4 .home-footer-social {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: .55rem !important;
        margin-top: 1rem !important;
    }
    body:not(.admin-page) .home-footer-v4 .home-footer-social a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        height: 38px !important;
        border: 1px solid rgba(255,255,255,.16) !important;
        border-radius: 50% !important;
        background: rgba(255,255,255,.05) !important;
        font-size: .95rem !important;
    }

    body:not(.admin-page) .public-footer-v5 .footer-links-group {
        text-align: center !important;
        min-width: 0 !important;
    }
    body:not(.admin-page) .public-footer-v5 .footer-links-group h6 {
        margin-bottom: .75rem !important;
        font-size: .82rem !important;
    }
    body:not(.admin-page) .public-footer-v5 .footer-links-group ul {
        margin: 0 !important;
        padding: 0 !important;
    }
    body:not(.admin-page) .public-footer-v5 .footer-links-group li + li {
        margin-top: .36rem !important;
    }
    body:not(.admin-page) .public-footer-v5 .footer-links-group a {
        display: inline-block !important;
        padding: .15rem .2rem !important;
        font-size: .78rem !important;
        line-height: 1.55 !important;
    }

    /* Non-essential desktop information disappears on small screens. */
    body:not(.admin-page) .public-footer-v5 .footer-mobile-optional,
    body:not(.admin-page) .public-footer-v5 .footer-mobile-secondary {
        display: none !important;
    }

    /* Internal-page footer uses the same centered mobile language. */
    body:not(.admin-page) .impact-footer.public-footer-v5 .container.py-5 {
        padding-top: 2.4rem !important;
        padding-bottom: 1.8rem !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .row {
        justify-content: center !important;
        row-gap: 1.5rem !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-brand-column {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-brand {
        max-width: 380px !important;
        margin-inline: auto !important;
        text-align: center !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-logo {
        display: block !important;
        width: 118px !important;
        max-width: 118px !important;
        max-height: 78px !important;
        object-fit: contain !important;
        margin: 0 auto .85rem !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-brand h5,
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-brand .footer-slogan {
        text-align: center !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-links-group {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
    }

    /* Copyright / legal links become one compact centered stack. */
    body:not(.admin-page) .public-footer-v5 .home-footer-bottom .container,
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-bottom .container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: .45rem !important;
        text-align: center !important;
    }
    body:not(.admin-page) .public-footer-v5 .home-footer-bottom,
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-bottom {
        padding: .9rem 0 !important;
    }
    body:not(.admin-page) .public-footer-v5 .home-footer-bottom span,
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-bottom p,
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-bottom a {
        font-size: .72rem !important;
        line-height: 1.6 !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-bottom .d-flex {
        justify-content: center !important;
        gap: 1rem !important;
    }
}

@media (max-width: 430px) {
    body:not(.admin-page) .home-footer-v4 .home-footer-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 1.4rem .65rem !important;
        padding-top: 2.15rem !important;
    }
    body:not(.admin-page) .public-footer-v5 .footer-links-group h6 {
        font-size: .78rem !important;
    }
    body:not(.admin-page) .public-footer-v5 .footer-links-group a {
        font-size: .73rem !important;
    }
    body:not(.admin-page) .impact-footer.public-footer-v5 .footer-links-group {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        padding-inline: .35rem !important;
    }
}



/* ======================================================================
   V5.23.9 — Branded form controls + semantic badge contrast
   ====================================================================== */
.form-check-input {
    width: 1.15rem !important;
    height: 1.15rem !important;
    min-width: 1.15rem !important;
    min-height: 1.15rem !important;
    margin-top: .18em;
    border: 1.5px solid #8797A3 !important;
    background-color: #fff;
    box-shadow: none !important;
    flex: 0 0 1.15rem;
}
.form-check-input[type="radio"] { border-radius: 50% !important; }
.form-check-input:checked {
    background-color: #003866 !important;
    border-color: #003866 !important;
}
.form-check-input:focus {
    border-color: #9B783D !important;
    box-shadow: 0 0 0 .2rem rgba(199,166,103,.20) !important;
}
.form-check-input:disabled { opacity: .55; }
.form-check-inline {
    display: inline-flex !important;
    align-items: center;
    gap: .42rem;
    padding-inline-start: 0 !important;
    margin-inline-end: 1rem !important;
}
.form-check-inline .form-check-input {
    float: none !important;
    margin: 0 !important;
}
.form-check-inline .form-check-label {
    margin: 0 !important;
    line-height: 1.45;
}
.form-switch .form-check-input {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    height: 1.2rem !important;
    min-height: 1.2rem !important;
}

.badge { line-height: 1.25; }
.badge.bg-primary,
.badge.bg-secondary,
.badge.bg-dark,
.badge.bg-danger { color: #fff !important; }
.badge.bg-warning,
.badge.bg-info { color: #102C42 !important; }
.badge.bg-success {
    background-color: #134E5E !important;
    color: #fff !important;
}
.badge.bg-success-subtle,
.badge.bg-success-subtle.text-success {
    background-color: #E7F0F1 !important;
    color: #134E5E !important;
    border-color: rgba(19,78,94,.22) !important;
}
.badge.bg-primary-subtle,
.badge.bg-primary-subtle.text-primary {
    background-color: #E8F0F6 !important;
    color: #003866 !important;
    border-color: rgba(0,56,102,.18) !important;
}
.badge.bg-warning-subtle,
.badge.bg-warning-subtle.text-warning {
    background-color: #F8F0DF !important;
    color: #7A5B22 !important;
    border-color: rgba(199,166,103,.34) !important;
}
.badge.bg-danger-subtle,
.badge.bg-danger-subtle.text-danger {
    background-color: #FBEAEC !important;
    color: #9B2635 !important;
    border-color: rgba(155,38,53,.20) !important;
}
.badge.bg-info-subtle,
.badge.bg-info-subtle.text-info {
    background-color: #E9F2F5 !important;
    color: #134E5E !important;
    border-color: rgba(19,78,94,.18) !important;
}
.dashboard-layout .text-success,
.admin-layout .text-success { color: #134E5E !important; }
.dashboard-layout .bg-success-subtle,
.admin-layout .bg-success-subtle { background-color: #E7F0F1 !important; }


/* ──────────────────────────────────────────────────────────────
   Kodo — Platform credit
   ────────────────────────────────────────────────────────────── */
.home-footer-meta-links {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.kodo-powered-link {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font: inherit;
    font-size: .78rem;
    opacity: .78;
    cursor: pointer;
    transition: opacity .2s ease, color .2s ease;
}

.kodo-powered-link:hover,
.kodo-powered-link:focus-visible {
    opacity: 1;
    color: #C7A667;
    outline: none;
}

.kodo-powered-link strong {
    color: #C7A667;
    font-weight: 800;
    letter-spacing: .01em;
}

.kodo-credit-modal .modal-content {
    border: 0;
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0, 56, 102, .18);
}

.kodo-credit-modal .modal-content::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #C7A667, #003866);
}

.kodo-credit-modal .modal-header {
    padding: 1.5rem 1.5rem .25rem;
}

.kodo-credit-modal .modal-body {
    padding: 1rem 1.5rem 1.6rem;
}

.kodo-credit-eyebrow {
    color: #9B7A3E;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .25rem;
}

.kodo-credit-brand {
	display: block;
	align-items: center;
	gap: .85rem;
	padding: 1rem;
	border: 1px solid rgba(0, 56, 102, .10);
	background: #FFF;
	border-radius: 1rem;
	margin-bottom: 1rem;
	text-align: center;
}

.kodo-credit-mark {
    width: 3.15rem;
    height: 3.15rem;
    border-radius: .9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: linear-gradient(135deg, #003866 0%, #08283d 100%);
    color: #C7A667;
    font-size: 1.55rem;
    font-weight: 900;
    letter-spacing: -.06em;
}

.kodo-credit-name {
    color: #003866;
    font-size: 1.25rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
}

.kodo-credit-domain {
    color: #7B8792;
    font-size: .78rem;
    margin-top: .3rem;
}

.kodo-credit-copy {
	color: #526272;
	font-size: .9rem;
	line-height: 1.9;
	margin-bottom: 1.1rem;
	text-align: justify;
}

.kodo-credit-actions {
	display: block;
	align-items: center;
	text-align: center;
}

.kodo-credit-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 56, 102, .08);
    font-size: .78rem;
}

.kodo-credit-contact a {
    color: #003866;
    text-decoration: none;
}

.kodo-credit-contact a:hover {
    color: #9B7A3E;
}

@media (max-width: 767.98px) {
    .home-footer-meta-links {
        width: 100%;
        justify-content: center;
        gap: .65rem 1rem;
    }

    .kodo-powered-prefix {
        display: none;
    }

    .kodo-powered-link {
        font-size: .75rem;
    }

    .kodo-credit-modal .modal-dialog {
        margin: .75rem;
    }
}

/* ======================================================================
   Cp
   ====================================================================== */
.dash-card-body .bi {color:#FFF !important; }
.dash-card-body  .btn-primary .bi{color:#FFF !important; }
.dash-card-body  .status-badge .bi , .dash-card-body .btn-outline-primary .bi , .dash-card-body  .btn-outline-secondary .bi ,
.dash-card-body .quick-link-item .bi{color:#003866 !important; }
