/*
 * FCHDK — Core CSS
 * Global design foundation for the public website and shared components.
 */

:root {
    --fchdk-green-950: #03351f;
    --fchdk-green-900: #064a30;
    --fchdk-green-800: #075c3b;
    --fchdk-green-700: #087447;
    --fchdk-green-600: #0b8a53;
    --fchdk-green-100: #e7f4ed;
    --fchdk-green-050: #f4faf7;

    --fchdk-yellow-500: #f2c230;
    --fchdk-yellow-100: #fff7d6;

    --fchdk-red-600: #b42318;

    --fchdk-text: #17231d;
    --fchdk-muted: #66736b;
    --fchdk-border: #dce5df;
    --fchdk-surface: #ffffff;
    --fchdk-surface-soft: #f6f8f7;
    --fchdk-body: #f8faf9;

    --fchdk-shadow-sm: 0 4px 18px rgba(3, 53, 31, 0.08);
    --fchdk-shadow-md: 0 12px 36px rgba(3, 53, 31, 0.12);

    --fchdk-radius-sm: 8px;
    --fchdk-radius-md: 14px;
    --fchdk-radius-lg: 22px;

    --fchdk-container: 1240px;
    --fchdk-transition: 180ms ease;
}

/* ---------- Reset ---------- */

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

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    min-width: 320px;
    background: var(--fchdk-body);
    color: var(--fchdk-text);
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

img,
svg,
video {
    display: block;
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
    text-decoration: none;
    transition:
        color var(--fchdk-transition),
        background-color var(--fchdk-transition),
        border-color var(--fchdk-transition),
        box-shadow var(--fchdk-transition),
        transform var(--fchdk-transition);
}

button {
    border: 0;
    cursor: pointer;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    color: var(--fchdk-green-950);
    font-family: "Manrope", Arial, sans-serif;
    line-height: 1.2;
}

p {
    margin-top: 0;
}

/* ---------- Accessibility ---------- */

:focus-visible {
    outline: 3px solid var(--fchdk-yellow-500);
    outline-offset: 3px;
}

.fchdk-sr-only {
    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;
}

/* ---------- Shared layout ---------- */

.fchdk-container {
    width: min(calc(100% - 32px), var(--fchdk-container));
    margin-inline: auto;
}

/* ---------- Maintenance banner ---------- */

.fchdk-maintenance-banner {
    position: relative;
    z-index: 1000;
    background: var(--fchdk-yellow-500);
    color: var(--fchdk-green-950);
    font-size: 0.9rem;
    font-weight: 600;
}

.fchdk-maintenance-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding-block: 7px;
    text-align: center;
}

.fchdk-maintenance-icon {
    flex: 0 0 auto;
}

.fchdk-maintenance-text {
    max-width: 100%;
}

/* ---------- Public header ---------- */

.fchdk-site-header {
    position: relative;
    z-index: 900;
    background: var(--fchdk-surface);
    border-bottom: 1px solid var(--fchdk-border);
}

.fchdk-header-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 82px;
    gap: 20px;
}

.fchdk-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.fchdk-brand:hover {
    color: inherit;
}

.fchdk-brand-mark {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 14px;
    background: var(--fchdk-green-800);
    color: #fff;
    font-size: 1.35rem;
    box-shadow: var(--fchdk-shadow-sm);
}

.fchdk-brand-text {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.fchdk-brand-text strong {
    color: var(--fchdk-green-900);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1.08rem;
    line-height: 1.1;
}

.fchdk-brand-text small {
    color: var(--fchdk-muted);
    font-size: 0.72rem;
    line-height: 1.35;
}

.fchdk-mobile-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 10px;
    background: var(--fchdk-green-050);
    color: var(--fchdk-green-900);
}

.fchdk-mobile-toggle span {
    display: block;
    width: 21px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition: transform var(--fchdk-transition), opacity var(--fchdk-transition);
}

.fchdk-mobile-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.fchdk-mobile-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.fchdk-mobile-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ---------- Public navigation ---------- */

.fchdk-navigation-wrap {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    display: none;
    overflow: visible;
    padding: 14px 16px 18px;
    background: var(--fchdk-surface);
    border-bottom: 1px solid var(--fchdk-border);
    box-shadow: var(--fchdk-shadow-md);
}

.fchdk-navigation-wrap.is-open {
    display: block;
}

.fchdk-nav-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fchdk-nav-list > li {
    position: relative;
}

.fchdk-nav-link {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 11px 12px;
    border-radius: 9px;
    background: transparent;
    color: var(--fchdk-text);
    font-weight: 600;
    text-align: left;
}

.fchdk-nav-link:hover,
.fchdk-nav-link.is-active {
    background: var(--fchdk-green-100);
    color: var(--fchdk-green-800);
}

.fchdk-dropdown-toggle i {
    font-size: 0.7rem;
    transition: transform var(--fchdk-transition);
}

.fchdk-dropdown-toggle.is-open i {
    transform: rotate(180deg);
}

.fchdk-dropdown-menu {
    display: none;
    margin: 2px 0 4px 12px;
    padding-left: 10px;
    border-left: 2px solid var(--fchdk-green-100);
}

.fchdk-dropdown-menu.is-open {
    display: block;
}

.fchdk-dropdown-link {
    display: block;
    padding: 8px 10px;
    border-radius: 7px;
    color: var(--fchdk-muted);
    font-size: 0.94rem;
}

.fchdk-dropdown-link:hover {
    background: var(--fchdk-green-050);
    color: var(--fchdk-green-800);
}

.fchdk-header-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--fchdk-border);
}

.fchdk-portal-link,
.fchdk-student-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 9px;
    font-weight: 700;
}

.fchdk-portal-link {
    background: var(--fchdk-green-800);
    color: #fff;
}

.fchdk-portal-link:hover {
    background: var(--fchdk-green-900);
    color: #fff;
    transform: translateY(-1px);
}

.fchdk-student-link {
    background: var(--fchdk-yellow-500);
    color: var(--fchdk-green-950);
}

.fchdk-student-link:hover {
    background: #e7b51d;
    color: var(--fchdk-green-950);
    transform: translateY(-1px);
}

/* ---------- Public footer ---------- */
.fchdk-site-footer{position:relative;isolation:isolate;margin-top:72px;overflow:hidden;background:radial-gradient(circle at 12% 10%,rgba(11,138,83,.22),transparent 28%),radial-gradient(circle at 88% 25%,rgba(242,194,48,.08),transparent 24%),linear-gradient(180deg,#032d1d 0%,#021f15 100%);color:rgba(255,255,255,.78)}
.fchdk-site-footer:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.42;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px}
.fchdk-site-footer:after{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:2px;z-index:5;background:linear-gradient(90deg,transparent,var(--fchdk-yellow-500),var(--fchdk-green-600),var(--fchdk-yellow-500),transparent);opacity:.85}
.fchdk-footer-visual{position:relative;height:112px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(7,92,59,.45),rgba(3,53,31,.1))}
.fchdk-footer-landscape{position:absolute;inset:0;overflow:hidden}.fchdk-footer-hill{position:absolute;bottom:-58px;width:58%;height:125px;border-radius:50% 50% 0 0;background:rgba(7,92,59,.38)}.fchdk-footer-hill-one{left:-8%;transform:rotate(-2deg)}.fchdk-footer-hill-two{right:-12%;background:rgba(11,138,83,.18);transform:rotate(3deg)}
.fchdk-footer-field{position:absolute;bottom:-26px;width:31%;height:62px;border-radius:50% 50% 0 0;border-top:1px solid rgba(242,194,48,.18);background:repeating-linear-gradient(170deg,rgba(242,194,48,.08) 0 2px,transparent 2px 13px);transform:rotate(-3deg)}.fchdk-footer-field-one{left:12%}.fchdk-footer-field-two{left:43%;transform:rotate(3deg)}.fchdk-footer-field-three{right:4%;transform:rotate(-4deg)}
.fchdk-footer-sun{position:absolute;top:20px;right:14%;width:46px;height:46px;border-radius:50%;background:rgba(242,194,48,.16);box-shadow:0 0 38px rgba(242,194,48,.14);animation:fchdkFooterSun 5s ease-in-out infinite}.fchdk-footer-cloud{position:absolute;width:82px;height:20px;border-radius:50px;background:rgba(255,255,255,.08)}.fchdk-footer-cloud:before,.fchdk-footer-cloud:after{content:"";position:absolute;bottom:2px;border-radius:50%;background:inherit}.fchdk-footer-cloud:before{left:18px;width:28px;height:28px}.fchdk-footer-cloud:after{left:43px;width:22px;height:22px}.fchdk-footer-cloud-one{top:32px;left:18%;animation:fchdkFooterCloud 18s linear infinite}.fchdk-footer-cloud-two{top:52px;left:52%;transform:scale(.7);opacity:.55;animation:fchdkFooterCloud 24s linear infinite reverse}.fchdk-footer-drone{position:absolute;top:24px;left:40%;display:grid;width:28px;height:28px;place-items:center;color:rgba(255,255,255,.5);font-size:.85rem;animation:fchdkFooterDrone 7s ease-in-out infinite}.fchdk-footer-leaf{position:absolute;right:30%;bottom:18px;color:rgba(242,194,48,.2);font-size:1.6rem;animation:fchdkFooterLeaf 4s ease-in-out infinite}
.fchdk-footer-main{display:grid;gap:38px;padding-block:56px 42px}.fchdk-footer-brand{max-width:470px}.fchdk-footer-brand-top{margin-bottom:18px}.fchdk-footer-logo{display:inline-flex;align-items:center;gap:14px;color:#fff}.fchdk-footer-logo:hover{color:#fff;transform:translateY(-1px)}.fchdk-footer-logo-mark{display:flex;width:68px;height:68px;flex:0 0 68px;align-items:center;justify-content:center;padding:4px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(145deg,rgba(11,138,83,.45),rgba(3,53,31,.8));box-shadow:0 12px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.08)}.fchdk-footer-logo-mark img{display:block;width:100%;height:100%;object-fit:contain}.fchdk-footer-logo strong,.fchdk-footer-logo small{display:block}.fchdk-footer-logo strong{color:#fff;font-family:"Manrope",Arial,sans-serif;font-size:1.05rem;line-height:1.2}.fchdk-footer-logo small{margin-top:5px;color:rgba(255,255,255,.58);font-size:.78rem}.fchdk-footer-kicker{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:rgba(255,255,255,.42);font-size:.63rem;font-weight:800;letter-spacing:.13em}.fchdk-footer-kicker-line{width:26px;height:2px;border-radius:2px;background:var(--fchdk-yellow-500)}.fchdk-footer-tagline{margin:0 0 10px;color:var(--fchdk-yellow-500);font-family:"Manrope",Arial,sans-serif;font-size:1rem;font-weight:800}.fchdk-footer-description{max-width:440px;margin:0 0 22px;color:rgba(255,255,255,.62);font-size:.9rem;line-height:1.75}
.fchdk-footer-identity{display:grid;gap:9px;margin-bottom:22px}.fchdk-footer-identity-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.035)}.fchdk-footer-identity-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:9px;background:rgba(11,138,83,.22);color:var(--fchdk-yellow-500);font-size:.78rem}.fchdk-footer-identity-item strong,.fchdk-footer-identity-item small{display:block}.fchdk-footer-identity-item strong{color:rgba(255,255,255,.88);font-size:.76rem}.fchdk-footer-identity-item small{margin-top:1px;color:rgba(255,255,255,.42);font-size:.67rem}
.fchdk-footer-social{display:flex;gap:8px}.fchdk-social-placeholder{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.025);color:rgba(255,255,255,.62);opacity:.78;cursor:default;transition:transform var(--fchdk-transition),border-color var(--fchdk-transition),background-color var(--fchdk-transition),color var(--fchdk-transition)}.fchdk-social-placeholder:hover{border-color:rgba(242,194,48,.38);background:rgba(242,194,48,.08);color:var(--fchdk-yellow-500);transform:translateY(-2px)}.fchdk-social-placeholder i{font-size:.9rem}
.fchdk-footer-column,.fchdk-footer-portals,.fchdk-footer-contact{min-width:0}.fchdk-footer-column-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px}.fchdk-footer-column-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(11,138,83,.15);color:var(--fchdk-yellow-500);font-size:.75rem}.fchdk-footer-column h2{margin:0;color:#fff;font-family:"Manrope",Arial,sans-serif;font-size:.9rem;font-weight:800}.fchdk-footer-column ul{margin:0;padding:0;list-style:none}.fchdk-footer-column li+li{margin-top:5px}.fchdk-footer-column li a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;color:rgba(255,255,255,.58);font-size:.82rem}.fchdk-footer-column li a i{color:rgba(242,194,48,.45);font-size:.62rem;opacity:0;transform:translateX(-4px);transition:opacity var(--fchdk-transition),transform var(--fchdk-transition)}.fchdk-footer-column li a:hover{color:var(--fchdk-yellow-500);transform:translateX(2px)}.fchdk-footer-column li a:hover i{opacity:1;transform:translateX(0)}
.fchdk-footer-portal-grid{display:grid;gap:8px}.fchdk-footer-portal-card{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);color:#fff}.fchdk-footer-portal-card:hover{border-color:rgba(242,194,48,.28);background:rgba(11,138,83,.16);color:#fff;transform:translateY(-2px)}.fchdk-footer-portal-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:9px;background:rgba(242,194,48,.1);color:var(--fchdk-yellow-500);font-size:.75rem}.fchdk-footer-portal-content{min-width:0;flex:1}.fchdk-footer-portal-content strong,.fchdk-footer-portal-content small{display:block}.fchdk-footer-portal-content strong{color:rgba(255,255,255,.9);font-size:.74rem}.fchdk-footer-portal-content small{margin-top:2px;overflow:hidden;color:rgba(255,255,255,.4);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.fchdk-footer-portal-card>i{color:rgba(255,255,255,.3);font-size:.62rem}
.fchdk-footer-contact-card{display:grid;gap:10px}.fchdk-footer-contact-item{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.03)}.fchdk-footer-contact-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:8px;background:rgba(11,138,83,.2);color:var(--fchdk-yellow-500);font-size:.68rem}.fchdk-footer-contact-item>div{min-width:0}.fchdk-footer-contact-item>div>span{display:block;margin-bottom:3px;color:rgba(255,255,255,.38);font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.fchdk-footer-contact-item p,.fchdk-footer-contact-item a{margin:0;color:rgba(255,255,255,.68);font-size:.76rem;line-height:1.55}.fchdk-footer-contact-item a:hover{color:var(--fchdk-yellow-500)}.fchdk-footer-contact-button{display:inline-flex;width:fit-content;align-items:center;gap:10px;margin-top:12px;padding:10px 13px;border:1px solid rgba(242,194,48,.24);border-radius:10px;background:rgba(242,194,48,.07);color:var(--fchdk-yellow-500);font-size:.74rem;font-weight:800}.fchdk-footer-contact-button:hover{border-color:rgba(242,194,48,.45);background:rgba(242,194,48,.12);color:var(--fchdk-yellow-500);transform:translateY(-1px)}
.fchdk-footer-digital-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:linear-gradient(90deg,rgba(11,138,83,.16),rgba(255,255,255,.025))}.fchdk-footer-digital-intro{display:flex;align-items:center;gap:10px;min-width:0}.fchdk-footer-live-dot{position:relative;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#63d391;box-shadow:0 0 0 5px rgba(99,211,145,.08);animation:fchdkFooterLive 2.2s ease-in-out infinite}.fchdk-footer-digital-intro strong,.fchdk-footer-digital-intro span{display:block}.fchdk-footer-digital-intro strong{color:rgba(255,255,255,.86);font-size:.68rem;letter-spacing:.08em}.fchdk-footer-digital-intro span{margin-top:2px;color:rgba(255,255,255,.4);font-size:.62rem}.fchdk-footer-digital-icons{display:flex;align-items:center;gap:7px}.fchdk-footer-digital-icons span{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.48);font-size:.7rem}
.fchdk-footer-bottom{display:flex;flex-direction:column;gap:14px;padding-block:20px;border-top:1px solid rgba(255,255,255,.1)}.fchdk-footer-copyright{display:flex;align-items:flex-start;gap:9px;color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.5}.fchdk-footer-copyright-mark{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:rgba(255,255,255,.65);font-size:.64rem}.fchdk-footer-rights{color:rgba(255,255,255,.3)}.fchdk-footer-bottom-links{display:flex;flex-wrap:wrap;gap:14px}.fchdk-footer-bottom-links a{color:rgba(255,255,255,.56);font-size:.72rem}.fchdk-footer-bottom-links a:hover{color:var(--fchdk-yellow-500)}
@keyframes fchdkFooterSun{0%,100%{transform:scale(.96);opacity:.65}50%{transform:scale(1.06);opacity:.9}}@keyframes fchdkFooterCloud{0%{transform:translateX(-20px)}50%{transform:translateX(60px)}100%{transform:translateX(-20px)}}@keyframes fchdkFooterDrone{0%,100%{transform:translate(0,4px)}50%{transform:translate(45px,-10px)}}@keyframes fchdkFooterLeaf{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(8deg) translateY(-6px)}}@keyframes fchdkFooterLive{0%,100%{box-shadow:0 0 0 4px rgba(99,211,145,.07)}50%{box-shadow:0 0 0 8px rgba(99,211,145,.02)}}

/* ---------- Responsive desktop navigation ---------- */

@media (min-width: 992px) {
    .fchdk-header-inner {
        min-height: 88px;
    }

    .fchdk-mobile-toggle {
        display: none;
    }

    .fchdk-navigation-wrap {
        position: static;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 20px;
        padding: 0;
        border: 0;
        box-shadow: none;
    }

    .fchdk-nav-list {
        flex-direction: row;
        align-items: center;
        gap: 2px;
    }

    .fchdk-nav-link {
        width: auto;
        padding: 9px 10px;
        font-size: 0.92rem;
        white-space: nowrap;
    }

    .fchdk-dropdown-menu {
        position: absolute;
        top: calc(100% + 7px);
        left: 0;
        min-width: 210px;
        margin: 0;
        padding: 8px;
        border: 1px solid var(--fchdk-border);
        border-left: 1px solid var(--fchdk-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: var(--fchdk-shadow-md);
    }

    .fchdk-nav-list > li.has-dropdown:hover > .fchdk-dropdown-menu,
    .fchdk-nav-list > li.has-dropdown:focus-within > .fchdk-dropdown-menu,
    .fchdk-dropdown-menu.is-open {
        display: block;
    }

    .fchdk-header-actions {
        flex-direction: row;
        align-items: center;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .fchdk-portal-link,
    .fchdk-student-link {
        min-height: 40px;
        padding: 8px 12px;
        font-size: 0.85rem;
        white-space: nowrap;
    }

    .fchdk-footer-main {
        grid-template-columns: 1.45fr .82fr .82fr 1fr 1.05fr;
        gap: 24px;
        align-items: start;
    }

    .fchdk-footer-identity {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fchdk-footer-bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

@media (min-width: 1200px) {
    .fchdk-nav-link {
        padding-inline: 12px;
    }
}

/* =========================================================
   FOOTER RESPONSIVE LAYOUT
   ========================================================= */

@media (min-width: 700px) and (max-width: 991px) {
    .fchdk-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
    .fchdk-footer-brand { grid-column: 1 / -1; max-width: 700px; }
    .fchdk-footer-identity { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 699px) {
    .fchdk-footer-visual { height: 88px; }
    .fchdk-footer-main { gap: 28px; padding-block: 42px 32px; }
    .fchdk-footer-logo-mark { width: 58px; height: 58px; flex-basis: 58px; }
    .fchdk-footer-logo strong { font-size: .94rem; }
    .fchdk-footer-logo small { font-size: .7rem; }
    .fchdk-footer-kicker { font-size: .56rem; letter-spacing: .09em; }
    .fchdk-footer-tagline { font-size: .92rem; }
    .fchdk-footer-description { font-size: .84rem; }
    .fchdk-footer-digital-strip { align-items: flex-start; flex-direction: column; }
    .fchdk-footer-digital-icons { width: 100%; justify-content: space-between; }
    .fchdk-footer-digital-icons span { width: 34px; height: 34px; }
}

@media (max-width: 420px) {
    .fchdk-footer-visual { height: 72px; }
    .fchdk-footer-main { gap: 24px; }
    .fchdk-footer-kicker { align-items: flex-start; }
    .fchdk-footer-kicker-line { margin-top: 5px; }
    .fchdk-footer-portal-card { padding: 9px; }
    .fchdk-footer-contact-item { padding: 10px; }
    .fchdk-footer-bottom-links { gap: 9px 13px; }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

    .fchdk-footer-sun,
    .fchdk-footer-cloud,
    .fchdk-footer-drone,
    .fchdk-footer-leaf,
    .fchdk-footer-live-dot {
        animation: none !important;
    }
}
.fchdk-brand-logo {
    display: flex;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
}

.fchdk-brand-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 575px) {
    .fchdk-brand-logo {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }

    .fchdk-brand-text strong {
        font-size: 0.95rem;
    }

    .fchdk-brand-text small {
        font-size: 0.67rem;
    }
}
/* =========================================================
   FOOTER BRAND LOGO
   ========================================================= */

.fchdk-footer-logo-mark {
    display: flex;
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    align-items: center;
    justify-content: center;
}

.fchdk-footer-logo-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* =========================================================
   FOOTER SOCIAL PLACEHOLDERS
   ========================================================= */

.fchdk-social-placeholder {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    opacity: 0.75;
    cursor: default;
}

.fchdk-social-placeholder i {
    font-size: 1rem;
}


@media (max-width: 575px) {

    .fchdk-footer-logo-mark {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
    }

}