        /* ============================================================
           BRAND TOKENS  Darko Constructions 2019 Brand Manual
        ============================================================ */
        :root {
            --red-primary:  #C7161D;
            --red-dark:     #9E0A0E;
            --red-deep:     #500000;
            --gray:         #58595B;
            --white:        #FFFFFF;
            --off-white:    #F5F4F2;
            --black:        #1A1A1A;

            --font: 'Montserrat', sans-serif;

            --stripe-size: 40px;
            --stripe-angle: -45deg;

            /* Easing tokens — Emil Kowalski */
            --ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
            --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
            --ease-inout:  cubic-bezier(0.77, 0, 0.175, 1);

            /* Tinted shadows */
            --shadow-red-sm:  0 6px 20px rgba(199,22,29,0.18);
            --shadow-red-md:  0 12px 36px rgba(199,22,29,0.28);
            --shadow-card:    0 12px 32px rgba(80,0,0,0.08);
        }

        /* ============================================================
           SELF-HOSTED FONTS — Montserrat (was Google Fonts CDN)
           Weights/styles match the previous Google Fonts request exactly:
           ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400
           Source .ttf: Darko Brand Manual Summary/ — converted to .woff2 in assets/fonts/
        ============================================================ */
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-Thin.woff2') format('woff2');
            font-weight: 100;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-ExtraLight.woff2') format('woff2');
            font-weight: 200;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-Light.woff2') format('woff2');
            font-weight: 300;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-LightItalic.woff2') format('woff2');
            font-weight: 300;
            font-style: italic;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-Regular.woff2') format('woff2');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-Italic.woff2') format('woff2');
            font-weight: 400;
            font-style: italic;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-Medium.woff2') format('woff2');
            font-weight: 500;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2');
            font-weight: 600;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-Bold.woff2') format('woff2');
            font-weight: 700;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-ExtraBold.woff2') format('woff2');
            font-weight: 800;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: 'Montserrat';
            src: url('../fonts/Montserrat-Black.woff2') format('woff2');
            font-weight: 900;
            font-style: normal;
            font-display: swap;
        }

        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        html { scroll-behavior: smooth; }
        body {
            font-family: var(--font);
            background: var(--white);
            color: var(--black);
            overflow-x: hidden;
        }

        /* ---- Utility ---- */
        .container { max-width: 1280px; margin: 0 auto; padding: 0 40px; }
        .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

        /* ============================================================
           NAVIGATION
        ============================================================ */
        nav {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 1000;
            background: transparent;
            border-bottom: 4px solid transparent;
            box-shadow: none;
            height: 70px;
            display: flex;
            align-items: center;
            transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
        }
        nav.nav-solid {
            background: rgba(26,26,26,0.97);
            border-bottom-color: var(--red-primary);
            box-shadow: 0 2px 24px rgba(199,22,29,0.22);
        }
        nav .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
        }
        .nav-logo { position: relative; display: flex; align-items: center; }
        .logo-text {
            height: 36px;
            display: block;
            filter: none;
            opacity: 1;
            transition: opacity 0.35s var(--ease-out);
        }
        .logo-icon {
            position: absolute;
            left: 0; top: 50%;
            transform: translateY(-50%);
            height: 44px;
            opacity: 0;
            transition: opacity 0.35s var(--ease-out);
            pointer-events: none;
        }
        nav.nav-solid .logo-text { opacity: 0; pointer-events: none; }
        nav.nav-solid .logo-icon { opacity: 1; pointer-events: auto; }
        /* ---- Nav Tab (Hamburger) ---- */
        /* Hamburger sits over the dark carousel on the right — always white */
        .nav-tab {
            background: none;
            border: 2px solid rgba(255,255,255,0.2);
            cursor: pointer;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 5px;
            padding: 10px 12px;
            border-radius: 2px;
            transition: border-color 0.2s;
        }
        .nav-tab:hover { border-color: var(--red-primary); }
        .nav-tab span {
            display: block;
            width: 22px;
            height: 2px;
            background: var(--white);
            transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.2s;
            transform-origin: center;
        }
        .nav-tab.open .bar-1 { transform: rotate(45deg) translate(4px, 4px); }
        .nav-tab.open .bar-2 { opacity: 0; transform: translateX(8px); }
        .nav-tab.open .bar-3 { transform: rotate(-45deg) translate(4px, -4px); }

        /* ---- Nav Drawer ---- */
        .nav-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.55);
            z-index: 1050;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.4s ease;
        }
        .nav-overlay.open { opacity: 1; pointer-events: auto; }
        .nav-drawer {
            position: fixed;
            top: 0; right: 0;
            width: min(340px, 85vw);
            height: 100vh;
            background: rgba(18,18,18,0.98);
            border-left: 3px solid var(--red-primary);
            box-shadow: -8px 0 40px rgba(0,0,0,0.6);
            z-index: 1100;
            transform: translateX(100%);
            transition: transform 0.45s var(--ease-drawer);
            display: flex;
            flex-direction: column;
            padding: 90px 48px 48px;
        }
        .nav-drawer.open { transform: translateX(0); }
        .nav-drawer-close {
            position: absolute;
            top: 22px; right: 22px;
            background: none;
            border: none;
            color: rgba(255,255,255,0.45);
            font-size: 22px;
            cursor: pointer;
            line-height: 1;
            transition: color 0.2s;
            padding: 6px;
        }
        .nav-drawer-close:hover { color: var(--red-primary); }
        .nav-drawer-label {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--red-primary);
            margin-bottom: 40px;
            display: block;
        }
        .nav-drawer-links {
            list-style: none;
            display: flex;
            flex-direction: column;
        }
        .nav-drawer-links li { border-bottom: 1px solid rgba(255,255,255,0.07); }
        .nav-drawer-links a {
            display: block;
            color: var(--white);
            text-decoration: none;
            font-weight: 700;
            font-size: 12px;
            letter-spacing: 3px;
            text-transform: uppercase;
            padding: 18px 0;
            position: relative;
            transition: color 0.2s, padding-left 0.25s cubic-bezier(0.16,1,0.3,1);
        }
        .nav-drawer-links a::before {
            content: '';
            position: absolute;
            left: -48px; top: 50%;
            transform: translateY(-50%);
            width: 0; height: 2px;
            background: var(--red-primary);
            transition: width 0.25s cubic-bezier(0.16,1,0.3,1);
        }
        .nav-drawer-links a:hover { color: var(--red-primary); padding-left: 14px; }
        .nav-drawer-links a:hover::before { width: 10px; }

        /* ============================================================
           SECTION COMMON
        ============================================================ */
        section { padding: 100px 0; }
        .section-label {
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--red-primary);
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .section-label::before {
            content: '';
            display: inline-block;
            width: 7px;
            height: 7px;
            background: var(--red-primary);
            transform: rotate(45deg);
            flex-shrink: 0;
        }
        .section-title {
            font-size: clamp(32px, 4vw, 54px);
            font-weight: 900;
            line-height: 1.1;
            color: var(--black);
        }
        .section-title span { color: var(--red-primary); }
        .section-body {
            font-size: 15px;
            font-weight: 300;
            line-height: 1.8;
            color: var(--gray);
            max-width: 620px;
        }

        /* ============================================================
           DIAGONAL STRIPE PATTERN  (Brand design element)
        ============================================================ */
        .stripe-bg {
            background-image:
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 39px,
                    rgba(199,22,29,0.045) 39px,
                    rgba(199,22,29,0.045) 40px
                ),
                repeating-linear-gradient(
                    90deg,
                    transparent,
                    transparent 39px,
                    rgba(199,22,29,0.045) 39px,
                    rgba(199,22,29,0.045) 40px
                );
        }
        .stripe-dark {
            background-image:
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 39px,
                    rgba(255,255,255,0.022) 39px,
                    rgba(255,255,255,0.022) 40px
                ),
                repeating-linear-gradient(
                    90deg,
                    transparent,
                    transparent 39px,
                    rgba(255,255,255,0.022) 39px,
                    rgba(255,255,255,0.022) 40px
                );
        }

        /* ============================================================
           HERO  / IDENTITY
        ============================================================ */
        #identity {
            min-height: 110vh;
            background: var(--off-white);
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
            padding-top: 140px;
        }
        #identity > .container {
            width: 100%;
        }
        #identity::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 39px,
                    rgba(199,22,29,0.04) 39px,
                    rgba(199,22,29,0.04) 40px
                ),
                repeating-linear-gradient(
                    90deg,
                    transparent,
                    transparent 39px,
                    rgba(199,22,29,0.04) 39px,
                    rgba(199,22,29,0.04) 40px
                );
        }
        /* Angular red accent block — replaced by full-height carousel panel */
        #identity::after { display: none; }
        .hero-inner {
            position: relative;
            z-index: 2;
            width: 100%;
        }
        .hero-left {
            max-width: min(560px, 44%);
        }
        .hero-logo { width: 220px; margin-bottom: 36px; }
        .hero-tagline {
            font-size: clamp(28px, 3.5vw, 48px);
            font-weight: 900;
            color: var(--black);
            line-height: 1.15;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 28px;
        }
        .hero-tagline em {
            font-style: normal;
            color: var(--red-primary);
            text-shadow: none;
        }
        .hero-sub {
            font-size: 13px;
            font-weight: 400;
            color: rgba(26,26,26,0.5);
            letter-spacing: 3px;
            text-transform: uppercase;
            margin-bottom: 48px;
        }
        .hero-cta {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            background: var(--red-primary);
            color: var(--white);
            text-decoration: none;
            font-weight: 700;
            font-size: 11px;
            letter-spacing: 3px;
            text-transform: uppercase;
            padding: 18px 36px;
            clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 100%, 12px 100%);
            transition: background .2s, box-shadow .2s, transform .2s;
            box-shadow: 0 8px 32px rgba(199,22,29,0.45);
        }
        .hero-cta:hover {
            background: var(--red-dark);
            box-shadow: 0 12px 44px rgba(199,22,29,0.65);
            transform: translateY(-3px) scale(1.02);
        }
        .hero-cta:active {
            transform: translateY(0) scale(0.98);
            box-shadow: var(--shadow-red-sm);
            transition-duration: 80ms;
        }
        .hero-right {
            position: absolute;
            top: 0;
            right: 0;
            width: 58%;
            height: 100%;
            z-index: 1;
            clip-path: polygon(14% 0, 100% 0, 100% 100%, 0% 100%);
            overflow: hidden;
        }

        /* ---- Hero Project Carousel ---- */
        .hero-carousel {
            position: relative;
            width: 100%;
            height: 100%;
            overflow: hidden;
        }
        .hc-slide {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 36px 32px;
            opacity: 0;
            transition: opacity 0.5s var(--ease-out);
            pointer-events: none;
        }
        .hc-slide.active {
            opacity: 1;
            pointer-events: auto;
        }
        .hc-bg {
            position: absolute;
            inset: 0;
            transform: scale(1.08);
            transition: transform 5s cubic-bezier(0.16,1,0.3,1);
        }
        .hc-slide.active .hc-bg { transform: scale(1); }
        /* Slide colour identities — each evokes the project's sector material */
        .hc-slide:nth-child(1) .hc-bg { background: linear-gradient(150deg, var(--red-deep) 0%, #2a0a0a 100%); }
        .hc-slide:nth-child(2) .hc-bg { background: linear-gradient(150deg, #1c2b3a 0%, #263548 100%); }
        .hc-slide:nth-child(3) .hc-bg { background: linear-gradient(150deg, #112211 0%, #1a301a 100%); }
        .hc-slide:nth-child(4) .hc-bg { background: linear-gradient(150deg, #1e1a10 0%, #2d2515 100%); }
        .hc-slide:nth-child(5) .hc-bg { background: linear-gradient(150deg, #12171d 0%, #1c2530 100%); }
        /* Architectural datum mark — thin crosshair lines on each slide */
        .hc-bg::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(90deg,
                    transparent 0%, transparent 49.6%,
                    rgba(255,255,255,0.05) 49.6%, rgba(255,255,255,0.05) 50.4%,
                    transparent 50.4%, transparent 100%),
                linear-gradient(0deg,
                    transparent 0%, transparent 66%,
                    rgba(255,255,255,0.05) 66%, rgba(255,255,255,0.05) 66.8%,
                    transparent 66.8%, transparent 100%);
            pointer-events: none;
        }
        .hc-stripe {
            position: absolute;
            inset: 0;
            background-image:
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 39px,
                    rgba(255,255,255,0.022) 39px,
                    rgba(255,255,255,0.022) 40px
                ),
                repeating-linear-gradient(
                    90deg,
                    transparent,
                    transparent 39px,
                    rgba(255,255,255,0.022) 39px,
                    rgba(255,255,255,0.022) 40px
                );
        }
        .hc-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.2) 60%, transparent 100%);
        }
        .hc-accent {
            position: absolute;
            top: 0; right: 0;
            width: 4px;
            height: 100%;
            background: var(--red-primary);
        }
        .hc-content {
            position: relative;
            z-index: 2;
        }
        .hc-tag {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--red-primary);
            display: block;
            margin-bottom: 10px;
        }
        .hc-name {
            font-size: clamp(20px, 2.4vw, 28px);
            font-weight: 900;
            color: var(--white);
            line-height: 1.2;
            margin-bottom: 12px;
        }
        .hc-sub {
            font-size: 12px;
            font-weight: 300;
            color: rgba(255,255,255,0.55);
            letter-spacing: 1px;
            line-height: 1.6;
        }
        .hc-meta {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
        }
        .hc-date {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.45);
        }
        .hc-link {
            display: inline-block;
            margin-top: 16px;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--red-primary);
            text-decoration: none;
            border-bottom: 1px solid rgba(199,22,29,0.4);
            padding-bottom: 2px;
            transition: color 0.2s, border-color 0.2s;
        }
        .hc-link:hover { color: var(--white); border-color: var(--white); }
        .hc-controls {
            position: absolute;
            bottom: 20px;
            right: 32px;
            z-index: 10;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .hc-dots {
            display: flex;
            gap: 6px;
        }
        .hc-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: rgba(255,255,255,0.3);
            border: none;
            cursor: pointer;
            padding: 0;
            transition: background .3s, transform .3s;
        }
        .hc-dot.active {
            background: var(--red-primary);
            transform: scale(1.4);
        }
        .hc-btn {
            background: rgba(255,255,255,0.1);
            border: 1px solid rgba(255,255,255,0.2);
            color: var(--white);
            width: 32px;
            height: 32px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 14px;
            transition: background .2s;
            clip-path: polygon(4px 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
        }
        .hc-btn:hover { background: var(--red-primary); border-color: var(--red-primary); }
        .hc-counter {
            font-size: 10px;
            font-weight: 700;
            color: rgba(255,255,255,0.4);
            letter-spacing: 2px;
            position: absolute;
            top: 20px;
            right: 32px;
            z-index: 10;
        }

        /* ============================================================
           DARKO GROUP
        ============================================================ */
        #darko-group {
            background: var(--off-white);
            position: relative;
            overflow: hidden;
        }
        #darko-group .stripe-bg { position: absolute; inset: 0; }

        .dg-header {
            position: relative;
            z-index: 1;
            width: 100%;
            margin-bottom: 64px;
            text-align: center;
        }
        .dg-header .section-label,
        .dg-header .section-title {
            display: block;
            text-align: center;
        }
        .dg-block {
            position: relative;
            z-index: 1;
            margin-bottom: 52px;
        }
        .dg-block-label {
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--red-primary);
            display: block;
            margin-bottom: 20px;
        }

        /* ---- Leadership cards ---- */
        .leadership-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 3px;
        }
        .leader-card {
            background: var(--black);
            padding: 28px 28px 24px;
            position: relative;
            overflow: hidden;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
            transition: background 0.25s, box-shadow 0.25s, transform 0.3s cubic-bezier(0.16,1,0.3,1);
            cursor: pointer;
        }
        .leader-photo-thumb {
            width: 100%;
            height: 130px;
            background: #1c1c1c;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        .leader-photo-thumb svg { opacity: 0.18; }
        .leader-photo-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 35%;
        }
        .leader-card-hint {
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.2);
            display: block;
            margin-top: 14px;
            transition: color 0.2s;
        }
        .leader-card:hover .leader-card-hint { color: rgba(199,22,29,0.65); }

        /* Leader profile modal */
        #leaderModal {
            position: fixed;
            inset: 0;
            z-index: 2100;
            background: rgba(0,0,0,0.88);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        #leaderModal.lm-open { opacity: 1; pointer-events: auto; }
        .lm-inner {
            position: relative;
            background: #111;
            width: 100%;
            max-width: 640px;
            display: flex;
            overflow: hidden;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%);
            box-shadow: 0 24px 80px rgba(0,0,0,0.6);
        }
        .lm-photo {
            width: 210px;
            flex-shrink: 0;
            background: #1a1a1a;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 300px;
        }
        .lm-photo svg { opacity: 0.18; }
        .lm-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 20%;
        }
        .lm-body {
            padding: 40px 36px 36px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            border-left: 3px solid var(--red-primary);
        }
        .lm-title {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--red-primary);
            display: block;
            margin-bottom: 8px;
        }
        .lm-name {
            font-size: 19px;
            font-weight: 800;
            color: var(--white);
            margin: 0 0 18px;
            line-height: 1.25;
        }
        .lm-bio {
            font-size: 13px;
            color: rgba(255,255,255,0.5);
            line-height: 1.8;
            margin: 0;
        }
        .lm-close {
            position: absolute;
            top: 14px;
            right: 16px;
            background: none;
            border: none;
            color: rgba(255,255,255,0.35);
            font-size: 22px;
            cursor: pointer;
            line-height: 1;
            padding: 4px;
            transition: color 0.2s;
        }
        .lm-close:hover { color: var(--white); }
        @media (max-width: 540px) {
            .lm-inner { flex-direction: column; }
            .lm-photo { width: 100%; min-height: 160px; }
            .lm-body { padding: 28px 24px 24px; border-left: none; border-top: 3px solid var(--red-primary); }
        }
        .leader-card::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0;
            width: 100%; height: 3px;
            background: var(--red-primary);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
        }
        .leader-card:hover { background: #111; box-shadow: 0 12px 40px rgba(0,0,0,0.35); transform: translateY(-4px); }
        .leader-card:hover::after { transform: scaleX(1); }
        .leader-card:active { transform: translateY(-1px); transition-duration: 80ms; }
        .leader-title {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--red-primary);
            display: block;
            margin-bottom: 10px;
        }
        .leader-name {
            font-size: 15px;
            font-weight: 700;
            color: var(--white);
            line-height: 1.4;
        }

        /* ---- Credential cards ---- */
        .cred-grid-main {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 3px;
        }
        .cred-card {
            background: var(--black);
            padding: 32px 24px;
            position: relative;
            overflow: hidden;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
            transition: background 0.25s, transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.25s;
            cursor: pointer;
        }
        .cred-card:hover {
            background: var(--red-deep);
            transform: translateY(-4px);
            box-shadow: 0 10px 28px rgba(199,22,29,0.3);
        }
        .cred-card:active { transform: translateY(-1px); transition-duration: 80ms; }
        .cred-card-hint {
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.25);
            display: block;
            margin-top: 10px;
            transition: color 0.2s;
        }
        .cred-card:hover .cred-card-hint { color: rgba(255,255,255,0.5); }
        .cred-num {
            font-size: 16px;
            font-weight: 900;
            color: var(--white);
            line-height: 1.2;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
        }
        .cred-sub {
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.45);
            line-height: 1.5;
        }

        /* ---- Founding facts strip ---- */
        .dg-facts {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border-top: 1px solid rgba(26,26,26,0.12);
            padding-top: 48px;
        }
        .dg-fact { padding-right: 48px; }
        .dg-fact:not(:first-child) {
            padding-left: 48px;
            border-left: 1px solid rgba(26,26,26,0.1);
        }
        .dg-fact:last-child { padding-right: 0; }
        .dg-fact-val {
            display: block;
            font-size: clamp(36px, 3.5vw, 52px);
            font-weight: 900;
            color: var(--red-primary);
            line-height: 1;
            margin-bottom: 10px;
        }
        .dg-fact-lbl {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--gray);
        }

        /* ---- Dead styles from old layout (kept to avoid breaking anything) ---- */


        .dg-inner, .dg-left, .dg-right, .dg-geo,
        .dg-info-block, .founding-strip, .founding-year-n,
        .founding-info, .cred-section-label { display: none; }

        /* ============================================================
           WHAT WE DO
        ============================================================ */
        #what-we-do {
            background: var(--black);
            position: relative;
            overflow: hidden;
        }
        #what-we-do::before {
            content: 'BUILD.';
            position: absolute;
            left: -10px;
            top: 50%;
            transform: translateY(-50%);
            font-size: clamp(100px, 14vw, 200px);
            font-weight: 900;
            color: rgba(255,255,255,0.03);
            line-height: 1;
            letter-spacing: -4px;
            pointer-events: none;
            user-select: none;
            white-space: nowrap;
        }
        #what-we-do .stripe-dark {
            position: absolute;
            inset: 0;
        }
        .wwd-geo {
            position: absolute;
            top: 0;
            right: 0;
            width: 480px;
            height: 220px;
            z-index: 0;
            pointer-events: none;
        }
        .wwd-header {
            position: relative;
            z-index: 1;
            margin-bottom: 64px;
        }
        .wwd-header .section-title { color: var(--white); }
        .wwd-header .section-body { color: rgba(255,255,255,0.5); }
        .wwd-sub {
            position: relative;
            z-index: 1;
            margin-bottom: 32px;
        }
        .wwd-sub:last-child { margin-bottom: 0; }
        .wwd-sub-label {
            display: block;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.3);
            margin-bottom: 10px;
            padding-left: 2px;
        }
        .services-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2px;
        }
        .service-card {
            background: rgba(255,255,255,0.04);
            border-top: 3px solid var(--red-primary);
            padding: 36px 28px;
            transition: background .2s, transform .3s cubic-bezier(0.16,1,0.3,1), box-shadow .3s;
            position: relative;
            overflow: hidden;
        }
        .service-card::before {
            content: '';
            position: absolute;
            bottom: 0; right: 0;
            width: 60px; height: 60px;
            background: var(--red-primary);
            clip-path: polygon(100% 0, 100% 100%, 0 100%);
            opacity: .15;
        }
        .service-card:hover {
            background: rgba(199,22,29,0.13);
            box-shadow: inset 0 0 0 1px rgba(199,22,29,0.35), 0 16px 40px rgba(0,0,0,0.4);
            transform: translateY(-6px);
        }
        .service-card:active { transform: translateY(-2px); transition-duration: 80ms; }
        .service-num {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 4px;
            color: var(--red-primary);
            display: block;
            margin-bottom: 20px;
        }
        .service-name {
            font-size: 18px;
            font-weight: 700;
            color: var(--white);
            margin-bottom: 14px;
            line-height: 1.3;
        }
        .service-desc {
            font-size: 15px;
            font-weight: 300;
            color: rgba(255,255,255,0.55);
            line-height: 1.7;
        }

        /* ============================================================
           KEY PROJECTS
        ============================================================ */
        #key-projects {
            background: var(--off-white);
        }
        .projects-header {
            margin-bottom: 40px;
        }
        .projects-intro {
            font-size: 15px;
            color: var(--gray);
            max-width: 560px;
            line-height: 1.75;
            margin: 16px 0 0;
        }
        .projects-cta-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 28px 0 0;
            border-top: 1px solid rgba(26,26,26,0.1);
            margin-top: 3px;
        }
        .projects-cta-note {
            font-size: 12px;
            color: rgba(26,26,26,0.4);
            letter-spacing: 0.5px;
        }
        .projects-cta-link {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--black);
            text-decoration: none;
            border-bottom: 1px solid var(--red-primary);
            padding-bottom: 2px;
            transition: color 0.2s;
        }
        .projects-cta-link:hover { color: var(--red-primary); }
        .projects-group { margin-bottom: 28px; }
        .projects-group:last-child { margin-bottom: 0; }
        .projects-group-label {
            display: block;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: rgba(26,26,26,0.35);
            margin-bottom: 10px;
            padding-left: 2px;
        }
        .projects-mosaic {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3px;
        }
        .projects-mosaic--inhand .project-card { min-height: 380px; }
        .project-card {
            background: var(--black);
            position: relative;
            overflow: hidden;
            min-height: 300px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 28px 24px;
        }
        .project-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.3) 60%, transparent 100%);
        }
        .project-card-bg {
            position: absolute;
            inset: 0;
            background: var(--red-deep);
            transition: transform 0.65s cubic-bezier(0.16,1,0.3,1);
        }
        .project-card:hover .project-card-bg { transform: scale(1.06); }
        /* Delivered card tints */
        .projects-mosaic:not(.projects-mosaic--inhand) .project-card:nth-child(1) .project-card-bg { background: linear-gradient(135deg, var(--red-deep), #2a0a0a); }
        .projects-mosaic:not(.projects-mosaic--inhand) .project-card:nth-child(2) .project-card-bg { background: linear-gradient(135deg, #1a1a2e, #16213e); }
        .projects-mosaic:not(.projects-mosaic--inhand) .project-card:nth-child(3) .project-card-bg { background: linear-gradient(135deg, #0f2027, #203a43); }
        .projects-mosaic:not(.projects-mosaic--inhand) .project-card:nth-child(4) .project-card-bg { background: linear-gradient(135deg, #1a0a0a, #2d1515); }
        /* In-hand card tints */
        .projects-mosaic--inhand .project-card:nth-child(1) .project-card-bg { background: linear-gradient(135deg, #0a1a0f, #1a2e20); }
        .projects-mosaic--inhand .project-card:nth-child(2) .project-card-bg { background: linear-gradient(135deg, #0a1a2e, #0f2040); }
        .project-card-stripe {
            position: absolute;
            inset: 0;
            background-image:
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 19px,
                    rgba(255,255,255,0.018) 19px,
                    rgba(255,255,255,0.018) 20px
                ),
                repeating-linear-gradient(
                    90deg,
                    transparent,
                    transparent 19px,
                    rgba(255,255,255,0.018) 19px,
                    rgba(255,255,255,0.018) 20px
                );
        }
        .project-content {
            position: relative;
            z-index: 2;
            transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
        }
        .project-card:hover .project-content { transform: translateY(-8px); }
        .project-value {
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--red-primary);
            display: block;
            margin-bottom: 10px;
        }
        .project-name {
            font-size: 20px;
            font-weight: 700;
            color: var(--white);
            line-height: 1.2;
            margin-bottom: 10px;
        }
        .project-card.featured .project-name { font-size: 28px; }
        .project-meta {
            font-size: 11px;
            font-weight: 400;
            color: rgba(255,255,255,0.5);
            letter-spacing: 1px;
        }
        .project-tag {
            display: inline-block;
            background: var(--red-primary);
            color: var(--white);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            padding: 5px 10px;
            margin-bottom: 14px;
            clip-path: polygon(4px 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
        }

        /* ============================================================
           KEY CLIENTS & CONSULTANTS
        ============================================================ */
        #clients {
            background: var(--white);
            position: relative;
        }
        .clients-inner {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
        }
        .clients-col-title {
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--red-primary);
            margin-bottom: 28px;
            padding-bottom: 12px;
            border-bottom: 2px solid var(--red-primary);
        }
        .client-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
        }
        .client-tile {
            background: var(--off-white);
            border: 1px solid rgba(88,89,91,0.12);
            border-top: 2px solid rgba(199,22,29,0.22);
            padding: 14px 16px;
            font-size: 12px;
            font-weight: 600;
            color: var(--gray);
            letter-spacing: .5px;
            transition: background .2s, color .2s, border-color .2s;
        }
        .client-tile:hover {
            background: var(--red-primary);
            color: var(--white);
            border-color: var(--red-primary);
        }
        .client-tile:active { transform: scale(0.98); }
        .client-tile--logo {
            background: var(--white);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 12px;
            height: 72px;
        }
        .client-tile--logo img {
            max-height: 46px;
            max-width: 100%;
            width: auto;
            object-fit: contain;
            filter: grayscale(15%);
            transition: filter 0.2s;
        }
        .client-tile--logo:hover {
            background: var(--off-white);
            color: inherit;
            border-color: var(--red-primary);
        }
        .client-tile--logo:hover img { filter: none; }

        /* ============================================================
           PROJECTS & SECTORS
        ============================================================ */
        #sectors {
            background: var(--off-white);
            position: relative;
            overflow: hidden;
        }
        #sectors .stripe-bg { position: absolute; inset: 0; }
        .sectors-inner { position: relative; z-index: 1; }
        .sectors-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            margin-top: 56px;
        }
        .sector-col-title {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--gray);
            margin-bottom: 24px;
        }
        .sector-bar-row {
            margin-bottom: 20px;
        }
        .sector-bar-label {
            display: flex;
            justify-content: space-between;
            margin-bottom: 6px;
        }
        .sector-bar-name {
            font-size: 13px;
            font-weight: 600;
            color: var(--black);
        }
        .sector-bar-pct {
            font-size: 12px;
            font-weight: 700;
            color: var(--red-primary);
        }
        .sector-bar-track {
            height: 6px;
            background: rgba(0,0,0,0.08);
            position: relative;
            clip-path: polygon(0 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
        }
        .sector-bar-fill {
            position: absolute;
            top: 0; left: 0; bottom: 0;
            background: linear-gradient(90deg, var(--red-primary), var(--red-dark));
            clip-path: polygon(0 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
        }
        .sector-country-list { margin-top: 4px; }
        .sector-country-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 0;
            border-bottom: 1px solid rgba(0,0,0,0.08);
        }
        .sector-country-item:last-child { border-bottom: none; }
        .sector-country-name {
            font-size: 14px;
            font-weight: 700;
            color: var(--black);
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .sector-country-name::before {
            content: '';
            display: inline-block;
            width: 6px;
            height: 6px;
            background: var(--red-primary);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            flex-shrink: 0;
        }
        .sector-country-status {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            color: var(--gray);
        }

        /* ============================================================
           AFFILIATES
        ============================================================ */
        #affiliates {
            background: var(--black);
            position: relative;
            overflow: hidden;
        }
        #affiliates .stripe-dark { position: absolute; inset: 0; }
        .affiliates-header {
            position: relative; z-index: 1;
            margin-bottom: 56px;
        }
        .affiliates-header .section-title { color: var(--white); }
        .affiliates-header .section-body { color: rgba(255,255,255,0.5); }
        .affiliates-grid {
            position: relative; z-index: 1;
            display: grid;
            gap: 2px;
        }
        .affiliates-grid--top { grid-template-columns: repeat(3, 1fr); }
        .affiliates-grid--bottom {
            grid-template-columns: repeat(2, 1fr);
            max-width: 66.8%;
            margin: 2px auto 0;
        }
        .affiliate-card {
            background: rgba(255,255,255,0.04);
            border-top: 3px solid var(--red-primary);
            padding: 36px 24px;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
        }
        .affiliate-card--inline {
            display: flex;
            flex-direction: row;
            gap: 20px;
            align-items: flex-start;
            padding: 28px 24px;
        }
        .affiliate-inline-logo {
            flex-shrink: 0;
            width: 88px;
            height: 64px;
            background: #fff;
            border-radius: 3px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px 14px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.18);
        }
        .affiliate-inline-logo img {
            width: 100%;
            height: auto;
            max-height: 40px;
            object-fit: contain;
            display: block;
        }
        .affiliate-inline-body { flex: 1; min-width: 0; }
        .affiliate-icon {
            width: 48px; height: 48px;
            background: var(--red-primary);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 12px 100%, 0 calc(100% - 12px));
            display: flex; align-items: center; justify-content: center;
            margin-bottom: 20px;
        }
        .affiliate-icon svg { fill: var(--white); width: 24px; height: 24px; }
        .affiliate-icon--logo {
            width: auto;
            height: 48px;
            background: #fff;
            clip-path: none;
            padding: 8px 14px;
            border-radius: 2px;
        }
        .affiliate-icon--logo img {
            height: 32px;
            width: auto;
            display: block;
            object-fit: contain;
        }
        .affiliate-name {
            font-size: 14px;
            font-weight: 700;
            color: var(--white);
            margin-bottom: 10px;
            line-height: 1.3;
        }
        .affiliate-card--inline .affiliate-name { margin-top: 2px; }
        .affiliate-desc {
            font-size: 12px;
            font-weight: 300;
            color: rgba(255,255,255,0.5);
            line-height: 1.7;
        }

        /* ============================================================
           FOOTER
        ============================================================ */
        footer {
            background: var(--black);
            border-top: 3px solid var(--red-primary);
            padding: 80px 0 40px;
        }
        .footer-grid {
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 1fr;
            gap: 48px;
            margin-bottom: 60px;
        }
        .footer-logo { height: 50px; margin-bottom: 24px; }
        .footer-tagline {
            font-size: 12px;
            font-weight: 300;
            color: rgba(255,255,255,0.45);
            line-height: 1.8;
            font-style: italic;
        }
        .footer-col-title {
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--red-primary);
            margin-bottom: 20px;
        }
        .footer-col ul { list-style: none; }
        .footer-col ul li {
            margin-bottom: 10px;
        }
        .footer-col ul li a {
            font-size: 13px;
            font-weight: 400;
            color: rgba(255,255,255,0.55);
            text-decoration: none;
            transition: color .2s;
        }
        .footer-col ul li a:hover { color: var(--red-primary); }
        .footer-contact-item {
            font-size: 12px;
            font-weight: 400;
            color: rgba(255,255,255,0.55);
            margin-bottom: 10px;
            line-height: 1.6;
        }
        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.08);
            padding-top: 28px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .footer-copy {
            font-size: 11px;
            font-weight: 300;
            color: rgba(255,255,255,0.25);
        }
        .footer-mark {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--red-primary);
        }

        /* ============================================================
           GRID OVERLAY ELEMENT  (Brand page corners)
        ============================================================ */
        .corner-accent {
            position: absolute;
            width: 60px; height: 60px;
        }
        .corner-accent::before, .corner-accent::after {
            content: '';
            position: absolute;
            background: var(--red-primary);
        }
        .corner-accent.tl { top: 32px; left: 32px; }
        .corner-accent.tl::before { top:0; left:0; width:100%; height:2px; }
        .corner-accent.tl::after  { top:0; left:0; height:100%; width:2px; }
        .corner-accent.br { bottom: 32px; right: 32px; }
        .corner-accent.br::before { bottom:0; right:0; width:100%; height:2px; }
        .corner-accent.br::after  { bottom:0; right:0; height:100%; width:2px; }

        /* ============================================================
           RESPONSIVE
        ============================================================ */
        @media (max-width: 1024px) {
            .hero-inner, .dg-inner, .clients-inner, .sectors-grid { grid-template-columns: 1fr; gap: 40px; }
            .projects-mosaic { grid-template-columns: 1fr 1fr; }
            .services-grid { grid-template-columns: 1fr 1fr; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
            .affiliates-grid--top { grid-template-columns: 1fr 1fr; }
            .affiliates-grid--bottom { grid-template-columns: 1fr 1fr; max-width: 100%; }
            .geo-grid { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 640px) {
            .container { padding: 0 20px; }
            section { padding: 70px 0; }
            nav { height: 60px; }
            .services-grid, .projects-mosaic { grid-template-columns: 1fr; }
            .hero-right { position: relative; width: 100%; height: 50vh; clip-path: none; }
            .client-grid { grid-template-columns: 1fr; }
            .leadership-grid { grid-template-columns: 1fr; }
            .affiliates-grid--top, .affiliates-grid--bottom, .geo-grid { grid-template-columns: 1fr; }
            .affiliates-grid--bottom { max-width: 100%; margin: 2px 0 0; }
            .affiliate-card--inline { flex-direction: column; gap: 14px; }
            .footer-grid { grid-template-columns: 1fr; }
            .projects-cta-row { flex-direction: column; align-items: flex-start; gap: 12px; }
        }

        /* ============================================================
           STATS STRIP
        ============================================================ */
        .stats-strip {
            background: var(--red-dark);
            position: relative;
            z-index: 5;
        }
        .stats-strip::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                repeating-linear-gradient(
                    0deg, transparent, transparent 39px,
                    rgba(0,0,0,0.07) 39px, rgba(0,0,0,0.07) 40px
                ),
                repeating-linear-gradient(
                    90deg, transparent, transparent 39px,
                    rgba(0,0,0,0.07) 39px, rgba(0,0,0,0.07) 40px
                );
            pointer-events: none;
        }
        .stats-strip-inner {
            display: flex;
            align-items: stretch;
        }
        .stat-chip {
            flex: 1;
            padding: 30px 36px;
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        .stat-chip::after {
            content: '';
            position: absolute;
            right: -1px;
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-top: 9px solid transparent;
            border-bottom: 9px solid transparent;
            border-left: 8px solid rgba(255,255,255,0.22);
            z-index: 1;
        }
        .stat-chip:last-child::after { display: none; }
        .stat-chip-n {
            font-size: clamp(28px, 3vw, 42px);
            font-weight: 900;
            color: var(--white);
            line-height: 1;
            font-variant-numeric: tabular-nums;
            letter-spacing: -0.5px;
        }
        .stat-chip-l {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.5);
        }
        @media (max-width: 640px) {
            .stats-strip-inner { flex-wrap: wrap; }
            .stat-chip { flex: 1 1 50%; border-bottom: 1px solid rgba(255,255,255,0.12); }
        }

        /* ============================================================
           SECTION SLASH DIVIDERS
        ============================================================ */
        /* ---- Section structural dividers — architectural rule accents ---- */
        .sec-slash {
            height: 3px;
            position: relative;
            z-index: 5;
            background: var(--red-primary);
            overflow: visible;
        }
        .sec-slash::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 3px;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 9px solid transparent;
            border-right: 9px solid transparent;
            border-top: 8px solid var(--red-primary);
            z-index: 6;
        }
        .sec-slash::after { display: none; }
        /* All variants resolve to the same brand-red structural weld line */
        .sec-slash--dark-out,
        .sec-slash--light-out,
        .sec-slash--red-out { background: var(--red-primary); }

        /* ============================================================
           ENTRANCE & SCROLL-REVEAL ANIMATIONS
        ============================================================ */
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(28px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to   { opacity: 1; }
        }
        @keyframes slideRight {
            from { opacity: 0; transform: translateX(48px); }
            to   { opacity: 1; transform: translateX(0); }
        }
        @keyframes accentIn {
            from { opacity: 0; transform: scaleX(0.6); transform-origin: right; }
            to   { opacity: .32; transform: scaleX(1); }
        }

        /* Hero entrance — staggered */
        .hero-logo     { animation: fadeUp    0.8s cubic-bezier(0.16,1,0.3,1) 0.1s  both; }
        .hero-sub      { animation: fadeIn    0.7s ease                       0.3s  both; }
        .hero-tagline  { animation: fadeUp    0.8s cubic-bezier(0.16,1,0.3,1) 0.5s  both; }
        .hero-cta      { animation: fadeUp    0.7s cubic-bezier(0.16,1,0.3,1) 0.75s both; }
        .hero-carousel { animation: slideRight 0.9s cubic-bezier(0.16,1,0.3,1) 0.45s both; }
        #identity::after { animation: accentIn 1.2s cubic-bezier(0.16,1,0.3,1) 0.2s both; }

        /* Scroll reveal base */
        .sr {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.65s cubic-bezier(0.16,1,0.3,1),
                        transform 0.65s cubic-bezier(0.16,1,0.3,1);
        }
        .sr.sr-visible { opacity: 1; transform: translateY(0); }
        .sr-d1 { transition-delay: 0.08s; }
        .sr-d2 { transition-delay: 0.16s; }
        .sr-d3 { transition-delay: 0.24s; }
        .sr-d4 { transition-delay: 0.32s; }
        .sr-d5 { transition-delay: 0.40s; }
        .sr-d6 { transition-delay: 0.48s; }

        /* ============================================================
           SERVICE CARD ICONS
        ============================================================ */
        .service-icon {
            width: 38px;
            height: 38px;
            margin-bottom: 20px;
            display: block;
            color: var(--red-primary);
        }
        .service-icon svg {
            width: 100%;
            height: 100%;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.5;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        /* ============================================================
           CREDENTIALS SHOWCASE  (Darko Group right column)
        ============================================================ */
        .cred-grid-main {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 3px;
            margin-bottom: 3px;
        }
        .cred-card {
            background: var(--black);
            padding: 22px 18px;
            position: relative;
            overflow: hidden;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
            transition: background 0.25s var(--ease-out), box-shadow 0.25s;
            cursor: default;
        }
        .cred-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 2px;
            background: var(--red-primary);
        }
        .cred-card:hover { background: var(--red-deep); box-shadow: inset 0 0 0 1px rgba(199,22,29,0.3); }
        .cred-card:active { transform: scale(0.97); transition-duration: 80ms; }
        .cred-num {
            font-size: 15px;
            font-weight: 900;
            color: var(--white);
            line-height: 1.2;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
            text-transform: uppercase;
        }
        .cred-sub {
            font-size: 8px;
            font-weight: 600;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.36);
            line-height: 1.5;
        }
        .founding-strip {
            background: var(--red-primary);
            padding: 22px 28px;
            display: flex;
            align-items: center;
            gap: 24px;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 56px) 100%, 0 100%);
        }
        .founding-year-n {
            font-size: 52px;
            font-weight: 900;
            color: var(--white);
            line-height: 1;
            letter-spacing: -3px;
            font-variant-numeric: tabular-nums;
            flex-shrink: 0;
        }
        .founding-info { display: flex; flex-direction: column; gap: 5px; }
        .founding-info span {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.72);
        }
        .cred-section-label {
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 4px;
            text-transform: uppercase;
            color: var(--red-primary);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .cred-section-label::before {
            content: '';
            display: inline-block;
            width: 7px; height: 7px;
            background: var(--red-primary);
            transform: rotate(45deg);
            flex-shrink: 0;
        }

        /* ============================================================
           BRAND TICKER  (kinetic marquee)
        ============================================================ */
        .brand-ticker {
            background: var(--black);
            overflow: hidden;
            padding: 15px 0;
            position: relative;
            z-index: 3;
            border-top: 1px solid rgba(255,255,255,0.05);
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }
        .brand-ticker::before,
        .brand-ticker::after {
            content: '';
            position: absolute;
            top: 0; bottom: 0;
            width: 100px;
            z-index: 2;
            pointer-events: none;
        }
        .brand-ticker::before { left: 0;  background: linear-gradient(to right, var(--black), transparent); }
        .brand-ticker::after  { right: 0; background: linear-gradient(to left,  var(--black), transparent); }
        .ticker-track {
            display: flex;
            align-items: center;
            width: max-content;
            animation: ticker-scroll 36s linear infinite;
        }
        .ticker-track:hover { animation-play-state: paused; }
        .ticker-item {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 0 26px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.36);
            white-space: nowrap;
        }
        .ticker-item .ticker-accent { color: var(--red-primary); }
        .ticker-dot {
            width: 5px; height: 5px;
            background: var(--red-primary);
            transform: rotate(45deg);
            flex-shrink: 0;
            opacity: 0.55;
        }
        @keyframes ticker-scroll {
            from { transform: translateX(0); }
            to   { transform: translateX(-50%); }
        }

        /* ============================================================
           HERO GEO  (brand triangular motif)
        ============================================================ */
        .hero-geo {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 216px;
            height: 384px;
            z-index: 2;
            pointer-events: none;
        }
        .hero-geo svg { width: 100%; height: 100%; }

        /* ============================================================
           PROJECT CARD corner triangle accent
        ============================================================ */
        .project-card::after {
            content: '';
            position: absolute;
            top: 0; right: 0;
            width: 0; height: 0;
            border-style: solid;
            border-width: 0 26px 26px 0;
            border-color: transparent rgba(199,22,29,0.28) transparent transparent;
            z-index: 3;
        }

        /* ============================================================
           AFFILIATE CARD hover + correct stroke SVG rendering
        ============================================================ */
        .affiliate-card { transition: background 0.25s var(--ease-out), box-shadow 0.25s; }
        .affiliate-card:hover { background: rgba(199,22,29,0.1); box-shadow: inset 0 0 0 1px rgba(199,22,29,0.25); }
        .affiliate-card:active { transform: scale(0.99); transition-duration: 80ms; }
        .affiliate-icon svg { fill: none; stroke: var(--white); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

        @media (max-width: 640px) { .cred-grid-main { grid-template-columns: 1fr 1fr; } .hero-geo { display: none; } }
        @media (prefers-reduced-motion: reduce) { .ticker-track { animation: none; } }

        /* ---- Touch-device guard: disable transform hovers on non-pointer devices ---- */
        @media not all and (hover: hover) {
            .service-card:hover,
            .project-card:hover,
            .dg-info-block:hover,
            .cert-badge:hover,
            .leader-card:hover,
            .affiliate-card:hover { transform: none; }
            .hero-cta:hover { transform: none; box-shadow: 0 8px 32px rgba(199,22,29,0.45); }
            .hc-btn:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); }
        }

        /* Respect reduced-motion preference */
        @media (prefers-reduced-motion: reduce) {
            .hero-logo, .hero-sub, .hero-tagline, .hero-cta, .hero-carousel,
            #identity::after { animation: none; }
            .sr { opacity: 1; transform: none; transition: none; }
        }

        /* ---- Mission / Vision grid in Darko Group ---- */
        .dg-mv-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 32px;
            margin: 40px auto 0;
            text-align: left;
        }
        .dg-mv-block {
            border-left: 3px solid var(--red-primary);
            padding-left: 20px;
        }
        .dg-mv-label {
            display: block;
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--red-primary);
            margin-bottom: 12px;
        }
        .dg-mv-text {
            font-size: 13px;
            font-weight: 300;
            color: rgba(26,26,26,0.75);
            line-height: 1.8;
        }
        @media (max-width: 900px) {
            .dg-mv-grid { grid-template-columns: 1fr 1fr; }
        }
        @media (max-width: 600px) {
            .dg-mv-grid { grid-template-columns: 1fr; }
        }

        /* ---- Cert card — no image available ---- */
        .cred-card--no-cert { cursor: default; }
        .cred-card--no-cert:hover {
            background: var(--black);
            transform: none;
            box-shadow: none;
        }
        /* ---- Cert card — in progress ---- */
        .cred-card--pending::before { background: #c4830a; }
        .cred-card--pending .cred-num { color: rgba(255,255,255,0.55); }
        .cred-card--pending .cred-sub { color: #c4830a; }
        .cred-card--pending .cred-card-hint { color: rgba(196,131,10,0.55); }

        /* ---- Certificate lightbox ---- */
        #certLightbox {
            position: fixed;
            inset: 0;
            z-index: 2000;
            background: rgba(0,0,0,0.88);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        #certLightbox.lb-open {
            opacity: 1;
            pointer-events: auto;
        }
        .lb-inner {
            position: relative;
            max-width: min(720px, 92vw);
            max-height: 90vh;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        .lb-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }
        .lb-title {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.5);
        }
        .lb-close {
            background: none;
            border: 1px solid rgba(255,255,255,0.2);
            color: rgba(255,255,255,0.6);
            font-size: 18px;
            line-height: 1;
            cursor: pointer;
            padding: 4px 10px;
            border-radius: 2px;
            transition: border-color 0.2s, color 0.2s;
            flex-shrink: 0;
        }
        .lb-close:hover { border-color: var(--red-primary); color: var(--white); }
        .lb-img-wrap {
            overflow-y: auto;
            border: 1px solid rgba(255,255,255,0.08);
        }
        #certLightboxImg {
            display: block;
            width: 100%;
            height: auto;
        }

        /* ---- Scroll-to-top button ---- */
        #scrollTopBtn {
            position: fixed;
            bottom: 32px;
            right: 32px;
            z-index: 900;
            width: 44px;
            height: 44px;
            border-radius: 2px;
            background: var(--red-primary);
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transform: translateY(12px);
            transition: opacity 0.3s ease, transform 0.3s ease, background 0.2s, bottom 0.4s var(--ease-out);
            pointer-events: none;
        }
        body.cookie-banner-open #scrollTopBtn { bottom: 104px; }
        #scrollTopBtn.stt-visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }
        #scrollTopBtn:hover { background: var(--red-dark); }
        #scrollTopBtn svg {
            width: 18px;
            height: 18px;
            color: #fff;
        }

        /* ---- Desktop nav inline links ---- */
        .nav-inline-links {
            display: none;
        }
        @media (min-width: 1025px) {
            .nav-inline-links {
                display: flex;
                align-items: center;
                gap: 0;
                list-style: none;
            }
            .nav-inline-links a {
                color: rgba(255,255,255,0.75);
                text-decoration: none;
                font-size: 10px;
                font-weight: 700;
                letter-spacing: 2.5px;
                text-transform: uppercase;
                padding: 8px 14px;
                border-radius: 2px;
                transition: color 0.2s;
            }
            .nav-inline-links a:hover { color: var(--red-primary); }
            .nav-tab { display: none; }
        }

        /* ---- Cookie consent banner ---- */
        #cookieBanner {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 3000;
            background: var(--black);
            border-top: 3px solid var(--red-primary);
            padding: 18px 40px;
            transform: translateY(100%);
            transition: transform 0.4s var(--ease-out);
        }
        #cookieBanner.cookie-visible { transform: translateY(0); }
        .cookie-inner {
            max-width: 1280px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            flex-wrap: wrap;
        }
        .cookie-text {
            flex: 1 1 480px;
            font-size: 13px;
            font-weight: 300;
            line-height: 1.7;
            color: rgba(255,255,255,0.75);
        }
        .cookie-accept-btn {
            flex: 0 0 auto;
            background: var(--red-primary);
            color: var(--white);
            border: none;
            padding: 12px 32px;
            font-family: var(--font);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            border-radius: 2px;
            cursor: pointer;
            transition: background 0.2s;
        }
        .cookie-accept-btn:hover { background: var(--red-dark); }
        @media (max-width: 640px) {
            #cookieBanner { padding: 16px 20px; }
            .cookie-inner { flex-direction: column; align-items: stretch; text-align: center; }
            .cookie-accept-btn { width: 100%; }
        }
