@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--navy:#071527;--navy2:#0b1f38;--ink:#102033;--muted:#617083;--paper:#f5f8fb;--white:#fff;--accent:#18b8d1;--secondary:#3557a4;--line:rgba(16,32,51,.12);--radius:22px;--shadow:0 24px 60px rgba(4,18,35,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",system-ui,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:9999;background:#fff;padding:10px 16px}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,21,39,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-row{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;min-width:260px}.brand img{width:64px;height:64px;object-fit:contain}.brand strong{display:block;font:700 1.3rem "Space Grotesk"}.brand small{display:block;max-width:310px;color:#aebbd0;line-height:1.2;font-size:.72rem}.primary-nav ul{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}.primary-nav a{display:block;padding:12px 14px;color:#d8e0ed;text-decoration:none;font-weight:600;font-size:.92rem;border-radius:12px}.primary-nav a:hover,.primary-nav .current>a,.primary-nav .active>a{background:rgba(24,184,209,.13);color:#fff}.nav-toggle{display:none;background:transparent;border:0;color:#fff}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061426,#0b2440 55%,#102f4d);color:#fff;min-height:720px;display:grid;align-items:center}.tech-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(49,153,190,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(49,153,190,.08) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 95%)}.scanline{position:absolute;width:140%;height:220px;left:-20%;top:10%;background:linear-gradient(transparent,rgba(24,184,209,.08),transparent);transform:rotate(-8deg)}.hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center;padding:100px 0}.kicker{margin:0 0 16px;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:700;color:var(--accent)}h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.08;margin-top:0}.hero h1{font-size:clamp(3rem,6vw,6.4rem);letter-spacing:-.055em;max-width:850px;margin-bottom:26px}.hero-lead{font-size:1.15rem;max-width:670px;color:#bdc9d9}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700;transition:.25s ease}.button-primary{background:var(--accent);color:#05202b}.button-primary:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(24,184,209,.28)}.button-secondary{border:1px solid rgba(255,255,255,.25);color:#fff}.hero-graphic{position:relative;height:430px}.data-core{position:absolute;width:320px;height:320px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(24,184,209,.42);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 100px rgba(24,184,209,.14),inset 0 0 80px rgba(53,87,164,.16)}.data-core:before,.data-core:after{content:"";position:absolute;border:1px dashed rgba(255,255,255,.18);border-radius:50%;animation:spin 22s linear infinite}.data-core:before{inset:-48px}.data-core:after{inset:38px;animation-direction:reverse;animation-duration:16s}.core-logo{width:170px;height:170px;background:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 20px 55px rgba(0,0,0,.3);z-index:2}.core-logo img{width:145px;height:145px;object-fit:contain}.data-core i{position:absolute;width:11px;height:11px;background:var(--accent);border-radius:50%;box-shadow:0 0 18px var(--accent)}.data-core i:nth-child(2){top:-6px}.data-core i:nth-child(3){right:12px;top:72px}.data-core i:nth-child(4){left:12px;bottom:72px}.data-core i:nth-child(5){bottom:-6px}.data-label{position:absolute;padding:9px 13px;border:1px solid rgba(255,255,255,.14);background:rgba(7,21,39,.78);border-radius:12px;color:#cbd6e6;font-size:.78rem}.label-a{top:22px;right:10px}.label-b{bottom:44px;right:-5px}.label-c{bottom:90px;left:-18px}@keyframes spin{to{transform:rotate(360deg)}}.section{padding:105px 0}.about-section{background:#fff}.two-column{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.section-heading h2{font-size:clamp(2.3rem,4vw,4.6rem);letter-spacing:-.045em;margin-bottom:20px}.section-heading>p:last-child{max-width:720px;color:var(--muted)}.section-heading.centered{text-align:center;max-width:820px;margin:0 auto 52px}.section-heading.centered>p:last-child{margin-inline:auto}.about-copy{font-size:1.18rem;color:var(--muted)}.text-link{display:inline-flex;gap:10px;margin-top:20px;color:var(--secondary);font-weight:700;text-decoration:none}.executive-section{background:var(--paper)}.executive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.executive-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 36px rgba(9,31,56,.06);transition:.25s}.executive-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.profile-media{height:250px;background:linear-gradient(135deg,var(--secondary),var(--accent));display:grid;place-items:center;overflow:hidden}.profile-media img{width:100%;height:100%;object-fit:cover}.profile-media span{font:700 4rem "Space Grotesk";color:#fff}.profile-body{padding:25px}.profile-role{color:var(--secondary);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;min-height:42px}.profile-body h3{font-size:1.45rem;margin-bottom:17px}.expertise-tags{display:flex;flex-wrap:wrap;gap:7px;min-height:86px}.expertise-tags span{font-size:.72rem;background:#eef5f9;border:1px solid #dce9ef;padding:6px 8px;border-radius:999px}.profile-email{display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:.82rem;text-decoration:none;color:var(--muted);overflow-wrap:anywhere}.membership-section{background:#fff}.membership-panel{background:linear-gradient(135deg,var(--secondary),#163a6a 65%,#0e5d73);padding:55px;border-radius:30px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:50px;box-shadow:var(--shadow)}.membership-panel h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:15px}.membership-panel p{max-width:700px;color:#d8e5f3}.button-light{background:#fff;color:#10233a;white-space:nowrap}.members-block{margin-top:85px}.members-block .moduletable{overflow-x:auto}.members-block table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.members-block th{background:#0e2744;color:#fff;text-align:left}.members-block th,.members-block td{padding:14px 16px;border-bottom:1px solid var(--line)}.members-block tr:last-child td{border-bottom:0}.members-block tbody tr:hover{background:#f2fbfd}.social-section{background:var(--navy);color:#fff}.social-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.social-card{padding:28px;background:#0c223b;border:1px solid rgba(255,255,255,.1);border-radius:18px;text-decoration:none;transition:.25s}.social-card:hover{transform:translateY(-6px);background:#11304f}.social-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--accent);color:#06202c;font-weight:800;margin-bottom:28px}.social-card strong,.social-card small{display:block}.social-card small{color:#9db0c8;margin-top:6px}.empty-social{grid-column:1/-1;text-align:center;color:#aebed1;padding:30px;border:1px dashed rgba(255,255,255,.22);border-radius:16px}.featured-section:empty{display:none}.inner-hero{padding:90px 0 70px;background:linear-gradient(135deg,#071527,#102f4d);color:#fff}.inner-hero h1{font-size:clamp(2.6rem,5vw,5rem);margin:0}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;padding:70px 0}.content-layout:not(:has(.sidebar)){grid-template-columns:1fr}.content-main{min-width:0;background:#fff;padding:clamp(25px,4vw,55px);border-radius:20px}.sidebar .moduletable{background:#fff;padding:24px;border-radius:16px;margin-bottom:20px}.site-footer{background:#04101f;color:#aebed1;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:45px}.footer-brand img{width:115px;background:#fff;border-radius:14px;padding:5px;margin-bottom:16px}.site-footer a{color:#dbe7f3}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:25px;font-size:.85rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:1000px){.primary-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#071527;padding:18px 20px;border-top:1px solid rgba(255,255,255,.1)}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.nav-toggle{display:flex;align-items:center;gap:5px;flex-direction:column}.nav-toggle span{width:24px;height:2px;background:#fff}.nav-toggle b{font-size:.65rem;margin-top:3px}.hero-grid{grid-template-columns:1fr;padding-top:80px}.hero-graphic{height:350px}.two-column{grid-template-columns:1fr;gap:35px}.executive-grid{grid-template-columns:repeat(2,1fr)}.social-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.shell{width:min(100% - 28px,1180px)}.brand small{display:none}.brand{min-width:0}.brand img{width:52px;height:52px}.nav-row{min-height:72px}.primary-nav{top:72px}.hero{min-height:auto}.hero-grid{padding:75px 0 60px}.hero h1{font-size:3.1rem}.hero-graphic{height:300px}.data-core{width:220px;height:220px}.core-logo{width:120px;height:120px}.core-logo img{width:100px;height:100px}.data-label{display:none}.section{padding:75px 0}.executive-grid{grid-template-columns:1fr}.profile-media{height:300px}.membership-panel{padding:32px;align-items:flex-start;flex-direction:column}.social-grid{grid-template-columns:1fr 1fr}.content-layout{grid-template-columns:1fr;padding:35px 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.actions{flex-direction:column;align-items:stretch}.button{width:100%}}
.profile-links{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin-top:1rem}.profile-view{font-weight:700;color:var(--secondary);text-decoration:none}.profile-view:hover,.profile-view:focus{text-decoration:underline}
/* Increase GISSTT logo in the header */
.site-header .brand img {
    width: 110px !important;
    height: 110px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
}

/* Give the logo a white background */
.site-header .brand img {
    background: #ffffff;
    padding: 8px;
    border-radius: 16px;
}

/* Increase header height to fit the larger logo */
.site-header .nav-row {
    min-height: 135px !important;
}

/* Keep the text aligned with the larger logo */
.site-header .brand {
    gap: 20px;
    min-width: 360px;
}
/* Improve header brand layout */
.site-header .brand {
    display: grid;
    grid-template-columns: 120px minmax(260px, 520px);
    align-items: center;
    gap: 24px;
    min-width: 0;
}

.site-header .brand img {
    width: 120px !important;
    height: 120px !important;
    object-fit: contain;
}

.site-header .brand-title,
.site-header .brand__title,
.site-header .site-title {
    display: block;
    max-width: 520px;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    line-height: 1.18;
    white-space: normal !important;
    overflow-wrap: normal;
    text-wrap: balance;
}

.site-header .brand-tagline,
.site-header .brand__tagline,
.site-header .site-description {
    max-width: 420px;
    margin-top: 4px;
    line-height: 1.3;
}
/* Keep the entire navigation in one integrated row */
.site-header nav,
.site-header .menu {
    width: auto;
}

.site-header .menu,
.site-header .mod-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header .menu > li,
.site-header .mod-menu > li {
    width: auto !important;
    margin: 0;
}

.site-header .menu > li > a,
.site-header .mod-menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto !important;
    min-height: 44px;
    padding: 11px 15px;
    border-radius: 10px;
    color: #ffffff;
    text-decoration: none;
    line-height: 1.2;
}

/* Active item remains highlighted, but not oversized */
.site-header .menu > li.active > a,
.site-header .menu > li.current > a,
.site-header .mod-menu > li.active > a,
.site-header .mod-menu > li.current > a {
    width: auto !important;
    background: rgba(30, 184, 205, 0.18);
}
/* White GISSTT header */
.site-header {
    background: #ffffff !important;
    color: #10233f !important;
    border-bottom: 1px solid #dfe6ee;
}

/* Remove dark header overlays or gradients */
.site-header::before,
.site-header::after {
    background: none !important;
}

/* Keep the logo transparent and at its current size */
.site-header .brand img {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Organisation name */
.site-header .brand-title,
.site-header .brand__title,
.site-header .site-title,
.site-header .brand strong {
    color: #10233f !important;
}

/* Tagline */
.site-header .brand-tagline,
.site-header .brand__tagline,
.site-header .site-description,
.site-header .brand p {
    color: #53647a !important;
}

/* Navigation links */
.site-header .menu > li > a,
.site-header .mod-menu > li > a,
.site-header nav a {
    color: #10233f !important;
    background: transparent !important;
}

/* Navigation hover */
.site-header .menu > li > a:hover,
.site-header .mod-menu > li > a:hover,
.site-header nav a:hover {
    color: #087fa3 !important;
    background: #eef8fb !important;
}

/* Active menu item */
.site-header .menu > li.active > a,
.site-header .menu > li.current > a,
.site-header .mod-menu > li.active > a,
.site-header .mod-menu > li.current > a {
    color: #087fa3 !important;
    background: #e6f5f8 !important;
}

/* Home icon and other menu icons */
.site-header .menu i,
.site-header .mod-menu i,
.site-header [class*="icon-"] {
    color: inherit !important;
}

/* Mobile menu button */
.site-header .navbar-toggler,
.site-header .menu-toggle {
    color: #10233f !important;
    border-color: #cbd6e2 !important;
    background: #ffffff !important;
}
/* Hide menu descriptions in the header */
.site-header .menu-item-desc,
.site-header .menu-item-description,
.site-header .nav-header small,
.site-header .mod-menu small,
.site-header nav small {
    display: none !important;
}
.site-header .menu a::after,
.site-header .mod-menu a::after {
    content: none !important;
    display: none !important;
}

/* Hide Joomla accessibility text visually while keeping it available to screen readers */
.visually-hidden,
.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;
}
/* GISSTT activities gallery */
.activities-section {
    padding: 80px 0;
    background: #f4f8fc;
}

.activities-section .section-heading {
    max-width: 760px;
    margin-bottom: 32px;
}

.activities-carousel {
    position: relative;
    overflow: hidden;
}

.activities-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 6px 2px 24px;
    scrollbar-width: thin;
}

.activity-slide {
    flex: 0 0 min(360px, 85vw);
    scroll-snap-align: start;
    background: #ffffff;
    border: 1px solid #dce5ef;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(16, 35, 63, 0.08);
}

.activity-slide img {
    width: 100%;
    height: 240px;
    display: block;
    object-fit: cover;
}

.activity-slide__content {
    padding: 20px;
}

.activity-slide__content h3 {
    margin: 0 0 8px;
    color: #10233f;
}

.activity-slide__content p {
    margin: 0;
    color: #607086;
}

@media (max-width: 680px) {
    .activities-section {
        padding: 56px 0;
    }

    .activity-slide img {
        height: 210px;
    }
}

/* GISSTT Activities Carousel */
.activities-section {
    position: relative;
    padding: 80px 0;
    background: #f3f7fb;
}

.activities-carousel {
    position: relative;
    margin-top: 36px;
}

.activities-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 6px 4px 24px;
}

.activities-track::-webkit-scrollbar {
    display: none;
}

.activity-slide {
    flex: 0 0 calc(33.333% - 16px);
    min-width: 300px;
    overflow: hidden;
    scroll-snap-align: start;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(16, 35, 63, 0.1);
}

.activity-slide img {
    display: block;
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.activity-slide__content {
    padding: 20px;
}

.activity-slide__content h3 {
    margin: 0 0 8px;
    color: #10233f;
}

.activity-slide__content p {
    margin: 0;
    color: #64748b;
}

.activities-arrow {
    position: absolute;
    top: 42%;
    z-index: 5;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: #10233f;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    transform: translateY(-50%);
}

.activities-arrow--previous {
    left: -22px;
}

.activities-arrow--next {
    right: -22px;
}

.activities-arrow:hover {
    background: #159db5;
}

@media (max-width: 900px) {
    .activity-slide {
        flex-basis: calc(50% - 12px);
    }
}

@media (max-width: 640px) {
    .activity-slide {
        flex-basis: 88%;
        min-width: 270px;
    }

    .activities-arrow {
        display: none;
    }
}

/* Activities carousel container */
.activities-carousel {
    position: relative;
    width: 100%;
    margin-top: 36px;
}

/* Horizontally scrolling row */
.activities-track {
    display: flex !important;
    gap: 30px;
    width: 100%;
    overflow-x: auto !important;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 8px 4px 24px;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
}

.activities-track::-webkit-scrollbar {
    display: none;
}

/* Individual activity card */
.activity-slide {
    flex: 0 0 calc(33.333% - 20px) !important;
    min-width: 320px;
    scroll-snap-align: start;
    overflow: hidden;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(16, 35, 63, 0.10);
}

/* Clickable image */
.activity-image-link {
    display: block;
    overflow: hidden;
    cursor: zoom-in;
}

.activity-image-link img {
    display: block;
    width: 100%;
    height: 310px;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.activity-image-link:hover img {
    transform: scale(1.04);
}

/* Arrow buttons */
.activities-arrow {
    position: absolute;
    top: 42%;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #10233f;
    color: #ffffff;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(16, 35, 63, 0.22);
    transform: translateY(-50%);
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.activities-arrow:hover {
    background: #159db5;
    transform: translateY(-50%) scale(1.06);
}

.activities-arrow--previous {
    left: -25px;
}

.activities-arrow--next {
    right: -25px;
}

.activities-arrow:disabled {
    opacity: 0.35;
    cursor: default;
}

/* Tablet */
@media (max-width: 1000px) {
    .activity-slide {
        flex-basis: calc(50% - 15px) !important;
    }
}

/* Mobile */
@media (max-width: 680px) {
    .activity-slide {
        flex-basis: 88% !important;
        min-width: 270px;
    }

    .activity-image-link img {
        height: 240px;
    }

    .activities-arrow {
        display: none;
    }
}
/* Keep carousel arrows fully visible */
.activities-carousel {
    padding: 0 24px;
    box-sizing: border-box;
}

.activities-arrow--previous {
    left: 4px !important;
}

.activities-arrow--next {
    right: 4px !important;
}
/* Executive cards - consistent sizing */
.executive-grid {
    align-items: stretch;
}

.executive-card {
    width: 100%;
    box-sizing: border-box;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.executive-card img,
.executive-photo img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.executive-card .expertise,
.executive-card .tags,
.executive-card .expertise-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Mobile */
@media (max-width: 767px) {
    .executive-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .executive-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 24px !important;
        overflow: hidden;
    }

    .executive-card h3,
    .executive-card .executive-name {
        font-size: 1.35rem;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .executive-card .executive-role {
        line-height: 1.45;
        min-height: 0 !important;
    }

    .executive-card a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

/* ========================================
   GISSTT PROJECTS / OUR WORK
   ======================================== */

.projects-section {
    background: #f5f8fb;
}

.projects-section .section-heading {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 48px;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.project-card {
    background: #ffffff;
    border: 1px solid #dfe7ef;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(16, 35, 63, 0.07);
    display: flex;
    flex-direction: column;
}

.project-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #e8eef4;
}

.project-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.project-content {
    padding: 30px;
}

.project-partner {
    margin: 0 0 8px;
    color: var(--secondary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 700;
}

.project-content h3 {
    margin: 0 0 14px;
    color: #10233f;
    font-size: 1.55rem;
    line-height: 1.2;
}

.project-content > p {
    color: #53647a;
    line-height: 1.7;
}

.project-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 22px 0;
}

.project-tags span {
    padding: 8px 12px;
    border-radius: 999px;
    background: #eef5f8;
    border: 1px solid #d9e7ee;
    color: #405269;
    font-size: 0.82rem;
}

.project-details {
    border-top: 1px solid #e0e7ee;
    padding-top: 18px;
    margin-top: 22px;
}

.project-details summary {
    cursor: pointer;
    color: #3557a4;
    font-weight: 700;
}

.project-details p {
    color: #53647a;
    line-height: 1.65;
}

@media (max-width: 767px) {
    .projects-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .project-content {
        padding: 24px;
    }

    .project-content h3 {
        font-size: 1.3rem;
    }
}
/* Balanced desktop navigation spacing */
.site-header .primary-nav .mod-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-header .primary-nav .mod-menu > li {
    margin: 0 !important;
    padding: 0 !important;
}

.site-header .primary-nav .mod-menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    white-space: nowrap !important;
}
/* =========================================
   FINAL DESKTOP NAV RESET
   ========================================= */

.site-header .primary-nav {
    flex: 0 0 auto !important;
    width: auto !important;
}

.site-header .primary-nav .mod-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    gap: 26px !important;

    margin: 0 !important;
    padding: 0 !important;
}

.site-header .primary-nav .mod-menu > li {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.site-header .primary-nav .mod-menu > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 52px !important;
    padding: 0 10px !important;
    margin: 0 !important;

    white-space: nowrap !important;
    line-height: 1 !important;
}

/* Prevent active Home item from stretching */
.site-header .primary-nav .mod-menu > li.current,
.site-header .primary-nav .mod-menu > li.active,
.site-header .primary-nav .mod-menu > li.current > a,
.site-header .primary-nav .mod-menu > li.active > a {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Slightly tighter spacing on smaller desktops */
@media (max-width: 1300px) {
    .site-header .primary-nav .mod-menu {
        gap: 18px !important;
    }

    .site-header .primary-nav .mod-menu > li > a {
        padding: 0 6px !important;
        font-size: 0.95rem !important;
    }
}
/* More breathing room in social section */
.social-grid {
    margin-bottom: 40px !important;
}

.social-section .social-extra,
.social-section .mod-custom,
.social-section [class*="instagram"],
.social-section iframe {
    margin-top: 28px !important;
}

/* Mobile spacing */
@media (max-width: 767px) {
    .social-grid {
        margin-bottom: 28px !important;
    }

    .social-section .social-extra,
    .social-section .mod-custom,
    .social-section [class*="instagram"],
    .social-section iframe {
        margin-top: 20px !important;
    }
}