/* =========================================================
   SHOFT CIC — GLOBAL DESIGN SYSTEM
   Shaping Our Futures Together
   ========================================================= */

/* ---------------------------------------------------------
   1. CSS VARIABLES
   --------------------------------------------------------- */

:root {
    /* Brand colours */
    --color-primary: #293981;
    --color-primary-dark: #17265f;
    --color-primary-light: #eef3ff;

    --color-red: #b1333d;
    --color-red-dark: #8f2630;
    --color-red-light: #fff1f2;

    --color-gold: #a86b3f;
    --color-gold-light: #fff7ed;

    --color-navy: #0d0f38;

    /* Neutral colours */
    --color-white: #ffffff;
    --color-black: #111111;
    --color-text: #25304a;
    --color-text-light: #5d667a;
    --color-muted: #7b8496;

    --color-background: #ffffff;
    --color-background-soft: #f7f9fc;
    --color-border: #e3e7ef;

    /* Typography */
    --font-heading: "Manrope", sans-serif;
    --font-body: "Inter", sans-serif;

    /* Font sizes */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 2rem;
    --text-4xl: 2.75rem;
    --text-5xl: 3.5rem;
    --text-6xl: 4.5rem;

    /* Layout */
    --container-width: 1200px;
    --container-wide: 1320px;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
    --space-4xl: 5rem;
    --space-5xl: 7rem;

    /* Borders */
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-xl: 28px;
    --radius-pill: 999px;

    /* Shadows */
    --shadow-sm: 0 4px 14px rgba(13, 15, 56, 0.06);
    --shadow-md: 0 10px 30px rgba(13, 15, 56, 0.09);
    --shadow-lg: 0 20px 50px rgba(13, 15, 56, 0.14);

    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
}


/* ---------------------------------------------------------
   2. RESET
   --------------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    min-height: 100vh;

    background: var(--color-background);
    color: var(--color-text);

    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.7;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img,
picture,
svg {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    border: 0;
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}

ul,
ol {
    list-style: none;
}


/* ---------------------------------------------------------
   3. TYPOGRAPHY
   --------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-navy);

    font-family: var(--font-heading);
    font-weight: 800;
    line-height: 1.15;

    letter-spacing: -0.025em;
}

h1 {
    font-size: clamp(2.75rem, 6vw, var(--text-6xl));
}

h2 {
    font-size: clamp(2rem, 4vw, var(--text-4xl));
}

h3 {
    font-size: clamp(1.35rem, 2.5vw, var(--text-2xl));
}

h4 {
    font-size: var(--text-xl);
}

p {
    color: var(--color-text-light);
}

strong {
    color: var(--color-navy);
    font-weight: 700;
}


/* ---------------------------------------------------------
   4. GLOBAL CONTAINER
   --------------------------------------------------------- */

.container {
    width: min(100% - 2rem, var(--container-width));
    margin-inline: auto;
}

.container-wide {
    width: min(100% - 2rem, var(--container-wide));
    margin-inline: auto;
}


/* ---------------------------------------------------------
   5. SECTIONS
   --------------------------------------------------------- */

.section {
    padding: var(--space-5xl) 0;
}

.section-sm {
    padding: var(--space-3xl) 0;
}

.section-soft {
    background: var(--color-background-soft);
}

.section-blue {
    background: var(--color-primary);
}

.section-navy {
    background: var(--color-navy);
}


/* ---------------------------------------------------------
   6. SECTION HEADERS
   --------------------------------------------------------- */

.section-header {
    max-width: 760px;
    margin-bottom: var(--space-3xl);
}

.section-header.center {
    margin-inline: auto;
    text-align: center;
}

.section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;

    margin-bottom: var(--space-md);

    color: var(--color-red);

    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 800;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.section-label::before {
    content: "";
    width: 24px;
    height: 2px;

    background: var(--color-red);
}

.section-header h2 {
    margin-bottom: var(--space-lg);
}

.section-header p {
    max-width: 680px;
    font-size: var(--text-lg);
}


/* ---------------------------------------------------------
   7. BUTTON SYSTEM
   --------------------------------------------------------- */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;

    min-height: 50px;
    padding: 0.8rem 1.4rem;

    border: 2px solid transparent;
    border-radius: var(--radius-sm);

    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 800;

    line-height: 1;
    white-space: nowrap;

    transition:
        transform var(--transition-fast),
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        color var(--transition-fast),
        box-shadow var(--transition-fast);
}

.btn:hover {
    transform: translateY(-2px);
}

.btn:focus-visible {
    outline: 3px solid rgba(41, 57, 129, 0.3);
    outline-offset: 3px;
}

.btn-primary {
    background: var(--color-primary);
    color: var(--color-white);

    box-shadow: 0 8px 20px rgba(41, 57, 129, 0.18);
}

.btn-primary:hover {
    background: var(--color-primary-dark);
}

.btn-red {
    background: var(--color-red);
    color: var(--color-white);

    box-shadow: 0 8px 20px rgba(177, 51, 61, 0.18);
}

.btn-red:hover {
    background: var(--color-red-dark);
}

.btn-gold {
    background: var(--color-gold);
    color: var(--color-white);

    box-shadow: 0 8px 20px rgba(168, 107, 63, 0.18);
}

.btn-gold:hover {
    background: #8e592f;
}

.btn-outline {
    background: transparent;
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-outline:hover {
    background: var(--color-primary);
    color: var(--color-white);
}

.btn-white {
    background: var(--color-white);
    color: var(--color-primary);
}

.btn-white:hover {
    background: #f2f4f8;
}

.btn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;

    color: var(--color-primary);

    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 800;

    transition:
        color var(--transition-fast),
        gap var(--transition-fast);
}

.btn-link:hover {
    color: var(--color-red);
    gap: 0.65rem;
}


/* ---------------------------------------------------------
   8. CARDS
   --------------------------------------------------------- */

.card {
    background: var(--color-white);

    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);

    box-shadow: var(--shadow-sm);

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);
}

.card:hover {
    transform: translateY(-5px);
    border-color: rgba(41, 57, 129, 0.15);
    box-shadow: var(--shadow-md);
}


/* ---------------------------------------------------------
   9. ACCESSIBILITY
   --------------------------------------------------------- */

.skip-link {
    position: fixed;
    top: -100px;
    left: 1rem;
    z-index: 9999;

    padding: 0.75rem 1rem;

    background: var(--color-navy);
    color: var(--color-white);

    border-radius: var(--radius-sm);

    font-weight: 700;
}

.skip-link:focus {
    top: 1rem;
}

:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 3px;
}


/* ---------------------------------------------------------
   10. UTILITY CLASSES
   --------------------------------------------------------- */

.text-center {
    text-align: center;
}

.text-primary {
    color: var(--color-primary);
}

.text-red {
    color: var(--color-red);
}

.text-gold {
    color: var(--color-gold);
}

.text-white {
    color: var(--color-white);
}

.bg-primary {
    background: var(--color-primary);
}

.bg-red {
    background: var(--color-red);
}

.bg-gold {
    background: var(--color-gold);
}

.bg-white {
    background: var(--color-white);
}

.hidden {
    display: none !important;
}


/* ---------------------------------------------------------
   11. RESPONSIVE GLOBAL RULES
   --------------------------------------------------------- */

@media (max-width: 900px) {

    :root {
        --space-5xl: 5rem;
        --space-4xl: 4rem;
    }

    .container,
    .container-wide {
        width: min(100% - 2rem, 720px);
    }
}


@media (max-width: 600px) {

    :root {
        --space-5xl: 4rem;
        --space-4xl: 3.5rem;
        --space-3xl: 3rem;
    }

    .container,
    .container-wide {
        width: min(100% - 1.5rem, 100%);
    }

    .section {
        padding: var(--space-4xl) 0;
    }

    .section-header {
        margin-bottom: var(--space-2xl);
    }

    .section-header p {
        font-size: var(--text-base);
    }

    .btn {
        width: 100%;
    }
}


/* ---------------------------------------------------------
   12. REDUCED MOTION
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* =========================================================
   SHOFT HEADER & NAVIGATION
   ========================================================= */


/* ---------------------------------------------------------
   TOP ANNOUNCEMENT BAR
   --------------------------------------------------------- */

.top-bar {
    background: var(--color-navy);
    color: var(--color-white);

    font-size: var(--text-xs);
}

.top-bar__inner {
    min-height: 36px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.top-bar__message {
    display: flex;
    align-items: center;
    gap: 0.5rem;

    color: rgba(255, 255, 255, 0.9);

    font-size: var(--text-xs);
    font-weight: 500;
}

.top-bar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;

    color: var(--color-gold);

    font-size: 0.8rem;
}

.top-bar__social {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;

    color: rgba(255, 255, 255, 0.9);

    font-size: var(--text-xs);
    font-weight: 600;

    transition: color var(--transition-fast);
}

.top-bar__social:hover {
    color: var(--color-gold);
}


/* ---------------------------------------------------------
   MAIN HEADER
   --------------------------------------------------------- */

.site-header {
    position: relative;
    z-index: 1000;

    background: var(--color-white);

    border-bottom: 1px solid rgba(13, 15, 56, 0.08);

    transition:
        box-shadow var(--transition-normal),
        background-color var(--transition-normal);
}

.site-header.is-scrolled {
    position: sticky;
    top: 0;

    box-shadow: var(--shadow-md);
}

.site-header__inner {
    min-height: 82px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 2rem;
}


/* ---------------------------------------------------------
   LOGO
   --------------------------------------------------------- */

.site-logo {
    display: inline-flex;
    align-items: center;

    flex-shrink: 0;
}

.site-logo img {
    width: auto;
    height: 58px;

    object-fit: contain;
}


/* ---------------------------------------------------------
   DESKTOP NAVIGATION
   --------------------------------------------------------- */

.main-nav {
    margin-left: auto;
}

.main-nav__list {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2vw, 2rem);
}

.main-nav__list a {
    position: relative;

    display: inline-flex;
    align-items: center;

    min-height: 82px;

    color: var(--color-navy);

    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 700;

    transition: color var(--transition-fast);
}

.main-nav__list a::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 18px;

    width: 0;
    height: 2px;

    background: var(--color-red);

    transition: width var(--transition-normal);
}

.main-nav__list a:hover {
    color: var(--color-primary);
}

.main-nav__list a:hover::after {
    width: 100%;
}


/* ---------------------------------------------------------
   HEADER ACTIONS
   --------------------------------------------------------- */

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;

    flex-shrink: 0;
}

.site-header__actions .btn {
    min-height: 46px;
    padding-inline: 1.15rem;

    font-size: 0.78rem;
}


/* ---------------------------------------------------------
   MOBILE MENU BUTTON
   --------------------------------------------------------- */

.mobile-menu-toggle {
    display: none;

    width: 46px;
    height: 46px;

    padding: 0;

    background: transparent;

    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);

    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}

.mobile-menu-toggle span {
    display: block;

    width: 21px;
    height: 2px;

    background: var(--color-navy);

    border-radius: 10px;

    transition:
        transform var(--transition-normal),
        opacity var(--transition-normal);
}


/* ---------------------------------------------------------
   MOBILE MENU ANIMATION
   --------------------------------------------------------- */

.mobile-menu-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.mobile-menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* ---------------------------------------------------------
   TABLET / MOBILE
   --------------------------------------------------------- */

@media (max-width: 1050px) {

    .main-nav {
        position: absolute;

        top: 100%;
        left: 0;
        right: 0;

        display: none;

        background: var(--color-white);

        border-top: 1px solid var(--color-border);
        box-shadow: var(--shadow-md);
    }

    .main-nav.is-open {
        display: block;
    }

    .main-nav__list {
        flex-direction: column;
        align-items: stretch;

        gap: 0;

        padding: 1rem;
    }

    .main-nav__list a {
        min-height: auto;

        padding: 0.9rem 1rem;

        border-radius: var(--radius-sm);
    }

    .main-nav__list a:hover {
        background: var(--color-primary-light);
    }

    .main-nav__list a::after {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
    }
}


@media (max-width: 700px) {

    .top-bar__inner {
        justify-content: center;

        min-height: 34px;
    }

    .top-bar__message {
        text-align: center;
    }

    .top-bar__social {
        display: none;
    }

    .site-header__inner {
        min-height: 72px;

        gap: 0.75rem;
    }

    .site-logo img {
        height: 48px;
    }

    .site-header__actions {
        margin-left: auto;
    }

    .site-header__actions .btn {
        display: none;
    }

    .mobile-menu-toggle {
        margin-left: 0.25rem;
    }
}


@media (max-width: 420px) {

    .top-bar__message {
        font-size: 0.68rem;
    }

    .site-logo img {
        height: 44px;
    }
}

/* =====================================================
   SHOFT HERO SLIDER
   ===================================================== */

.hero {
    position: relative;
    width: 100%;
    min-height: 760px;
    overflow: hidden;
    background: #101a45;
}

.hero-slider {
    position: relative;
    width: 100%;
    min-height: 760px;
    overflow: hidden;
}


/* -----------------------------------------------------
   SLIDES
   ----------------------------------------------------- */

.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    min-height: 760px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.9s ease,
        visibility 0.9s ease;
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
}


/* -----------------------------------------------------
   HERO IMAGE
   ----------------------------------------------------- */

.hero-slide > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}


/* -----------------------------------------------------
   IMAGE OVERLAY
   ----------------------------------------------------- */

.hero-slide__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(8, 20, 63, 0.94) 0%,
            rgba(15, 30, 78, 0.82) 30%,
            rgba(24, 42, 94, 0.52) 55%,
            rgba(15, 26, 67, 0.18) 100%
        );
}


/* -----------------------------------------------------
   HERO CONTENT
   ----------------------------------------------------- */

.hero-slide__content {
    position: relative;
    z-index: 3;

    min-height: 760px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    padding-top: 100px;
    padding-bottom: 120px;

    color: #ffffff;
}


/* -----------------------------------------------------
   EYEBROW
   ----------------------------------------------------- */

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 22px;

    font-family: "Inter", sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;

    color: #f2b84b;
}

.hero-eyebrow::before {
    content: "";
    width: 34px;
    height: 2px;
    background: #f2b84b;
    flex-shrink: 0;
}


/* -----------------------------------------------------
   HERO TITLE
   ----------------------------------------------------- */

.hero-title {
    max-width: 720px;
    margin: 0 0 24px;

    font-family: "Manrope", sans-serif;
    font-size: clamp(3rem, 5.5vw, 5.8rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.045em;

    color: #ffffff;
}

.hero-title span {
    color: #f2b84b;
}


/* -----------------------------------------------------
   DESCRIPTION
   ----------------------------------------------------- */

.hero-description {
    max-width: 620px;
    margin: 0 0 34px;

    font-family: "Inter", sans-serif;
    font-size: 1.08rem;
    font-weight: 400;
    line-height: 1.75;

    color: rgba(255, 255, 255, 0.91);
}


/* -----------------------------------------------------
   HERO BUTTONS
   ----------------------------------------------------- */

.hero-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.hero-actions .btn {
    min-height: 52px;
    padding: 14px 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    border-radius: 6px;

    font-family: "Inter", sans-serif;
    font-size: 0.94rem;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.hero-actions .btn:hover {
    transform: translateY(-2px);
}


/* Primary button */

.hero-actions .btn-primary {
    background: #e85b4a;
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(232, 91, 74, 0.25);
}

.hero-actions .btn-primary:hover {
    background: #d94d3d;
    box-shadow: 0 14px 35px rgba(232, 91, 74, 0.32);
}


/* Light button */

.hero-actions .btn-light {
    background: rgba(255, 255, 255, 0.96);
    color: #293981;
}

.hero-actions .btn-light:hover {
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}


/* -----------------------------------------------------
   SLIDER ARROWS
   ----------------------------------------------------- */

.hero-control {
    position: absolute;
    z-index: 6;

    top: 50%;
    transform: translateY(-50%);

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;

    background: rgba(10, 24, 65, 0.38);
    backdrop-filter: blur(8px);

    color: #ffffff;

    font-size: 1.2rem;
    cursor: pointer;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.hero-control:hover {
    background: rgba(242, 184, 75, 0.92);
    border-color: #f2b84b;
    color: #15204f;
}

.hero-control--prev {
    left: 28px;
}

.hero-control--next {
    right: 28px;
}


/* -----------------------------------------------------
   SLIDER DOTS
   ----------------------------------------------------- */

.hero-dots {
    position: absolute;
    z-index: 7;

    left: 50%;
    bottom: 30px;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    gap: 9px;
}

.hero-dot {
    width: 9px;
    height: 9px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.45);

    cursor: pointer;

    transition:
        width 0.25s ease,
        background 0.25s ease,
        transform 0.25s ease;
}

.hero-dot:hover {
    background: rgba(255, 255, 255, 0.8);
}

.hero-dot.active {
    width: 30px;
    border-radius: 20px;
    background: #f2b84b;
}


/* -----------------------------------------------------
   DESKTOP IMAGE COMPOSITION
   ----------------------------------------------------- */

/* Slide 1 */
.hero-slide:nth-child(1) > img {
    object-position: center center;
}

/* Slide 2 */
.hero-slide:nth-child(2) > img {
    object-position: center center;
}

/* Slide 3 */
.hero-slide:nth-child(3) > img {
    object-position: center center;
}

/* Slide 4 */
.hero-slide:nth-child(4) > img {
    object-position: center center;
}

/* Slide 5 */
.hero-slide:nth-child(5) > img {
    object-position: center center;
}


/* -----------------------------------------------------
   TABLET
   ----------------------------------------------------- */

@media (max-width: 1024px) {

    .hero,
    .hero-slider,
    .hero-slide {
        min-height: 680px;
    }

    .hero-slide__content {
        min-height: 680px;
        padding-top: 90px;
        padding-bottom: 100px;
    }

    .hero-title {
        max-width: 620px;
        font-size: clamp(2.8rem, 6vw, 4.7rem);
    }

    .hero-description {
        max-width: 560px;
        font-size: 1rem;
    }

    .hero-control {
        width: 44px;
        height: 44px;
    }

    .hero-control--prev {
        left: 18px;
    }

    .hero-control--next {
        right: 18px;
    }
}


/* -----------------------------------------------------
   MOBILE
   ----------------------------------------------------- */

@media (max-width: 767px) {

    .hero,
    .hero-slider,
    .hero-slide {
        min-height: 720px;
    }

    .hero-slide > img {
        object-position: center center;
    }

    .hero-slide__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(8, 20, 63, 0.72) 0%,
                rgba(10, 25, 68, 0.82) 48%,
                rgba(8, 18, 55, 0.94) 100%
            );
    }

    .hero-slide__content {
        min-height: 720px;

        justify-content: flex-end;

        padding-top: 110px;
        padding-bottom: 105px;
    }

    .hero-eyebrow {
        margin-bottom: 16px;

        font-size: 0.68rem;
        letter-spacing: 0.13em;
    }

    .hero-eyebrow::before {
        width: 25px;
    }

    .hero-title {
        max-width: 100%;
        margin-bottom: 18px;

        font-size: clamp(2.45rem, 11vw, 3.8rem);
        line-height: 1;
        letter-spacing: -0.04em;
    }

    .hero-description {
        max-width: 100%;
        margin-bottom: 26px;

        font-size: 0.94rem;
        line-height: 1.6;
    }

    .hero-actions {
        width: 100%;
        gap: 10px;
    }

    .hero-actions .btn {
        min-height: 49px;
        padding: 12px 17px;

        font-size: 0.87rem;
    }

    .hero-control {
        top: 43%;

        width: 40px;
        height: 40px;

        font-size: 1rem;
    }

    .hero-control--prev {
        left: 12px;
    }

    .hero-control--next {
        right: 12px;
    }

    .hero-dots {
        bottom: 25px;
        gap: 7px;
    }

    .hero-dot {
        width: 7px;
        height: 7px;
    }

    .hero-dot.active {
        width: 24px;
    }

    .desktop-break {
        display: none;
    }
}


/* -----------------------------------------------------
   SMALL MOBILE
   ----------------------------------------------------- */

@media (max-width: 480px) {

    .hero,
    .hero-slider,
    .hero-slide {
        min-height: 680px;
    }

    .hero-slide__content {
        min-height: 680px;
        padding-bottom: 95px;
    }

    .hero-title {
        font-size: clamp(2.2rem, 12vw, 3rem);
    }

    .hero-description {
        font-size: 0.9rem;
    }

    .hero-actions .btn {
        flex: 1 1 auto;
    }

    .hero-control {
        width: 36px;
        height: 36px;
    }
}


/* -----------------------------------------------------
   ACCESSIBILITY
   ----------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .hero-slide {
        transition: none;
    }

    .hero-actions .btn,
    .hero-control,
    .hero-dot {
        transition: none;
    }
}


/* =====================================================
   INTRODUCTION / TRUST SECTION
   ===================================================== */

.intro-section {
    position: relative;
    padding: 100px 0;
    background: #ffffff;
    overflow: hidden;
}

.intro-section__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 80px;
    align-items: center;
}


/* Content */

.intro-section__content {
    max-width: 680px;
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;

    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: #293981;
}

.section-eyebrow::before {
    content: "";
    width: 32px;
    height: 3px;
    border-radius: 999px;
    background: #f4a340;
}


.intro-section h2 {
    margin: 0 0 24px;

    font-family: "Manrope", sans-serif;
    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: 1.08;
    letter-spacing: -0.04em;

    color: #17245f;
}

.intro-section h2 span {
    display: block;
    color: #f4a340;
}


.intro-section__lead {
    margin: 0 0 18px;

    font-size: 1.2rem;
    line-height: 1.75;
    font-weight: 600;

    color: #293981;
}

.intro-section__content > p:not(.intro-section__lead) {
    margin: 0 0 32px;

    font-size: 1rem;
    line-height: 1.8;

    color: #5d6475;
}


/* Visual */

.intro-section__visual {
    position: relative;
    padding-bottom: 35px;
}

.intro-section__image {
    position: relative;

    min-height: 500px;

    overflow: hidden;
    border-radius: 24px;

    box-shadow:
        0 25px 60px rgba(20, 35, 90, 0.16);
}

.intro-section__image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(41, 57, 129, 0.05),
            rgba(41, 57, 129, 0.22)
        );

    pointer-events: none;
}

.intro-section__image img {
    width: 100%;
    height: 100%;
    min-height: 500px;

    display: block;

    object-fit: cover;
}


/* Floating card */

.intro-section__card {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;

    width: auto;

    padding: 25px 28px;

    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 12px;

    box-sizing: border-box;

    background: #ffffff;

    border-radius: 18px;

    box-shadow:
        0 20px 50px rgba(20, 35, 90, 0.18);

    border-left: 5px solid #f4a340;
}

.intro-section__card strong {
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #293981;

    white-space: nowrap;
}

.intro-section__card strong:not(:last-of-type)::after {
    content: "•";
    margin-left: 12px;
    color: #f4a340;
}

.intro-section__card span {
    width: 100%;
    margin-top: 8px;

    font-size: 0.88rem;
    line-height: 1.5;

    color: #697083;
}

/* =====================================================
   INTRODUCTION — MOBILE
   ===================================================== */

@media (max-width: 900px) {

    .intro-section {
        padding: 75px 0;
    }

    .intro-section__inner {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .intro-section__content {
        max-width: none;
    }

    .intro-section__visual {
        max-width: 650px;
        width: 100%;
        margin: 0 auto;
    }

    .intro-section__image,
    .intro-section__image img {
        min-height: 430px;
    }

    .intro-section__card {
        left: 20px;
    }

}


@media (max-width: 600px) {

    .intro-section {
        padding: 60px 0;
    }

    .intro-section h2 {
        font-size: 2.35rem;
    }

    .intro-section__lead {
        font-size: 1.05rem;
    }

    .intro-section__image,
    .intro-section__image img {
        min-height: 360px;
    }

    .intro-section__card {
        left: 12px;
        right: 12px;
        width: auto;
        padding: 20px;
    }

}

/* =====================================================
   WHAT WE DO — HIGHLIGHTS
   ===================================================== */

.highlights-section {
    padding: 105px 0;
    background: #f5f7fc;
}

.section-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.section-heading .section-eyebrow {
    justify-content: center;
}

.section-heading h2 {
    margin: 0 0 20px;

    font-family: "Manrope", sans-serif;
    font-size: clamp(2.3rem, 4vw, 3.6rem);
    line-height: 1.08;
    letter-spacing: -0.04em;

    color: #17245f;
}

.section-heading h2 span {
    color: #f4a340;
}

.section-heading p {
    margin: 0;

    font-size: 1.05rem;
    line-height: 1.8;

    color: #626b7e;
}


/* Cards */

.highlights-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.highlight-card {
    position: relative;

    padding: 35px 28px 32px;

    background: #ffffff;
    border: 1px solid rgba(41, 57, 129, 0.08);
    border-radius: 20px;

    box-shadow: 0 10px 35px rgba(20, 35, 90, 0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.highlight-card:hover {
    transform: translateY(-8px);

    border-color: rgba(244, 163, 64, 0.35);

    box-shadow:
        0 20px 45px rgba(20, 35, 90, 0.12);
}


/* Icon */

.highlight-card__icon {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border-radius: 15px;

    background: #293981;
    color: #f4a340;

    font-size: 1.4rem;
    font-weight: 800;
}

.highlight-card h3 {
    margin: 0 0 14px;

    font-family: "Manrope", sans-serif;
    font-size: 1.35rem;

    color: #17245f;
}

.highlight-card p {
    margin: 0 0 25px;

    font-size: 0.95rem;
    line-height: 1.7;

    color: #697184;
}

.highlight-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    font-size: 0.9rem;
    font-weight: 700;

    color: #293981;
    text-decoration: none;

    transition: gap 0.25s ease;
}

.highlight-card a:hover {
    gap: 13px;
    color: #e59635;
}


/* =====================================================
   HIGHLIGHTS — TABLET
   ===================================================== */

@media (max-width: 1050px) {

    .highlights-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =====================================================
   HIGHLIGHTS — MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .highlights-section {
        padding: 75px 0;
    }

    .section-heading {
        margin-bottom: 40px;
    }

    .section-heading h2 {
        font-size: 2.3rem;
    }

    .highlights-grid {
        grid-template-columns: 1fr;
    }

    .highlight-card {
        padding: 30px 25px;
    }

}

/* =====================================================
   GET SUPPORT
   ===================================================== */

.support-section {
    position: relative;
    padding: 105px 0;

    background:
        linear-gradient(
            135deg,
            #17245f 0%,
            #293981 55%,
            #1b285f 100%
        );

    overflow: hidden;
}

.support-section::before {
    content: "";

    position: absolute;
    width: 500px;
    height: 500px;

    top: -280px;
    right: -150px;

    border-radius: 50%;

    background: rgba(244, 163, 64, 0.08);
}

.support-section::after {
    content: "";

    position: absolute;
    width: 350px;
    height: 350px;

    bottom: -220px;
    left: -100px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.035);
}


/* Main layout */

.support-section__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);

    gap: 80px;

    align-items: center;
}


/* Intro */

.support-section__intro {
    max-width: 570px;
}

.section-eyebrow--light {
    color: #f4c15d;
}

.section-eyebrow--light::before {
    background: #e85b4a;
}

.support-section h2 {
    margin: 0 0 24px;

    font-family: "Manrope", sans-serif;
    font-size: clamp(2.5rem, 4.2vw, 4rem);
    font-weight: 800;
    line-height: 1.05;

    letter-spacing: -0.04em;

    color: #ffffff;
}

.support-section h2 span {
    display: block;
    color: #f4b45d;
}

.support-section__intro > p {
    max-width: 530px;

    margin: 0;

    font-size: 1.05rem;
    line-height: 1.8;

    color: rgba(255, 255, 255, 0.82);
}


/* Buttons */

.support-section__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 12px;

    margin-top: 32px;
}

.support-section__actions .btn {
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    padding: 14px 22px;

    border-radius: 6px;

    font-weight: 700;
    text-decoration: none;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.support-section__actions .btn:hover {
    transform: translateY(-2px);
}

.support-section__actions .btn-gold {
    background: #f4b45d;
    color: #17245f;
}

.support-section__actions .btn-gold:hover {
    background: #ffc873;
}

.support-section__actions .btn-outline-light {
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #ffffff;
    background: transparent;
}

.support-section__actions .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.1);
}


/* Support areas */

.support-section__areas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.support-area {
    min-height: 105px;

    display: flex;
    align-items: center;

    gap: 18px;

    padding: 20px 18px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.14);

    color: #ffffff;

    font-family: "Manrope", sans-serif;
    font-size: 0.98rem;
    font-weight: 650;
    line-height: 1.4;

    transition:
        background 0.25s ease,
        padding-left 0.25s ease;
}

.support-area:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.support-area:hover {
    padding-left: 25px;
    background: rgba(255, 255, 255, 0.055);
}

.support-area__number {
    flex-shrink: 0;

    color: #f4b45d;

    font-family: "Inter", sans-serif;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}


/* =====================================================
   GET SUPPORT — TABLET
   ===================================================== */

@media (max-width: 950px) {

    .support-section {
        padding: 85px 0;
    }

    .support-section__inner {
        grid-template-columns: 1fr;

        gap: 55px;
    }

    .support-section__intro {
        max-width: 700px;
    }

}


/* =====================================================
   GET SUPPORT — MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .support-section {
        padding: 70px 0;
    }

    .support-section h2 {
        font-size: 2.45rem;
    }

    .support-section__intro > p {
        font-size: 0.96rem;
    }

    .support-section__actions {
        width: 100%;
    }

    .support-section__actions .btn {
        flex: 1;
    }

    .support-section__areas {
        grid-template-columns: 1fr;
    }

    .support-area {
        min-height: 82px;
        padding: 18px 8px;
    }

    .support-area:nth-child(odd) {
        border-right: 0;
    }

}

/* =====================================================
   OUR PROJECTS
   ===================================================== */

.projects-section {
    position: relative;
    padding: 110px 0;
    background: #f7f8fc;
    overflow: hidden;
}


/* Section heading */

.projects-section__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.65fr);

    gap: 70px;
    align-items: end;

    margin-bottom: 55px;
}

.projects-section__heading h2 {
    margin: 0;

    max-width: 720px;

    font-family: "Manrope", sans-serif;
    font-size: clamp(2.5rem, 4.5vw, 4.2rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.045em;

    color: #17245f;
}

.projects-section__heading h2 span {
    display: block;
    color: #e89b3c;
}

.projects-section__heading > p {
    max-width: 510px;

    margin: 0;

    font-size: 1rem;
    line-height: 1.8;

    color: #626979;
}


/* Projects grid */

.projects-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 28px;
}


/* Project card */

.project-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    background: #ffffff;

    border: 1px solid #e8eaf1;
    border-radius: 12px;

    overflow: hidden;

    box-shadow:
        0 10px 35px rgba(23, 36, 95, 0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.project-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 20px 50px rgba(23, 36, 95, 0.12);
}


/* Featured project */

.project-card--featured {
    grid-column: span 2;

    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
}


/* Wide final project */

.project-card--wide,
.projects-grid .project-card:nth-child(4) {
    grid-column: span 2;

    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
}


/* Image */

.project-card__image {
    position: relative;

    min-height: 340px;

    overflow: hidden;

    background: #17245f;
}

.project-card--featured .project-card__image,
.project-card--wide .project-card__image {
    min-height: 430px;
}

.project-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.6s ease;
}

.project-card:hover .project-card__image img {
    transform: scale(1.045);
}


/* Image shade */

.project-card__image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(15, 25, 70, 0.55),
            transparent 55%
        );

    pointer-events: none;
}


/* Number */

.project-card__number {
    position: absolute;

    top: 22px;
    left: 22px;

    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border-radius: 50%;

    background: #f4b45d;
    color: #17245f;

    font-family: "Inter", sans-serif;
    font-size: 0.78rem;
    font-weight: 800;
}


/* Content */

.project-card__content {
    display: flex;
    flex-direction: column;

    padding: 38px;
}

.project-card__category {
    display: block;

    margin-bottom: 13px;

    color: #e28f35;

    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    line-height: 1.4;
}

.project-card__content h3 {
    margin: 0 0 13px;

    font-family: "Manrope", sans-serif;
    font-size: clamp(1.65rem, 2.5vw, 2.45rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;

    color: #17245f;
}

.project-card__content h3 span {
    display: block;
    color: #e89b3c;
}

.project-card__tagline {
    margin: 0 0 16px;

    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;

    color: #293981;
}

.project-card__content > p:not(.project-card__tagline) {
    margin: 0;

    color: #626979;

    font-size: 0.94rem;
    line-height: 1.75;
}


/* Project link */

.project-card__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    width: fit-content;

    margin-top: 27px;

    color: #293981;

    font-family: "Manrope", sans-serif;
    font-size: 0.9rem;
    font-weight: 800;

    text-decoration: none;

    transition:
        color 0.2s ease,
        gap 0.2s ease;
}

.project-card__link:hover {
    color: #e28f35;
    gap: 14px;
}


/* GYTIS metadata */

.project-card__meta {
    display: flex;
    flex-wrap: wrap;

    gap: 10px 25px;

    margin-top: 22px;
    padding-top: 20px;

    border-top: 1px solid #e7e9ef;

    color: #626979;

    font-size: 0.82rem;
}

.project-card__meta strong {
    color: #293981;
}


/* Footer */

.projects-section__footer {
    display: flex;
    justify-content: center;

    margin-top: 55px;
}

.projects-section__footer .btn {
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    padding: 14px 24px;

    text-decoration: none;
}


/* =====================================================
   PROJECTS — TABLET
   ===================================================== */

@media (max-width: 900px) {

    .projects-section {
        padding: 85px 0;
    }

    .projects-section__heading {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .projects-grid {
        grid-template-columns: 1fr;
    }

    .project-card--featured,
    .project-card--wide,
    .projects-grid .project-card:nth-child(4) {
        grid-column: span 1;

        display: flex;
    }

    .project-card--featured .project-card__image,
    .project-card--wide .project-card__image,
    .projects-grid .project-card:nth-child(4) .project-card__image {
        min-height: 350px;
    }

}


/* =====================================================
   PROJECTS — MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .projects-section {
        padding: 70px 0;
    }

    .projects-section__heading {
        margin-bottom: 38px;
    }

    .projects-section__heading h2 {
        font-size: 2.5rem;
    }

    .projects-grid {
        gap: 20px;
    }

    .project-card__image,
    .project-card--featured .project-card__image,
    .project-card--wide .project-card__image {
        min-height: 260px;
    }

    .project-card__content {
        padding: 27px 23px 30px;
    }

    .project-card__content h3 {
        font-size: 1.8rem;
    }

    .project-card__tagline {
        font-size: 0.94rem;
    }

    .project-card__content > p:not(.project-card__tagline) {
        font-size: 0.9rem;
    }

    .project-card__number {
        top: 17px;
        left: 17px;

        width: 42px;
        height: 42px;
    }

    .project-card__meta {
        flex-direction: column;
        gap: 7px;
    }

}

/* =====================================================
   IMPACT — 2026 GOALS
   ===================================================== */

.impact-section {
    position: relative;

    padding: 115px 0;

    background: #ffffff;

    overflow: hidden;
}


/* Decorative background */

.impact-section::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    top: -300px;
    right: -190px;

    border-radius: 50%;

    background: rgba(41, 57, 129, 0.045);

    pointer-events: none;
}

.impact-section::after {
    content: "";

    position: absolute;

    width: 340px;
    height: 340px;

    bottom: -220px;
    left: -140px;

    border-radius: 50%;

    background: rgba(232, 155, 60, 0.055);

    pointer-events: none;
}


/* =====================================================
   INTRO
   ===================================================== */

.impact-section__intro {
    position: relative;
    z-index: 1;

    max-width: 820px;

    margin-bottom: 58px;
}

.impact-section__intro h2 {
    margin: 0 0 22px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.6rem, 4.5vw, 4.2rem);

    font-weight: 800;

    line-height: 1.04;

    letter-spacing: -0.045em;

    color: #17245f;
}

.impact-section__intro h2 span {
    display: block;

    color: #e89b3c;
}

.impact-section__intro > p {
    max-width: 700px;

    margin: 0;

    color: #626979;

    font-size: 1rem;

    line-height: 1.8;
}

.impact-section__note {
    margin-top: 15px !important;

    padding-left: 18px;

    border-left: 3px solid #f4b45d;

    font-size: 0.88rem !important;

    color: #7a8190 !important;
}


/* =====================================================
   IMPACT GOALS GRID
   ===================================================== */

.impact-goals {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;
}


/* Goal card */

.impact-goal {
    position: relative;

    min-height: 315px;

    display: flex;
    flex-direction: column;

    padding: 30px 27px;

    background: #f7f8fc;

    border: 1px solid #e6e8ef;

    border-radius: 12px;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}

.impact-goal:hover {
    transform: translateY(-6px);

    background: #ffffff;

    box-shadow:
        0 20px 45px rgba(23, 36, 95, 0.11);
}


/* Primary card */

.impact-goal--primary {
    background: #293981;

    border-color: #293981;
}

.impact-goal--primary:hover {
    background: #293981;
}


/* Number */

.impact-goal__number {
    display: block;

    margin-bottom: 15px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.5rem, 4vw, 3.7rem);

    font-weight: 800;

    line-height: 1;

    letter-spacing: -0.05em;

    color: #293981;
}

.impact-goal--primary .impact-goal__number {
    color: #f4b45d;
}


/* Heading */

.impact-goal h3 {
    margin: 0 0 13px;

    font-family: "Manrope", sans-serif;

    font-size: 1.2rem;

    font-weight: 800;

    line-height: 1.25;

    color: #17245f;
}

.impact-goal--primary h3 {
    color: #ffffff;
}


/* Description */

.impact-goal p {
    margin: 0;

    color: #626979;

    font-size: 0.86rem;

    line-height: 1.7;
}

.impact-goal--primary p {
    color: rgba(255, 255, 255, 0.78);
}


/* Label */

.impact-goal__label {
    margin-top: auto;

    padding-top: 20px;

    color: #e28f35;

    font-size: 0.68rem;

    font-weight: 800;

    letter-spacing: 0.09em;

    text-transform: uppercase;
}

.impact-goal--primary .impact-goal__label {
    color: #f4b45d;
}


/* =====================================================
   IMPACT STATEMENT
   ===================================================== */

.impact-statement {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns: 5px minmax(0, 1fr);

    gap: 24px;

    max-width: 900px;

    margin: 65px auto 0;
}

.impact-statement__line {
    width: 5px;

    border-radius: 5px;

    background:
        linear-gradient(
            to bottom,
            #e85b4a,
            #f4b45d
        );
}

.impact-statement p {
    margin: 0;

    color: #626979;

    font-family: "Manrope", sans-serif;

    font-size: 1rem;

    line-height: 1.75;
}

.impact-statement p + p {
    margin-top: 5px;
}

.impact-statement strong {
    color: #293981;
}


/* =====================================================
   ACTION
   ===================================================== */

.impact-section__action {
    position: relative;
    z-index: 1;

    display: flex;

    justify-content: center;

    margin-top: 48px;
}

.impact-section__action .btn {
    min-height: 52px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    padding: 14px 24px;

    text-decoration: none;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 1050px) {

    .impact-section {
        padding: 90px 0;
    }

    .impact-goals {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .impact-section {
        padding: 70px 0;
    }

    .impact-section__intro {
        margin-bottom: 40px;
    }

    .impact-section__intro h2 {
        font-size: 2.5rem;
    }

    .impact-section__intro > p {
        font-size: 0.94rem;
    }

    .impact-goals {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .impact-goal {
        min-height: 250px;

        padding: 27px 23px;
    }

    .impact-goal__number {
        font-size: 2.8rem;
    }

    .impact-goal h3 {
        font-size: 1.2rem;
    }

    .impact-statement {
        gap: 17px;

        margin-top: 48px;
    }

    .impact-statement p {
        font-size: 0.94rem;
    }

}

/* =====================================================
   NEWS & STORIES
   ===================================================== */

.news-section {
    position: relative;

    padding: 110px 0;

    background: #f7f8fc;

    overflow: hidden;
}


/* =====================================================
   SECTION HEADING
   ===================================================== */

.news-section__heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(300px, 0.6fr);

    gap: 70px;

    align-items: end;

    margin-bottom: 55px;
}

.news-section__heading h2 {
    margin: 0;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.6rem, 4.5vw, 4.2rem);

    font-weight: 800;

    line-height: 1.04;

    letter-spacing: -0.045em;

    color: #17245f;
}

.news-section__heading h2 span {
    display: block;

    color: #e89b3c;
}

.news-section__heading > p {
    max-width: 500px;

    margin: 0;

    color: #626979;

    font-size: 1rem;

    line-height: 1.8;
}


/* =====================================================
   MAIN STORIES GRID
   ===================================================== */

.news-grid {
    display: grid;

    grid-template-columns:
        1.2fr
        0.8fr;

    gap: 26px;
}


/* =====================================================
   NEWS CARD
   ===================================================== */

.news-card {
    background: #ffffff;

    border: 1px solid #e6e8ef;

    border-radius: 12px;

    overflow: hidden;

    box-shadow:
        0 10px 35px rgba(23, 36, 95, 0.05);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.news-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 20px 50px rgba(23, 36, 95, 0.11);
}

.news-card--featured {
    grid-row: span 2;
}


/* =====================================================
   NEWS IMAGE
   ===================================================== */

.news-card__image {
    position: relative;

    display: block;

    height: 260px;

    overflow: hidden;

    background: #293981;
}

.news-card--featured .news-card__image {
    height: 390px;
}

.news-card__image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(15, 25, 70, 0.5),
            transparent 55%
        );

    pointer-events: none;
}

.news-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.6s ease;
}

.news-card:hover .news-card__image img {
    transform: scale(1.045);
}


/* =====================================================
   CATEGORY LABEL
   ===================================================== */

.news-card__category {
    position: absolute;

    left: 20px;
    bottom: 18px;

    z-index: 2;

    padding: 8px 11px;

    border-radius: 4px;

    background: #f4b45d;

    color: #17245f;

    font-size: 0.65rem;

    font-weight: 800;

    letter-spacing: 0.08em;
}


/* =====================================================
   NEWS CONTENT
   ===================================================== */

.news-card__content {
    padding: 30px;
}

.news-card__meta {
    margin-bottom: 10px;

    color: #e28f35;

    font-size: 0.72rem;

    font-weight: 800;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.news-card__content h3 {
    margin: 0 0 15px;

    font-family: "Manrope", sans-serif;

    font-size: 1.55rem;

    font-weight: 800;

    line-height: 1.18;

    letter-spacing: -0.025em;

    color: #17245f;
}

.news-card--featured .news-card__content h3 {
    font-size: 2rem;
}

.news-card__content p {
    margin: 0;

    color: #626979;

    font-size: 0.91rem;

    line-height: 1.75;
}


/* =====================================================
   STORY LINK
   ===================================================== */

.news-card__link {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-top: 23px;

    color: #293981;

    font-family: "Manrope", sans-serif;

    font-size: 0.88rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        color 0.2s ease,
        gap 0.2s ease;
}

.news-card__link:hover {
    color: #e28f35;

    gap: 14px;
}


/* =====================================================
   SECONDARY STORIES
   ===================================================== */

.news-section__secondary {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 26px;

    margin-top: 26px;
}


/* Secondary card */

.news-secondary-card {
    display: grid;

    grid-template-columns:
        0.8fr
        1.2fr;

    min-width: 0;

    background: #ffffff;

    border: 1px solid #e6e8ef;

    border-radius: 12px;

    overflow: hidden;

    box-shadow:
        0 10px 35px rgba(23, 36, 95, 0.05);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.news-secondary-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 45px rgba(23, 36, 95, 0.1);
}


/* Secondary image */

.news-secondary-card__image {
    min-height: 280px;

    overflow: hidden;

    background: #293981;
}

.news-secondary-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.6s ease;
}

.news-secondary-card:hover
.news-secondary-card__image img {
    transform: scale(1.05);
}


/* Secondary content */

.news-secondary-card__content {
    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 30px;
}

.news-section__secondary-label {
    display: block;

    margin-bottom: 12px;

    color: #e28f35;

    font-size: 0.68rem;

    font-weight: 800;

    letter-spacing: 0.1em;
}

.news-secondary-card__content h3 {
    margin: 0 0 13px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: 1.35rem;

    font-weight: 800;

    line-height: 1.2;

    letter-spacing: -0.025em;
}

.news-secondary-card__content p {
    margin: 0;

    color: #626979;

    font-size: 0.87rem;

    line-height: 1.7;
}


/* =====================================================
   FOOTER / VIEW ALL
   ===================================================== */

.news-section__footer {
    display: flex;

    justify-content: center;

    margin-top: 48px;
}

.news-section__footer .btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    min-height: 52px;

    padding: 14px 24px;

    text-decoration: none;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 950px) {

    .news-section {
        padding: 85px 0;
    }

    .news-section__heading {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card--featured {
        grid-row: auto;
    }

    .news-card--featured .news-card__image {
        height: 350px;
    }

    .news-section__secondary {
        grid-template-columns: 1fr;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 650px) {

    .news-section {
        padding: 70px 0;
    }

    .news-section__heading {
        margin-bottom: 38px;
    }

    .news-section__heading h2 {
        font-size: 2.5rem;
    }

    .news-section__heading > p {
        font-size: 0.94rem;
    }

    .news-grid {
        gap: 18px;
    }

    .news-card__image,
    .news-card--featured .news-card__image {
        height: 260px;
    }

    .news-card__content {
        padding: 25px 22px 28px;
    }

    .news-card--featured
    .news-card__content h3,
    .news-card__content h3 {
        font-size: 1.5rem;
    }

    .news-secondary-card {
        grid-template-columns: 1fr;
    }

    .news-secondary-card__image {
        min-height: 240px;
    }

    .news-secondary-card__content {
        padding: 25px 22px 28px;
    }

}

/* =====================================================
   GET INVOLVED
   ===================================================== */

.involved-section {
    position: relative;

    padding: 110px 0;

    background: #ffffff;

    overflow: hidden;
}


/* =====================================================
   SECTION HEADING
   ===================================================== */

.involved-section__heading {
    max-width: 850px;

    margin-bottom: 55px;
}

.involved-section__heading h2 {
    margin: 0 0 22px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.6rem, 4.5vw, 4.2rem);

    font-weight: 800;

    line-height: 1.04;

    letter-spacing: -0.045em;

    color: #17245f;
}

.involved-section__heading h2 span {
    display: block;

    color: #e89b3c;
}

.involved-section__heading > p {
    max-width: 700px;

    margin: 0;

    color: #626979;

    font-size: 1rem;

    line-height: 1.8;
}


/* =====================================================
   INVOLVEMENT GRID
   ===================================================== */

.involved-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}


/* =====================================================
   INVOLVEMENT CARD
   ===================================================== */

.involved-card {
    position: relative;

    min-height: 370px;

    display: flex;

    flex-direction: column;

    padding: 30px;

    background: #293981;

    border-radius: 12px;

    overflow: hidden;

    color: #ffffff;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.involved-card::before {
    content: "";

    position: absolute;

    width: 210px;
    height: 210px;

    top: -100px;
    right: -80px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.06);
}

.involved-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 22px 50px rgba(23, 36, 95, 0.16);
}


/* Gold variation */

.involved-card--gold {
    background: #f4b45d;

    color: #17245f;
}

.involved-card--gold::before {
    background: rgba(255, 255, 255, 0.16);
}


/* Red variation */

.involved-card--red {
    background: #e85b4a;
}

.involved-card--red::before {
    background: rgba(255, 255, 255, 0.08);
}


/* =====================================================
   CARD TOP
   ===================================================== */

.involved-card__top {
    position: relative;
    z-index: 1;

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 55px;
}

.involved-card__number {
    font-family: "Inter", sans-serif;

    font-size: 0.72rem;

    font-weight: 800;

    letter-spacing: 0.08em;

    opacity: 0.7;
}

.involved-card__arrow {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(255, 255, 255, 0.35);

    border-radius: 50%;

    font-size: 1.05rem;
}

.involved-card--gold .involved-card__arrow {
    border-color: rgba(23, 36, 95, 0.25);
}


/* =====================================================
   CARD CONTENT
   ===================================================== */

.involved-card__content {
    position: relative;
    z-index: 1;

    margin-top: auto;
}

.involved-card__content h3 {
    margin: 0 0 15px;

    font-family: "Manrope", sans-serif;

    font-size: 1.8rem;

    font-weight: 800;

    line-height: 1.1;

    letter-spacing: -0.03em;
}

.involved-card__content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.8);

    font-size: 0.9rem;

    line-height: 1.7;
}

.involved-card--gold
.involved-card__content p {
    color: rgba(23, 36, 95, 0.72);
}


/* =====================================================
   CARD LINK
   ===================================================== */

.involved-card__link {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    width: fit-content;

    margin-top: 25px;

    color: #f4b45d;

    font-family: "Manrope", sans-serif;

    font-size: 0.87rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        gap 0.2s ease;
}

.involved-card__link:hover {
    gap: 14px;
}

.involved-card--gold
.involved-card__link {
    color: #17245f;
}

.involved-card--red
.involved-card__link {
    color: #ffffff;
}


/* =====================================================
   PARTNER BANNER
   ===================================================== */

.partner-banner {
    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;

    margin-top: 26px;

    padding: 48px 52px;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #17245f 0%,
            #293981 100%
        );

    overflow: hidden;
}

.partner-banner::after {
    content: "";

    position: absolute;

    width: 330px;
    height: 330px;

    right: -130px;
    top: -190px;

    border-radius: 50%;

    background: rgba(244, 180, 93, 0.09);
}

.partner-banner__content {
    position: relative;

    z-index: 1;

    max-width: 760px;
}

.partner-banner__eyebrow {
    display: block;

    margin-bottom: 12px;

    color: #f4b45d;

    font-size: 0.68rem;

    font-weight: 800;

    letter-spacing: 0.11em;
}

.partner-banner h3 {
    margin: 0 0 15px;

    color: #ffffff;

    font-family: "Manrope", sans-serif;

    font-size: clamp(1.7rem, 3vw, 2.5rem);

    font-weight: 800;

    line-height: 1.1;

    letter-spacing: -0.03em;
}

.partner-banner h3 span {
    color: #f4b45d;
}

.partner-banner p {
    max-width: 720px;

    margin: 0;

    color: rgba(255, 255, 255, 0.76);

    font-size: 0.9rem;

    line-height: 1.75;
}

.partner-banner .btn {
    position: relative;

    z-index: 2;

    flex-shrink: 0;

    min-height: 52px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 14px 24px;

    color: #17245f;

    background: #ffffff;

    text-decoration: none;

    border-radius: 6px;

    font-weight: 700;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}

.partner-banner .btn:hover {
    transform: translateY(-2px);

    background: #f4b45d;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 900px) {

    .involved-section {
        padding: 85px 0;
    }

    .involved-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .involved-card:last-child {
        grid-column: span 2;
    }

    .partner-banner {
        align-items: flex-start;

        flex-direction: column;

        padding: 40px;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .involved-section {
        padding: 70px 0;
    }

    .involved-section__heading {
        margin-bottom: 38px;
    }

    .involved-section__heading h2 {
        font-size: 2.5rem;
    }

    .involved-section__heading > p {
        font-size: 0.94rem;
    }

    .involved-grid {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .involved-card {
        min-height: 330px;

        padding: 27px 23px;
    }

    .involved-card:last-child {
        grid-column: auto;
    }

    .partner-banner {
        gap: 28px;

        margin-top: 18px;

        padding: 30px 23px;
    }

    .partner-banner h3 {
        font-size: 1.65rem;
    }

    .partner-banner p {
        font-size: 0.87rem;
    }

    .partner-banner .btn {
        width: 100%;
    }

}

/* =====================================================
   FINAL CTA
   ===================================================== */

.final-cta-section {
    position: relative;

    padding: 95px 0;

    background: #17245f;

    overflow: hidden;
}


/* Decorative circles */

.final-cta-section::before {
    content: "";

    position: absolute;

    width: 600px;
    height: 600px;

    top: -380px;
    right: -170px;

    border: 1px solid rgba(244, 180, 93, 0.16);

    border-radius: 50%;

    pointer-events: none;
}

.final-cta-section::after {
    content: "";

    position: absolute;

    width: 400px;
    height: 400px;

    bottom: -300px;
    left: -160px;

    border: 1px solid rgba(255, 255, 255, 0.07);

    border-radius: 50%;

    pointer-events: none;
}


/* Main CTA */

.final-cta {
    position: relative;

    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(280px, 0.7fr);

    gap: 80px;

    align-items: center;
}


/* Content */

.final-cta__content {
    max-width: 800px;
}

.final-cta__eyebrow {
    display: block;

    margin-bottom: 18px;

    color: #f4b45d;

    font-size: 0.68rem;

    font-weight: 800;

    letter-spacing: 0.12em;
}

.final-cta__content h2 {
    margin: 0 0 22px;

    color: #ffffff;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.8rem, 5vw, 4.8rem);

    font-weight: 800;

    line-height: 1.02;

    letter-spacing: -0.05em;
}

.final-cta__content h2 span {
    display: block;

    color: #f4b45d;
}

.final-cta__content > p {
    max-width: 690px;

    margin: 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 1rem;

    line-height: 1.8;
}


/* CTA buttons */

.final-cta__actions {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 32px;
}

.final-cta__actions .btn {
    min-height: 52px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 14px 22px;

    border-radius: 6px;

    text-decoration: none;

    font-weight: 700;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        color 0.25s ease;
}

.final-cta__actions .btn:hover {
    transform: translateY(-2px);
}


/* Light button */

.final-cta__actions .btn-light {
    background: #ffffff;

    color: #17245f;
}

.final-cta__actions .btn-light:hover {
    background: #f1f2f6;
}


/* Gold button */

.final-cta__actions .btn-gold {
    background: #f4b45d;

    color: #17245f;
}

.final-cta__actions .btn-gold:hover {
    background: #ffc875;
}


/* Outline */

.final-cta__actions .btn-outline-light {
    background: transparent;

    color: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.45);
}

.final-cta__actions .btn-outline-light:hover {
    background: #ffffff;

    color: #17245f;
}


/* =====================================================
   CONTACT DETAILS
   ===================================================== */

.final-cta__contact {
    display: flex;

    flex-direction: column;

    gap: 0;

    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.final-cta__contact-item {
    padding: 23px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.final-cta__contact-label {
    display: block;

    margin-bottom: 8px;

    color: rgba(255, 255, 255, 0.48);

    font-size: 0.62rem;

    font-weight: 800;

    letter-spacing: 0.09em;
}

.final-cta__contact-item a {
    color: #ffffff;

    font-family: "Manrope", sans-serif;

    font-size: 1rem;

    font-weight: 700;

    text-decoration: none;

    transition: color 0.2s ease;
}

.final-cta__contact-item a:hover {
    color: #f4b45d;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 900px) {

    .final-cta-section {
        padding: 80px 0;
    }

    .final-cta {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .final-cta__contact {
        max-width: 600px;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .final-cta-section {
        padding: 70px 0;
    }

    .final-cta__content h2 {
        font-size: 2.7rem;
    }

    .final-cta__content > p {
        font-size: 0.94rem;
    }

    .final-cta__actions {
        flex-direction: column;

        align-items: stretch;
    }

    .final-cta__actions .btn {
        width: 100%;
    }

    .final-cta__contact-item {
        padding: 20px 0;
    }

}

/* =====================================================
   FOOTER
   ===================================================== */

.site-footer {
    position: relative;

    background: #0f173d;

    color: #ffffff;

    overflow: hidden;
}


/* Decorative line */

.site-footer::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #e85b4a 0%,
            #f4b45d 35%,
            #293981 70%,
            #e85b4a 100%
        );
}


/* =====================================================
   FOOTER MAIN
   ===================================================== */

.site-footer__main {
    display: grid;

    grid-template-columns:
        1.5fr
        0.75fr
        0.75fr
        1.15fr;

    gap: 55px;

    padding: 75px 0 60px;
}


/* =====================================================
   BRAND
   ===================================================== */

.site-footer__brand {
    max-width: 370px;
}

.site-footer__logo {
    display: inline-flex;

    align-items: center;

    margin-bottom: 25px;
}

.site-footer__logo img {
    display: block;

    width: auto;

    max-width: 190px;

    height: 65px;

    object-fit: contain;
}

.site-footer__description {
    margin: 0;

    color: rgba(255, 255, 255, 0.66);

    font-size: 0.88rem;

    line-height: 1.8;
}

.site-footer__scope {
    display: inline-block;

    margin-top: 22px;

    padding: 8px 11px;

    border: 1px solid rgba(244, 180, 93, 0.3);

    border-radius: 4px;

    color: #f4b45d;

    font-size: 0.62rem;

    font-weight: 800;

    letter-spacing: 0.1em;
}


/* =====================================================
   FOOTER COLUMNS
   ===================================================== */

.site-footer__column h3 {
    margin: 0 0 22px;

    color: #ffffff;

    font-family: "Manrope", sans-serif;

    font-size: 0.95rem;

    font-weight: 800;
}

.site-footer__column ul {
    display: flex;

    flex-direction: column;

    gap: 13px;

    margin: 0;

    padding: 0;

    list-style: none;
}

.site-footer__column li {
    margin: 0;
}

.site-footer__column li a {
    color: rgba(255, 255, 255, 0.62);

    font-size: 0.83rem;

    text-decoration: none;

    transition:
        color 0.2s ease,
        padding-left 0.2s ease;
}

.site-footer__column li a:hover {
    padding-left: 4px;

    color: #f4b45d;
}


/* =====================================================
   CONTACT
   ===================================================== */

.site-footer__contact {
    min-width: 0;
}

.site-footer__contact-item {
    margin-bottom: 18px;
}

.site-footer__contact-item:last-child {
    margin-bottom: 0;
}

.site-footer__contact-item > span {
    display: block;

    margin-bottom: 5px;

    color: rgba(255, 255, 255, 0.38);

    font-size: 0.61rem;

    font-weight: 800;

    letter-spacing: 0.07em;

    text-transform: uppercase;
}

.site-footer__contact-item a {
    color: rgba(255, 255, 255, 0.76);

    font-size: 0.82rem;

    text-decoration: none;

    word-break: break-word;

    transition:
        color 0.2s ease;
}

.site-footer__contact-item a:hover {
    color: #f4b45d;
}

.site-footer__contact-item address {
    margin: 0;

    color: rgba(255, 255, 255, 0.62);

    font-size: 0.78rem;

    font-style: normal;

    line-height: 1.6;
}


/* =====================================================
   FOOTER BOTTOM
   ===================================================== */

.site-footer__bottom {
    display: grid;

    grid-template-columns:
        1fr
        auto
        auto;

    align-items: center;

    gap: 25px;

    padding: 25px 0 28px;

    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__copyright p {
    margin: 0;

    color: rgba(255, 255, 255, 0.42);

    font-size: 0.7rem;

    line-height: 1.6;
}


/* =====================================================
   LEGAL LINKS
   ===================================================== */

.site-footer__legal {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 18px;
}

.site-footer__legal a {
    color: rgba(255, 255, 255, 0.48);

    font-size: 0.69rem;

    text-decoration: none;

    transition:
        color 0.2s ease;
}

.site-footer__legal a:hover {
    color: #f4b45d;
}

/* =====================================================
   SOCIAL MEDIA
   ===================================================== */

.site-footer__social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}


.site-footer__instagram,
.site-footer__facebook {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #f4b45d;

    font-size: 0.72rem;
    font-weight: 800;

    text-decoration: none;
    white-space: nowrap;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}


.site-footer__instagram:hover,
.site-footer__facebook:hover {
    color: #ffffff;
    transform: translateY(-1px);
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 1000px) {

    .site-footer__social {
        justify-content: flex-end;
        gap: 20px;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 650px) {

    .site-footer__social {
        display: flex;

        flex-direction: column;

        align-items: flex-start;

        justify-content: flex-start;

        gap: 18px;

        width: fit-content;
    }

    .site-footer__instagram,
    .site-footer__facebook {
        width: fit-content;
    }

}

/* =====================================================
   SHOFT FOOTER — MOBILE REPAIR
   DO NOT AFFECT DESKTOP
   ===================================================== */

@media (max-width: 650px) {

    /* -------------------------------------------------
       MAIN FOOTER
       Force every footer section into one clean column
       ------------------------------------------------- */

    .site-footer__main {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100% !important;

        gap: 40px !important;

        padding: 65px 0 45px !important;
    }


    /* Brand */

    .site-footer__brand {
        grid-column: auto !important;

        width: 100% !important;

        max-width: 100% !important;
    }


    /* Contact */

    .site-footer__contact {
        grid-column: auto !important;

        width: 100% !important;
    }


    /* All footer columns */

    .site-footer__column {
        grid-column: auto !important;

        width: 100% !important;
    }


    /* -------------------------------------------------
       FOOTER BOTTOM
       Stack the three bottom areas vertically
       ------------------------------------------------- */

    .site-footer__bottom {
        display: flex !important;

        flex-direction: column !important;

        align-items: flex-start !important;

        justify-content: flex-start !important;

        width: 100% !important;

        gap: 22px !important;

        padding: 22px 0 28px !important;
    }


    /* Copyright must use the full available width */

    .site-footer__copyright {
        width: 100% !important;

        grid-column: auto !important;
    }


    .site-footer__copyright p {
        width: 100% !important;

        margin: 0 !important;
    }


    /* -------------------------------------------------
       LEGAL LINKS
       ------------------------------------------------- */

    .site-footer__legal {
        display: flex !important;

        flex-direction: row !important;

        flex-wrap: wrap !important;

        align-items: center !important;

        justify-content: flex-start !important;

        gap: 12px 22px !important;

        width: 100% !important;

        grid-column: auto !important;
    }


    /* -------------------------------------------------
       SOCIAL LINKS
       ------------------------------------------------- */

    .site-footer__social {
        display: flex !important;

        flex-direction: column !important;

        align-items: flex-start !important;

        justify-content: flex-start !important;

        gap: 18px !important;

        width: 100% !important;

        grid-column: auto !important;
    }


    .site-footer__instagram,
    .site-footer__facebook {
        width: fit-content !important;

        grid-column: auto !important;

        grid-row: auto !important;
    }

}

/* =====================================================
   ABOUT PAGE
   ===================================================== */

/* =====================================================
   PAGE HERO
   ===================================================== */

.page-hero {
    position: relative;
    min-height: 610px;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            115deg,
            #17245f 0%,
            #293981 62%,
            #34489a 100%
        );

    overflow: hidden;
}


/* Decorative circle */

.page-hero::before {
    content: "";

    position: absolute;

    width: 620px;
    height: 620px;

    right: -240px;
    top: -260px;

    border: 1px solid rgba(244, 180, 93, 0.18);

    border-radius: 50%;

    box-shadow:
        0 0 0 90px rgba(244, 180, 93, 0.025),
        0 0 0 180px rgba(244, 180, 93, 0.018);
}


/* Second decorative circle */

.page-hero::after {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    left: -150px;
    bottom: -180px;

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 50%;
}


/* Hero container */

.page-hero__inner {
    position: relative;

    z-index: 1;

    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1.02fr)
        minmax(390px, 0.98fr);

    gap: 70px;

    align-items: center;

    padding: 72px 0;
}


/* Hero text */

.page-hero__content {
    max-width: 760px;
}


/* Hero heading */

.page-hero__content h1 {
    margin: 0 0 22px;

    color: #ffffff;

    font-family: "Manrope", sans-serif;

    font-size: clamp(
        3rem,
        5.3vw,
        5.1rem
    );

    font-weight: 800;

    line-height: 1;

    letter-spacing: -0.05em;
}


/* Gold heading line */

.page-hero__content h1 span {
    display: block;

    color: #f4b45d;
}


/* Hero paragraph */

.page-hero__content > p {
    max-width: 670px;

    margin: 0;

    color: rgba(
        255,
        255,
        255,
        0.80
    );

    font-size: 1.05rem;

    line-height: 1.8;
}

/* =====================================================
   HERO EYEBROW
   ===================================================== */

.page-hero .section-eyebrow {
    display: inline-block;

    margin-bottom: 18px;

    color: #f4b45d !important;

    font-family: "Manrope", sans-serif;

    font-size: 0.78rem;

    font-weight: 800;

    line-height: 1.2;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    opacity: 1 !important;
}


/* =====================================================
   HERO BUTTONS
   ===================================================== */

.page-hero__actions .btn-light {
    background: #ffffff !important;

    color: #293981 !important;

    border: 2px solid #ffffff !important;

    border-radius: 6px;

    font-weight: 800;

    box-shadow:
        0 8px 22px rgba(0, 0, 0, 0.12);

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


.page-hero__actions .btn-light:hover {
    background: #f4b45d !important;

    color: #17245f !important;

    border-color: #f4b45d !important;

    transform: translateY(-2px);
}


.page-hero__actions .btn-gold {
    background: #f4b45d !important;

    color: #17245f !important;

    border: 2px solid #f4b45d !important;

    border-radius: 6px;

    font-weight: 800;

    box-shadow:
        0 8px 22px rgba(0, 0, 0, 0.15);

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


.page-hero__actions .btn-gold:hover {
    background: #ffffff !important;

    color: #293981 !important;

    border-color: #ffffff !important;

    transform: translateY(-2px);
}

/* Hero buttons */

.page-hero__actions {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 32px;
}


.page-hero__actions .btn {
    min-height: 52px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 14px 23px;

    text-decoration: none;
}


/* =====================================================
   HERO IMAGE
   ===================================================== */

.page-hero__visual {
    position: relative;

    min-width: 0;
}


.page-hero__image {
    position: relative;

    height: 440px;

    border: 6px solid rgba(
        255,
        255,
        255,
        0.92
    );

    border-radius: 18px;

    overflow: hidden;

    background: #101a47;

    box-shadow:
        0 28px 70px rgba(
            0,
            0,
            0,
            0.25
        );
}


/* Image overlay */

.page-hero__image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(
                23,
                36,
                95,
                0.02
            ) 45%,
            rgba(
                23,
                36,
                95,
                0.28
            ) 100%
        );

    pointer-events: none;
}


/* Actual image */

.page-hero__image img {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}


/* =====================================================
   HERO BADGE
   ===================================================== */

.page-hero__badge {
    position: absolute;

    left: -25px;

    bottom: 25px;

    display: flex;

    flex-direction: column;

    gap: 4px;

    min-width: 210px;

    padding: 18px 20px;

    background: #ffffff;

    border-left: 4px solid #f4b45d;

    border-radius: 8px;

    box-shadow:
        0 18px 40px rgba(
            23,
            36,
            95,
            0.25
        );
}


.page-hero__badge strong {
    color: #293981;

    font-family: "Manrope", sans-serif;

    font-size: 1.25rem;

    font-weight: 800;

    letter-spacing: -0.02em;
}


.page-hero__badge span {
    color: #626979;

    font-size: 0.68rem;

    font-weight: 600;

    line-height: 1.5;
}


/* =====================================================
   ABOUT PAGE HERO — TABLET
   ===================================================== */

@media (max-width: 950px) {

    .page-hero__inner {

        grid-template-columns: 1fr;

        gap: 45px;

        padding: 65px 0 75px;
    }


    .page-hero__content {
        max-width: 760px;
    }


    .page-hero__visual {

        max-width: 680px;

        width: 100%;
    }


    .page-hero__badge {

        left: 20px;
    }

}


/* =====================================================
   ABOUT PAGE HERO — MOBILE
   ===================================================== */

@media (max-width: 650px) {

    .page-hero {

        min-height: auto;
    }


    .page-hero__inner {

        gap: 35px;

        padding: 55px 0 65px;
    }


    .page-hero__content h1 {

        font-size: 3rem;
    }


    .page-hero__content > p {

        font-size: 0.94rem;
    }


    .page-hero__actions {

        flex-direction: column;

        align-items: stretch;
    }


    .page-hero__actions .btn {

        width: 100%;
    }


    .page-hero__image {

        height: 360px;

        border-width: 4px;
    }


    .page-hero__badge {

        left: 15px;

        bottom: 18px;

        min-width: 190px;

        padding: 15px 17px;
    }

}

/* =====================================================
   ABOUT INTRO
   ===================================================== */

.about-intro-section {
    padding: 110px 0;

    background: #ffffff;
}

.about-intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(360px, 0.85fr);

    gap: 85px;

    align-items: center;
}

.about-intro__content {
    max-width: 720px;
}

.about-intro__content h2 {
    margin: 0 0 25px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.5rem, 4vw, 4rem);

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -0.045em;
}

.about-intro__content h2 span {
    display: block;

    color: #e89b3c;
}

.about-intro__content p {
    margin: 0 0 17px;

    color: #626979;

    font-size: 0.96rem;

    line-height: 1.8;
}

.about-intro__content p:last-child {
    margin-bottom: 0;
}

.about-intro__lead {
    font-size: 1.08rem !important;

    color: #3f4758 !important;
}


/* Intro visual */

.about-intro__visual {
    position: relative;
}

.about-intro__image {
    height: 520px;

    border-radius: 12px;

    overflow: hidden;

    box-shadow:
        0 25px 60px rgba(23, 36, 95, 0.12);
}

.about-intro__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.about-intro__badge {
    position: absolute;

    right: -25px;
    bottom: 30px;

    display: flex;

    flex-direction: column;

    padding: 22px 25px;

    background: #293981;

    border-radius: 8px;

    box-shadow:
        0 15px 35px rgba(23, 36, 95, 0.2);
}

.about-intro__badge strong {
    color: #f4b45d;

    font-family: "Manrope", sans-serif;

    font-size: 1.35rem;
}

.about-intro__badge span {
    margin-top: 4px;

    color: rgba(255, 255, 255, 0.72);

    font-size: 0.7rem;

    letter-spacing: 0.05em;
}


/* =====================================================
   MISSION & VISION
   ===================================================== */

.mission-vision-section {
    padding: 105px 0;

    background: #f7f8fc;
}

.mission-vision-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 22px;
}

.mission-card,
.vision-card {
    min-height: 430px;

    padding: 50px;

    border-radius: 12px;
}

.mission-card {
    background: #293981;
}

.vision-card {
    background: #f4b45d;
}

.mission-card__label,
.vision-card__label {
    display: block;

    margin-bottom: 35px;

    font-size: 0.68rem;

    font-weight: 800;

    letter-spacing: 0.11em;
}

.mission-card__label {
    color: #f4b45d;
}

.vision-card__label {
    color: #293981;
}

.mission-card h2,
.vision-card h2 {
    margin: 0 0 25px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2rem, 3vw, 3rem);

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -0.04em;
}

.mission-card h2 {
    color: #ffffff;
}

.vision-card h2 {
    color: #17245f;
}

.mission-card h2 span,
.vision-card h2 span {
    display: block;
}

.mission-card h2 span {
    color: #f4b45d;
}

.vision-card h2 span {
    color: #293981;
}

.mission-card p,
.vision-card p {
    margin: 0;

    font-size: 0.94rem;

    line-height: 1.8;
}

.mission-card p {
    color: rgba(255, 255, 255, 0.77);
}

.vision-card p {
    color: rgba(23, 36, 95, 0.72);
}


/* =====================================================
   PRINCIPLES
   ===================================================== */

.about-principles-section {
    padding: 110px 0;

    background: #ffffff;
}

.about-section-heading {
    max-width: 800px;

    margin-bottom: 55px;
}

.about-section-heading h2 {
    margin: 0 0 20px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.5rem, 4vw, 4rem);

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -0.045em;
}

.about-section-heading h2 span {
    display: block;

    color: #e89b3c;
}

.about-section-heading > p {
    max-width: 680px;

    margin: 0;

    color: #626979;

    font-size: 0.96rem;

    line-height: 1.8;
}

.principles-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}

.principle-card {
    min-height: 280px;

    padding: 30px;

    background: #f7f8fc;

    border: 1px solid #e6e8ef;

    border-radius: 10px;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.principle-card:hover {
    transform: translateY(-5px);

    background: #ffffff;

    box-shadow:
        0 18px 40px rgba(23, 36, 95, 0.09);
}

.principle-card__number {
    display: block;

    margin-bottom: 45px;

    color: #e28f35;

    font-size: 0.68rem;

    font-weight: 800;

    letter-spacing: 0.1em;
}

.principle-card h3 {
    margin: 0 0 13px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: 1.25rem;

    font-weight: 800;
}

.principle-card p {
    margin: 0;

    color: #626979;

    font-size: 0.87rem;

    line-height: 1.7;
}


/* =====================================================
   COLLABORATION
   ===================================================== */

.about-collaboration-section {
    padding: 110px 0;

    background: #f7f8fc;
}

.about-collaboration {
    display: grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.1fr);

    gap: 80px;

    align-items: center;
}

.about-collaboration__content h2 {
    margin: 0 0 22px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.5rem, 4vw, 4rem);

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -0.045em;
}

.about-collaboration__content h2 span {
    display: block;

    color: #e89b3c;
}

.about-collaboration__content p {
    margin: 0 0 16px;

    color: #626979;

    font-size: 0.94rem;

    line-height: 1.8;
}

.about-collaboration__content .btn {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-top: 12px;

    min-height: 52px;

    padding: 14px 23px;

    text-decoration: none;
}

.about-collaboration__partners {
    display: flex;

    flex-wrap: wrap;

    gap: 11px;
}

.collaboration-tag {
    padding: 13px 16px;

    background: #ffffff;

    border: 1px solid #e1e4ec;

    border-radius: 5px;

    color: #293981;

    font-size: 0.76rem;

    font-weight: 700;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.collaboration-tag:hover {
    transform: translateY(-2px);

    background: #293981;

    color: #ffffff;
}


/* =====================================================
   CLOSING CTA
   ===================================================== */

.about-closing-section {
    padding: 100px 0;

    background: #17245f;
}

.about-closing {
    max-width: 900px;

    margin: 0 auto;

    text-align: center;
}

.about-closing .section-eyebrow {
    color: #f4b45d;
}

.about-closing h2 {
    margin: 0 0 22px;

    color: #ffffff;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.6rem, 4.5vw, 4.2rem);

    font-weight: 800;

    line-height: 1.04;

    letter-spacing: -0.045em;
}

.about-closing h2 span {
    display: block;

    color: #f4b45d;
}

.about-closing > p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255, 255, 255, 0.75);

    font-size: 0.98rem;

    line-height: 1.8;
}

.about-closing__actions {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 32px;
}

.about-closing__actions .btn {
    min-height: 52px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 14px 23px;

    text-decoration: none;
}


/* =====================================================
   ABOUT PAGE — TABLET
   ===================================================== */

@media (max-width: 950px) {

    .about-intro {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .about-intro__visual {
        max-width: 650px;
    }

    .about-intro__badge {
        right: 20px;
    }

    .principles-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .about-collaboration {
        grid-template-columns: 1fr;

        gap: 50px;
    }

}


/* =====================================================
   ABOUT PAGE — MOBILE
   ===================================================== */

@media (max-width: 650px) {

    .page-hero {
        min-height: 390px;
    }

    .page-hero__content {
        padding: 60px 0;
    }

    .page-hero__content h1 {
        font-size: 3rem;
    }

    .page-hero__content > p {
        font-size: 0.94rem;
    }

    .about-intro-section,
    .about-principles-section,
    .about-collaboration-section {
        padding: 70px 0;
    }

    .about-intro__content h2,
    .about-section-heading h2,
    .about-collaboration__content h2 {
        font-size: 2.5rem;
    }

    .about-intro__image {
        height: 400px;
    }

    .about-intro__badge {
        right: 15px;

        bottom: 20px;

        padding: 18px 20px;
    }

    .mission-vision-section {
        padding: 70px 0;
    }

    .mission-vision-grid {
        grid-template-columns: 1fr;
    }

    .mission-card,
    .vision-card {
        min-height: auto;

        padding: 32px 25px;
    }

    .mission-card h2,
    .vision-card h2 {
        font-size: 2rem;
    }

    .principles-grid {
        grid-template-columns: 1fr;
    }

    .principle-card {
        min-height: auto;

        padding: 26px 22px;
    }

    .principle-card__number {
        margin-bottom: 30px;
    }

    .about-collaboration__partners {
        gap: 8px;
    }

    .collaboration-tag {
        padding: 11px 13px;

        font-size: 0.71rem;
    }

    .about-closing-section {
        padding: 70px 0;
    }

    .about-closing h2 {
        font-size: 2.5rem;
    }

    .about-closing__actions {
        flex-direction: column;

        align-items: stretch;
    }

    .about-closing__actions .btn {
        width: 100%;
    }

}

/* =====================================================
   SHOFT ABOUT HERO — PREMIUM MOBILE REDESIGN
   ===================================================== */

@media (max-width: 650px) {

    /* Main hero */
    .about-page-hero {
        min-height: auto !important;

        display: block;

        padding: 0 !important;

        background:
            radial-gradient(
                circle at 90% 5%,
                rgba(244, 180, 93, 0.10),
                transparent 32%
            ),
            linear-gradient(
                145deg,
                #17245f 0%,
                #243579 55%,
                #293981 100%
            );
    }


    /* Remove oversized decorative circles */
    .about-page-hero::before {
        width: 420px;
        height: 420px;

        right: -270px;
        top: -220px;

        border-color:
            rgba(244, 180, 93, 0.14);

        box-shadow: none;
    }


    .about-page-hero::after {
        width: 180px;
        height: 180px;

        left: -120px;
        bottom: 180px;

        border-color:
            rgba(255, 255, 255, 0.05);
    }


    /* Main hero layout */
    .about-page-hero .page-hero__inner {

        display: flex;

        flex-direction: column;

        gap: 30px;

        width: 100%;

        padding:
            42px 18px
            38px !important;

        box-sizing: border-box;
    }


    /* Text area */
    .about-page-hero .page-hero__content {

        width: 100%;

        max-width: none;

        padding: 0 !important;

        margin: 0;
    }


    /* Eyebrow */
    .about-page-hero .section-eyebrow {

        display: inline-flex;

        align-items: center;

        gap: 10px;

        margin: 0 0 16px;

        color: #f4b45d !important;

        font-size: 0.68rem;

        font-weight: 800;

        letter-spacing: 0.20em;

        line-height: 1.2;
    }


    .about-page-hero .section-eyebrow::before {

        content: "";

        width: 24px;

        height: 2px;

        background: #f4b45d;

        display: block;
    }


    /* Main heading */
    .about-page-hero .page-hero__content h1 {

        margin: 0 0 20px;

        color: #ffffff;

        font-size:
            clamp(
                2.65rem,
                12vw,
                3.65rem
            );

        font-weight: 800;

        line-height: 0.98;

        letter-spacing: -0.055em;
    }


    .about-page-hero .page-hero__content h1 span {

        display: block;

        margin-top: 5px;

        color: #f4b45d;
    }


    /* Description */
    .about-page-hero .page-hero__content > p {

        max-width: none;

        margin: 0;

        color:
            rgba(
                255,
                255,
                255,
                0.76
            );

        font-size: 0.92rem;

        line-height: 1.7;
    }


    /* Buttons */
    .about-page-hero .page-hero__actions {

        display: grid;

        grid-template-columns:
            1fr 1fr;

        gap: 10px;

        width: 100%;

        margin-top: 25px;
    }


    .about-page-hero .page-hero__actions .btn {

        width: 100%;

        min-height: 52px;

        padding:
            13px 10px;

        border-radius: 8px;

        font-size: 0.76rem;

        font-weight: 800;

        white-space: nowrap;

        box-sizing: border-box;
    }


    .about-page-hero .page-hero__actions .btn-light {

        background: #ffffff !important;

        color: #293981 !important;

        border:
            1px solid #ffffff !important;

        box-shadow:
            0 8px 20px
            rgba(0, 0, 0, 0.10);
    }


    .about-page-hero .page-hero__actions .btn-gold {

        background: #f4b45d !important;

        color: #17245f !important;

        border:
            1px solid #f4b45d !important;

        box-shadow:
            0 8px 20px
            rgba(0, 0, 0, 0.10);
    }


    /* Image */
    .about-page-hero .page-hero__visual {

        width: 100%;

        max-width: none;

        margin: 0;

        padding: 0;
    }


    .about-page-hero .page-hero__image {

        width: 100%;

        height: 300px;

        border:
            4px solid
            rgba(
                255,
                255,
                255,
                0.92
            );

        border-radius: 18px;

        overflow: hidden;

        box-shadow:
            0 22px 50px
            rgba(
                0,
                0,
                0,
                0.28
            );
    }


    .about-page-hero .page-hero__image img {

        width: 100%;

        height: 100%;

        object-fit: cover;

        object-position: center;
    }


    /* Image overlay */
    .about-page-hero .page-hero__image::after {

        background:
            linear-gradient(
                180deg,
                transparent 40%,
                rgba(
                    15,
                    24,
                    67,
                    0.45
                ) 100%
            );
    }


    /* SHOFT badge */
    .about-page-hero .page-hero__badge {

        left: 14px;

        bottom: 14px;

        min-width: auto;

        padding:
            12px 15px;

        background:
            rgba(
                255,
                255,
                255,
                0.96
            );

        border-left:
            3px solid #f4b45d;

        border-radius: 7px;

        box-shadow:
            0 12px 28px
            rgba(
                0,
                0,
                0,
                0.20
            );

        backdrop-filter:
            blur(8px);
    }


    .about-page-hero .page-hero__badge strong {

        font-size: 1rem;

        color: #293981;
    }


    .about-page-hero .page-hero__badge span {

        font-size: 0.60rem;

        color: #626979;

        line-height: 1.35;
    }

}


/* =====================================================
   SMALL PHONES
   ===================================================== */

@media (max-width: 390px) {

    .about-page-hero .page-hero__inner {

        padding:
            36px 15px
            32px !important;

        gap: 26px;
    }


    .about-page-hero .page-hero__content h1 {

        font-size: 2.45rem;
    }


    .about-page-hero .page-hero__content > p {

        font-size: 0.88rem;

        line-height: 1.65;
    }


    .about-page-hero .page-hero__actions {

        gap: 8px;

        margin-top: 22px;
    }


    .about-page-hero .page-hero__actions .btn {

        min-height: 49px;

        padding:
            11px 7px;

        font-size: 0.70rem;
    }


    .about-page-hero .page-hero__image {

        height: 270px;

        border-radius: 15px;
    }

}

/* =====================================================
   PROJECTS PAGE
   ===================================================== */

.projects-page-section {
    padding: 110px 0;
    background: #ffffff;
}

.projects-page-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.project-detail-card {
    display: grid;
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    background: #f7f8fc;
    border: 1px solid #e5e7ee;
    border-radius: 14px;
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.project-detail-card:hover {
    transform: translateY(-4px);
    box-shadow:
        0 22px 50px rgba(23, 36, 95, 0.10);
}

.project-detail-card__image {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    background: #17245f;
}

.project-detail-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(23, 36, 95, 0.38) 100%
        );
    pointer-events: none;
}

.project-detail-card__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.project-detail-card:hover
.project-detail-card__image img {
    transform: scale(1.035);
}

.project-detail-card__number {
    position: absolute;
    left: 25px;
    bottom: 23px;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    background: #f4b45d;
    color: #17245f;

    border-radius: 50%;

    font-family: "Manrope", sans-serif;
    font-size: 0.78rem;
    font-weight: 800;
}

.project-detail-card__content {
    padding: 45px 50px;
}

.project-detail-card__category {
    display: inline-block;
    margin-bottom: 16px;

    color: #e28f35;

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.5;
}

.project-detail-card__content h3 {
    margin: 0 0 20px;

    color: #17245f;

    font-family: "Manrope", sans-serif;
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.project-detail-card__content p {
    margin: 0 0 16px;

    color: #626979;

    font-size: 0.9rem;
    line-height: 1.8;
}

.project-detail-card__content p:last-of-type {
    margin-bottom: 0;
}

.project-detail-card__tagline {
    color: #293981 !important;
    font-weight: 700;
}

.project-detail-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: 24px;

    color: #293981;

    font-size: 0.8rem;
    font-weight: 800;

    text-decoration: none;

    transition:
        color 0.2s ease,
        gap 0.2s ease;
}

.project-detail-card__link:hover {
    color: #e28f35;
    gap: 12px;
}


/* =====================================================
   PROJECT FEATURE TAGS
   ===================================================== */

.project-detail-card__features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 22px;
}

.project-detail-card__features span {
    padding: 8px 11px;

    background: #ffffff;
    border: 1px solid #e1e4ec;
    border-radius: 4px;

    color: #293981;

    font-size: 0.68rem;
    font-weight: 700;
}


/* =====================================================
   PROJECT LISTS
   ===================================================== */

.project-detail-card__content h4 {
    margin: 28px 0 12px;

    color: #17245f;

    font-family: "Manrope", sans-serif;
    font-size: 0.9rem;
    font-weight: 800;
}

.project-detail-card__list {
    margin: 0;
    padding: 0;

    list-style: none;
}

.project-detail-card__list li {
    position: relative;

    margin-bottom: 9px;
    padding-left: 19px;

    color: #626979;

    font-size: 0.82rem;
    line-height: 1.6;
}

.project-detail-card__list li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0.62em;

    width: 6px;
    height: 6px;

    background: #f4b45d;
    border-radius: 50%;
}


/* =====================================================
   PROJECT PARTNERS
   ===================================================== */

.project-detail-card__partners {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.project-detail-card__partners span {
    padding: 8px 10px;

    background: #ffffff;
    border: 1px solid #e1e4ec;
    border-radius: 4px;

    color: #293981;

    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1.4;
}


/* =====================================================
   PROJECTS — TABLET
   ===================================================== */

@media (max-width: 850px) {

    .project-detail-card {
        grid-template-columns: 1fr;
    }

    .project-detail-card__image {
        min-height: 380px;
    }

    .project-detail-card__content {
        padding: 38px 35px;
    }

}


/* =====================================================
   PROJECTS — MOBILE
   ===================================================== */

@media (max-width: 650px) {

    .projects-page-section {
        padding: 70px 0;
    }

    .project-detail-card {
        border-radius: 12px;
    }

    .project-detail-card__image {
        min-height: 290px;
    }

    .project-detail-card__number {
        left: 18px;
        bottom: 18px;

        width: 42px;
        height: 42px;

        font-size: 0.7rem;
    }

    .project-detail-card__content {
        padding: 30px 22px;
    }

    .project-detail-card__category {
        font-size: 0.58rem;
    }

    .project-detail-card__content h3 {
        font-size: 2rem;
    }

    .project-detail-card__content p {
        font-size: 0.86rem;
        line-height: 1.75;
    }

    .project-detail-card__features {
        gap: 6px;
    }

    .project-detail-card__features span,
    .project-detail-card__partners span {
        font-size: 0.62rem;
    }

}

/* =====================================================
   IMPACT PAGE
   ===================================================== */

.impact-indicators-section {
    padding: 110px 0;
    background: #ffffff;
}

.impact-indicators-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.impact-indicator {
    position: relative;
    min-height: 285px;
    padding: 32px;
    background: #f7f8fc;
    border: 1px solid #e5e7ee;
    border-radius: 10px;
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.impact-indicator::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background:
        linear-gradient(
            90deg,
            #293981,
            #f4b45d
        );
}

.impact-indicator:hover {
    transform: translateY(-5px);
    background: #ffffff;
    box-shadow:
        0 18px 40px rgba(
            23,
            36,
            95,
            0.09
        );
}

.impact-number {
    display: block;
    margin-bottom: 25px;
    color: #293981;
    font-family: "Manrope", sans-serif;
    font-size: clamp(2.6rem, 4vw, 4rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.05em;
}

.impact-indicator h3 {
    margin: 0 0 12px;
    color: #17245f;
    font-family: "Manrope", sans-serif;
    font-size: 1.15rem;
    font-weight: 800;
}

.impact-indicator p {
    margin: 0;
    color: #626979;
    font-size: 0.82rem;
    line-height: 1.7;
}


/* =====================================================
   IMPACT PAGE — TABLET
   ===================================================== */

@media (max-width: 850px) {

    .impact-indicators-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =====================================================
   IMPACT PAGE — MOBILE
   ===================================================== */

@media (max-width: 650px) {

    .impact-indicators-section {
        padding: 70px 0;
    }

    .impact-indicators-grid {
        grid-template-columns: 1fr;
    }

    .impact-indicator {
        min-height: auto;
        padding: 28px 23px;
    }

    .impact-number {
        font-size: 3rem;
    }

}

/* =====================================================
   NEWS & STORIES PAGE
   ===================================================== */


/* =====================================================
   ANNOUNCEMENTS
   ===================================================== */

.announcements-section {
    padding: 110px 0;
    background: #f7f8fc;
}

.announcements-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, 0.55fr);
    gap: 22px;
    align-items: stretch;
}

.announcement-card {
    position: relative;
    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #e4e7ee;

    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 12px 35px
        rgba(23, 36, 95, 0.06);
}

.announcement-card--featured {
    display: grid;
    grid-template-columns:
        minmax(300px, 0.85fr)
        minmax(0, 1.15fr);
}

.announcement-card__visual {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    background: #17245f;
}

.announcement-card__visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.announcement-card__visual::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(23, 36, 95, 0.45) 100%
        );
}

.announcement-card__status {
    position: absolute;

    left: 22px;
    bottom: 22px;

    z-index: 2;

    padding: 9px 12px;

    background: #f4b45d;

    color: #17245f;

    border-radius: 4px;

    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.10em;
}

.announcement-card__content {
    padding: 38px 40px;
}

.announcement-card__type {
    display: inline-block;

    margin-bottom: 14px;

    color: #e28f35;

    font-size: 0.63rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.announcement-card__content h3 {
    margin: 0 0 18px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: clamp(
        1.7rem,
        2.7vw,
        2.55rem
    );

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -0.04em;
}

.announcement-card__tagline {
    color: #293981 !important;

    font-weight: 700 !important;
}

.announcement-card__content p {
    margin: 0 0 16px;

    color: #626979;

    font-size: 0.86rem;

    line-height: 1.8;
}

.announcement-card__details {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin: 25px 0;
}

.announcement-card__details div {
    padding: 14px;

    background: #f7f8fc;

    border-radius: 6px;
}

.announcement-card__details strong {
    display: block;

    margin-bottom: 5px;

    color: #293981;

    font-size: 0.63rem;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.08em;
}

.announcement-card__details span {
    color: #626979;

    font-size: 0.72rem;

    line-height: 1.45;
}

.announcement-card__content .btn {
    margin-top: 12px;
}


/* =====================================================
   ANNOUNCEMENT MINI LIST
   ===================================================== */

.announcement-card__mini-list {
    display: flex;
    flex-direction: column;

    gap: 8px;

    margin: 25px 0;
}

.announcement-card__mini-list span {
    position: relative;

    padding-left: 17px;

    color: #626979;

    font-size: 0.76rem;

    line-height: 1.5;
}

.announcement-card__mini-list span::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0.55em;

    width: 6px;
    height: 6px;

    background: #f4b45d;

    border-radius: 50%;
}

.announcement-card__link {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: #293981;

    font-size: 0.76rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        color 0.2s ease,
        gap 0.2s ease;
}

.announcement-card__link:hover {
    color: #e28f35;

    gap: 12px;
}


/* =====================================================
   FEATURED STORY
   ===================================================== */

.featured-story-section {
    padding: 110px 0;

    background: #ffffff;
}

.featured-story {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 70px;

    align-items: center;
}

.featured-story__image {
    height: 510px;

    overflow: hidden;

    border-radius: 14px;

    box-shadow:
        0 25px 60px
        rgba(23, 36, 95, 0.12);
}

.featured-story__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.featured-story__content {
    max-width: 620px;
}

.featured-story__content h2 {
    margin: 0 0 24px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: clamp(
        2.4rem,
        4vw,
        4rem
    );

    font-weight: 800;

    line-height: 1.02;

    letter-spacing: -0.05em;
}

.featured-story__content h2 span {
    display: block;

    color: #f4b45d;
}

.featured-story__content p {
    margin: 0 0 16px;

    color: #626979;

    font-size: 0.92rem;

    line-height: 1.8;
}

.featured-story__content .btn {
    margin-top: 15px;
}


/* =====================================================
   STORIES GRID
   ===================================================== */

.stories-section {
    padding: 110px 0;

    background: #f7f8fc;
}

.stories-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 22px;
}

.story-card {
    display: flex;

    flex-direction: column;

    background: #ffffff;

    border:
        1px solid #e4e7ee;

    border-radius: 12px;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.story-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 45px
        rgba(23, 36, 95, 0.10);
}

.story-card__image {
    position: relative;

    height: 250px;

    overflow: hidden;

    background: #17245f;
}

.story-card__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.5s ease;
}

.story-card:hover
.story-card__image img {
    transform: scale(1.04);
}

.story-card__label {
    position: absolute;

    left: 17px;
    bottom: 17px;

    padding: 7px 10px;

    background: #f4b45d;

    color: #17245f;

    border-radius: 4px;

    font-size: 0.58rem;

    font-weight: 800;

    letter-spacing: 0.08em;
}

.story-card__content {
    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 28px 26px 30px;
}

.story-card__category {
    margin-bottom: 12px;

    color: #e28f35;

    font-size: 0.59rem;

    font-weight: 800;

    letter-spacing: 0.10em;

    line-height: 1.5;
}

.story-card__content h3 {
    margin: 0 0 15px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: 1.35rem;

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -0.03em;
}

.story-card__content p {
    margin: 0;

    color: #626979;

    font-size: 0.79rem;

    line-height: 1.75;
}

.story-card__link {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: auto;

    padding-top: 22px;

    color: #293981;

    font-size: 0.72rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        color 0.2s ease,
        gap 0.2s ease;
}

.story-card__link:hover {
    color: #e28f35;

    gap: 12px;
}


/* =====================================================
   STORY HIGHLIGHTS
   ===================================================== */

.story-highlights-section {
    padding: 110px 0;

    background: #ffffff;
}

.story-highlights {
    display: grid;

    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);

    gap: 70px;

    align-items: center;
}

.story-highlights__content {
    max-width: 570px;
}

.story-highlights__content h2 {
    margin: 0 0 23px;

    color: #17245f;

    font-family: "Manrope", sans-serif;

    font-size: clamp(
        2.4rem,
        4vw,
        3.8rem
    );

    font-weight: 800;

    line-height: 1.03;

    letter-spacing: -0.05em;
}

.story-highlights__content h2 span {
    display: block;

    color: #f4b45d;
}

.story-highlights__content p {
    margin: 0 0 16px;

    color: #626979;

    font-size: 0.91rem;

    line-height: 1.8;
}

.story-highlights__content .btn {
    margin-top: 14px;
}

.story-highlights__gallery {
    display: grid;

    grid-template-columns:
        1.3fr
        0.7fr;

    gap: 15px;

    height: 500px;
}

.story-gallery-image {
    overflow: hidden;

    border-radius: 12px;
}

.story-gallery-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.story-gallery-image--large {
    min-height: 500px;
}


/* =====================================================
   NEWS PAGE — TABLET
   ===================================================== */

@media (max-width: 950px) {

    .announcements-grid {
        grid-template-columns: 1fr;
    }

    .announcement-card--featured {
        grid-template-columns:
            1fr 1fr;
    }

    .featured-story {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .featured-story__image {
        max-width: 700px;

        height: 450px;
    }

    .stories-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .story-highlights {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .story-highlights__content {
        max-width: 700px;
    }

}


/* =====================================================
   NEWS PAGE — MOBILE
   ===================================================== */

@media (max-width: 650px) {

    .announcements-section,
    .featured-story-section,
    .stories-section,
    .story-highlights-section {
        padding: 70px 0;
    }


    .announcement-card--featured {
        display: flex;

        flex-direction: column;
    }


    .announcement-card__visual {
        min-height: 300px;
    }


    .announcement-card__content {
        padding: 28px 22px;
    }


    .announcement-card__content h3 {
        font-size: 1.9rem;
    }


    .announcement-card__details {
        grid-template-columns: 1fr;
    }


    .featured-story {
        gap: 30px;
    }


    .featured-story__image {
        height: 330px;
    }


    .featured-story__content h2,
    .story-highlights__content h2 {
        font-size: 2.5rem;
    }


    .stories-grid {
        grid-template-columns: 1fr;
    }


    .story-card__image {
        height: 250px;
    }


    .story-highlights__gallery {
        grid-template-columns: 1fr;

        height: auto;
    }


    .story-gallery-image,
    .story-gallery-image--large {
        height: 280px;

        min-height: 280px;
    }

}


/* =====================================================
   SMALL PHONES
   ===================================================== */

@media (max-width: 390px) {

    .announcement-card__content h3 {
        font-size: 1.7rem;
    }


    .featured-story__content h2,
    .story-highlights__content h2 {
        font-size: 2.25rem;
    }


    .story-card__content {
        padding:
            25px 20px 27px;
    }

}

/* =========================================
   GYTIS 2026 - UPCOMING EVENT
   ========================================= */

.upcoming-event {
    padding: 100px 0;
    background: #f7f9fc;
}

.upcoming-event .section-heading {
    max-width: 800px;
    margin: 0 auto 55px;
    text-align: center;
}

.upcoming-event .eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #f5a623;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.upcoming-event .section-heading h2 {
    margin: 0 0 18px;
    color: #101d4f;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.1;
}

.upcoming-event .section-heading p {
    margin: 0;
    color: #5d6780;
    font-size: 1.08rem;
    line-height: 1.7;
}

.event-card {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    max-width: 1180px;
    margin: 0 auto;
    overflow: hidden;
    background: #ffffff;
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(16, 29, 79, 0.13);
}

.event-image {
    position: relative;
    min-height: 100%;
    background: #101d4f;
}

.event-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 650px;
    object-fit: cover;
}

.event-badge {
    position: absolute;
    left: 24px;
    bottom: 24px;
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    color: #101d4f;
    background: #f5b544;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.7px;
}

.event-content {
    padding: 55px 50px;
}

.event-date-location {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 38px;
}

.event-info-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 18px;
    background: #f5f7fb;
    border-radius: 15px;
}

.event-icon {
    font-size: 1.3rem;
}

.event-info-item small {
    display: block;
    margin-bottom: 5px;
    color: #f0a51c;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 1px;
}

.event-info-item strong {
    display: block;
    color: #101d4f;
    font-size: 0.9rem;
    line-height: 1.4;
}

.event-content > h3 {
    margin: 0 0 15px;
    color: #101d4f;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1.15;
}

.event-intro {
    margin-bottom: 35px;
    color: #5d6780;
    font-size: 1rem;
    line-height: 1.7;
}

.event-section {
    margin-bottom: 30px;
}

.event-section h4 {
    display: inline-block;
    margin: 0 0 14px;
    padding: 7px 12px;
    color: #ffffff;
    background: #101d4f;
    border-radius: 5px;
    font-size: 0.9rem;
}

.event-section ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.event-section li {
    position: relative;
    margin-bottom: 9px;
    padding-left: 22px;
    color: #343d55;
    line-height: 1.5;
}

.event-section li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 7px;
    height: 7px;
    background: #f5a623;
    border-radius: 50%;
}

.event-section p {
    margin: 15px 0 0;
    color: #343d55;
    font-weight: 600;
    line-height: 1.6;
}

.special-guest {
    margin: 35px 0;
    padding: 25px;
    background: linear-gradient(
        135deg,
        #101d4f 0%,
        #172d70 100%
    );
    border-radius: 18px;
    color: #ffffff;
}

.guest-label {
    display: block;
    margin-bottom: 8px;
    color: #f5b544;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.special-guest h4 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 1.35rem;
}

.special-guest p {
    margin: 0;
    color: rgba(255,255,255,0.82);
    font-size: 0.9rem;
    line-height: 1.6;
}

.event-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    padding-top: 25px;
    border-top: 1px solid #e5e8ef;
}

.event-contact strong {
    width: 100%;
    color: #101d4f;
    font-size: 0.85rem;
}

.event-contact a {
    color: #101d4f;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

.event-contact a:hover {
    color: #f0a51c;
}

.event-contact span {
    color: #f0a51c;
    font-size: 0.88rem;
    font-weight: 800;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 850px) {

    .upcoming-event {
        padding: 70px 0;
    }

    .event-card {
        grid-template-columns: 1fr;
        border-radius: 20px;
    }

    .event-image img {
        min-height: 450px;
        max-height: 650px;
    }

    .event-content {
        padding: 35px 25px;
    }

    .event-date-location {
        grid-template-columns: 1fr;
    }

    .event-badge {
        left: 16px;
        bottom: 16px;
        font-size: 0.7rem;
    }
}

@media (max-width: 480px) {

    .upcoming-event {
        padding: 55px 0;
    }

    .event-image img {
        min-height: 400px;
    }

    .event-content {
        padding: 30px 18px;
    }

    .event-content > h3 {
        font-size: 1.7rem;
    }

    .event-info-item {
        padding: 15px;
    }

    .special-guest {
        padding: 20px;
    }
}

/* =========================================================
   DONATION DETAILS
   ========================================================= */

.donation-details {
    width: 100%;
    max-width: 760px;
    margin: 35px auto 20px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 18px;
    overflow: hidden;
    text-align: left;
}

.donation-detail {
    display: grid;
    grid-template-columns: 170px 1fr auto;
    align-items: center;
    gap: 20px;
    padding: 18px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.donation-detail:last-child {
    border-bottom: none;
}

.donation-detail span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.donation-detail strong {
    color: #ffffff;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
}

.copy-button {
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: transparent;
    color: #ffffff;
    border-radius: 7px;
    padding: 7px 13px;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.copy-button:hover {
    background: #f2aa3e;
    border-color: #f2aa3e;
    color: #293981;
}

.donation-note {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9rem;
    margin: 20px auto;
}

.copy-message {
    min-height: 24px;
    color: #f2aa3e;
    font-size: 0.85rem;
    font-weight: 700;
}


/* =========================================================
   DONATION PAGE MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .donation-details {
        margin-top: 28px;
        border-radius: 15px;
    }

    .donation-detail {
        grid-template-columns: 1fr auto;
        gap: 7px 14px;
        padding: 16px;
    }

    .donation-detail span {
        grid-column: 1 / -1;
    }

    .donation-detail strong {
        font-size: 0.98rem;
    }

    .copy-button {
        grid-column: 2;
        grid-row: 2;
    }

}

/* =========================================================
   DONATION PAGE — BANK DETAILS TEXT & BUTTON FIX
   ========================================================= */

/* Make SHOFT clearly visible in the bank-transfer note */
.donation-bank-section .donation-note,
.donation-bank-section .donation-note strong {
    color: #ffffff;
}


/* Make the Contact SHOFT button clearly visible */
.donation-bank-section .about-closing__actions .btn-light {
    background: #ffffff;
    color: #293981;
    border-color: #ffffff;
}

.donation-bank-section .about-closing__actions .btn-light:hover {
    background: #f2aa3e;
    color: #293981;
    border-color: #f2aa3e;
}


/* Keep the arrow visible too */
.donation-bank-section .about-closing__actions .btn-light span {
    color: inherit;
}

/* =====================================================
   GYTIS 2026 — SCROLLING ANNOUNCEMENT BAR
   ===================================================== */

.top-bar {
    position: relative;
    width: 100%;
    height: 42px;
    overflow: hidden;
    background: #0d1040;
    color: #ffffff;
    display: flex;
    align-items: center;
    z-index: 1000;
}


/* =====================================================
   SCROLLING TRACK
   ===================================================== */

.top-bar__track {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
}


/* =====================================================
   MOVING ANNOUNCEMENT
   ===================================================== */

.top-bar__scroll {
    display: inline-flex;
    width: max-content;
    align-items: center;

    animation:
        shoftAnnouncementScroll
        34s
        linear
        infinite;

    will-change: transform;
}


/* =====================================================
   ANNOUNCEMENT TEXT
   ===================================================== */

.top-bar__scroll span {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;

    padding-right: 90px;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
}


/* =====================================================
   GYTIS HIGHLIGHT
   ===================================================== */

.top-bar__scroll span::first-letter {
    color: #f6ad3b;
}


/* =====================================================
   CONTINUOUS SCROLL ANIMATION
   ===================================================== */

@keyframes shoftAnnouncementScroll {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-33.333333%);
    }

}


/* =====================================================
   PAUSE ON DESKTOP HOVER
   ===================================================== */

.top-bar:hover .top-bar__scroll {
    animation-play-state: paused;
}


/* =====================================================
   MOBILE DEVICES
   ===================================================== */

@media (max-width: 768px) {

    .top-bar {
        height: 44px;
    }


    .top-bar__scroll {
        animation-duration: 30s;
    }


    .top-bar__scroll span {
        padding-right: 70px;

        font-size: 12px;
        font-weight: 600;
    }

}


/* =====================================================
   SMALL MOBILE DEVICES
   ===================================================== */

@media (max-width: 480px) {

    .top-bar {
        height: 44px;
    }


    .top-bar__scroll {
        animation-duration: 28s;
    }


    .top-bar__scroll span {
        padding-right: 60px;

        font-size: 11.5px;
    }

}


/* =====================================================
   ACCESSIBILITY — REDUCED MOTION
   ===================================================== */

@media (prefers-reduced-motion: reduce) {

    .top-bar__scroll {
        animation: none;
        transform: none;
    }


    .top-bar__scroll span:not(:first-child) {
        display: none;
    }

}

/* =========================================================
   SHOFT — INNER PAGE HERO
   FINAL DESKTOP MASTER FIX
   ---------------------------------------------------------
   Desktop / laptop only.
   Homepage hero is NOT affected.
   Existing mobile/tablet styling is NOT affected.
   ========================================================= */

@media screen and (min-width: 951px) {

    /* ================================
       HERO WRAPPER
       ================================ */

    .page-hero {
        position: relative !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;

        display: flex !important;
        align-items: center !important;

        overflow: hidden !important;

        background:
            linear-gradient(
                115deg,
                #17245f 0%,
                #293981 58%,
                #34489a 100%
            ) !important;
    }


    /* ================================
       MAIN HERO CONTAINER
       ================================ */

    .page-hero .page-hero__inner {
        position: relative !important;
        z-index: 2 !important;

        width: min(100% - 80px, 1240px) !important;

        margin: 0 auto !important;

        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(430px, 0.9fr) !important;

        align-items: center !important;

        column-gap: 70px !important;

        padding: 70px 0 !important;

        box-sizing: border-box !important;
    }


    /* ================================
       LEFT CONTENT
       ================================ */

    .page-hero .page-hero__content {
        width: 100% !important;
        max-width: 650px !important;

        margin: 0 !important;
        padding: 0 !important;

        align-self: center !important;
    }


    /* EYEBROW */

    .page-hero .page-hero__content .section-eyebrow {
        display: inline-flex !important;
        align-items: center !important;

        margin: 0 0 20px !important;

        font-family: "Inter", sans-serif !important;

        font-size: 0.76rem !important;
        font-weight: 800 !important;

        line-height: 1.2 !important;

        letter-spacing: 0.17em !important;

        text-transform: uppercase !important;

        color: #f4b45d !important;
    }


    /* ================================
       MAIN HEADING
       ================================ */

    .page-hero .page-hero__content h1 {
        width: 100% !important;
        max-width: 650px !important;

        margin: 0 0 24px !important;
        padding: 0 !important;

        font-family: "Manrope", sans-serif !important;

        font-size: clamp(
            3.25rem,
            4.4vw,
            4.55rem
        ) !important;

        font-weight: 800 !important;

        line-height: 1.01 !important;

        letter-spacing: -0.055em !important;

        color: #ffffff !important;
    }


    /* GOLD HEADING LINE */

    .page-hero .page-hero__content h1 span {
        display: block !important;

        margin: 0 !important;

        color: #f4b45d !important;
    }


    /* ================================
       DESCRIPTION
       ================================ */

    .page-hero .page-hero__content > p {
        width: 100% !important;
        max-width: 610px !important;

        margin: 0 !important;
        padding: 0 !important;

        font-family: "Inter", sans-serif !important;

        font-size: 1rem !important;

        font-weight: 400 !important;

        line-height: 1.75 !important;

        color: rgba(255,255,255,0.84) !important;
    }


    /* ================================
       BUTTON ROW
       ================================ */

    .page-hero .page-hero__actions {
        display: flex !important;

        flex-direction: row !important;

        align-items: center !important;
        justify-content: flex-start !important;

        flex-wrap: wrap !important;

        gap: 14px !important;

        width: 100% !important;

        margin: 30px 0 0 !important;
        padding: 0 !important;
    }


    /* ALL HERO BUTTONS */

    .page-hero .page-hero__actions .btn {
        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 auto !important;

        width: auto !important;

        min-width: 150px !important;

        min-height: 52px !important;

        padding: 14px 22px !important;

        border: 2px solid transparent !important;

        border-radius: 8px !important;

        font-family: "Manrope", sans-serif !important;

        font-size: 0.84rem !important;

        font-weight: 800 !important;

        line-height: 1.2 !important;

        white-space: nowrap !important;

        opacity: 1 !important;

        visibility: visible !important;

        box-sizing: border-box !important;
    }


    /* ================================
       WHITE BUTTON
       ================================ */

    .page-hero .page-hero__actions .btn-light,
    .page-hero .page-hero__actions .btn-primary {
        background: #ffffff !important;

        color: #293981 !important;

        border-color: #ffffff !important;

        box-shadow:
            0 10px 25px rgba(0,0,0,0.14) !important;
    }


    .page-hero .page-hero__actions .btn-light:hover,
    .page-hero .page-hero__actions .btn-primary:hover {
        background: #f4b45d !important;

        color: #17245f !important;

        border-color: #f4b45d !important;

        transform: translateY(-2px) !important;
    }


    /* ================================
       GOLD BUTTON
       ================================ */

    .page-hero .page-hero__actions .btn-gold {
        background: #f4b45d !important;

        color: #17245f !important;

        border-color: #f4b45d !important;

        box-shadow:
            0 10px 25px rgba(0,0,0,0.14) !important;
    }


    .page-hero .page-hero__actions .btn-gold:hover {
        background: #ffffff !important;

        color: #293981 !important;

        border-color: #ffffff !important;

        transform: translateY(-2px) !important;
    }


    /* KEEP ARROWS / SPANS VISIBLE */

    .page-hero .page-hero__actions .btn span {
        color: inherit !important;

        opacity: 1 !important;

        visibility: visible !important;
    }


    /* ================================
       RIGHT IMAGE COLUMN
       ================================ */

    .page-hero .page-hero__visual {
        position: relative !important;

        width: 100% !important;

        max-width: 560px !important;

        min-width: 0 !important;

        margin: 0 0 0 auto !important;
        padding: 0 !important;

        align-self: center !important;
    }


    /* ================================
       IMAGE FRAME
       ================================ */

    .page-hero .page-hero__image {
        position: relative !important;

        width: 100% !important;

        height: 430px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        background: #101a47 !important;

        border:
            5px solid
            rgba(255,255,255,0.94) !important;

        border-radius: 18px !important;

        box-shadow:
            0 28px 65px rgba(0,0,0,0.25) !important;

        box-sizing: border-box !important;
    }


    /* IMAGE */

    .page-hero .page-hero__image img {
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        max-width: none !important;

        object-fit: cover !important;

        object-position: center center !important;
    }


    /* ================================
       IMAGE OVERLAY
       ================================ */

    .page-hero .page-hero__image::after {
        content: "" !important;

        position: absolute !important;

        inset: 0 !important;

        background:
            linear-gradient(
                180deg,
                rgba(23,36,95,0.02) 40%,
                rgba(23,36,95,0.30) 100%
            ) !important;

        pointer-events: none !important;
    }


    /* ================================
       FLOATING SHOFT CARD
       ================================ */

    .page-hero .page-hero__badge {
        position: absolute !important;

        left: -24px !important;
        bottom: 24px !important;

        z-index: 10 !important;

        display: flex !important;

        flex-direction: column !important;

        gap: 4px !important;

        min-width: 205px !important;

        padding: 17px 20px !important;

        background: #ffffff !important;

        border:
            0 !important;

        border-left:
            4px solid #f4b45d !important;

        border-radius: 9px !important;

        box-shadow:
            0 18px 42px rgba(23,36,95,0.24) !important;
    }


    .page-hero .page-hero__badge strong {
        margin: 0 !important;

        font-family: "Manrope", sans-serif !important;

        font-size: 1.08rem !important;

        font-weight: 800 !important;

        line-height: 1.2 !important;

        color: #293981 !important;
    }


    .page-hero .page-hero__badge span {
        margin: 0 !important;

        font-family: "Inter", sans-serif !important;

        font-size: 0.67rem !important;

        font-weight: 600 !important;

        line-height: 1.45 !important;

        color: #626979 !important;
    }
}


/* =========================================================
   LAPTOPS — 951px TO 1200px
   ========================================================= */

@media screen and (min-width: 951px) and (max-width: 1200px) {

    .page-hero .page-hero__inner {
        width: min(100% - 50px, 1100px) !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(390px, 0.9fr) !important;

        column-gap: 45px !important;

        padding: 60px 0 !important;
    }


    .page-hero .page-hero__content h1 {
        font-size: clamp(
            3rem,
            4.6vw,
            3.9rem
        ) !important;
    }


    .page-hero .page-hero__content > p {
        font-size: 0.94rem !important;
    }


    .page-hero .page-hero__image {
        height: 365px !important;
    }


    .page-hero .page-hero__actions .btn {
        min-width: 140px !important;

        padding:
            13px 18px !important;
    }
}


/* =========================================================
   LARGE DESKTOP — 1400px+
   ========================================================= */

@media screen and (min-width: 1400px) {

    .page-hero .page-hero__inner {
        width: min(100% - 100px, 1280px) !important;

        grid-template-columns:
            minmax(0, 1fr)
            560px !important;

        column-gap: 85px !important;

        padding: 78px 0 !important;
    }


    .page-hero .page-hero__content h1 {
        font-size: 4.65rem !important;
    }


    .page-hero .page-hero__image {
        height: 455px !important;
    }
}

/* =========================================================
   ABOUT PAGE — CLOSING CTA VISIBILITY FIX
   Same approach as the successful Donation Page fix
   ========================================================= */


/* Make the closing CTA text clearly visible */
.about-closing-section .about-closing,
.about-closing-section .about-closing h2,
.about-closing-section .about-closing p,
.about-closing-section .about-closing .section-eyebrow {
    opacity: 1;
    visibility: visible;
}


/* Main heading */
.about-closing-section .about-closing h2 {
    color: #ffffff;
}


/* Gold heading text */
.about-closing-section .about-closing h2 span {
    color: #f4b45d;
}


/* Description */
.about-closing-section .about-closing > p {
    color: rgba(255, 255, 255, 0.75);
}


/* =========================================================
   CLOSING CTA BUTTONS
   ========================================================= */

.about-closing-section .about-closing__actions .btn {
    opacity: 1;
    visibility: visible;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 52px;

    padding: 14px 23px;

    text-decoration: none;
}


/* White — Get Support */
.about-closing-section .about-closing__actions .btn-light {
    background: #ffffff !important;

    color: #293981 !important;

    border: 2px solid #ffffff !important;
}


/* Gold — Volunteer */
.about-closing-section .about-closing__actions .btn-gold {
    background: #f4b45d !important;

    color: #293981 !important;

    border: 2px solid #f4b45d !important;
}


/* Keep arrows visible */
.about-closing-section .about-closing__actions .btn span {
    color: inherit !important;

    opacity: 1 !important;

    visibility: visible !important;
}


/* =========================================================
   HOVER
   ========================================================= */

.about-closing-section .about-closing__actions .btn-light:hover {
    background: #f2aa3e !important;

    color: #293981 !important;

    border-color: #f2aa3e !important;
}


.about-closing-section .about-closing__actions .btn-gold:hover {
    background: #ffffff !important;

    color: #293981 !important;

    border-color: #ffffff !important;
}

/* =========================================================
   TESTIMONIALS — THE INSIDE VIEW
   ========================================================= */

.testimonials-section {
    position: relative;

    padding: 110px 0 115px;

    background: #f7f8fc;

    overflow: hidden;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.testimonials-section__heading {
    max-width: 760px;

    margin: 0 auto 55px;

    text-align: center;
}

.testimonials-section__heading h2 {
    margin: 12px 0 18px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2rem, 4vw, 3.2rem);

    line-height: 1.08;

    color: #293981;
}

.testimonials-section__heading h2 span {
    color: #f4a340;
}

.testimonials-section__heading p {
    max-width: 650px;

    margin: 0 auto;

    font-size: 1rem;

    line-height: 1.7;

    color: #697083;
}


/* =========================================================
   SLIDER
   ========================================================= */

.testimonials-slider {
    position: relative;

    max-width: 1050px;

    margin: 0 auto;

    overflow: hidden;
}

.testimonials-track {
    display: flex;

    transition: transform 0.55s ease;
}


/* =========================================================
   TESTIMONIAL CARD
   ========================================================= */

.testimonial-card {
    flex: 0 0 100%;

    box-sizing: border-box;

    padding: 55px 90px 50px;

    background: #ffffff;

    border: 1px solid rgba(41, 57, 129, 0.08);

    border-radius: 24px;

    box-shadow:
        0 20px 55px rgba(20, 35, 90, 0.10);

    text-align: center;
}

.testimonial-card__quote {
    margin-bottom: 12px;

    font-family: Georgia, serif;

    font-size: 5rem;

    line-height: 0.7;

    color: #f4a340;
}

.testimonial-card__content {
    max-width: 820px;

    margin: 0 auto;
}

.testimonial-card__content p {
    margin: 0;

    font-family: "Manrope", sans-serif;

    font-size: clamp(1.05rem, 2vw, 1.28rem);

    font-weight: 500;

    line-height: 1.8;

    color: #293981;
}


/* =========================================================
   AUTHOR
   ========================================================= */

.testimonial-card__author {
    margin-top: 32px;

    padding-top: 24px;

    border-top: 1px solid rgba(41, 57, 129, 0.10);
}

.testimonial-card__author-info {
    display: flex;

    flex-direction: column;

    gap: 5px;
}

.testimonial-card__author-info strong {
    font-family: "Manrope", sans-serif;

    font-size: 0.95rem;

    font-weight: 800;

    color: #293981;
}

.testimonial-card__author-info span {
    font-size: 0.78rem;

    line-height: 1.5;

    color: #697083;
}


/* =========================================================
   CAROUSEL CONTROLS
   ========================================================= */

.testimonial-control {
    position: absolute;

    top: 50%;

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    transform: translateY(-50%);

    border: 1px solid rgba(41, 57, 129, 0.12);

    border-radius: 50%;

    background: #ffffff;

    color: #293981;

    font-size: 1.1rem;

    cursor: pointer;

    box-shadow:
        0 8px 25px rgba(20, 35, 90, 0.10);

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.testimonial-control:hover {
    background: #293981;

    color: #ffffff;

    transform:
        translateY(-50%)
        scale(1.05);
}

.testimonial-control--prev {
    left: 18px;
}

.testimonial-control--next {
    right: 18px;
}


/* =========================================================
   DOTS
   ========================================================= */

.testimonial-dots {
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 8px;

    margin-top: 28px;
}

.testimonial-dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: #c8ccda;

    cursor: pointer;

    transition:
        width 0.2s ease,
        background 0.2s ease;
}

.testimonial-dot.active {
    width: 26px;

    border-radius: 20px;

    background: #f4a340;
}


/* =========================================================
   FOOTER CTA
   ========================================================= */

.testimonials-section__footer {
    display: flex;

    justify-content: center;

    margin-top: 38px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .testimonials-section {
        padding: 90px 0 95px;
    }

    .testimonial-card {
        padding: 50px 70px 45px;
    }

    .testimonial-control--prev {
        left: 12px;
    }

    .testimonial-control--next {
        right: 12px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .testimonials-section {
        padding: 75px 0 80px;
    }

    .testimonials-section__heading {
        margin-bottom: 35px;
    }

    .testimonial-card {
        padding: 42px 28px 38px;

        border-radius: 20px;
    }

    .testimonial-card__quote {
        font-size: 4rem;
    }

    .testimonial-card__content p {
        font-size: 0.98rem;

        line-height: 1.7;
    }

    .testimonial-card__author {
        margin-top: 25px;

        padding-top: 20px;
    }

    .testimonial-control {
        width: 38px;
        height: 38px;

        font-size: 0.95rem;
    }

    .testimonial-control--prev {
        left: 8px;
    }

    .testimonial-control--next {
        right: 8px;
    }

}

/* =========================================================
   PROJECTS IN ACTION — VIDEO GALLERY
   ========================================================= */

.projects-video-section {
    padding: 110px 0;
    background: #ffffff;
}


.projects-video-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}


.projects-video-heading h2 {
    margin: 14px 0 20px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2rem, 4vw, 3.2rem);

    line-height: 1.1;

    font-weight: 800;

    color: #293981;
}


.projects-video-heading h2 span {
    display: block;

    color: #f4b45d;
}


.projects-video-heading p {
    max-width: 680px;

    margin: 0 auto;

    color: #5f6678;

    font-size: 1rem;

    line-height: 1.8;
}


/* =========================================================
   VIDEO GRID
   ========================================================= */

.projects-video-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 32px;

    max-width: 1180px;

    margin: 0 auto;
}


/* =========================================================
   VIDEO CARD
   ========================================================= */

.projects-video-card {
    overflow: hidden;

    background: #ffffff;

    border:
        1px solid rgba(41, 57, 129, 0.10);

    border-radius: 18px;

    box-shadow:
        0 14px 40px rgba(20, 32, 75, 0.08);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.projects-video-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 20px 50px rgba(20, 32, 75, 0.14);
}


/* =========================================================
   VIDEO THUMBNAIL
   ========================================================= */

.projects-video-card__media {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    background: #101936;

    overflow: hidden;
}


.projects-youtube-link {
    position: relative;

    display: block;

    width: 100%;
    height: 100%;

    overflow: hidden;

    text-decoration: none;
}


.projects-youtube-link img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.35s ease;
}


.projects-youtube-link:hover img {
    transform: scale(1.03);
}


/* =========================================================
   PLAY BUTTON
   ========================================================= */

.projects-youtube-play {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 64px;
    height: 64px;

    display: flex;

    align-items: center;
    justify-content: center;

    transform: translate(-50%, -50%);

    padding-left: 4px;

    border-radius: 50%;

    background: #ffffff;

    color: #293981;

    font-size: 1.35rem;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}


.projects-youtube-link:hover .projects-youtube-play {
    transform:
        translate(-50%, -50%)
        scale(1.08);

    background: #f4b45d;
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.projects-video-card__content {
    padding: 28px 30px 32px;
}


.projects-video-card__category {
    display: inline-block;

    margin-bottom: 10px;

    color: #d9922e;

    font-size: 0.72rem;

    font-weight: 800;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}


.projects-video-card__content h3 {
    margin: 0 0 12px;

    color: #293981;

    font-family: "Manrope", sans-serif;

    font-size: 1.35rem;

    line-height: 1.3;

    font-weight: 800;
}


.projects-video-card__content p {
    margin: 0;

    color: #626a7d;

    font-size: 0.95rem;

    line-height: 1.75;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .projects-video-section {
        padding: 85px 0;
    }

    .projects-video-grid {
        grid-template-columns: 1fr;

        gap: 28px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .projects-video-section {
        padding: 70px 0;
    }

    .projects-video-heading {
        margin-bottom: 38px;

        text-align: left;
    }

    .projects-video-heading h2 {
        font-size: 2rem;
    }

    .projects-video-heading h2 span {
        display: inline;
    }

    .projects-video-heading p {
        font-size: 0.95rem;

        line-height: 1.7;
    }

    .projects-video-grid {
        gap: 24px;
    }

    .projects-video-card {
        border-radius: 14px;
    }

    .projects-video-card__content {
        padding: 22px 20px 25px;
    }

    .projects-video-card__content h3 {
        font-size: 1.15rem;
    }

    .projects-video-card__content p {
        font-size: 0.9rem;

        line-height: 1.7;
    }

    .projects-youtube-play {
        width: 56px;
        height: 56px;

        font-size: 1.15rem;
    }

}

/* =========================================================
   HOMEPAGE — SEE SHOFT IN ACTION
   ========================================================= */

.home-video-section {
    padding: 105px 0 110px;

    background: #f7f8fc;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.home-video-section__heading {
    max-width: 760px;

    margin: 0 auto 52px;

    text-align: center;
}


.home-video-section__heading h2 {
    margin: 14px 0 18px;

    font-family: "Manrope", sans-serif;

    font-size: clamp(2.1rem, 4vw, 3.25rem);

    line-height: 1.08;

    color: #293981;
}


.home-video-section__heading h2 span {
    display: block;

    color: #f4b45d;
}


.home-video-section__heading p {
    max-width: 680px;

    margin: 0 auto;

    color: #697083;

    font-size: 1rem;

    line-height: 1.75;
}


/* =========================================================
   VIDEO GRID
   ========================================================= */

.home-video-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 32px;

    max-width: 1120px;

    margin: 0 auto;
}


/* =========================================================
   VIDEO CARD
   ========================================================= */

.home-video-card {
    overflow: hidden;

    background: #ffffff;

    border:
        1px solid rgba(41, 57, 129, 0.09);

    border-radius: 20px;

    box-shadow:
        0 18px 48px rgba(20, 35, 90, 0.09);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.home-video-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 25px 60px rgba(20, 35, 90, 0.14);
}


/* =========================================================
   VIDEO THUMBNAIL
   ========================================================= */

.home-video-card__media {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #111936;
}


.youtube-video-link {
    position: relative;

    display: block;

    width: 100%;
    height: 100%;

    overflow: hidden;

    text-decoration: none;
}


.youtube-video-link img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.35s ease;
}


.youtube-video-link:hover img {
    transform: scale(1.03);
}


/* =========================================================
   PLAY BUTTON
   ========================================================= */

.youtube-video-play {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 64px;
    height: 64px;

    display: flex;

    align-items: center;
    justify-content: center;

    transform: translate(-50%, -50%);

    padding-left: 4px;

    border-radius: 50%;

    background: #ffffff;

    color: #293981;

    font-size: 1.35rem;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}


.youtube-video-link:hover .youtube-video-play {
    transform:
        translate(-50%, -50%)
        scale(1.08);

    background: #f4b45d;
}


/* =========================================================
   VIDEO CONTENT
   ========================================================= */

.home-video-card__content {
    padding: 27px 30px 30px;
}


.home-video-card__category {
    display: inline-block;

    margin-bottom: 9px;

    color: #d9922e;

    font-size: 0.72rem;

    font-weight: 800;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}


.home-video-card__content h3 {
    margin: 0 0 12px;

    color: #293981;

    font-family: "Manrope", sans-serif;

    font-size: 1.3rem;

    line-height: 1.3;

    font-weight: 800;
}


.home-video-card__content p {
    margin: 0;

    color: #697083;

    font-size: 0.94rem;

    line-height: 1.7;
}


/* =========================================================
   CTA
   ========================================================= */

.home-video-section__action {
    display: flex;

    justify-content: center;

    margin-top: 38px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .home-video-section {
        padding: 85px 0 90px;
    }

    .home-video-grid {
        grid-template-columns: 1fr;

        max-width: 760px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .home-video-section {
        padding: 70px 0 75px;
    }

    .home-video-section__heading {
        margin-bottom: 36px;

        text-align: left;
    }

    .home-video-section__heading h2 {
        font-size: 2.15rem;
    }

    .home-video-section__heading h2 span {
        display: inline;
    }

    .home-video-section__heading p {
        font-size: 0.94rem;

        line-height: 1.7;
    }

    .home-video-grid {
        gap: 24px;
    }

    .home-video-card {
        border-radius: 15px;
    }

    .home-video-card__content {
        padding: 22px 21px 25px;
    }

    .home-video-card__content h3 {
        font-size: 1.15rem;
    }

    .youtube-video-play {
        width: 56px;
        height: 56px;

        font-size: 1.15rem;
    }

}



