.elementor-5302 .elementor-element.elementor-element-709bd00{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-b055eaa */@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");
        @import url("https://api.fontshare.com/v2/css?f[]=satoshi@300,400,500,700&display=swap");


        :root {
            --white: #FFFFFF;
            --off-white: #FAF9F6;
            --black: #000000;
            --grey: #2D2D2D;
            --grey-light: #F9F9F9;
            --border: #EEEEEE;

            /* Color Cycle Palette */
            --accent-1: #bc3626;
            /* Rose */
            --accent-2: #131a44;
            /* Gold */
            --accent-3: #bc3626;
            /* Teal */
        }

        html {
            overflow-x: hidden;
            max-width: 100%;
        }

        body {
            background-color: var(--white);
            color: var(--grey);
            font-family: 'Satoshi', 'Helvetica Neue', sans-serif;
            margin: 0;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
            max-width: 100%;
        }

        * {
            box-sizing: border-box;
        }

        /* ── STATIC NOISE OVERLAY ── */
        body::after {
            content: "";
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
            opacity: 0.02;
            pointer-events: none;
            z-index: 9999;
        }

        /* ── STAGGERED REVEAL LOGIC ── */
        .reveal-parent>* {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
            overflow: visible;
        }

        .reveal-parent.active>* {
            opacity: 1;
            transform: translateY(0);
            overflow: visible;
        }

        /* ── THE REFINED GHOST HEADER ── */
        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 85px;
            z-index: 100;
            display: flex;
            align-items: center;
            padding: 0 5%;
            transition: height 0.7s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .header-glass {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
            z-index: -1;
            transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
        }

        header.scrolled {
            height: 55px;
        }

        header.scrolled .header-glass {
            transform: translateY(-100%);
            opacity: 0;
        }

        /* ── MENU SLIDE ANIMATION ── */
        header .menu-container {
            transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
            display: flex;
            gap: 2rem;
            flex: 2;
            justify-content: space-between;
        }

        header.scrolled .menu-container {
            justify-content: flex-end !important;
            flex: 1 !important;
            gap: 15px;
        }

        header .right-spacer {
            flex: 1;
            transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }

        header.scrolled .right-spacer {
            flex: 0 !important;
            width: 0 !important;
            opacity: 0;
        }

        .header-left-slot {
            position: relative;
            flex: 1;
            display: flex;
            align-items: center;
            height: 100%;
            overflow: hidden;
        }

        .logo-container {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
        }

        header.logo-out .logo-container {
            transform: translateY(-100%);
            opacity: 0;
        }

        #header-cta {
            position: absolute;
            left: 0;
            opacity: 0;
            pointer-events: none;
            transform: translateY(-100%);
            transition: opacity 0.5s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.8s ease, box-shadow 0.4s ease;
            padding: 10px 24px;
            border: 1px solid var(--black);
            border-radius: 100px;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 600;
            text-decoration: none;
            background-color: transparent;
            color: var(--black);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
        }

        @media (max-width: 768px) {
            #header-cta {
                display: none !important;
            }
        }

        header.cta-in #header-cta {
            opacity: 0.8;
            pointer-events: auto;
            transform: translateY(0);
            background-color: var(--white);
            color: #1A1A1A;
        }

        header.cta-in.cta-hide #header-cta {
            opacity: 0;
            pointer-events: none;
            transform: translateY(-100%);
        }

        header.cta-in #header-cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
        }



        .nav-link {
            text-decoration: none;
            color: var(--black);
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            font-weight: 500;
            transition: opacity 0.2s ease, letter-spacing 0.5s ease;
        }

        /* Nav letter-spacing only on scrolled, not color */
        header.scrolled .nav-link {
            letter-spacing: 1px;
        }

        /* Nav is white while header is over the hero, dark once hero leaves */
        header.over-hero .nav-link {
            color: var(--white);
            opacity: 0.5;
        }

        header:not(.over-hero) .nav-link {
            color: var(--white);
            opacity: 0.5;
        }

        /* ── NAV GLITCH on hero boundary ── */
        @keyframes navGlitch {
            0% {
                transform: translateX(0);
                opacity: 1;
            }

            10% {
                transform: translateX(-4px);
                opacity: 0.8;
            }

            20% {
                transform: translateX(4px);
                opacity: 0.9;
            }

            30% {
                transform: translateX(-2px);
                opacity: 1;
            }

            40% {
                transform: translateX(3px);
                opacity: 0.75;
            }

            55% {
                transform: translateX(-1px);
                opacity: 1;
            }

            70% {
                transform: translateX(2px);
                opacity: 0.9;
            }

            85% {
                transform: translateX(-1px);
                opacity: 1;
            }

            100% {
                transform: translateX(0);
                opacity: 1;
            }
        }

        @keyframes glitchSliceR {

            0%,
            100% {
                opacity: 0;
                transform: translateX(0);
            }

            12% {
                opacity: 0.7;
                transform: translateX(5px);
                clip-path: inset(15% 0 60% 0);
            }

            24% {
                opacity: 0.5;
                transform: translateX(-4px);
                clip-path: inset(55% 0 10% 0);
            }

            38% {
                opacity: 0.6;
                transform: translateX(3px);
                clip-path: inset(5% 0 75% 0);
            }

            52% {
                opacity: 0;
                transform: translateX(0);
            }

            66% {
                opacity: 0.4;
                transform: translateX(-5px);
                clip-path: inset(40% 0 35% 0);
            }

            80% {
                opacity: 0.3;
                transform: translateX(2px);
                clip-path: inset(65% 0 8% 0);
            }
        }

        @keyframes glitchSliceB {

            0%,
            100% {
                opacity: 0;
                transform: translateX(0);
            }

            18% {
                opacity: 0.6;
                transform: translateX(-5px);
                clip-path: inset(45% 0 20% 0);
            }

            33% {
                opacity: 0.5;
                transform: translateX(4px);
                clip-path: inset(8% 0 68% 0);
            }

            48% {
                opacity: 0;
                transform: translateX(0);
            }

            62% {
                opacity: 0.5;
                transform: translateX(5px);
                clip-path: inset(28% 0 42% 0);
            }

            78% {
                opacity: 0.3;
                transform: translateX(-3px);
                clip-path: inset(72% 0 3% 0);
            }
        }

        @keyframes flashBurst {
            0% {
                opacity: 0;
            }

            10% {
                opacity: 0.18;
            }

            20% {
                opacity: 0;
            }

            35% {
                opacity: 0.1;
            }

            50% {
                opacity: 0;
            }

            70% {
                opacity: 0.06;
            }

            100% {
                opacity: 0;
            }
        }

        .nav-glitch-wrap {
            position: relative;
            display: inline-block;
        }

        .nav-glitch-wrap.glitching>.nav-link {
            animation: navGlitch 0.5s steps(2) forwards;
        }

        .nav-glitch-wrap.glitching::before,
        .nav-glitch-wrap.glitching::after {
            content: attr(data-text);
            position: absolute;
            inset: 0;
            pointer-events: none;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            font-weight: 500;
            white-space: nowrap;
        }

        .nav-glitch-wrap.glitching::before {
            color: #bc3626;
            animation: glitchSliceR 0.5s steps(2) forwards;
        }

        .nav-glitch-wrap.glitching::after {
            color: #131a44;
            animation: glitchSliceB 0.5s steps(2) forwards;
        }

        /* Full-width flash overlay on the header */
        #glitch-flash {
            position: absolute;
            inset: 0;
            background: white;
            opacity: 0;
            pointer-events: none;
            z-index: 200;
        }

        #glitch-flash.glitching {
            animation: flashBurst 0.5s steps(2) forwards;
        }

        .nav-link:hover,
        header.over-hero .nav-link:hover,
        header:not(.over-hero) .nav-link:hover {
            opacity: 1 !important;
            color: #bc3626 !important;
            transition: color 0.08s ease 0.01s, opacity 0.01s ease !important;
        }

        .nav-link.active {
            opacity: 1 !important;
            color: #bc3626 !important;
        }


        @media (max-width: 768px) {
            .hamburger {
                display: flex !important;
            }

            .menu-container {
                display: none !important;
            }

            header.scrolled .menu-container {
                display: none !important;
            }
        }

        /* ── HAMBURGER ── */
        .hamburger {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
            padding: 12px 14px;
            z-index: 1000;
            position: relative;
            background: #bc3626;
            border-radius: 3px;
        }

        .hamburger span {
            display: block;
            width: 24px;
            height: 1.5px;
            background: #ffffff;
            transition: opacity 0.2s ease, letter-spacing 0.5s ease;
        }

        .hamburger.open span:nth-child(1) {
            transform: translateY(6.5px) rotate(45deg);
        }

        .hamburger.open span:nth-child(2) {
            opacity: 0;
        }

        .hamburger.open span:nth-child(3) {
            transform: translateY(-6.5px) rotate(-45deg);
        }

        /* Mobile menu overlay */
        .mobile-menu {
            position: fixed;
            inset: 0;
            background: #111;
            z-index: 900;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 48px;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.4s ease;
        }

        .mobile-menu.open {
            opacity: 1;
            pointer-events: auto;
        }

        .mobile-menu a {
            font-size: clamp(2rem, 8vw, 4rem);
            font-weight: 700;
            color: #FAF9F6;
            text-decoration: none;
            text-transform: uppercase;
            letter-spacing: -1px;
            opacity: 0.8;
            transition: opacity 0.2s;
        }

        .mobile-menu a:hover {
            opacity: 1;
        }

        @media (max-width: 768px) {
            .hamburger {
                display: flex;
            }
        }

        /* ── HERO ── */
        .hero {
            position: relative;
            width: 100%;
            height: 100vh;
            max-width: 100vw;
            background: #000;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-image-frame {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            max-width: 100%;
            overflow: hidden;
            z-index: 1;
            isolation: isolate;
        }

        /* ── HERO B&W → GLITCH → COLOUR sequence ── */
        @keyframes heroColourReveal {
            0% {
                opacity: 0;
                filter: grayscale(1) brightness(0.85);
            }

            8% {
                opacity: 0.75;
                filter: grayscale(1) brightness(0.85);
            }

            44% {
                opacity: 0.75;
                filter: grayscale(1) brightness(0.85);
            }

            50% {
                opacity: 0.75;
                filter: grayscale(0.6) brightness(1.2);
            }

            58% {
                opacity: 0.6;
                filter: grayscale(0.8) brightness(0.9);
            }

            65% {
                opacity: 0.75;
                filter: grayscale(0.2) brightness(1.1);
            }

            80% {
                opacity: 0.75;
                filter: grayscale(0) brightness(1);
            }

            100% {
                opacity: 0.75;
                filter: grayscale(0) brightness(1);
            }
        }

        @keyframes heroGlitchR {

            0%,
            44%,
            70%,
            100% {
                opacity: 0;
                transform: translateX(0);
                clip-path: inset(0 0 0 0);
            }

            50% {
                opacity: 0.6;
                transform: translateX(14px);
                clip-path: inset(15% 0 55% 0);
            }

            55% {
                opacity: 0.5;
                transform: translateX(-12px);
                clip-path: inset(55% 0 10% 0);
            }

            60% {
                opacity: 0.7;
                transform: translateX(10px);
                clip-path: inset(25% 0 45% 0);
            }

            65% {
                opacity: 0.3;
                transform: translateX(-6px);
                clip-path: inset(0 0 0 0);
            }
        }

        @keyframes heroGlitchB {

            0%,
            44%,
            70%,
            100% {
                opacity: 0;
                transform: translateX(0);
                clip-path: inset(0 0 0 0);
            }

            50% {
                opacity: 0.6;
                transform: translateX(-14px);
                clip-path: inset(15% 0 55% 0);
            }

            55% {
                opacity: 0.5;
                transform: translateX(12px);
                clip-path: inset(55% 0 10% 0);
            }

            60% {
                opacity: 0.7;
                transform: translateX(-10px);
                clip-path: inset(25% 0 45% 0);
            }

            65% {
                opacity: 0.3;
                transform: translateX(6px);
                clip-path: inset(0 0 0 0);
            }
        }

        .hero .bg-image.glitch-intro {
            animation: heroColourReveal 2.5s linear forwards;
            animation-delay: 0.2s;
        }

        .hero-rgb-layer {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scale(1.3);
            pointer-events: none;
            opacity: 0;
            z-index: 2;
        }

        .hero-rgb-layer.red {
            mix-blend-mode: screen;
            filter: url(#redChannel);
            animation: heroGlitchR 2.5s steps(2) forwards;
            animation-delay: 0.2s;
        }

        .hero-rgb-layer.blue {
            mix-blend-mode: screen;
            filter: url(#blueChannel);
            animation: heroGlitchB 2.5s steps(2) forwards;
            animation-delay: 0.2s;
        }

        .hero .bg-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0.75;
            transform: scale(1.3);
            will-change: transform, filter;
            transition: transform 0.2s ease-out, filter 0.2s ease-out;
            max-width: none;
        }

        .hero-text {
            position: absolute;
            bottom: calc(5% + 60px);
            left: 0;
            color: var(--off-white);
            max-width: min(700px, 90vw);
            padding-left: 5%;
            z-index: 10;
            pointer-events: none;
            transform-origin: left bottom;
            will-change: transform, opacity;
        }

        .hero-text * {
            pointer-events: auto;
        }

        /* ── ANIMATED MESH GRADIENT TEXT ── */
        .text-gradient {
            background: linear-gradient(-45deg,
                    #bc3626,
                    #131a44,
                    #d44a39,
                    #0d1533,
                    #bc3626,
                    #131a44,
                    #bc3626);
            background-size: 400% 400%;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            display: inline-block;
            animation: flowingMesh 16s ease infinite;
            padding-right: 0.15em;
            margin-right: -0.15em;
        }

        @keyframes flowingMesh {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        /* ── ELEMENTS ── */
        .btn-minimal {
            background: var(--grey);
            color: var(--off-white);
            padding: 20px 40px;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            font-weight: 600;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
            display: inline-block;
            border: none;
            cursor: pointer;
            border-radius: 2px;
        }

        .btn-minimal:hover {
            background: var(--black);
            letter-spacing: 5px;
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        }

        .section-spacing {
            padding: 160px 5%;
        }

        @media (max-width: 768px) {
            .section-spacing {
                padding: 80px 5%;
            }
        }

        h1,
        h2,
        h3 {
            font-family: 'Plus Jakarta Sans', 'Helvetica Neue', sans-serif;
        }

        h2 {
            font-size: clamp(2rem, 6vw, 3.5rem);
            font-weight: 500;
            letter-spacing: -1px;
            line-height: 1;
        }

        .accent-dot {
            display: inline-block;
            width: 6px;
            height: 6px;
            background-color: var(--accent-3);
            margin-right: 12px;
            margin-bottom: 2px;
            border-radius: 1px;
            vertical-align: middle;
        }

        /* ── EXPANDABLE SERVICES ── */
        .service-bg-num {
            position: absolute;
            right: -20px;
            top: 50%;
            transform: translateY(-50%) scale(0.8);
            font-size: clamp(120px, 18vw, 200px);
            font-weight: 800;
            color: #2D2D2D;
            opacity: 0;
            line-height: 1;
            pointer-events: none;
            user-select: none;
            letter-spacing: -8px;
            transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
            z-index: 0;
        }

        .service-item.expanded .service-bg-num {
            opacity: 0.04;
            transform: translateY(-50%) scale(1);
        }

        .service-item {
            cursor: pointer;
            position: relative;
            overflow: hidden;
            transition: all 0.7s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .service-item:hover {
            background-color: white;
        }

        .service-header {
            display: flex;
            flex-direction: row;
            align-items: center;
            padding: 48px 16px;
        }

        .service-content-wrapper {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows 0.7s cubic-bezier(0.16, 1, 0.3, 1);
            overflow: hidden;
        }

        .service-item.expanded .service-content-wrapper {
            grid-template-rows: 1fr;
        }

        .service-inner-text {
            min-height: 0;
            overflow: hidden;
            padding: 0 16px 0 16px;
            display: flex;
            gap: 0;
        }

        .service-item.expanded .service-inner-text {
            padding: 0 16px 48px 16px;
        }

        .toggle-icon {
            font-size: 1.5rem;
            font-weight: 200;
            transition: transform 0.5s ease;
            margin-left: auto;
            flex-shrink: 0;
        }

        .service-item.expanded .toggle-icon {
            transform: rotate(45deg);
        }

        .service-item h3 {
            transition: color 0.6s ease;
            background-size: 200% 200%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: inherit;
            background-image: none;
        }

        .service-item.expanded h3 {
            background-image: linear-gradient(90deg, var(--accent-1), var(--accent-3), var(--accent-2));
            -webkit-text-fill-color: transparent;
            animation: gradientShift 4s ease infinite;
            background-size: 200% 200%;
        }

        @keyframes gradientShift {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        .service-item h3.fading-gradient {
            background-image: linear-gradient(90deg, var(--accent-1), var(--accent-3), var(--accent-2));
            -webkit-text-fill-color: transparent;
            animation: none;
            transition: opacity 0.8s ease;
            opacity: 0;
        }


        .service-text-col {
            width: 100%;
        }

        @media (min-width: 768px) {
            .service-text-col {
                width: 66.666%;
            }
        }

        /* ── SERVICE PROCESS BLOCK ── */
        .service-process {
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid rgba(0, 0, 0, 0.06);
        }

        .service-process-label {
            font-size: 0.55rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            opacity: 0.3;
            margin-bottom: 14px;
            display: block;
        }

        .service-process-steps {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .service-process-step {
            display: flex;
            align-items: baseline;
            gap: 12px;
            font-size: 0.78rem;
            line-height: 1.6;
            opacity: 0.55;
        }

        .service-process-step-title {
            font-size: 0.62rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 2px;
            opacity: 1;
            color: var(--accent-3);
            flex-shrink: 0;
            min-width: 110px;
        }

        @media (min-width: 768px) {
            .service-inner-text {
                padding-left: 0;
            }
        }

        /* ── FORM UI ── */
        .form-group {
            position: relative;
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
            padding-bottom: 12px;
            transition: border-color 0.4s ease;
        }

        .form-group:focus-within {
            border-color: var(--grey);
        }

        .form-label {
            position: absolute;
            top: 0;
            left: 0;
            text-transform: uppercase;
            letter-spacing: 3px;
            font-size: 0.6rem;
            opacity: 0.3;
            transition: all 0.4s ease;
            pointer-events: none;
        }

        .form-input {
            width: 100%;
            background: transparent;
            outline: none;
            font-size: 1.875rem;
            font-weight: 300;
            padding-top: 24px;
        }

        .form-group:focus-within .form-label {
            opacity: 1;
            transform: translateY(-5px);
        }

        /* ── CONTACT FORM 7 COMPATIBILITY ── */
        /* CF7 wraps fields in <span class="wpcf7-form-controls-wrap"> */
        /* These rules ensure CF7 output matches our design exactly */

        .cf7-form .wpcf7-form-controls-wrap {
            display: block;
            width: 100%;
        }

        /* CF7 validation states */
        .cf7-form .wpcf7-not-valid {
            box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(220, 60, 60, 0.4) !important;
        }

        .cf7-form .wpcf7-not-valid-tip {
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: rgba(200, 50, 50, 0.7);
            margin-top: 6px;
            display: block;
        }

        .cf7-form .wpcf7-response-output {
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            padding: 0;
            border-radius: 0;
            margin-top: 0;
            border: none !important;
            background: none !important;
            color: #bc3626;
        }

        /* Success */
        .cf7-form .wpcf7-mail-sent-ok {
            background: rgba(77, 182, 172, 0.12);
            color: #131a44;
        }

        /* Error */
        .cf7-form .wpcf7-mail-sent-ng,
        .cf7-form .wpcf7-validation-errors,
        .cf7-form .wpcf7-acceptance-missing {
            background: rgba(220, 60, 60, 0.08);
            color: rgba(200, 50, 50, 0.8);
        }

        /* CF7 spinner — hide default, we handle loading state via CSS */
        .cf7-form .wpcf7-spinner {
            display: none;
        }

        .social-icon {
            opacity: 0.4;
            transition: opacity 0.2s ease, letter-spacing 0.5s ease;
            color: inherit;
            margin-right: 16px;
        }

        .social-icon:hover {
            opacity: 1;
            color: #bc3626 !important;
        }

        @media (max-width: 768px) {
            h2 {
                font-size: 2.5rem;
            }

            .section-padding {
                padding: 100px 5%;
            }

            .hero-text {
                padding: 40px 5%;
            }

            .form-input {
                font-size: 1.25rem;
            }
        }



        .work-item {
            cursor: pointer;
            overflow: visible;
        }

        .work-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 60%);
            display: none !important;
            align-items: flex-end;
            padding: 28px;
        }

        .work-item-img-wrap:hover .work-overlay {
            display: flex !important;
        }

        .work-overlay span {
            color: #fff;
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            font-weight: 600;
        }

        .work-num {
            position: absolute;
            top: 16px;
            left: 20px;
            font-size: 0.6rem;
            font-weight: 700;
            letter-spacing: 2px;
            color: #fff;
            opacity: 0.6;
            transition: opacity 0.4s ease;
            pointer-events: none;
            z-index: 2;
            mix-blend-mode: difference;
        }





        .calc-item {
            display: flex;
            flex-direction: column;
            gap: 6px;
            padding: 20px 24px;
            border: 1px solid #C8C8C8;
            background: #fff;
            cursor: pointer;
            text-align: left;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            min-width: 160px;
            border-radius: 3px;
        }

        .calc-item:hover {
            border-color: #2D2D2D;
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
            background: #fff !important;
            color: #2D2D2D !important;
        }

        .calc-item.active {
            background: #EBEBEB;
            border-color: #2C3E6B;
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
        }

        .calc-item.active:hover {
            background: #EBEBEB !important;
            border-color: #2C3E6B !important;
            color: #2D2D2D !important;
        }

        .calc-item.active .calc-item-name {
            color: #2D2D2D;
        }

        .calc-item.active .calc-item-price {
            color: var(--accent-1);
        }

        .calc-item-name {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.5px;
            color: #2D2D2D;
            transition: color 0.3s;
        }

        .calc-item-price {
            font-size: 0.8rem;
            font-weight: 500;
            color: rgba(0, 0, 0, 0.55);
            font-family: 'Satoshi', sans-serif;
            transition: color 0.3s;
        }

        .calc-item--monthly::after {
            content: 'monatlich';
            position: absolute;
            top: 8px;
            right: 8px;
            font-size: 0.45rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: rgba(0, 0, 0, 0.2);
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .calc-item--monthly.active::after {
            color: rgba(255, 255, 255, 0.3);
        }

        @media(max-width:768px) {
            .calc-category>div {
                grid-template-columns: 1fr !important;
            }
        }


        .footer-link:hover {
            color: #bc3626 !important;
            opacity: 1 !important;
            transition: color 0.3s ease;
        }

        /* ── NEUTRALISE BROWSER AUTOFILL BLUE ── */
        input:-webkit-autofill,
        input:-webkit-autofill:hover,
        input:-webkit-autofill:focus,
        textarea:-webkit-autofill,
        textarea:-webkit-autofill:hover,
        textarea:-webkit-autofill:focus {
            -webkit-box-shadow: 0 0 0px 1000px rgba(0, 0, 0, 0.06) inset, inset 0 2px 6px rgba(0, 0, 0, 0.08) !important;
            box-shadow: 0 0 0px 1000px rgba(0, 0, 0, 0.06) inset, inset 0 2px 6px rgba(0, 0, 0, 0.08) !important;
            -webkit-text-fill-color: #2D2D2D !important;
            background-color: rgba(0, 0, 0, 0.06) !important;
            transition: background-color 5000s ease-in-out 0s;
        }

        header.scrolled .nav-glitch-wrap {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 3px;
            padding: 2px 12px;
            transition: background 0.3s ease, border-color 0.3s ease;
        }

        header.scrolled .nav-glitch-wrap:hover {
            background: rgba(255, 255, 255, 0.18);
            border-color: #bc3626;
        }

        header.scrolled .nav-glitch-wrap:has(.nav-link.active) {
            border-color: #bc3626;
            background: rgba(188, 54, 38, 0.08);
        }

        /* ── FOOTER CONTACT LINKS HOVER ── */
        .footer-contact-link {
            transition: color 0.08s ease 0.01s, opacity 0.01s ease !important;
        }

        .footer-contact-link:hover {
            opacity: 1 !important;
            color: #bc3626 !important;
        }

        .about-half {
            width: 100%;
            box-sizing: border-box;
        }

        @media (min-width: 768px) {
            .about-half {
                width: 50%;
            }
        }

        @media (max-width: 768px) {
            #aboutImgWrap {
                height: 320px !important;
            }
        }

        /* ── MISSING TAILWIND REPLACEMENTS ── */
        .object-cover {
            object-fit: cover;
        }

        .object-contain {
            object-fit: contain;
        }

        .group:hover .group-hover\:grayscale-0 {
            filter: grayscale(0);
        }

        .group:hover .group-hover\:scale-105 {
            transform: scale(1.05);
        }

        .transition-all {
            transition: all 0.7s ease;
        }

        .duration-700 {
            transition-duration: 700ms;
        }

        .grayscale {
            filter: grayscale(1);
        }

        /* Work item image sizing */
        .work-item .aspect-\[4\/3\] img,
        .work-item .aspect-\[4\/5\] img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Aspect ratio containers need explicit height when aspect-ratio not supported */
        .aspect-\[4\/3\] {
            position: relative;
        }

        .aspect-\[4\/5\] {
            position: relative;
        }

        .text-\[0\.6rem\] {
            font-size: 0.6rem;
        }

        .text-\[0\.55rem\] {
            font-size: 0.55rem;
        }

        .tracking-\[4px\] {
            letter-spacing: 4px;
        }

        .tracking-\[3px\] {
            letter-spacing: 3px;
        }

        .mb-4 {
            margin-bottom: 1rem;
        }

        .font-medium {
            font-weight: 500;
        }

        .text-black {
            color: #000;
        }

        .space-y-0>*+* {
            margin-top: 0;
        }

        .border-b {
            border-bottom: 1px solid;
        }

        .border-t {
            border-top: 1px solid;
        }

        .border-gray-200 {
            border-color: #e5e7eb;
        }


        .about-flex-row {
            display: flex;
            flex-direction: column;
            gap: 2rem;
            align-items: center;
        }

        @media (min-width: 768px) {
            .about-flex-row {
                flex-direction: row;
            }
        }


        /* ── ADDITIONAL MISSING CLASSES ── */
        .gap-20 {
            gap: 5rem;
        }

        .gap-24 {
            gap: 6rem;
        }

        .items-start {
            align-items: flex-start;
        }

        .items-center {
            align-items: center;
        }

        .justify-between {
            justify-content: space-between;
        }

        .flex-shrink-0 {
            flex-shrink: 0;
        }

        .font-medium {
            font-weight: 500;
        }

        .mb-10 {
            margin-bottom: 2.5rem;
        }

        .mb-16 {
            margin-bottom: 4rem;
        }

        .text-lg {
            font-size: 1.125rem;
            line-height: 1.75rem;
        }

        .text-xl {
            font-size: 1.25rem;
            line-height: 1.75rem;
        }

        @media (min-width: 768px) {
            .md\:grid-cols-3 {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .md\:col-span-1 {
                grid-column: span 1 / span 1;
            }

            .md\:col-span-2 {
                grid-column: span 2 / span 2;
            }

            .md\:text-2xl {
                font-size: 1.5rem;
                line-height: 2rem;
            }

            .md\:text-lg {
                font-size: 1.125rem;
                line-height: 1.75rem;
            }

            .md\:flex-row {
                flex-direction: row;
            }

            .md\:w-1\/2 {
                width: 50%;
            }

            .md\:w-2\/3 {
                width: 66.666%;
            }
        }

        /* Footer padding fix */
        .px-\[5\%\] {
            padding-left: 5%;
            padding-right: 5%;
        }

        /* Service items */
        .space-y-0 {
            margin-top: 0;
        }

        .border-b.border-gray-200 {
            border-bottom: 1px solid #e5e7eb;
        }

        .border-t.border-gray-200 {
            border-top: 1px solid #e5e7eb;
        }

        /* Pricing calculator */
        .grid-cols-1 {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        @media (min-width: 768px) {
            .md\:grid-cols-2.gap-6 {
                gap: 1.5rem;
            }
        }

        /* Hero text sizes */
        .text-\[0\.7rem\] {
            font-size: 0.7rem;
        }

        .tracking-\[2px\] {
            letter-spacing: 2px;
        }

        /* Work section */
        .group {
            position: relative;
        }

        /* Opacity missing */
        .opacity-50 {
            opacity: 0.5;
        }

        .opacity-30 {
            opacity: 0.3;
        }

        /* mb-32 */
        .mb-32 {
            margin-bottom: 8rem;
        }


        /* Override Elementor global link/hover color */
        .calc-item:hover,
        .calc-item:hover *,
        .k53-lb-nav,
        .k53-lb-nav:hover,
        .k53-lb-close,
        .k53-lb-close:hover,
        .k53-lb-dot,
        .k53-lb-dot:hover,
        .dae20-lb-nav,
        .dae20-lb-nav:hover,
        .dae20-lb-close,
        .dae20-lb-close:hover,
        .dae20-lb-dot,
        .dae20-lb-dot:hover,
        #dae20lp-lightbox button,
        #dae20lp-lightbox button:hover,
        .work-item *,
        .work-item *:hover {
            color: inherit !important;
        }

        #calc-quote-btn {
            color: #fff !important;
        }

        #calc-reset-btn {
            color: var(--grey) !important;
        }

        .calc-item:hover {
            color: var(--black) !important;
        }

        .calc-item.active,
        .calc-item.active:hover {
            color: #fff !important;
        }

        .k53-lb-nav:hover,
        .dae20-lb-nav:hover,
        #dae20lp-lightbox .k53-lb-nav:hover {
            color: #fff !important;
        }

        .k53-lb-close:hover,
        .dae20-lb-close:hover {
            color: #fff !important;
        }

        /* Override Elementor default pink hover (#d30c5c) on interactive elements */
        .calc-item:hover,
        .calc-item:hover *,
        .k53-lb-nav,
        .k53-lb-nav:hover,
        .k53-lb-close,
        .k53-lb-close:hover,
        .k53-lb-dot,
        .k53-lb-dot:hover,
        .dae20-lb-nav,
        .dae20-lb-nav:hover,
        .dae20-lb-close,
        .dae20-lb-close:hover,
        .dae20-lb-dot,
        .dae20-lb-dot:hover,
        #dae20lp-lightbox button,
        #dae20lp-lightbox button:hover,
        .work-item *,
        .work-item *:hover {
            color: inherit !important;
        }

        #calc-quote-btn {
            color: #fff !important;
        }

        #calc-reset-btn {
            color: var(--grey) !important;
        }

        .calc-item:hover {
            color: var(--black) !important;
        }

        .calc-item.active,
        .calc-item.active:hover {
            color: #fff !important;
        }

        .k53-lb-nav:hover,
        .dae20-lb-nav:hover,
        #dae20lp-lightbox .k53-lb-nav:hover {
            color: #fff !important;
        }

        .k53-lb-close:hover,
        .dae20-lb-close:hover {
            color: #fff !important;
        }

        /* ── PRICING RESPONSIVE ── */
        .calc-cat-grid {
            display: grid;
            grid-template-columns: 200px 1fr;
            gap: 40px;
            align-items: start;
        }

        @media (max-width: 768px) {
            .calc-cat-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .calc-item {
                min-width: 0;
            }

            #calc-grid {
                overflow: visible;
            }
        }

        @media (min-width: 768px) {
            .cf7-form.space-y-8 .md\:grid-cols-2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 768px) {
            .footer-grid {
                grid-template-columns: 1fr !important;
                gap: 2rem !important;
                text-align: center;
            }

            .footer-grid a,
            .footer-grid p,
            .footer-grid span,
            .footer-grid div {
                text-align: center;
            }

            .footer-grid>div {
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .px-\[5\%\] {
                padding-left: 5%;
                padding-right: 5%;
            }
        }

        @media (max-width: 768px) {
            .hero {
                height: 75vh;
            }

            .hero-text {
                left: 0 !important;
                right: 0 !important;
                bottom: 5% !important;
                padding-left: 5% !important;
                padding-right: 5% !important;
                max-width: 100% !important;
            }
        }

        @media (max-width: 768px) {
            #k53-lb-prev {
                left: 8px;
            }

            #k53-lb-next {
                right: 8px;
            }

            #k53-lightbox-img {
                max-width: 96vw;
                max-height: 60vh;
            }

            .dae20-slide {
                width: 96vw !important;
                height: min(400px, 60vh) !important;
            }

            .k53-lb-footer,
            .dae20-lb-footer {
                padding: 16px;
                gap: 16px;
            }
        }

        .cf7-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        @media (min-width: 768px) {
            .cf7-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .work-item h3 {
                font-size: 1.2rem !important;
            }
        }

        @media (max-width: 768px) {
            .service-header {
                padding: 24px 16px;
                flex-direction: row;
                align-items: center;
            }

            .service-item.expanded .service-inner-text {
                padding: 0 16px 24px 16px;
            }

            .service-bg-num {
                display: none;
            }
        }

        @media (max-width: 768px) {
            .calc-item {
                min-width: 0;
                width: 100%;
                box-sizing: border-box;
            }

            #calc-grid>div>div>div:last-child {
                flex-direction: column;
            }

            .k53-lb-header,
            .dae20-lb-header {
                padding: 16px 20px;
            }
        }

        @media (max-width: 768px) {
            .md\:grid-cols-3 {
                grid-template-columns: 1fr !important;
            }

            .md\:col-span-2 {
                grid-column: span 1 !important;
            }

            .md\:col-span-1 {
                grid-column: span 1 !important;
            }
        }

        @media (max-width: 768px) {
            #btt {
                display: none !important;
            }
        }

        .bunny-logo {
            height: 2.5rem !important;
            max-height: 2.5rem !important;
            width: auto !important;
        }

        /* ── GLOBAL LINK HOVER ── */
        a:not(.nav-link):not(.mobile-nav-link):not(#header-cta):not(.logo-container):not(.footer-home-btn):hover {
            color: #bc3626 !important;
            transition: color 0.3s ease;
        }

        /* ── TAILWIND REPLACEMENTS ── */
        .mx-auto {
            margin-left: auto;
            margin-right: auto;
        }

        .max-w-6xl {
            max-width: 72rem;
        }

        .max-w-7xl {
            max-width: 80rem;
        }

        .max-w-xl {
            max-width: 36rem;
        }

        .max-w-lg {
            max-width: 32rem;
        }

        .w-full {
            width: 100%;
        }

        .h-full {
            height: 100%;
        }

        .h-8 {
            height: 2rem;
        }

        .h-10 {
            height: 2.5rem;
        }

        .block {
            display: block;
        }

        .hidden {
            display: none;
        }

        .relative {
            position: relative;
        }

        .overflow-hidden {
            overflow: hidden;
        }

        .shadow-sm {
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
        }

        .bg-gray-100 {
            background-color: #f3f4f6;
        }

        .bg-image {
            background-size: cover;
            background-position: center;
        }

        .border-t {
            border-top: 1px solid;
        }

        .border-b {
            border-bottom: 1px solid;
        }

        .border-gray-200 {
            border-color: #e5e7eb;
        }

        .uppercase {
            text-transform: uppercase;
        }

        .font-bold {
            font-weight: 700;
        }

        .font-light {
            font-weight: 300;
        }

        .leading-relaxed {
            line-height: 1.625;
        }

        .leading-snug {
            line-height: 1.375;
        }

        .tracking-tight {
            letter-spacing: -0.025em;
        }

        .tracking-tighter {
            letter-spacing: -0.05em;
        }

        .tracking-\[3px\] {
            letter-spacing: 3px;
        }

        .tracking-\[4px\] {
            letter-spacing: 4px;
        }

        .opacity-40 {
            opacity: 0.4;
        }

        .opacity-50 {
            opacity: 0.5;
        }

        .opacity-60 {
            opacity: 0.6;
        }

        .opacity-70 {
            opacity: 0.7;
        }

        .opacity-80 {
            opacity: 0.8;
        }

        .opacity-90 {
            opacity: 0.9;
        }

        .hover\:opacity-100:hover {
            opacity: 1;
        }

        .mb-1 {
            margin-bottom: 0.25rem;
        }

        .mb-2 {
            margin-bottom: 0.5rem;
        }

        .mb-4 {
            margin-bottom: 1rem;
        }

        .mb-6 {
            margin-bottom: 1.5rem;
        }

        .mb-8 {
            margin-bottom: 2rem;
        }

        .mb-10 {
            margin-bottom: 2.5rem;
        }

        .mb-20 {
            margin-bottom: 5rem;
        }

        .mb-32 {
            margin-bottom: 8rem;
        }

        .mt-6 {
            margin-top: 1.5rem;
        }

        .pt-5 {
            padding-top: 1.25rem;
        }

        .space-y-0>*+* {
            margin-top: 0;
        }

        .space-y-8>*+* {
            margin-top: 2rem;
        }

        .flex {
            display: flex;
        }

        .flex-col {
            flex-direction: column;
        }

        .flex-1 {
            flex: 1;
        }

        .flex-\[2\] {
            flex: 2;
        }

        .items-center {
            align-items: center;
        }

        .items-start {
            align-items: flex-start;
        }

        .justify-between {
            justify-content: space-between;
        }

        .gap-6 {
            gap: 1.5rem;
        }

        .gap-12 {
            gap: 3rem;
        }

        .gap-16 {
            gap: 4rem;
        }

        .gap-20 {
            gap: 5rem;
        }

        .gap-24 {
            gap: 6rem;
        }

        .gap-x-12 {
            column-gap: 3rem;
        }

        .gap-y-16 {
            row-gap: 4rem;
        }

        .grid {
            display: grid;
        }

        .grid-cols-1 {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .col-span-2 {
            grid-column: span 2 / span 2;
        }

        .text-black {
            color: #000;
        }

        .text-xs {
            font-size: 0.75rem;
            line-height: 1rem;
        }

        .text-sm {
            font-size: 0.875rem;
            line-height: 1.25rem;
        }

        .text-2xl {
            font-size: 1.5rem;
            line-height: 2rem;
        }

        .text-4xl {
            font-size: 2.25rem;
            line-height: 2.5rem;
        }

        .text-\[0\.55rem\] {
            font-size: 0.55rem;
        }

        .text-\[0\.6rem\] {
            font-size: 0.6rem;
        }

        .text-\[0\.65rem\] {
            font-size: 0.65rem;
        }

        .text-\[0\.7rem\] {
            font-size: 0.7rem;
        }

        .text-\[1\.25rem\] {
            font-size: 1.25rem;
        }

        .font-medium {
            font-weight: 500;
        }

        /* ── RESPONSIVE REPLACEMENTS ── */
        @media (min-width: 768px) {
            .md\:flex {
                display: flex;
            }

            .md\:hidden {
                display: none;
            }

            .md\:grid-cols-2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .md\:grid-cols-3 {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .md\:grid-cols-4 {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }

            .md\:col-span-1 {
                grid-column: span 1 / span 1;
            }

            .md\:col-span-2 {
                grid-column: span 2 / span 2;
            }

            .md\:w-1\/2 {
                width: 50%;
            }

            .md\:w-2\/3 {
                width: 66.666667%;
            }

            .md\:text-2xl {
                font-size: 1.5rem;
                line-height: 2rem;
            }

            .md\:text-4xl {
                font-size: 2.25rem;
                line-height: 2.5rem;
            }

            .md\:text-lg {
                font-size: 1.125rem;
                line-height: 1.75rem;
            }

            .hidden.md\:flex {
                display: flex;
            }
        }

        @media (max-width: 767px) {
            .md\:flex {
                display: none;
            }

            .md\:hidden {
                display: block;
            }
        }

        .px-\[5\%\] {
            padding-left: 5%;
            padding-right: 5%;
        }

        .aspect-\[4\/3\] {
            aspect-ratio: 4/3;
        }

        .aspect-\[4\/5\] {
            aspect-ratio: 4/5;
        }

        .group:hover .group-hover\:grayscale-0 {
            filter: grayscale(0);
        }

        .group:hover .group-hover\:scale-105 {
            transform: scale(1.05);
        }

        .grayscale {
            filter: grayscale(1);
        }

        .transition-all {
            transition: all;
        }

        .duration-700 {
            transition-duration: 700ms;
        }

        .italic {
            font-style: italic;
        }




        .about-img-wrap {
            perspective: 800px;
            cursor: pointer;
        }

        .about-img-inner img {
            width: 100%;
            height: 580px;
            object-fit: cover;
            display: block;
            filter: grayscale(100%);
            transition: filter 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .about-img-wrap:hover .about-img-inner img {
            filter: grayscale(0%);
        }

        /* Glitch layers */
        .about-img-inner::before,
        .about-img-inner::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image: url('https://riptight.com/wp-content/uploads/2026/03/A_close-up_moody_202603220933-scaled.avif');
            background-size: cover;
            background-position: center;
            opacity: 0;
            mix-blend-mode: screen;
            transition: opacity 0.05s;
        }

        .about-img-inner::before {
            background-color: rgba(255, 0, 0, 0.4);
            mix-blend-mode: multiply;
        }

        .about-img-inner::after {
            background-color: rgba(0, 200, 255, 0.4);
            mix-blend-mode: multiply;
        }

        .about-img-wrap.glitching .about-img-inner::before {
            opacity: 1;
            transform: translateX(-6px);
            animation: glitch-r 0.3s steps(2) forwards;
        }

        .about-img-wrap.glitching .about-img-inner::after {
            opacity: 1;
            transform: translateX(6px);
            animation: glitch-b 0.3s steps(2) forwards;
        }

        @keyframes glitch-r {
            0% {
                transform: translateX(-6px) scaleY(1);
                clip-path: inset(20% 0 60% 0);
            }

            25% {
                transform: translateX(4px) scaleY(1.02);
                clip-path: inset(50% 0 10% 0);
            }

            50% {
                transform: translateX(-3px);
                clip-path: inset(70% 0 5% 0);
            }

            100% {
                transform: translateX(0);
                opacity: 0;
            }
        }

        @keyframes glitch-b {
            0% {
                transform: translateX(6px) scaleY(0.98);
                clip-path: inset(10% 0 70% 0);
            }

            25% {
                transform: translateX(-4px);
                clip-path: inset(60% 0 20% 0);
            }

            50% {
                transform: translateX(2px);
                clip-path: inset(30% 0 40% 0);
            }

            100% {
                transform: translateX(0);
                opacity: 0;
            }
        }



        #k53-lightbox {
            position: fixed;
            inset: 0;
            z-index: 99000;
            background: rgba(0, 0, 0, 0.96);
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        #k53-lightbox.open {
            display: flex
        }

        #k53-lightbox-img {
            max-width: 88vw;
            max-height: 72vh;
            object-fit: contain;
            border-radius: 2px;
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6);
            transition: opacity 0.3s ease;
        }

        #k53-lightbox-img.fading {
            opacity: 0
        }

        .k53-lb-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 24px 40px;
            z-index: 10;
        }

        .k53-lb-title {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            color: rgba(255, 255, 255, 0.4);
        }

        .k53-lb-close {
            background: none;
            border: none;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.5);
            font-size: 1.4rem;
            line-height: 1;
            transition: color 0.2s;
            padding: 0;
        }

        .k53-lb-close:hover {
            color: #fff
        }

        .k53-lb-nav {
            position: fixed;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.5);
            width: 48px;
            height: 48px;
            cursor: pointer;
            font-size: 1.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color 0.2s, color 0.2s;
            border-radius: 0;
        }

        .k53-lb-nav:hover {
            border-color: rgba(255, 255, 255, 0.5);
            color: #fff !important;
            background: rgba(255, 255, 255, 0.1) !important;
        }

        #k53-lb-prev {
            left: 32px
        }

        #k53-lb-next {
            right: 32px
        }

        .k53-lb-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 48px;
            padding: 28px 40px;
        }

        .k53-lb-label {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: rgba(255, 255, 255, 0.7);
        }

        .k53-lb-dots {
            display: flex;
            gap: 8px;
            align-items: center
        }

        .k53-lb-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.2);
            cursor: pointer;
            transition: background 0.3s, transform 0.3s;
            border: none;
            padding: 0;
        }

        .k53-lb-dot.active {
            background: #fff;
            transform: scale(1.4);
        }



        #btt {
            position: fixed;
            bottom: 40px;
            right: 40px;
            z-index: 9000;
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
            border: 1px solid rgba(0, 0, 0, 0.15);
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        #btt.visible {
            opacity: 1;
            pointer-events: auto;
        }

        #btt-label {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.6rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: #111;
            position: relative;
            transition: opacity 0.2s;
        }

        /* glitch layers */
        #btt-label::before,
        #btt-label::after {
            content: attr(data-text);
            position: absolute;
            inset: 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.6rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            opacity: 0;
            pointer-events: none;
        }

        #btt-label::before {
            color: #bc3626;
        }

        #btt-label::after {
            color: #131a44;
        }

        @keyframes bttGlitchMain {

            0%,
            100% {
                transform: translateX(0) scaleX(1);
                opacity: 1
            }

            10% {
                transform: translateX(-8px) scaleX(1.05);
                opacity: 0.7
            }

            25% {
                transform: translateX(10px) scaleX(0.95);
                opacity: 0.9
            }

            40% {
                transform: translateX(-6px);
                opacity: 0.6
            }

            55% {
                transform: translateX(8px);
                opacity: 0.85
            }

            70% {
                transform: translateX(-4px);
                opacity: 1
            }

            85% {
                transform: translateX(3px);
                opacity: 0.9
            }
        }

        @keyframes bttGlitchR {

            0%,
            100% {
                opacity: 0;
                transform: translateX(0)
            }

            15% {
                opacity: 0.9;
                transform: translateX(12px);
                clip-path: inset(10% 0 55% 0)
            }

            30% {
                opacity: 0.7;
                transform: translateX(-10px);
                clip-path: inset(65% 0 5% 0)
            }

            45% {
                opacity: 0.8;
                transform: translateX(14px);
                clip-path: inset(25% 0 45% 0)
            }

            60% {
                opacity: 0.5;
                transform: translateX(-8px);
                clip-path: inset(5% 0 75% 0)
            }

            75% {
                opacity: 0.6;
                transform: translateX(10px);
                clip-path: inset(45% 0 20% 0)
            }

            90% {
                opacity: 0;
                transform: translateX(0)
            }
        }

        @keyframes bttGlitchB {

            0%,
            100% {
                opacity: 0;
                transform: translateX(0)
            }

            20% {
                opacity: 0.8;
                transform: translateX(-12px);
                clip-path: inset(55% 0 10% 0)
            }

            35% {
                opacity: 0.6;
                transform: translateX(10px);
                clip-path: inset(8% 0 60% 0)
            }

            50% {
                opacity: 0.7;
                transform: translateX(-14px);
                clip-path: inset(30% 0 38% 0)
            }

            65% {
                opacity: 0.5;
                transform: translateX(8px);
                clip-path: inset(70% 0 5% 0)
            }

            80% {
                opacity: 0.4;
                transform: translateX(-6px);
                clip-path: inset(20% 0 55% 0)
            }

            95% {
                opacity: 0;
                transform: translateX(0)
            }
        }

        #btt.glitching #btt-label {
            animation: bttGlitchMain 0.55s steps(3) forwards;
        }

        #btt.glitching #btt-label::before {
            animation: bttGlitchR 0.55s steps(3) forwards;
            opacity: 1;
        }

        #btt.glitching #btt-label::after {
            animation: bttGlitchB 0.55s steps(3) forwards;
            opacity: 1;
        }

        @keyframes bttFlash {
            0% {
                opacity: 0
            }

            10% {
                opacity: 0.25
            }

            20% {
                opacity: 0
            }

            40% {
                opacity: 0.18
            }

            55% {
                opacity: 0
            }

            75% {
                opacity: 0.12
            }

            100% {
                opacity: 0
            }
        }

        #btt-flash {
            position: absolute;
            inset: 0;
            background: white;
            opacity: 0;
            pointer-events: none;
        }

        #btt.glitching #btt-flash {
            animation: bttFlash 0.55s steps(3) forwards;
        }



        #dae20-lightbox {
            position: fixed;
            inset: 0;
            z-index: 99001;
            background: rgba(0, 0, 0, 0.96);
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        #dae20-lightbox.open {
            display: flex
        }

        .dae20-slide {
            width: min(900px, 88vw);
            height: min(560px, 65vh);
            border-radius: 2px;
            overflow: hidden;
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6);
            transition: opacity 0.3s ease;
            flex-shrink: 0;
        }

        .dae20-slide.fading {
            opacity: 0
        }

        .dae20-lb-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 24px 40px;
            z-index: 10;
        }

        .dae20-lb-title {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            color: rgba(255, 255, 255, 0.4);
        }

        .dae20-lb-close {
            background: none;
            border: none;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.5);
            font-size: 1.4rem;
            transition: color 0.2s;
            padding: 0;
        }

        .dae20-lb-close:hover {
            color: #fff
        }

        .dae20-lb-nav {
            position: fixed;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.5);
            width: 48px;
            height: 48px;
            cursor: pointer;
            font-size: 1.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color 0.2s, color 0.2s;
        }

        .dae20-lb-nav:hover {
            border-color: rgba(255, 255, 255, 0.5);
            color: #fff !important;
            background: rgba(255, 255, 255, 0.1) !important;
        }

        #dae20-lb-prev {
            left: 32px
        }

        #dae20-lb-next {
            right: 32px
        }

        .dae20-lb-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 48px;
            padding: 28px 40px;
        }

        .dae20-lb-label {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: rgba(255, 255, 255, 0.7);
        }

        .dae20-lb-dots {
            display: flex;
            gap: 8px;
            align-items: center;
        }

        .dae20-lb-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.2);
            cursor: pointer;
            transition: background 0.3s, transform 0.3s;
            border: none;
            padding: 0;
        }

        .dae20-lb-dot.active {
            background: #fff;
            transform: scale(1.4);
        }



        .st0 {
            fill: #364263;
        }

        .st1 {
            font-family: Scandia-Medium, Scandia;
            font-size: 15.52px;
            font-weight: 500;
        }

        .st1,
        .st2 {
            fill: #b1b3b6;
        }

        .st3 {
            fill: #d5d7d8;
        }



        .st0,
        .st1 {
            fill: #2d374c;
        }

        .st1 {
            font-family: Scandia-Medium, Scandia;
            font-size: 15.52px;
            font-weight: 500;
        }

        .st2 {
            fill: #5a5b5d;
        }

        .st3 {
            fill: #95979a;
        }



        .st0 {
            fill: #364263;
        }

        .st1 {
            font-family: Scandia-Medium, Scandia;
            font-size: 15.52px;
            font-weight: 500;
        }

        .st1,
        .st2 {
            fill: #b1b3b6;
        }

        .st3 {
            fill: #d5d7d8;
        }



        .rt-btn:not(:disabled):hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15) !important;
        }

        .rt-btn:not(:disabled):active {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
        }

        .rt-btn--glass:hover {
            background: rgba(255, 255, 255, 0.45) !important;
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
        }



        #legal-overlay {
            position: fixed;
            inset: 0;
            z-index: 99500;
            background: rgba(0, 0, 0, 0.25);
            backdrop-filter: blur(1.5px);
            -webkit-backdrop-filter: blur(1.5px);
            display: none;
            align-items: center;
            justify-content: center;
            padding: 40px 24px;
            box-sizing: border-box;
        }

        @media (max-width: 768px) {
            #legal-overlay {
                padding: 0;
                align-items: flex-end;
            }

            #legal-card {
                max-height: 94vh;
                width: 100%;
                border-radius: 3px 3px 0 0;
            }

            #legal-header {
                padding: 16px 20px;
            }

            #legal-body {
                padding: 20px;
                font-size: 0.8rem;
            }

            #legal-card {
                max-width: 100% !important;
            }
        }

        #legal-overlay.open {
            display: flex;
        }

        #legal-card {
            background: rgba(255, 255, 255, 0.07);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid #bc3626;
            border-radius: 3px;
            width: 100%;
            max-width: 760px;
            max-height: 85vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.08);
            animation: legalFadeIn 0.3s ease forwards;
        }

        @keyframes legalFadeIn {
            from {
                opacity: 0;
                transform: translateY(16px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        #legal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 28px 36px;
            border-bottom: 1px solid rgba(188, 54, 38, 0.25);
            flex-shrink: 0;
        }

        #legal-title {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            color: rgba(255, 255, 255, 0.6);
            margin: 0;
        }

        #legal-close {
            background: none;
            border: none;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.4);
            font-size: 1.4rem;
            line-height: 1;
            padding: 0;
            transition: color 0.2s;
        }

        #legal-close:hover {
            color: #bc3626;
        }

        #legal-close:focus,
        #legal-close:focus-visible {
            outline: none;
        }

        #legal-body {
            padding: 36px;
            overflow-y: auto;
            flex: 1;
            color: rgba(255, 255, 255, 0.75);
            font-family: 'Satoshi', sans-serif;
            font-size: 0.875rem;
            line-height: 1.8;
            scrollbar-width: thin;
            scrollbar-color: rgba(188, 54, 38, 0.4) transparent;
        }

        #legal-body::-webkit-scrollbar {
            width: 4px;
        }

        #legal-body::-webkit-scrollbar-track {
            background: transparent;
        }

        #legal-body::-webkit-scrollbar-thumb {
            background: rgba(188, 54, 38, 0.4);
            border-radius: 2px;
        }

        #legal-body h2 {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 1.4rem;
            font-weight: 600;
            color: #fff;
            letter-spacing: -0.5px;
            margin: 0 0 24px;
        }

        #legal-body h3 {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: #bc3626;
            margin: 28px 0 10px;
        }

        #legal-body p {
            margin: 0 0 16px;
        }

        #legal-body a {
            color: #bc3626;
            text-decoration: none;
        }

        #legal-body a:hover {
            text-decoration: underline;
        }

        #legal-body hr {
            border: none;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            margin: 24px 0;
        }

        /* ── RESPONSIVE FIXES (batch) ── */
        @media (max-width: 768px) {

            /* Phone + callback grid → single column */
            .phone-callback-grid {
                grid-template-columns: 1fr !important;
            }

            /* Contact section: tighten the 6rem gap between heading col and form col */
            .gap-24 {
                gap: 2rem !important;
            }

            /* About flip card back panel: reduce padding on mobile */
            #aboutFlipInner>div:last-of-type {
                padding: 28px !important;
            }
        }
    

            .work-item {
                cursor: pointer;
                overflow: visible;
            }

            .work-overlay {
                position: absolute;
                inset: 0;
                background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 60%);
                display: none !important;
                align-items: flex-end;
                padding: 28px;
            }

            .work-item-img-wrap:hover .work-overlay {
                display: flex !important;
            }

            .work-overlay span {
                color: #fff;
                font-size: 0.6rem;
                text-transform: uppercase;
                letter-spacing: 3px;
                font-weight: 600;
            }

            .work-num {
                position: absolute;
                top: 16px;
                left: 20px;
                font-size: 0.6rem;
                font-weight: 700;
                letter-spacing: 2px;
                color: #fff;
                opacity: 0.6;
                transition: opacity 0.4s ease;
                pointer-events: none;
                z-index: 2;
                mix-blend-mode: difference;
            }
        

            .calc-item {
                display: flex;
                flex-direction: column;
                gap: 6px;
                padding: 20px 24px;
                border: 1px solid #C8C8C8;
                background: #fff;
                cursor: pointer;
                text-align: left;
                transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
                position: relative;
                min-width: 160px;
                border-radius: 3px;
            }

            .calc-item:hover {
                border-color: #2D2D2D;
                transform: translateY(-2px);
                box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
                background: #fff !important;
                color: #2D2D2D !important;
            }

            .calc-item.active {
                background: #EBEBEB;
                border-color: #2C3E6B;
                transform: translateY(-2px);
                box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
            }

            .calc-item.active:hover {
                background: #EBEBEB !important;
                border-color: #2C3E6B !important;
                color: #2D2D2D !important;
            }

            .calc-item.active .calc-item-name {
                color: #2D2D2D;
            }

            .calc-item.active .calc-item-price {
                color: var(--accent-1);
            }

            .calc-item-name {
                font-family: 'Plus Jakarta Sans', sans-serif;
                font-size: 0.75rem;
                font-weight: 600;
                letter-spacing: 0.5px;
                color: #2D2D2D;
                transition: color 0.3s;
            }

            .calc-item-price {
                font-size: 0.8rem;
                font-weight: 500;
                color: rgba(0, 0, 0, 0.55);
                font-family: 'Satoshi', sans-serif;
                transition: color 0.3s;
            }

            .calc-item--monthly::after {
                content: 'monatlich';
                position: absolute;
                top: 8px;
                right: 8px;
                font-size: 0.45rem;
                text-transform: uppercase;
                letter-spacing: 2px;
                color: rgba(0, 0, 0, 0.2);
                font-family: 'Plus Jakarta Sans', sans-serif;
            }

            .calc-item--monthly.active::after {
                color: rgba(255, 255, 255, 0.3);
            }

            @media(max-width:768px) {
                .calc-category>div {
                    grid-template-columns: 1fr !important;
                }
            }


            .footer-link:hover {
                color: #bc3626 !important;
                opacity: 1 !important;
                transition: color 0.3s ease;
            }

            /* ── NEUTRALISE BROWSER AUTOFILL BLUE ── */
            input:-webkit-autofill,
            input:-webkit-autofill:hover,
            input:-webkit-autofill:focus,
            textarea:-webkit-autofill,
            textarea:-webkit-autofill:hover,
            textarea:-webkit-autofill:focus {
                -webkit-box-shadow: 0 0 0px 1000px rgba(0, 0, 0, 0.06) inset, inset 0 2px 6px rgba(0, 0, 0, 0.08) !important;
                box-shadow: 0 0 0px 1000px rgba(0, 0, 0, 0.06) inset, inset 0 2px 6px rgba(0, 0, 0, 0.08) !important;
                -webkit-text-fill-color: #2D2D2D !important;
                background-color: rgba(0, 0, 0, 0.06) !important;
                transition: background-color 5000s ease-in-out 0s;
            }

            header.scrolled .nav-glitch-wrap {
                background: rgba(255, 255, 255, 0.1);
                backdrop-filter: blur(12px);
                -webkit-backdrop-filter: blur(12px);
                border: 1px solid rgba(255, 255, 255, 0.12);
                border-radius: 3px;
                padding: 2px 12px;
                transition: background 0.3s ease, border-color 0.3s ease;
            }

            header.scrolled .nav-glitch-wrap:hover {
                background: rgba(255, 255, 255, 0.18);
                border-color: #bc3626;
            }

            header.scrolled .nav-glitch-wrap:has(.nav-link.active) {
                border-color: #bc3626;
                background: rgba(188, 54, 38, 0.08);
            }

            /* ── FOOTER CONTACT LINKS HOVER ── */
            .footer-contact-link {
                transition: color 0.08s ease 0.01s, opacity 0.01s ease !important;
            }

            .footer-contact-link:hover {
                opacity: 1 !important;
                color: #bc3626 !important;
            }

            .about-half {
                width: 100%;
                box-sizing: border-box;
            }

            @media (min-width: 768px) {
                .about-half {
                    width: 50%;
                }
            }

            @media (max-width: 768px) {
                #aboutImgWrap {
                    height: 320px !important;
                }
            }

            /* ── MISSING TAILWIND REPLACEMENTS ── */
            .object-cover {
                object-fit: cover;
            }

            .object-contain {
                object-fit: contain;
            }

            .group:hover .group-hover\:grayscale-0 {
                filter: grayscale(0);
            }

            .group:hover .group-hover\:scale-105 {
                transform: scale(1.05);
            }

            .transition-all {
                transition: all 0.7s ease;
            }

            .duration-700 {
                transition-duration: 700ms;
            }

            .grayscale {
                filter: grayscale(1);
            }

            /* Work item image sizing */
            .work-item .aspect-\[4\/3\] img,
            .work-item .aspect-\[4\/5\] img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            /* Aspect ratio containers need explicit height when aspect-ratio not supported */
            .aspect-\[4\/3\] {
                position: relative;
            }

            .aspect-\[4\/5\] {
                position: relative;
            }

            .text-\[0\.6rem\] {
                font-size: 0.6rem;
            }

            .text-\[0\.55rem\] {
                font-size: 0.55rem;
            }

            .tracking-\[4px\] {
                letter-spacing: 4px;
            }

            .tracking-\[3px\] {
                letter-spacing: 3px;
            }

            .mb-4 {
                margin-bottom: 1rem;
            }

            .font-medium {
                font-weight: 500;
            }

            .text-black {
                color: #000;
            }

            .space-y-0>*+* {
                margin-top: 0;
            }

            .border-b {
                border-bottom: 1px solid;
            }

            .border-t {
                border-top: 1px solid;
            }

            .border-gray-200 {
                border-color: #e5e7eb;
            }


            .about-flex-row {
                display: flex;
                flex-direction: column;
                gap: 2rem;
                align-items: center;
            }

            @media (min-width: 768px) {
                .about-flex-row {
                    flex-direction: row;
                }
            }


            /* ── ADDITIONAL MISSING CLASSES ── */
            .gap-20 {
                gap: 5rem;
            }

            .gap-24 {
                gap: 6rem;
            }

            .items-start {
                align-items: flex-start;
            }

            .items-center {
                align-items: center;
            }

            .justify-between {
                justify-content: space-between;
            }

            .flex-shrink-0 {
                flex-shrink: 0;
            }

            .font-medium {
                font-weight: 500;
            }

            .mb-10 {
                margin-bottom: 2.5rem;
            }

            .mb-16 {
                margin-bottom: 4rem;
            }

            .text-lg {
                font-size: 1.125rem;
                line-height: 1.75rem;
            }

            .text-xl {
                font-size: 1.25rem;
                line-height: 1.75rem;
            }

            @media (min-width: 768px) {
                .md\:grid-cols-3 {
                    grid-template-columns: repeat(3, minmax(0, 1fr));
                }

                .md\:col-span-1 {
                    grid-column: span 1 / span 1;
                }

                .md\:col-span-2 {
                    grid-column: span 2 / span 2;
                }

                .md\:text-2xl {
                    font-size: 1.5rem;
                    line-height: 2rem;
                }

                .md\:text-lg {
                    font-size: 1.125rem;
                    line-height: 1.75rem;
                }

                .md\:flex-row {
                    flex-direction: row;
                }

                .md\:w-1\/2 {
                    width: 50%;
                }

                .md\:w-2\/3 {
                    width: 66.666%;
                }
            }

            /* Footer padding fix */
            .px-\[5\%\] {
                padding-left: 5%;
                padding-right: 5%;
            }

            /* Service items */
            .space-y-0 {
                margin-top: 0;
            }

            .border-b.border-gray-200 {
                border-bottom: 1px solid #e5e7eb;
            }

            .border-t.border-gray-200 {
                border-top: 1px solid #e5e7eb;
            }

            /* Pricing calculator */
            .grid-cols-1 {
                grid-template-columns: repeat(1, minmax(0, 1fr));
            }

            @media (min-width: 768px) {
                .md\:grid-cols-2.gap-6 {
                    gap: 1.5rem;
                }
            }

            /* Hero text sizes */
            .text-\[0\.7rem\] {
                font-size: 0.7rem;
            }

            .tracking-\[2px\] {
                letter-spacing: 2px;
            }

            /* Work section */
            .group {
                position: relative;
            }

            /* Opacity missing */
            .opacity-50 {
                opacity: 0.5;
            }

            .opacity-30 {
                opacity: 0.3;
            }

            /* mb-32 */
            .mb-32 {
                margin-bottom: 8rem;
            }


            /* ── PRICING RESPONSIVE ── */
            .calc-cat-grid {
                display: grid;
                grid-template-columns: 200px 1fr;
                gap: 40px;
                align-items: start;
            }

            @media (max-width: 768px) {
                .calc-cat-grid {
                    grid-template-columns: 1fr;
                    gap: 16px;
                }

                .calc-item {
                    min-width: 0;
                }

                #calc-grid {
                    overflow: visible;
                }
            }

            @media (min-width: 768px) {
                .cf7-form.space-y-8 .md\:grid-cols-2 {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }
            }

            @media (max-width: 768px) {
                .footer-grid {
                    grid-template-columns: 1fr !important;
                    gap: 2rem !important;
                    text-align: center;
                }

                .footer-grid a,
                .footer-grid p,
                .footer-grid span,
                .footer-grid div {
                    text-align: center;
                }

                .footer-grid>div {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                }

                .px-\[5\%\] {
                    padding-left: 5%;
                    padding-right: 5%;
                }
            }

            @media (max-width: 768px) {
                .hero-text {
                    left: 0 !important;
                    right: 0 !important;
                    bottom: calc(4% + 60px) !important;
                    padding-left: 5% !important;
                    padding-right: 5% !important;
                    max-width: 100% !important;
                    max-width: 100% !important;
                }
            }

            @media (max-width: 768px) {
                #k53-lb-prev {
                    left: 8px;
                }

                #k53-lb-next {
                    right: 8px;
                }

                #k53-lightbox-img {
                    max-width: 96vw;
                    max-height: 60vh;
                }

                .dae20-slide {
                    width: 96vw !important;
                    height: min(400px, 60vh) !important;
                }

                .k53-lb-footer,
                .dae20-lb-footer {
                    padding: 16px;
                    gap: 16px;
                }
            }

            .cf7-grid {
                display: grid;
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }

            @media (min-width: 768px) {
                .cf7-grid {
                    grid-template-columns: repeat(2, 1fr);
                }
            }

            @media (max-width: 768px) {
                .work-item h3 {
                    font-size: 1.2rem !important;
                }
            }

            @media (max-width: 768px) {
                .service-header {
                    padding: 24px 16px;
                }

                .service-item.expanded .service-inner-text {
                    padding: 0 16px 24px 16px;
                }

                .service-bg-num {
                    display: none;
                }
            }

            @media (max-width: 768px) {
                .calc-item {
                    min-width: 0;
                    width: 100%;
                    box-sizing: border-box;
                }

                #calc-grid>div>div>div:last-child {
                    flex-direction: column;
                }

                .k53-lb-header,
                .dae20-lb-header {
                    padding: 16px 20px;
                }
            }

            @media (max-width: 768px) {
                .md\:grid-cols-3 {
                    grid-template-columns: 1fr !important;
                }

                .md\:col-span-2 {
                    grid-column: span 1 !important;
                }

                .md\:col-span-1 {
                    grid-column: span 1 !important;
                }
            }

            @media (max-width: 768px) {
                #btt {
                    bottom: 20px;
                    right: 20px;
                }
            }

            .bunny-logo {
                height: 2.5rem !important;
                max-height: 2.5rem !important;
                width: auto !important;
            }

            /* ── GLOBAL LINK HOVER ── */
            a:not(.nav-link):not(.mobile-nav-link):not(#header-cta):not(.logo-container):not(.footer-home-btn):hover {
                color: #bc3626 !important;
                transition: color 0.3s ease;
            }

            /* ── TAILWIND REPLACEMENTS ── */
            .mx-auto {
                margin-left: auto;
                margin-right: auto;
            }

            .max-w-6xl {
                max-width: 72rem;
            }

            .max-w-7xl {
                max-width: 80rem;
            }

            .max-w-xl {
                max-width: 36rem;
            }

            .max-w-lg {
                max-width: 32rem;
            }

            .w-full {
                width: 100%;
            }

            .h-full {
                height: 100%;
            }

            .h-8 {
                height: 2rem;
            }

            .h-10 {
                height: 2.5rem;
            }

            .block {
                display: block;
            }

            .hidden {
                display: none;
            }

            .relative {
                position: relative;
            }

            .overflow-hidden {
                overflow: hidden;
            }

            .shadow-sm {
                box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
            }

            .bg-gray-100 {
                background-color: #f3f4f6;
            }

            .bg-image {
                background-size: cover;
                background-position: center;
            }

            .border-t {
                border-top: 1px solid;
            }

            .border-b {
                border-bottom: 1px solid;
            }

            .border-gray-200 {
                border-color: #e5e7eb;
            }

            .uppercase {
                text-transform: uppercase;
            }

            .font-bold {
                font-weight: 700;
            }

            .font-light {
                font-weight: 300;
            }

            .leading-relaxed {
                line-height: 1.625;
            }

            .leading-snug {
                line-height: 1.375;
            }

            .tracking-tight {
                letter-spacing: -0.025em;
            }

            .tracking-tighter {
                letter-spacing: -0.05em;
            }

            .tracking-\[3px\] {
                letter-spacing: 3px;
            }

            .tracking-\[4px\] {
                letter-spacing: 4px;
            }

            .opacity-40 {
                opacity: 0.4;
            }

            .opacity-50 {
                opacity: 0.5;
            }

            .opacity-60 {
                opacity: 0.6;
            }

            .opacity-70 {
                opacity: 0.7;
            }

            .opacity-80 {
                opacity: 0.8;
            }

            .opacity-90 {
                opacity: 0.9;
            }

            .hover\:opacity-100:hover {
                opacity: 1;
            }

            .mb-1 {
                margin-bottom: 0.25rem;
            }

            .mb-2 {
                margin-bottom: 0.5rem;
            }

            .mb-4 {
                margin-bottom: 1rem;
            }

            .mb-6 {
                margin-bottom: 1.5rem;
            }

            .mb-8 {
                margin-bottom: 2rem;
            }

            .mb-10 {
                margin-bottom: 2.5rem;
            }

            .mb-20 {
                margin-bottom: 5rem;
            }

            .mb-32 {
                margin-bottom: 8rem;
            }

            .mt-6 {
                margin-top: 1.5rem;
            }

            .pt-5 {
                padding-top: 1.25rem;
            }

            .space-y-0>*+* {
                margin-top: 0;
            }

            .space-y-8>*+* {
                margin-top: 2rem;
            }

            .flex {
                display: flex;
            }

            .flex-col {
                flex-direction: column;
            }

            .flex-1 {
                flex: 1;
            }

            .flex-\[2\] {
                flex: 2;
            }

            .items-center {
                align-items: center;
            }

            .items-start {
                align-items: flex-start;
            }

            .justify-between {
                justify-content: space-between;
            }

            .gap-6 {
                gap: 1.5rem;
            }

            .gap-12 {
                gap: 3rem;
            }

            .gap-16 {
                gap: 4rem;
            }

            .gap-20 {
                gap: 5rem;
            }

            .gap-24 {
                gap: 6rem;
            }

            .gap-x-12 {
                column-gap: 3rem;
            }

            .gap-y-16 {
                row-gap: 4rem;
            }

            .grid {
                display: grid;
            }

            .grid-cols-1 {
                grid-template-columns: repeat(1, minmax(0, 1fr));
            }

            .col-span-2 {
                grid-column: span 2 / span 2;
            }

            .text-black {
                color: #000;
            }

            .text-xs {
                font-size: 0.75rem;
                line-height: 1rem;
            }

            .text-sm {
                font-size: 0.875rem;
                line-height: 1.25rem;
            }

            .text-2xl {
                font-size: 1.5rem;
                line-height: 2rem;
            }

            .text-4xl {
                font-size: 2.25rem;
                line-height: 2.5rem;
            }

            .text-\[0\.55rem\] {
                font-size: 0.55rem;
            }

            .text-\[0\.6rem\] {
                font-size: 0.6rem;
            }

            .text-\[0\.65rem\] {
                font-size: 0.65rem;
            }

            .text-\[0\.7rem\] {
                font-size: 0.7rem;
            }

            .text-\[1\.25rem\] {
                font-size: 1.25rem;
            }

            .font-medium {
                font-weight: 500;
            }

            /* ── RESPONSIVE REPLACEMENTS ── */
            @media (min-width: 768px) {
                .md\:flex {
                    display: flex;
                }

                .md\:hidden {
                    display: none;
                }

                .md\:grid-cols-2 {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                }

                .md\:grid-cols-3 {
                    grid-template-columns: repeat(3, minmax(0, 1fr));
                }

                .md\:grid-cols-4 {
                    grid-template-columns: repeat(4, minmax(0, 1fr));
                }

                .md\:col-span-1 {
                    grid-column: span 1 / span 1;
                }

                .md\:col-span-2 {
                    grid-column: span 2 / span 2;
                }

                .md\:w-1\/2 {
                    width: 50%;
                }

                .md\:w-2\/3 {
                    width: 66.666667%;
                }

                .md\:text-2xl {
                    font-size: 1.5rem;
                    line-height: 2rem;
                }

                .md\:text-4xl {
                    font-size: 2.25rem;
                    line-height: 2.5rem;
                }

                .md\:text-lg {
                    font-size: 1.125rem;
                    line-height: 1.75rem;
                }

                .hidden.md\:flex {
                    display: flex;
                }
            }

            @media (max-width: 767px) {
                .md\:flex {
                    display: none;
                }

                .md\:hidden {
                    display: block;
                }
            }

            .px-\[5\%\] {
                padding-left: 5%;
                padding-right: 5%;
            }

            .aspect-\[4\/3\] {
                aspect-ratio: 4/3;
            }

            .aspect-\[4\/5\] {
                aspect-ratio: 4/5;
            }

            .group:hover .group-hover\:grayscale-0 {
                filter: grayscale(0);
            }

            .group:hover .group-hover\:scale-105 {
                transform: scale(1.05);
            }

            .grayscale {
                filter: grayscale(1);
            }

            .transition-all {
                transition: all;
            }

            .duration-700 {
                transition-duration: 700ms;
            }

            .italic {
                font-style: italic;
            }
        

            .about-img-wrap {
                perspective: 800px;
                cursor: pointer;
            }

            .about-img-inner img {
                width: 100%;
                height: 580px;
                object-fit: cover;
                display: block;
                filter: grayscale(100%);
                transition: filter 0.8s cubic-bezier(0.16, 1, 0.3, 1);
            }

            .about-img-wrap:hover .about-img-inner img {
                filter: grayscale(0%);
            }

            /* Glitch layers */
            .about-img-inner::before,
            .about-img-inner::after {
                content: '';
                position: absolute;
                inset: 0;
                background-image: url('https://riptight.com/wp-content/uploads/2026/03/A_close-up_moody_202603220933-scaled.avif');
                background-size: cover;
                background-position: center;
                opacity: 0;
                mix-blend-mode: screen;
                transition: opacity 0.05s;
            }

            .about-img-inner::before {
                background-color: rgba(255, 0, 0, 0.4);
                mix-blend-mode: multiply;
            }

            .about-img-inner::after {
                background-color: rgba(0, 200, 255, 0.4);
                mix-blend-mode: multiply;
            }

            .about-img-wrap.glitching .about-img-inner::before {
                opacity: 1;
                transform: translateX(-6px);
                animation: glitch-r 0.3s steps(2) forwards;
            }

            .about-img-wrap.glitching .about-img-inner::after {
                opacity: 1;
                transform: translateX(6px);
                animation: glitch-b 0.3s steps(2) forwards;
            }

            @keyframes glitch-r {
                0% {
                    transform: translateX(-6px) scaleY(1);
                    clip-path: inset(20% 0 60% 0);
                }

                25% {
                    transform: translateX(4px) scaleY(1.02);
                    clip-path: inset(50% 0 10% 0);
                }

                50% {
                    transform: translateX(-3px);
                    clip-path: inset(70% 0 5% 0);
                }

                100% {
                    transform: translateX(0);
                    opacity: 0;
                }
            }

            @keyframes glitch-b {
                0% {
                    transform: translateX(6px) scaleY(0.98);
                    clip-path: inset(10% 0 70% 0);
                }

                25% {
                    transform: translateX(-4px);
                    clip-path: inset(60% 0 20% 0);
                }

                50% {
                    transform: translateX(2px);
                    clip-path: inset(30% 0 40% 0);
                }

                100% {
                    transform: translateX(0);
                    opacity: 0;
                }
            }
        

        #k53-lightbox {
            position: fixed;
            inset: 0;
            z-index: 99000;
            background: rgba(0, 0, 0, 0.96);
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        #k53-lightbox.open {
            display: flex
        }

        #k53-lightbox-img {
            max-width: 88vw;
            max-height: 72vh;
            object-fit: contain;
            border-radius: 2px;
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6);
            transition: opacity 0.3s ease;
        }

        #k53-lightbox-img.fading {
            opacity: 0
        }

        .k53-lb-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 24px 40px;
            z-index: 10;
        }

        .k53-lb-title {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            color: rgba(255, 255, 255, 0.4);
        }

        .k53-lb-close {
            background: none;
            border: none;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.5);
            font-size: 1.4rem;
            line-height: 1;
            transition: color 0.2s;
            padding: 0;
        }

        .k53-lb-close:hover {
            color: #fff
        }

        .k53-lb-nav {
            position: fixed;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.5);
            width: 48px;
            height: 48px;
            cursor: pointer;
            font-size: 1.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color 0.2s, color 0.2s;
            border-radius: 0;
        }

        .k53-lb-nav:hover {
            border-color: rgba(255, 255, 255, 0.5);
            color: #fff !important;
            background: rgba(255, 255, 255, 0.1) !important;
        }

        #k53-lb-prev {
            left: 32px
        }

        #k53-lb-next {
            right: 32px
        }

        .k53-lb-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 48px;
            padding: 28px 40px;
        }

        .k53-lb-label {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: rgba(255, 255, 255, 0.7);
        }

        .k53-lb-dots {
            display: flex;
            gap: 8px;
            align-items: center
        }

        .k53-lb-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.2);
            cursor: pointer;
            transition: background 0.3s, transform 0.3s;
            border: none;
            padding: 0;
        }

        .k53-lb-dot.active {
            background: #fff;
            transform: scale(1.4);
        }
    

        #btt {
            position: fixed;
            bottom: 40px;
            right: 40px;
            z-index: 9000;
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
            border: 1px solid rgba(0, 0, 0, 0.15);
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        #btt.visible {
            opacity: 1;
            pointer-events: auto;
        }

        #btt-label {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.6rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: #111;
            position: relative;
            transition: opacity 0.2s;
        }

        /* glitch layers */
        #btt-label::before,
        #btt-label::after {
            content: attr(data-text);
            position: absolute;
            inset: 0;
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.6rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            opacity: 0;
            pointer-events: none;
        }

        #btt-label::before {
            color: #bc3626;
        }

        #btt-label::after {
            color: #131a44;
        }

        @keyframes bttGlitchMain {

            0%,
            100% {
                transform: translateX(0) scaleX(1);
                opacity: 1
            }

            10% {
                transform: translateX(-8px) scaleX(1.05);
                opacity: 0.7
            }

            25% {
                transform: translateX(10px) scaleX(0.95);
                opacity: 0.9
            }

            40% {
                transform: translateX(-6px);
                opacity: 0.6
            }

            55% {
                transform: translateX(8px);
                opacity: 0.85
            }

            70% {
                transform: translateX(-4px);
                opacity: 1
            }

            85% {
                transform: translateX(3px);
                opacity: 0.9
            }
        }

        @keyframes bttGlitchR {

            0%,
            100% {
                opacity: 0;
                transform: translateX(0)
            }

            15% {
                opacity: 0.9;
                transform: translateX(12px);
                clip-path: inset(10% 0 55% 0)
            }

            30% {
                opacity: 0.7;
                transform: translateX(-10px);
                clip-path: inset(65% 0 5% 0)
            }

            45% {
                opacity: 0.8;
                transform: translateX(14px);
                clip-path: inset(25% 0 45% 0)
            }

            60% {
                opacity: 0.5;
                transform: translateX(-8px);
                clip-path: inset(5% 0 75% 0)
            }

            75% {
                opacity: 0.6;
                transform: translateX(10px);
                clip-path: inset(45% 0 20% 0)
            }

            90% {
                opacity: 0;
                transform: translateX(0)
            }
        }

        @keyframes bttGlitchB {

            0%,
            100% {
                opacity: 0;
                transform: translateX(0)
            }

            20% {
                opacity: 0.8;
                transform: translateX(-12px);
                clip-path: inset(55% 0 10% 0)
            }

            35% {
                opacity: 0.6;
                transform: translateX(10px);
                clip-path: inset(8% 0 60% 0)
            }

            50% {
                opacity: 0.7;
                transform: translateX(-14px);
                clip-path: inset(30% 0 38% 0)
            }

            65% {
                opacity: 0.5;
                transform: translateX(8px);
                clip-path: inset(70% 0 5% 0)
            }

            80% {
                opacity: 0.4;
                transform: translateX(-6px);
                clip-path: inset(20% 0 55% 0)
            }

            95% {
                opacity: 0;
                transform: translateX(0)
            }
        }

        #btt.glitching #btt-label {
            animation: bttGlitchMain 0.55s steps(3) forwards;
        }

        #btt.glitching #btt-label::before {
            animation: bttGlitchR 0.55s steps(3) forwards;
            opacity: 1;
        }

        #btt.glitching #btt-label::after {
            animation: bttGlitchB 0.55s steps(3) forwards;
            opacity: 1;
        }

        @keyframes bttFlash {
            0% {
                opacity: 0
            }

            10% {
                opacity: 0.25
            }

            20% {
                opacity: 0
            }

            40% {
                opacity: 0.18
            }

            55% {
                opacity: 0
            }

            75% {
                opacity: 0.12
            }

            100% {
                opacity: 0
            }
        }

        #btt-flash {
            position: absolute;
            inset: 0;
            background: white;
            opacity: 0;
            pointer-events: none;
        }

        #btt.glitching #btt-flash {
            animation: bttFlash 0.55s steps(3) forwards;
        }
    

        #dae20-lightbox {
            position: fixed;
            inset: 0;
            z-index: 99001;
            background: rgba(0, 0, 0, 0.96);
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        #dae20-lightbox.open {
            display: flex
        }

        .dae20-slide {
            width: min(900px, 88vw);
            height: min(560px, 65vh);
            border-radius: 2px;
            overflow: hidden;
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6);
            transition: opacity 0.3s ease;
            flex-shrink: 0;
        }

        .dae20-slide.fading {
            opacity: 0
        }

        .dae20-lb-header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 24px 40px;
            z-index: 10;
        }

        .dae20-lb-title {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            color: rgba(255, 255, 255, 0.4);
        }

        .dae20-lb-close {
            background: none;
            border: none;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.5);
            font-size: 1.4rem;
            transition: color 0.2s;
            padding: 0;
        }

        .dae20-lb-close:hover {
            color: #fff
        }

        .dae20-lb-nav {
            position: fixed;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.5);
            width: 48px;
            height: 48px;
            cursor: pointer;
            font-size: 1.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color 0.2s, color 0.2s;
        }

        .dae20-lb-nav:hover {
            border-color: rgba(255, 255, 255, 0.5);
            color: #fff !important;
            background: rgba(255, 255, 255, 0.1) !important;
        }

        #dae20-lb-prev {
            left: 32px
        }

        #dae20-lb-next {
            right: 32px
        }

        .dae20-lb-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 48px;
            padding: 28px 40px;
        }

        .dae20-lb-label {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: rgba(255, 255, 255, 0.7);
        }

        .dae20-lb-dots {
            display: flex;
            gap: 8px;
            align-items: center;
        }

        .dae20-lb-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.2);
            cursor: pointer;
            transition: background 0.3s, transform 0.3s;
            border: none;
            padding: 0;
        }

        .dae20-lb-dot.active {
            background: #fff;
            transform: scale(1.4);
        }
    

      .st0 {
        fill: #364263;
      }

      .st1 {
        font-family: Scandia-Medium, Scandia;
        font-size: 15.52px;
        font-weight: 500;
      }

      .st1, .st2 {
        fill: #b1b3b6;
      }

      .st3 {
        fill: #d5d7d8;
      }
    

      .st0, .st1 {
        fill: #2d374c;
      }

      .st1 {
        font-family: Scandia-Medium, Scandia;
        font-size: 15.52px;
        font-weight: 500;
      }

      .st2 {
        fill: #5a5b5d;
      }

      .st3 {
        fill: #95979a;
      }
    

      .st0 {
        fill: #364263;
      }

      .st1 {
        font-family: Scandia-Medium, Scandia;
        font-size: 15.52px;
        font-weight: 500;
      }

      .st1, .st2 {
        fill: #b1b3b6;
      }

      .st3 {
        fill: #d5d7d8;
      }
    

        .rt-btn:not(:disabled):hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15) !important;
        }

        .rt-btn:not(:disabled):active {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
        }

        .rt-btn--glass:hover {
            background: rgba(255, 255, 255, 0.45) !important;
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
        }
    

        #legal-overlay {
            position: fixed;
            inset: 0;
            z-index: 99500;
            background: rgba(0, 0, 0, 0.25);
            backdrop-filter: blur(1.5px);
            -webkit-backdrop-filter: blur(1.5px);
            display: none;
            align-items: center;
            justify-content: center;
            padding: 40px 24px;
            box-sizing: border-box;
        }

        @media (max-width: 768px) {
            #legal-overlay {
                padding: 0;
                align-items: flex-end;
            }

            #legal-card {
                max-height: 94vh;
                width: 100%;
                border-radius: 3px 3px 0 0;
            }

            #legal-header {
                padding: 16px 20px;
            }

            #legal-body {
                padding: 20px;
                font-size: 0.8rem;
            }

            #legal-card {
                max-width: 100% !important;
            }
        }

        #legal-overlay.open {
            display: flex;
        }

        #legal-card {
            background: rgba(255, 255, 255, 0.07);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid #bc3626;
            border-radius: 3px;
            width: 100%;
            max-width: 760px;
            max-height: 85vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.08);
            animation: legalFadeIn 0.3s ease forwards;
        }

        @keyframes legalFadeIn {
            from {
                opacity: 0;
                transform: translateY(16px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        #legal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 28px 36px;
            border-bottom: 1px solid rgba(188, 54, 38, 0.25);
            flex-shrink: 0;
        }

        #legal-title {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 4px;
            color: rgba(255, 255, 255, 0.6);
            margin: 0;
        }

        #legal-close {
            background: none;
            border: none;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.4);
            font-size: 1.4rem;
            line-height: 1;
            padding: 0;
            transition: color 0.2s;
        }

        #legal-close:hover {
            color: #bc3626;
        }

        #legal-close:focus,
        #legal-close:focus-visible {
            outline: none;
        }

        #legal-body {
            padding: 36px;
            overflow-y: auto;
            flex: 1;
            color: rgba(255, 255, 255, 0.75);
            font-family: 'Satoshi', sans-serif;
            font-size: 0.875rem;
            line-height: 1.8;
            scrollbar-width: thin;
            scrollbar-color: rgba(188, 54, 38, 0.4) transparent;
        }

        #legal-body::-webkit-scrollbar {
            width: 4px;
        }

        #legal-body::-webkit-scrollbar-track {
            background: transparent;
        }

        #legal-body::-webkit-scrollbar-thumb {
            background: rgba(188, 54, 38, 0.4);
            border-radius: 2px;
        }

        #legal-body h2 {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 1.4rem;
            font-weight: 600;
            color: #fff;
            letter-spacing: -0.5px;
            margin: 0 0 24px;
        }

        #legal-body h3 {
            font-family: 'Plus Jakarta Sans', sans-serif;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: #bc3626;
            margin: 28px 0 10px;
        }

        #legal-body p {
            margin: 0 0 16px;
        }

        #legal-body a {
            color: #bc3626;
            text-decoration: none;
        }

        #legal-body a:hover {
            text-decoration: underline;
        }

        #legal-body hr {
            border: none;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            margin: 24px 0;
        }
    

    /* --- CLEANUP STYLES --- */
    .header-left-slot {
        flex: 1;
        display: flex;
        align-items: center;
    }

    .bunny-logo.h-8 {
        height: 32px;
        max-height: 32px;
        width: auto;
        display: block;
    }

    .bunny-logo.h-10 {
        height: 40px;
        max-height: 40px;
        width: auto;
        display: block;
    }

    #hero-bg {
        object-fit: cover;
        object-position: center center;
        width: 100%;
        height: 100%;
        opacity: 0.75;
        transform: scale(1.15);
        transform-origin: center center;
        will-change: transform, filter;
    }

    .work-item.group {
        overflow: visible;
    }/* End custom CSS */
/* Start custom CSS */@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

:root {
    --white: #FFFFFF; --off-white: #FAF9F6; --black: #000000; --grey: #2D2D2D;
    --grey-light: #F9F9F9; --border: #EEEEEE;
    --accent-1: #bc3626; --accent-2: #131a44; --accent-3: #bc3626;
}
html { overflow-x: hidden; max-width: 100%; }
body { background-color: var(--white); color: var(--grey); font-family: 'Plus Jakarta Sans','Helvetica Neue',sans-serif; margin: 0; -webkit-font-smoothing: antialiased; overflow-x: hidden; max-width: 100%; }
* { box-sizing: border-box; }
body::after { content:""; position:fixed; top:0;left:0;width:100%;height:100%; background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); opacity:0.02; pointer-events:none; z-index:9999; }
.reveal-parent>* { opacity:0; transform:translateY(20px); transition:opacity 1.2s cubic-bezier(0.16,1,0.3,1),transform 1.2s cubic-bezier(0.16,1,0.3,1); overflow:visible; }
.reveal-parent.active>* { opacity:1; transform:translateY(0); overflow:visible; }
header { position:fixed; top:0; left:0; width:100%; height:85px; z-index:100; display:flex; align-items:center; padding:0 5%; transition:height 0.7s cubic-bezier(0.16,1,0.3,1); }
.header-glass { position:absolute; top:0;left:0;width:100%;height:100%; background:rgba(255,255,255,0.08); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-bottom:1px solid rgba(0,0,0,0.05); box-shadow:0 4px 24px rgba(0,0,0,0.08); z-index:-1; transition:transform 0.8s cubic-bezier(0.16,1,0.3,1),opacity 0.6s ease; }
header.scrolled { height:55px; }
header.scrolled .header-glass { transform:translateY(-100%); opacity:0; }
header .menu-container { transition:all 0.8s cubic-bezier(0.16,1,0.3,1); display:flex; gap:2rem; flex:2; justify-content:space-between; }
header.scrolled .menu-container { justify-content:flex-end !important; flex:1 !important; gap:15px; }
header .right-spacer { flex:1; transition:all 0.8s cubic-bezier(0.16,1,0.3,1); }
header.scrolled .right-spacer { flex:0 !important; width:0 !important; opacity:0; }
.header-left-slot { position:relative; flex:1; display:flex; align-items:center; height:100%; overflow:visible; }
.logo-container { display:flex; align-items:center; gap:12px; text-decoration:none; transition:transform 0.6s cubic-bezier(0.16,1,0.3,1),opacity 0.4s ease; }
header.logo-out .logo-container { transform:translateY(-100%); opacity:0; }
#header-cta { position:fixed; left:5%; top:30vh; opacity:0; pointer-events:none; transition:opacity 0.5s ease, box-shadow 0.3s ease; padding:10px 24px; border:1px solid #bc3626; border-radius:100px; font-size:0.65rem; text-transform:uppercase; letter-spacing:2px; font-weight:600; text-decoration:none; background-color:#bc3626; color:#FAF9F6; z-index:99; box-shadow:4px 4px 16px rgba(0,0,0,0.45); will-change:transform; }


#header-cta.cta-hidden { opacity:0 !important; pointer-events:none !important; }
#header-cta:hover { box-shadow:0 0 0 2px #FAF9F6, 0 0 20px 6px rgba(188,54,38,0.6) !important; }
.nav-link { text-decoration:none; color:var(--black); font-size:0.7rem; text-transform:uppercase; letter-spacing:4px; font-weight:500; transition:opacity 0.2s ease,letter-spacing 0.5s ease; }
header.scrolled .nav-link { letter-spacing:1px; }
header.over-hero .nav-link, header.over-dark .nav-link { color:var(--white); opacity:0.7; }
header:not(.over-hero):not(.over-dark) .nav-link { color:#111; opacity:0.6; }
@keyframes navGlitch { 0%{transform:translateX(0);opacity:1} 10%{transform:translateX(-4px);opacity:0.8} 20%{transform:translateX(4px);opacity:0.9} 30%{transform:translateX(-2px);opacity:1} 40%{transform:translateX(3px);opacity:0.75} 55%{transform:translateX(-1px);opacity:1} 70%{transform:translateX(2px);opacity:0.9} 85%{transform:translateX(-1px);opacity:1} 100%{transform:translateX(0);opacity:1} }
@keyframes glitchSliceR { 0%,100%{opacity:0;transform:translateX(0)} 12%{opacity:0.7;transform:translateX(5px);clip-path:inset(15% 0 60% 0)} 24%{opacity:0.5;transform:translateX(-4px);clip-path:inset(55% 0 10% 0)} 38%{opacity:0.6;transform:translateX(3px);clip-path:inset(5% 0 75% 0)} 52%{opacity:0;transform:translateX(0)} 66%{opacity:0.4;transform:translateX(-5px);clip-path:inset(40% 0 35% 0)} 80%{opacity:0.3;transform:translateX(2px);clip-path:inset(65% 0 8% 0)} }
@keyframes glitchSliceB { 0%,100%{opacity:0;transform:translateX(0)} 18%{opacity:0.6;transform:translateX(-5px);clip-path:inset(45% 0 20% 0)} 33%{opacity:0.5;transform:translateX(4px);clip-path:inset(8% 0 68% 0)} 48%{opacity:0;transform:translateX(0)} 62%{opacity:0.5;transform:translateX(5px);clip-path:inset(28% 0 42% 0)} 78%{opacity:0.3;transform:translateX(-3px);clip-path:inset(72% 0 3% 0)} }
@keyframes flashBurst { 0%{opacity:0} 10%{opacity:0.18} 20%{opacity:0} 35%{opacity:0.1} 50%{opacity:0} 70%{opacity:0.06} 100%{opacity:0} }
.nav-glitch-wrap { position:relative; display:inline-block; }
.nav-glitch-wrap.glitching>.nav-link { animation:navGlitch 0.5s steps(2) forwards; }
.nav-glitch-wrap.glitching::before,.nav-glitch-wrap.glitching::after { content:attr(data-text); position:absolute; inset:0; pointer-events:none; font-size:0.7rem; text-transform:uppercase; letter-spacing:4px; font-weight:500; white-space:nowrap; }
.nav-glitch-wrap.glitching::before { color:#bc3626; animation:glitchSliceR 0.5s steps(2) forwards; }
.nav-glitch-wrap.glitching::after { color:#131a44; animation:glitchSliceB 0.5s steps(2) forwards; }
#glitch-flash { position:absolute; inset:0; background:white; opacity:0; pointer-events:none; z-index:200; }
#glitch-flash.glitching { animation:flashBurst 0.5s steps(2) forwards; }
.nav-link:hover, header.over-hero .nav-link:hover, header.over-dark .nav-link:hover, header:not(.over-hero):not(.over-dark) .nav-link:hover { opacity:1 !important; color:#bc3626 !important; transition:color 0.08s ease 0.01s,opacity 0.01s ease !important; }
.nav-link.active { opacity:1 !important; color:#bc3626 !important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:12px 14px; z-index:1000; position:relative; background:#bc3626; border-radius:3px; }
.hamburger span { display:block; width:24px; height:1.5px; background:#ffffff; transition:opacity 0.2s ease,letter-spacing 0.5s ease; }
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-menu { position:fixed; inset:0; background:#111; z-index:900; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:48px; opacity:0; pointer-events:none; transition:opacity 0.4s ease; }
.mobile-menu.open { opacity:1; pointer-events:auto; }
.mobile-menu a { font-size:clamp(2rem,8vw,4rem); font-weight:700; color:#FAF9F6; text-decoration:none; text-transform:uppercase; letter-spacing:-1px; opacity:0.8; transition:opacity 0.2s; }
.mobile-menu a:hover { opacity:1; }
.hero { position:relative; width:100%; height:100vh; max-width:100vw; background:#000; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.hero-image-frame { position:absolute; inset:0; width:100%; height:100%; max-width:100%; overflow:hidden; z-index:1; isolation:isolate; }
@keyframes heroColourReveal { 0%{opacity:0;filter:grayscale(1) brightness(0.85)} 8%{opacity:1;filter:grayscale(1) brightness(0.85)} 44%{opacity:1;filter:grayscale(1) brightness(0.85)} 50%{opacity:1;filter:grayscale(0.6) brightness(1.2)} 58%{opacity:0.8;filter:grayscale(0.8) brightness(0.9)} 65%{opacity:1;filter:grayscale(0.2) brightness(1.1)} 80%{opacity:1;filter:grayscale(0) brightness(1)} 100%{opacity:1;filter:grayscale(0) brightness(1)} }
@keyframes heroGlitchR { 0%,44%,70%,100%{opacity:0;transform:translateX(0);clip-path:inset(0 0 0 0)} 50%{opacity:0.6;transform:translateX(14px);clip-path:inset(15% 0 55% 0)} 55%{opacity:0.5;transform:translateX(-12px);clip-path:inset(55% 0 10% 0)} 60%{opacity:0.7;transform:translateX(10px);clip-path:inset(25% 0 45% 0)} 65%{opacity:0.3;transform:translateX(-6px);clip-path:inset(0 0 0 0)} }
@keyframes heroGlitchB { 0%,44%,70%,100%{opacity:0;transform:translateX(0);clip-path:inset(0 0 0 0)} 50%{opacity:0.6;transform:translateX(-14px);clip-path:inset(15% 0 55% 0)} 55%{opacity:0.5;transform:translateX(12px);clip-path:inset(55% 0 10% 0)} 60%{opacity:0.7;transform:translateX(-10px);clip-path:inset(25% 0 45% 0)} 65%{opacity:0.3;transform:translateX(6px);clip-path:inset(0 0 0 0)} }
.hero .bg-image.glitch-intro { animation:heroColourReveal 2.5s linear forwards; animation-delay:0.2s; }
.hero-rgb-layer { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.05); pointer-events:none; opacity:0; z-index:2; }
.hero-rgb-layer.red { mix-blend-mode:screen; filter:url(#redChannel); animation:heroGlitchR 2.5s steps(2) forwards; animation-delay:0.2s; }
.hero-rgb-layer.blue { mix-blend-mode:screen; filter:url(#blueChannel); animation:heroGlitchB 2.5s steps(2) forwards; animation-delay:0.2s; }
.hero .bg-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.05); will-change:transform,opacity,filter; transition:opacity 5s ease,transform 0.2s ease-out,filter 0.2s ease-out; max-width:none; }
.hero .bg-image.hero-active { opacity:1; }
.hero-image-frame::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,0.28); z-index:2; pointer-events:none; }
.hero-text { position:absolute; bottom:calc(5% + 60px); left:0; color:var(--off-white); max-width:min(700px,90vw); padding-left:5%; z-index:10; pointer-events:none; transform-origin:left bottom; will-change:transform,opacity; }
.hero-text * { pointer-events:auto; }
.text-gradient { font-weight:800; background:linear-gradient(-45deg,#FAF9F6,#C8C8C8,#E8E8E8,#B0B0B0,#FAF9F6,#C8C8C8,#FAF9F6); background-size:400% 400%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:inline-block; animation:flowingMesh 16s ease infinite; padding-right:0.15em; margin-right:-0.15em; }
@keyframes flowingMesh { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
.btn-minimal { background:var(--grey); color:var(--off-white); padding:20px 40px; font-size:0.65rem; text-transform:uppercase; letter-spacing:3px; font-weight:600; transition:all 0.4s cubic-bezier(0.16,1,0.3,1); box-shadow:0 4px 15px rgba(0,0,0,0.06); display:inline-block; border:none; cursor:pointer; border-radius:2px; }
.btn-minimal:hover { background:var(--black); letter-spacing:5px; transform:translateY(-2px); box-shadow:0 8px 25px rgba(0,0,0,0.1); }
.section-spacing { padding:100px 5%; }
h1,h2,h3 { font-family:'Plus Jakarta Sans','Helvetica Neue',sans-serif; }
h2 { font-size:clamp(2rem,6vw,3.5rem); font-weight:500; letter-spacing:-1px; line-height:1; }
.accent-dot { display:inline-block; width:6px; height:6px; background-color:var(--accent-3); margin-right:12px; margin-bottom:2px; border-radius:1px; vertical-align:middle; }
.service-bg-num { position:absolute; right:-20px; top:50%; transform:translateY(-50%) scale(0.8); font-size:clamp(120px,18vw,200px); font-weight:800; color:inherit; opacity:0; line-height:1; pointer-events:none; user-select:none; letter-spacing:-8px; transition:opacity 0.5s ease,transform 0.5s cubic-bezier(0.16,1,0.3,1); z-index:0; }
.service-item.expanded .service-bg-num { opacity:0.25; transform:translateY(-50%) scale(1); }
.service-item.expanded { background-color: rgba(255,255,255,0.02) !important; }
.service-item, .service-item:hover, .service-item:focus, .service-item:active { cursor:pointer; position:relative; overflow:hidden; transition:box-shadow 0.7s cubic-bezier(0.16,1,0.3,1); background-color:transparent !important; background:transparent !important; }
.service-item:hover { background-color: transparent !important; box-shadow: none !important; }
.service-header { display:flex; flex-direction:row; align-items:center; padding:38px 16px; }
.service-content-wrapper { display:grid; grid-template-rows:0fr; transition:grid-template-rows 0.7s cubic-bezier(0.16,1,0.3,1); overflow:hidden; }
.service-item.expanded .service-content-wrapper { grid-template-rows:1fr; }
.service-inner-text { min-height:0; overflow:hidden; padding:0 16px 0 16px; display:flex; gap:0; }
.service-item.expanded .service-inner-text { padding:0 16px 48px 16px; }
.toggle-icon { font-size:1.5rem; font-weight:200; transition:transform 0.5s ease; margin-left:auto; flex-shrink:0; }
.service-item.expanded .toggle-icon { transform:rotate(45deg); }
.service-item h3 { transition:color 0.6s ease; background-size:200% 200%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:inherit; background-image:none; }
.service-item.expanded h3 { background-image:none; -webkit-text-fill-color:#bc3626; color:#bc3626; animation:none; }
@keyframes gradientShift { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
.service-item h3.fading-gradient { background-image:none; -webkit-text-fill-color:#bc3626; color:#bc3626; animation:none; transition:opacity 0.8s ease; opacity:0; }
.service-text-col { width:100%; }
.service-process { margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.08); }
.service-process-label { font-size:0.55rem; text-transform:uppercase; letter-spacing:3px; opacity:0.3; margin-bottom:14px; display:block; }
.service-process-steps { display:flex; flex-direction:column; gap:8px; }
.service-process-step { display:flex; align-items:baseline; gap:12px; font-size:0.78rem; line-height:1.6; opacity:0.55; }
.service-process-step-title { font-size:0.62rem; font-weight:600; text-transform:uppercase; letter-spacing:2px; opacity:1; color:var(--accent-3); flex-shrink:0; min-width:110px; }
.form-group { position:relative; border-bottom:1px solid rgba(0,0,0,0.1); padding-bottom:12px; transition:border-color 0.4s ease; }
.form-group:focus-within { border-color:var(--grey); }
.form-label { position:absolute; top:0; left:0; text-transform:uppercase; letter-spacing:3px; font-size:0.6rem; opacity:0.3; transition:all 0.4s ease; pointer-events:none; }
.form-input { width:100%; background:transparent; outline:none; font-size:1.875rem; font-weight:300; padding-top:24px; }
.form-group:focus-within .form-label { opacity:1; transform:translateY(-5px); }







.social-icon { opacity:0.4; transition:opacity 0.2s ease,letter-spacing 0.5s ease; color:inherit; margin-right:16px; }
.social-icon:hover { opacity:1; color:#bc3626 !important; }
.work-item { cursor:pointer; overflow:visible; }
.work-item { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease, transform 0.7s ease; }
.work-item.wi-revealed { opacity:1; transform:translateY(0); }
.work-item .work-item-img-wrap { opacity:0; transform:translateY(12px); transition:opacity 0.6s ease, transform 0.6s ease; }
.work-item.wi-revealed .work-item-img-wrap { opacity:1; transform:translateY(0); }
.work-item .wi-text { opacity:0; transform:translateY(10px); transition:opacity 0.55s ease 0.15s, transform 0.55s ease 0.15s; }
.work-item.wi-revealed .wi-text { opacity:1; transform:translateY(0); }
.work-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.7) 0%,transparent 60%); display:none !important; align-items:flex-end; padding:28px; }
.work-item-img-wrap:hover .work-overlay { display:flex !important; }
.work-overlay span { color:#fff; font-size:0.6rem; text-transform:uppercase; letter-spacing:3px; font-weight:600; }
.work-num { position:absolute; top:16px; left:20px; font-size:0.6rem; font-weight:700; letter-spacing:2px; color:#fff; opacity:0.6; transition:opacity 0.4s ease; pointer-events:none; z-index:2; mix-blend-mode:difference; }
.calc-item { display:flex; flex-direction:column; gap:6px; padding:20px 24px; border:1px solid #DDDDDD; background:#fff; cursor:pointer; text-align:left; transition:all 0.3s cubic-bezier(0.16,1,0.3,1); position:relative; min-width:160px; border-radius:3px; }
.calc-item:hover{color:var(--black) !important;}
.calc-item.active { background:#EBEBEB; border-color:#2C3E6B; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.06); }
.calc-item.active:hover { background:#EBEBEB !important; border-color:#2C3E6B !important; color:#2D2D2D !important; }
.calc-item.active .calc-item-name { color:#2D2D2D; }
.calc-item.active .calc-item-price { color:var(--accent-1); }
.calc-item-name { font-family:'Plus Jakarta Sans',sans-serif; font-size:0.75rem; font-weight:600; letter-spacing:0.5px; color:#2D2D2D; transition:color 0.3s; }
.calc-item-price { font-size:0.8rem; font-weight:500; color:rgba(0,0,0,0.55); font-family:'Plus Jakarta Sans',sans-serif; transition:color 0.3s; }
.calc-item--monthly::after { content:'monatlich'; position:absolute; top:8px; right:8px; font-size:0.45rem; text-transform:uppercase; letter-spacing:2px; color:rgba(0,0,0,0.2); font-family:'Plus Jakarta Sans',sans-serif; }
.calc-item--monthly.active::after { color:rgba(255,255,255,0.3); }
.footer-link:hover { color:#bc3626 !important; opacity:1 !important; transition:color 0.3s ease; }
@keyframes ftDrift {
  0%   { transform:translateY(0px) translateX(0px); }
  25%  { transform:translateY(-3px) translateX(1px); }
  50%  { transform:translateY(-1px) translateX(-2px); }
  75%  { transform:translateY(-4px) translateX(1px); }
  100% { transform:translateY(0px) translateX(0px); }
}
.ft { display:inline-block; padding:5px 12px; border:1px solid rgba(255,255,255,0.18); border-radius:100px; font-size:0.62rem; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.55); opacity:0; transform:translateY(8px); transition:opacity 0.6s ease var(--d), transform 0.6s ease var(--d), border-color 0.3s ease, color 0.3s ease; cursor:default; }
.ft:hover { border-color:rgba(188,54,38,0.3); }
#footer-tags-col.tags-visible .ft { opacity:1; transform:translateY(0); animation:ftDrift 6s ease-in-out infinite; animation-delay:var(--d); }
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus { -webkit-box-shadow:0 0 0px 1000px rgba(0,0,0,0.06) inset,inset 0 2px 6px rgba(0,0,0,0.08) !important; box-shadow:0 0 0px 1000px rgba(0,0,0,0.06) inset,inset 0 2px 6px rgba(0,0,0,0.08) !important; -webkit-text-fill-color:#2D2D2D !important; background-color:rgba(0,0,0,0.06) !important; transition:background-color 5000s ease-in-out 0s; }
header.scrolled .nav-glitch-wrap { background:transparent; border:none; padding:2px 12px; }
header.scrolled .nav-glitch-wrap:hover { background:transparent; }
header.scrolled .nav-glitch-wrap:has(.nav-link.active) { background:transparent; }
.footer-contact-link { transition:color 0.08s ease 0.01s,opacity 0.01s ease !important; }
.footer-contact-link:hover { opacity:1 !important; color:#bc3626 !important; }
.about-half { width:100%; box-sizing:border-box; }
.object-cover{object-fit:cover;}
.object-contain{object-fit:contain;}
.group:hover .group-hover\:grayscale-0{filter:grayscale(0);}
.group:hover .group-hover\:scale-105{transform:scale(1.05);}
.transition-all{transition:all;}
.duration-700{transition-duration:700ms;}
.grayscale{filter:grayscale(1);}
.work-item .aspect-\[4\/3\] img,.work-item .aspect-\[4\/5\] img{width:100%;height:100%;object-fit:cover;}
.aspect-\[4\/3\]{aspect-ratio:4/3;}
.aspect-\[4\/5\]{aspect-ratio:4/5;}
.text-\[0\.6rem\]{font-size:0.6rem;}
.text-\[0\.55rem\]{font-size:0.55rem;}
.tracking-\[4px\]{letter-spacing:4px;}
.tracking-\[3px\]{letter-spacing:3px;}
.mb-4{margin-bottom:1rem;}
.font-medium{font-weight:500;}
.text-black{color:#000;}
.space-y-0>*+*{margin-top:0;}
.border-b{border-bottom:1px solid;}
.border-t{border-top:1px solid;}
.border-gray-200{border-color:#e5e7eb;}
.about-flex-row{display:flex;flex-direction:column;gap:2rem;align-items:center;}
.gap-20{gap:5rem;}
.gap-24{gap:6rem;}
.items-start{align-items:flex-start;}
.items-center{align-items:center;}
.justify-between{justify-content:space-between;}
.flex-shrink-0{flex-shrink:0;}
.mb-10{margin-bottom:2.5rem;}
.mb-16{margin-bottom:4rem;}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-xl{font-size:1.25rem;line-height:1.75rem;}
.px-\[5\%\]{padding-left:5%;padding-right:5%;}
.space-y-0{margin-top:0;}
.border-b.border-gray-200{border-bottom:1px solid #e5e7eb;}
.border-t.border-gray-200{border-top:1px solid #e5e7eb;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.text-\[0\.7rem\]{font-size:0.7rem;}
.tracking-\[2px\]{letter-spacing:2px;}
.group{position:relative;}
.opacity-50{opacity:0.5;}
.opacity-30{opacity:0.3;}
.mb-32{margin-bottom:8rem;}
.calc-item:hover,.calc-item:hover *,.k53-lb-nav,.k53-lb-nav:hover,.k53-lb-close,.k53-lb-close:hover,.k53-lb-dot,.k53-lb-dot:hover,.dae20-lb-nav,.dae20-lb-nav:hover,.dae20-lb-close,.dae20-lb-close:hover,.dae20-lb-dot,.dae20-lb-dot:hover,#dae20lp-lightbox button,#dae20lp-lightbox button:hover,.work-item *,.work-item *:hover{color:inherit !important;}
#calc-quote-btn{color:#fff !important;}
#calc-reset-btn{color:#2D2D2D !important;}
.calc-item.active,.calc-item.active:hover{color:#fff !important;}
.k53-lb-nav:hover,.dae20-lb-nav:hover,#dae20lp-lightbox .k53-lb-nav:hover{color:#fff !important;}
.k53-lb-close:hover,.dae20-lb-close:hover{color:#fff !important;}
.calc-cat-grid{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:start;}
.cf7-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
.bunny-logo{height:2.5rem !important;max-height:2.5rem !important;width:auto !important;}
.mx-auto{margin-left:auto;margin-right:auto;}
.max-w-6xl{max-width:72rem;}
.max-w-7xl{max-width:80rem;}
.max-w-xl{max-width:36rem;}
.max-w-lg{max-width:32rem;}
.w-full{width:100%;}
.h-full{height:100%;}
.h-8{height:2rem;}
.h-10{height:2.5rem;}
.block{display:block;}
.hidden{display:none;}
.relative{position:relative;}
.overflow-hidden{overflow:hidden;}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,0.05);}
.bg-gray-100{background-color:#f3f4f6;}
.bg-image{background-size:cover;background-position:center;}
.uppercase{text-transform:uppercase;}
.font-bold{font-weight:700;}
.font-light{font-weight:300;}
.leading-relaxed{line-height:1.625;}
.leading-snug{line-height:1.375;}
.tracking-tight{letter-spacing:-0.025em;}
.tracking-tighter{letter-spacing:-0.05em;}
.opacity-40{opacity:0.4;}
.opacity-60{opacity:0.6;}
.opacity-70{opacity:0.7;}
.opacity-80{opacity:0.8;}
.opacity-90{opacity:0.9;}
.hover\:opacity-100:hover{opacity:1;}
.mb-1{margin-bottom:0.25rem;}
.mb-2{margin-bottom:0.5rem;}
.mb-6{margin-bottom:1.5rem;}
.mb-8{margin-bottom:2rem;}
.mb-20{margin-bottom:5rem;}
.mt-6{margin-top:1.5rem;}
.pt-5{padding-top:1.25rem;}
.space-y-8>*+*{margin-top:2rem;}
.flex{display:flex;}
.flex-col{flex-direction:column;}
.flex-1{flex:1;}
.flex-\[2\]{flex:2;}
.gap-6{gap:1.5rem;}
.gap-12{gap:3rem;}
.gap-16{gap:4rem;}
.gap-x-12{column-gap:3rem;}
.gap-y-16{row-gap:4rem;}
.grid{display:grid;}
.col-span-2{grid-column:span 2/span 2;}
.text-xs{font-size:0.75rem;line-height:1rem;}
.text-sm{font-size:0.875rem;line-height:1.25rem;}
.text-2xl{font-size:1.5rem;line-height:2rem;}
.text-4xl{font-size:2.25rem;line-height:2.5rem;}
.text-\[0\.65rem\]{font-size:0.65rem;}
.text-\[1\.25rem\]{font-size:1.25rem;}
.italic{font-style:italic;}
.about-img-wrap{perspective:800px;cursor:pointer;}
.about-img-inner img{width:100%;height:580px;object-fit:cover;display:block;filter:grayscale(100%);transition:filter 0.8s cubic-bezier(0.16,1,0.3,1);}
.about-img-wrap:hover .about-img-inner img{filter:grayscale(0%);}
.about-img-inner::before,.about-img-inner::after{content:'';position:absolute;inset:0;background-image:url('https://riptight.com/wp-content/uploads/2026/03/A_close-up_moody_202603220933-scaled.avif');background-size:cover;background-position:center;opacity:0;mix-blend-mode:screen;transition:opacity 0.05s;}
.about-img-inner::before{background-color:rgba(255,0,0,0.4);mix-blend-mode:multiply;}
.about-img-inner::after{background-color:rgba(0,200,255,0.4);mix-blend-mode:multiply;}
.about-img-wrap.glitching .about-img-inner::before{opacity:1;transform:translateX(-6px);animation:glitch-r 0.3s steps(2) forwards;}
.about-img-wrap.glitching .about-img-inner::after{opacity:1;transform:translateX(6px);animation:glitch-b 0.3s steps(2) forwards;}
@keyframes glitch-r{0%{transform:translateX(-6px) scaleY(1);clip-path:inset(20% 0 60% 0)}25%{transform:translateX(4px) scaleY(1.02);clip-path:inset(50% 0 10% 0)}50%{transform:translateX(-3px);clip-path:inset(70% 0 5% 0)}100%{transform:translateX(0);opacity:0}}
@keyframes glitch-b{0%{transform:translateX(6px) scaleY(0.98);clip-path:inset(10% 0 70% 0)}25%{transform:translateX(-4px);clip-path:inset(60% 0 20% 0)}50%{transform:translateX(2px);clip-path:inset(30% 0 40% 0)}100%{transform:translateX(0);opacity:0}}
#k53-lightbox{position:fixed;inset:0;z-index:99000;background:rgba(0,0,0,0.96);display:none;flex-direction:column;align-items:center;justify-content:center;}
#k53-lightbox.open{display:flex}
#k53-lightbox-img{max-width:88vw;max-height:72vh;object-fit:contain;border-radius:2px;box-shadow:0 32px 80px rgba(0,0,0,0.6);transition:opacity 0.3s ease;}
#k53-lightbox-img.fading{opacity:0}
.k53-lb-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;z-index:10;}
.k53-lb-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.65rem;text-transform:uppercase;letter-spacing:4px;color:rgba(255,255,255,0.4);}
.k53-lb-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);font-size:1.4rem;line-height:1;transition:color 0.2s;padding:0;}
.k53-lb-close:hover{color:#fff}
.k53-lb-nav{position:fixed;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.5);width:48px;height:48px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:border-color 0.2s,color 0.2s;border-radius:0;}
.k53-lb-nav:hover{border-color:rgba(255,255,255,0.5);color:#fff !important;background:rgba(255,255,255,0.1) !important;}
#k53-lb-prev{left:32px}
#k53-lb-next{right:32px}
.k53-lb-footer{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:48px;padding:28px 40px;}
.k53-lb-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.7rem;text-transform:uppercase;letter-spacing:3px;color:rgba(255,255,255,0.7);}
.k53-lb-dots{display:flex;gap:8px;align-items:center}
.k53-lb-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,0.2);cursor:pointer;transition:background 0.3s,transform 0.3s;border:none;padding:0;}
.k53-lb-dot.active{background:#fff;transform:scale(1.4);}
#btt{position:fixed;bottom:40px;right:40px;z-index:9000;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 0.3s ease;border:1px solid rgba(0,0,0,0.15);background:rgba(255,255,255,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
#btt.visible{opacity:1;pointer-events:auto;}
#btt-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#111;position:relative;transition:opacity 0.2s;}
#btt-label::before,#btt-label::after{content:attr(data-text);position:absolute;inset:0;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:0;pointer-events:none;}
#btt-label::before{color:#bc3626;}
#btt-label::after{color:#131a44;}
@keyframes bttGlitchMain{0%,100%{transform:translateX(0) scaleX(1);opacity:1}10%{transform:translateX(-8px) scaleX(1.05);opacity:0.7}25%{transform:translateX(10px) scaleX(0.95);opacity:0.9}40%{transform:translateX(-6px);opacity:0.6}55%{transform:translateX(8px);opacity:0.85}70%{transform:translateX(-4px);opacity:1}85%{transform:translateX(3px);opacity:0.9}}
@keyframes bttGlitchR{0%,100%{opacity:0;transform:translateX(0)}15%{opacity:0.9;transform:translateX(12px);clip-path:inset(10% 0 55% 0)}30%{opacity:0.7;transform:translateX(-10px);clip-path:inset(65% 0 5% 0)}45%{opacity:0.8;transform:translateX(14px);clip-path:inset(25% 0 45% 0)}60%{opacity:0.5;transform:translateX(-8px);clip-path:inset(5% 0 75% 0)}75%{opacity:0.6;transform:translateX(10px);clip-path:inset(45% 0 20% 0)}90%{opacity:0;transform:translateX(0)}}
@keyframes bttGlitchB{0%,100%{opacity:0;transform:translateX(0)}20%{opacity:0.8;transform:translateX(-12px);clip-path:inset(55% 0 10% 0)}35%{opacity:0.6;transform:translateX(10px);clip-path:inset(8% 0 60% 0)}50%{opacity:0.7;transform:translateX(-14px);clip-path:inset(30% 0 38% 0)}65%{opacity:0.5;transform:translateX(8px);clip-path:inset(70% 0 5% 0)}80%{opacity:0.4;transform:translateX(-6px);clip-path:inset(20% 0 55% 0)}95%{opacity:0;transform:translateX(0)}}
#btt.glitching #btt-label{animation:bttGlitchMain 0.55s steps(3) forwards;}
#btt.glitching #btt-label::before{animation:bttGlitchR 0.55s steps(3) forwards;opacity:1;}
#btt.glitching #btt-label::after{animation:bttGlitchB 0.55s steps(3) forwards;opacity:1;}
@keyframes bttFlash{0%{opacity:0}10%{opacity:0.25}20%{opacity:0}40%{opacity:0.18}55%{opacity:0}75%{opacity:0.12}100%{opacity:0}}
#btt-flash{position:absolute;inset:0;background:white;opacity:0;pointer-events:none;}
#btt.glitching #btt-flash{animation:bttFlash 0.55s steps(3) forwards;}
#dae20-lightbox{position:fixed;inset:0;z-index:99001;background:rgba(0,0,0,0.96);display:none;flex-direction:column;align-items:center;justify-content:center;}
#dae20-lightbox.open{display:flex}
.dae20-slide{width:min(900px,88vw);height:min(560px,65vh);border-radius:2px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,0.6);transition:opacity 0.3s ease;flex-shrink:0;}
.dae20-slide.fading{opacity:0}
.dae20-lb-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;z-index:10;}
.dae20-lb-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.65rem;text-transform:uppercase;letter-spacing:4px;color:rgba(255,255,255,0.4);}
.dae20-lb-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.5);font-size:1.4rem;transition:color 0.2s;padding:0;}
.dae20-lb-close:hover{color:#fff}
.dae20-lb-nav{position:fixed;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.5);width:48px;height:48px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:border-color 0.2s,color 0.2s;}
.dae20-lb-nav:hover{border-color:rgba(255,255,255,0.5);color:#fff !important;background:rgba(255,255,255,0.1) !important;}
#dae20-lb-prev{left:32px}
#dae20-lb-next{right:32px}
.dae20-lb-footer{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:48px;padding:28px 40px;}
.dae20-lb-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.7rem;text-transform:uppercase;letter-spacing:3px;color:rgba(255,255,255,0.7);}
.dae20-lb-dots{display:flex;gap:8px;align-items:center;}
.dae20-lb-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,0.2);cursor:pointer;transition:background 0.3s,transform 0.3s;border:none;padding:0;}
.dae20-lb-dot.active{background:#fff;transform:scale(1.4);}
.rt-btn:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,0.15) !important;}
.rt-btn:not(:disabled):active{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.1) !important;}
.rt-btn--glass:hover{background:rgba(255,255,255,0.45) !important;box-shadow:0 10px 28px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.9) !important;}
#legal-overlay{position:fixed;inset:0;z-index:99500;background:rgba(0,0,0,0.25);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);display:none;align-items:center;justify-content:center;padding:40px 24px;box-sizing:border-box;}
#legal-overlay.open{display:flex;}
#legal-card{background:rgba(255,255,255,0.07);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid #bc3626;border-radius:3px;width:100%;max-width:760px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 32px 80px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.08);animation:legalFadeIn 0.3s ease forwards;}
@keyframes legalFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
#legal-header{display:flex;align-items:center;justify-content:space-between;padding:28px 36px;border-bottom:1px solid rgba(188,54,38,0.25);flex-shrink:0;}
#legal-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.65rem;text-transform:uppercase;letter-spacing:4px;color:rgba(255,255,255,0.6);margin:0;}
#legal-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.4);font-size:1.4rem;line-height:1;padding:0;transition:color 0.2s;}
#legal-close:hover{color:#bc3626;}
#legal-close:focus,#legal-close:focus-visible{outline:none;}
#legal-body{padding:36px;overflow-y:auto;flex:1;color:rgba(255,255,255,0.75);font-family:'Plus Jakarta Sans',sans-serif;font-size:0.875rem;line-height:1.8;scrollbar-width:thin;scrollbar-color:rgba(188,54,38,0.4) transparent;}
#legal-body::-webkit-scrollbar{width:4px;}
#legal-body::-webkit-scrollbar-track{background:transparent;}
#legal-body::-webkit-scrollbar-thumb{background:rgba(188,54,38,0.4);border-radius:2px;}
#legal-body h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.4rem;font-weight:600;color:#fff;letter-spacing:-0.5px;margin:0 0 24px;}
#legal-body h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:3px;color:#bc3626;margin:28px 0 10px;}
#legal-body p{margin:0 0 16px;}
#legal-body a{color:#bc3626;text-decoration:none;}
#legal-body a:hover{text-decoration:underline;}
#legal-body hr{border:none;border-top:1px solid rgba(255,255,255,0.08);margin:24px 0;}
/* ── CLEANUP STYLES (from document 4) ── */
.header-left-slot{flex:1;display:flex;align-items:center;}
.bunny-logo.h-8{height:32px;max-height:32px;width:auto;display:block;}
.bunny-logo.h-10{height:40px;max-height:40px;width:auto;display:block;}
#hero-bg{object-fit:cover;object-position:center center;}
.work-item.group{overflow:visible;}
#contact {
    isolation: isolate;
}
#contact::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: linear-gradient(135deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.08) 35%, transparent 65%);
    pointer-events: none;
    z-index: 1;
}
#rt-contact-form input::placeholder,
#rt-contact-form textarea::placeholder {
    color: rgba(255,255,255,0.35);
}
#cf7-reset-btn {
    color: rgba(255,255,255,0.7) !important;
    border-color: rgba(255,255,255,0.25) !important;
}
#calc-quote-btn:not(:disabled) {
    background: linear-gradient(135deg,#787878 0%,#444444 100%) !important;
    color: #fff !important;
}
#services { color: #111 !important; }
#services h2 { color: #111 !important; }
#services p { color: #2D2D2D !important; }
#services .service-item h3,
#services .service-item:not(.expanded) h3 {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    background-image: none !important;
    opacity: 1 !important;
}
#services .service-item.expanded h3 {
    color: #bc3626 !important;
    -webkit-text-fill-color: #bc3626 !important;
    background-image: none !important;
}
#services .service-process-label { color: rgba(45,45,45,0.4) !important; opacity: 1; }
#services .service-process-step { color: #2D2D2D !important; opacity: 0.7; }
#services .service-process-step * { color: #2D2D2D !important; }
#services .service-process-step-title { color: #bc3626 !important; }
#services .service-inner-text p { color: #2D2D2D !important; }
#services .toggle-icon { color: #2D2D2D !important; }
#services span:not(.accent-dot):not(.service-process-step-title):not(.toggle-icon):not(.service-bg-num) { color: #2D2D2D !important; }
.svc-num-1 { color: #E8621A !important; }
.svc-num-2 { color: #2E86AB !important; }
.svc-num-3 { color: #A23B72 !important; }
.svc-num-4 { color: #3D9970 !important; }
.svc-num-5 { color: #F7C948 !important; }


@media(min-width:768px){
.about-flex-row{flex-direction:row;}
.about-half{width:50%;}
.service-text-col{width:66.666%;}
.md\:flex{display:flex;}
.md\:hidden{display:none;}
.hidden.md\:flex{display:flex;}
.md\:flex-row{flex-direction:row;}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.md\:col-span-1{grid-column:span 1/span 1;}
.md\:col-span-2{grid-column:span 2/span 2;}
.md\:w-1\/2{width:50%;}
.md\:w-2\/3{width:66.666667%;}
.md\:text-2xl{font-size:1.5rem;line-height:2rem;}
.md\:text-4xl{font-size:2.25rem;line-height:2.5rem;}
.md\:text-lg{font-size:1.125rem;line-height:1.75rem;}
.cf7-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:767px){.service-process-step{flex-direction:column;gap:2px;}.service-process-step-title{min-width:unset;}
.md\:flex{display:none;}
.md\:hidden{display:block;}
.md\:grid-cols-2,.md\:grid-cols-3,.md\:grid-cols-4{grid-template-columns:1fr !important;}
.md\:col-span-1,.md\:col-span-2{grid-column:span 1 !important;}
.hero{height:65vh;min-height:420px;}.section-spacing{padding:60px 5%;}
.hero-text{bottom:auto;top:50%;transform:translateY(-30%);padding-left:6%;padding-right:6%;max-width:100%;}
.calc-cat-grid{grid-template-columns:1fr !important;gap:16px !important;}
.calc-item{min-width:0 !important;width:100%;}
.k53-lb-footer,.dae20-lb-footer{gap:16px;padding:16px 20px;}
.k53-lb-nav,.dae20-lb-nav{width:36px;height:36px;font-size:1rem;}
#k53-lb-prev,#dae20-lb-prev{left:12px;}
#k53-lb-next,#dae20-lb-next{right:12px;}
.k53-lb-header,.dae20-lb-header{padding:16px 20px;}
.footer-grid{gap:2rem !important;}
}/* End custom CSS */