
        /* ==================================================
           CSS VARIABLES & RESET
           ================================================== */
        :root {
            --bg: #F4F2ED;
            --primary-black: #111111;
            --secondary-black: #1A1A1A;
            --muted-grey: #777777;
            --light-grey: #D8D6D0;
            --accent-red: #A51D24;
            
            --font-body: 'Inter', Helvetica, Arial, sans-serif;
            --font-heading: 'Oswald', 'Bebas Neue', sans-serif;

            --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
            --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
        }

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

        html {
            scroll-behavior: smooth;
            font-size: 16px;
        }

        body {
            background-color: var(--bg);
            color: var(--primary-black);
            font-family: var(--font-body);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
            line-height: 1.5;
            cursor: none; /* Custom cursor used */
        }

        a, button {
            text-decoration: none;
            color: inherit;
            background: none;
            border: none;
            cursor: none;
            font-family: inherit;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        ul {
            list-style: none;
        }

        /* ==================================================
           TYPOGRAPHY UTILS
           ================================================== */
        .heading-large {
            font-family: var(--font-heading);
            font-size: clamp(4rem, 10vw, 9rem);
            line-height: 0.95;
            text-transform: uppercase;
            letter-spacing: -0.02em;
        }

        .heading-medium {
            font-family: var(--font-heading);
            font-size: clamp(3rem, 6vw, 6rem);
            line-height: 1;
            text-transform: uppercase;
            letter-spacing: -0.01em;
        }

        .label {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            font-weight: 500;
        }

        .text-muted { color: var(--muted-grey); }
        .text-accent { color: var(--accent-red); }

        /* ==================================================
           GLOBAL LAYOUT & PLACEHOLDERS
           ================================================== */
        .container {
            width: 100%;
            max-width: 1800px;
            margin: 0 auto;
            padding: 0 4vw;
        }

        .section-padding {
            padding: 12vmax 0;
        }

        /* Image Placeholder System for Prototype */
        .img-placeholder {
            background-color: var(--light-grey);
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .img-placeholder::after {
            content: attr(data-src);
            font-family: var(--font-body);
            font-size: 0.75rem;
            color: var(--muted-grey);
            position: absolute;
            z-index: 1;
        }
        .img-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            position: relative;
            z-index: 2;
            transition: opacity 0.4s ease;
        }
        .img-placeholder img.broken {
            opacity: 0;
        }

        /* ==================================================
           CUSTOM CURSOR
           ================================================== */
        .cursor-dot {
            width: 8px;
            height: 8px;
            background-color: var(--accent-red);
            border-radius: 50%;
            position: fixed;
            top: 0;
            left: 0;
            pointer-events: none;
            z-index: 9999;
            transform: translate(-50%, -50%);
            transition: transform 0.15s var(--ease-out), background-color 0.2s;
        }
        .cursor-outline {
            width: 40px;
            height: 40px;
            border: 1px solid rgba(17, 17, 17, 0.2);
            border-radius: 50%;
            position: fixed;
            top: 0;
            left: 0;
            pointer-events: none;
            z-index: 9998;
            transform: translate(-50%, -50%);
            transition: width 0.2s var(--ease-out), height 0.2s var(--ease-out), border-color 0.2s;
        }
        /* Hover states triggered via JS */
        .cursor-hover .cursor-dot { background-color: var(--primary-black); transform: translate(-50%, -50%) scale(0.5); }
        .cursor-hover .cursor-outline { width: 60px; height: 60px; border-color: var(--primary-black); background: rgba(17,17,17,0.03); }

        /* ==================================================
           UI ELEMENTS
           ================================================== */
        .scroll-progress {
            position: fixed;
            top: 0;
            left: 0;
            width: 0%;
            height: 2px;
            background-color: var(--primary-black);
            z-index: 1000;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 1rem 0;
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            border-bottom: 1px solid var(--primary-black);
            transition: gap 0.3s var(--ease-out);
        }
        .btn:hover { gap: 1rem; }
        .btn-arrow { transition: transform 0.3s var(--ease-out); }

        /* ==================================================
           LOADING SCREEN
           ================================================== */
        .preloader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            background-color: var(--bg);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            z-index: 2000;
            transition: opacity 0.8s var(--ease-in-out), visibility 0.8s;
        }
        .preloader h1 { font-family: var(--font-heading); font-size: 3rem; text-transform: uppercase; letter-spacing: 0.1em; }
        .preloader p { font-size: 0.75rem; color: var(--muted-grey); letter-spacing: 0.1em; margin-top: 0.5rem; }
        .preloader.hidden { opacity: 0; visibility: hidden; }

        /* ==================================================
           NAVIGATION
           ================================================== */
        nav {
            position: fixed;
            top: 0;
            width: 100%;
            padding: 2rem 4vw;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 100;
            transition: all 0.4s var(--ease-out);
        }
        nav.scrolled {
            padding: 1rem 4vw;
            background: rgba(244, 242, 237, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(17,17,17,0.1);
        }
        .nav-logo { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 600; letter-spacing: 0.05em; }
        
        .nav-links { display: flex; gap: 3rem; }
        .nav-link { font-size: 0.75rem; text-transform: uppercase; font-weight: 500; letter-spacing: 0.05em; position: relative; overflow: hidden; }
        .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--primary-black); transform: translateX(-101%); transition: transform 0.3s var(--ease-out); }
        .nav-link:hover::after { transform: translateX(0); }
        
        .nav-bag { font-size: 0.75rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; }
        
        .mobile-toggle { display: none; font-size: 0.75rem; text-transform: uppercase; font-weight: 500; letter-spacing: 0.05em; }

        /* ==================================================
           HERO
           ================================================== */
        .hero {
            position: relative;
            height: 100vh;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 4vw;
            overflow: hidden;
            background-color: var(--primary-black);
            color: var(--bg);
        }
        
        .hero-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 120%; /* for parallax */
            z-index: 1;
        }
        .hero-bg img { width: 100%; height: 100%; object-fit: cover; }
        .hero-overlay {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background: linear-gradient(to bottom, rgba(17,17,17,0.2) 0%, rgba(17,17,17,0.8) 100%);
            z-index: 2;
        }

        .hero-content { position: relative; z-index: 3; display: flex; flex-direction: column; gap: 1.5rem; max-width: 800px; }
        
        .hero-brand { font-family: var(--font-heading); font-size: 1.5rem; letter-spacing: 0.1em; opacity: 0; transform: translateY(20px); }
        .hero-title { opacity: 0; transform: translateY(30px); margin-bottom: -1rem; }
        .hero-meta { display: flex; align-items: center; gap: 1rem; opacity: 0; transform: translateY(20px); }
        .hero-meta span { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
        .hero-meta .dot { width: 4px; height: 4px; background: var(--accent-red); border-radius: 50%; }
        
        .hero-btn { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--bg); color: var(--primary-black); padding: 1rem 2rem; font-size: 0.75rem; text-transform: uppercase; font-weight: 600; letter-spacing: 0.05em; align-self: flex-start; margin-top: 1rem; opacity: 0; transform: translateY(20px); transition: padding 0.3s var(--ease-out); }
        .hero-btn:hover { padding-right: 2.5rem; }

        .hero-scroll { position: absolute; right: 4vw; bottom: 4vw; z-index: 3; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; writing-mode: vertical-rl; opacity: 0; transform: translateY(20px); }

        /* ==================================================
           SECTION: FIRST DROP
           ================================================== */
        .first-drop-header {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            max-width: 600px;
            margin-bottom: 6vmax;
        }
        
        .product-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 4vw;
        }

        .product-card {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            group;
        }
        
        .product-img-wrap {
            width: 100%;
            aspect-ratio: 4/5;
            overflow: hidden;
            background-color: var(--light-grey);
            position: relative;
        }
        
        .product-img-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s var(--ease-out);
        }
        
        .product-card:hover .product-img-wrap img { transform: scale(1.03); }
        
        .product-info {
            display: grid;
            grid-template-columns: auto 1fr auto;
            align-items: baseline;
            gap: 1rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid var(--light-grey);
            position: relative;
        }

        .product-num { font-size: 0.75rem; color: var(--muted-grey); transition: transform 0.3s var(--ease-out); }
        .product-name { font-family: var(--font-heading); font-size: 1.5rem; text-transform: uppercase; }
        .product-price { font-size: 0.85rem; font-weight: 500; }
        
        .product-add {
            position: absolute;
            right: 0;
            bottom: -2rem;
            font-size: 0.7rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: var(--accent-red);
            opacity: 0;
            transform: translateY(-10px);
            transition: all 0.3s var(--ease-out);
        }

        .product-card:hover .product-num { transform: translateX(5px); }
        .product-card:hover .product-add { opacity: 1; transform: translateY(0); }

        /* ==================================================
           EDITORIAL IMAGE SECTION
           ================================================== */
        .editorial-section {
            position: relative;
            width: 100%;
            height: 80vh;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .editorial-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
        
        .editorial-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: #fff;
            mix-blend-mode: difference;
        }
        .editorial-label { font-size: 0.75rem; letter-spacing: 0.1em; margin-bottom: 1rem; display: block; }

        /* ==================================================
           MARQUEE
           ================================================== */
        .marquee-container {
            width: 100%;
            overflow: hidden;
            padding: 2rem 0;
            background: var(--bg);
            border-top: 1px solid var(--light-grey);
            border-bottom: 1px solid var(--light-grey);
        }
        .marquee-content {
            display: flex;
            width: max-content;
            animation: marquee 30s linear infinite;
        }
        .marquee-item {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            font-weight: 500;
            padding: 0 2rem;
            display: flex;
            align-items: center;
            gap: 2rem;
        }
        .marquee-item::after {
            content: '/';
            color: var(--muted-grey);
        }
        @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

        /* ==================================================
           BUILT FOR CARS
           ================================================== */
        .split-section {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8vw;
            align-items: center;
        }
        
        .split-content p { max-width: 400px; margin: 2rem 0 3rem; color: var(--secondary-black); }
        
        .specs-list { border-top: 1px solid var(--primary-black); }
        .specs-list li {
            border-bottom: 1px solid rgba(17,17,17,0.1);
            padding: 1.5rem 0;
            display: flex;
            align-items: center;
            gap: 1.5rem;
            transition: padding 0.3s var(--ease-out), background-color 0.3s;
            position: relative;
            overflow: hidden;
        }
        .specs-list li:hover { padding-left: 1rem; background-color: rgba(17,17,17,0.02); }
        .specs-num { font-size: 0.75rem; color: var(--muted-grey); font-family: var(--font-heading); }
        .specs-text { font-size: 1.25rem; font-family: var(--font-heading); text-transform: uppercase; }
        .specs-arrow {
            position: absolute;
            right: 1rem;
            opacity: 0;
            transform: translateX(-10px);
            color: var(--accent-red);
            transition: all 0.3s var(--ease-out);
        }
        .specs-list li:hover .specs-arrow { opacity: 1; transform: translateX(0); }

        .split-image { width: 100%; aspect-ratio: 4/5; }

        /* ==================================================
           CAR IMAGE GRID (MASONRY)
           ================================================== */
        .gallery-header { margin-bottom: 4rem; display: flex; justify-content: space-between; align-items: flex-end; }
        
        .gallery-grid {
            column-count: 2;
            column-gap: 2vw;
        }
        .gallery-item {
            break-inside: avoid;
            margin-bottom: 2vw;
            position: relative;
            background: var(--light-grey);
            overflow: hidden;
        }
        .gallery-item img {
            width: 100%;
            display: block;
            transition: transform 0.8s var(--ease-out);
        }
        .gallery-item:hover img { transform: scale(1.03); }
        
        .gallery-caption {
            position: absolute;
            bottom: 0; left: 0; width: 100%;
            padding: 1.5rem;
            background: linear-gradient(to top, rgba(17,17,17,0.8), transparent);
            color: #fff;
            display: flex;
            justify-content: space-between;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            opacity: 0;
            transform: translateY(10px);
            transition: all 0.4s var(--ease-out);
        }
        .gallery-item:hover .gallery-caption { opacity: 1; transform: translateY(0); }

        /* ==================================================
           CUSTOM STICKERS FORM
           ================================================== */
        .custom-section {
            background-color: var(--primary-black);
            color: var(--bg);
        }
        .custom-container {
            max-width: 800px;
            margin: 0 auto;
        }
        .custom-header { text-align: center; margin-bottom: 4rem; }
        .custom-header p { color: var(--muted-grey); margin-top: 1rem; }
        
        .custom-form { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 2rem; }
        .form-group { position: relative; }
        .form-group.full { grid-column: 1 / -1; }
        
        .form-input {
            width: 100%;
            background: transparent;
            border: none;
            border-bottom: 1px solid rgba(244, 242, 237, 0.3);
            padding: 1rem 0;
            color: var(--bg);
            font-family: var(--font-body);
            font-size: 1rem;
            outline: none;
            transition: border-color 0.3s;
        }
        .form-input:focus { border-color: var(--bg); }
        
        .form-label {
            position: absolute;
            left: 0;
            top: 1rem;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: var(--muted-grey);
            transition: all 0.3s var(--ease-out);
            pointer-events: none;
        }
        .form-input:focus ~ .form-label, .form-input:not(:placeholder-shown) ~ .form-label {
            top: -15px;
            font-size: 0.65rem;
            color: var(--bg);
        }

        .form-submit {
            grid-column: 1 / -1;
            margin-top: 1rem;
            background-color: var(--bg);
            color: var(--primary-black);
            padding: 1.5rem;
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            cursor: pointer;
            transition: background-color 0.3s, color 0.3s;
        }
        .form-submit:hover { background-color: var(--accent-red); color: #fff; }

        .form-success {
            display: none;
            text-align: center;
            padding: 4rem 0;
            animation: fadeIn 0.5s ease forwards;
        }
        .form-success.active { display: block; }
        .form-success h3 { font-family: var(--font-heading); font-size: 3rem; margin-bottom: 1rem; }

        /* ==================================================
           ABOUT SECTION
           ================================================== */
        .about-section { text-align: center; max-width: 1000px; margin: 0 auto; }
        .about-section p { margin-top: 3rem; font-size: 1.125rem; color: var(--secondary-black); max-width: 600px; margin-inline: auto; line-height: 1.6; }

        /* ==================================================
           BIG IMAGE + TEXT
           ================================================== */
        .night-section { position: relative; height: 90vh; display: flex; align-items: flex-end; padding: 4vw; color: #fff; }
        .night-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
        .night-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(17,17,17,0.9), transparent); z-index: 2; }
        .night-content { position: relative; z-index: 3; width: 100%; display: flex; justify-content: space-between; align-items: flex-end; }
        .night-tech { text-align: right; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; line-height: 2; color: var(--light-grey); }

        /* ==================================================
           FOOTER
           ================================================== */
        footer { padding: 6vw 4vw 2vw; background-color: var(--bg); border-top: 1px solid var(--light-grey); }
        .footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4vw; margin-bottom: 8vw; }
        
        .footer-brand h2 { font-family: var(--font-heading); font-size: clamp(4rem, 8vw, 12rem); line-height: 0.8; letter-spacing: -0.02em; margin-left: -0.05em; }
        .footer-brand p { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted-grey); margin-top: 1rem; }
        
        .footer-links { display: flex; flex-direction: column; gap: 1rem; }
        .footer-links a { font-size: 0.85rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; transition: color 0.3s; }
        .footer-links a:hover { color: var(--accent-red); }
        
        .footer-bottom { display: flex; justify-content: space-between; padding-top: 2rem; border-top: 1px solid var(--light-grey); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted-grey); }

        /* ==================================================
           PRODUCT MODAL
           ================================================== */
        .modal {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100vh;
            background: rgba(17,17,17,0.5);
            backdrop-filter: blur(8px);
            z-index: 2000;
            display: flex; align-items: center; justify-content: center;
            opacity: 0; pointer-events: none;
            transition: opacity 0.4s var(--ease-out);
        }
        .modal.active { opacity: 1; pointer-events: all; }
        
        .modal-content {
            background: var(--bg);
            width: 100%; max-width: 1000px;
            display: grid; grid-template-columns: 1fr 1fr;
            transform: translateY(30px);
            transition: transform 0.5s var(--ease-out);
            position: relative;
        }
        .modal.active .modal-content { transform: translateY(0); }
        
        .modal-close {
            position: absolute; top: 1.5rem; right: 1.5rem;
            font-size: 2rem; line-height: 1; cursor: pointer;
            z-index: 10; font-family: var(--font-heading);
        }
        
        .modal-img { width: 100%; height: 100%; min-height: 50vh; background: var(--light-grey); }
        .modal-img img { width: 100%; height: 100%; object-fit: cover; }
        
        .modal-details { padding: 4vw; display: flex; flex-direction: column; justify-content: center; }
        .modal-details h3 { font-family: var(--font-heading); font-size: 3rem; text-transform: uppercase; margin-bottom: 0.5rem; line-height: 1; }
        .modal-price { font-size: 1.25rem; font-weight: 500; margin-bottom: 2rem; }
        .modal-desc { color: var(--muted-grey); font-size: 0.85rem; margin-bottom: 3rem; line-height: 1.6; }
        
        .modal-controls { display: flex; gap: 1rem; margin-bottom: 2rem; }
        .select-box { border: 1px solid var(--primary-black); background: transparent; padding: 1rem; font-family: inherit; font-size: 0.85rem; text-transform: uppercase; flex: 1; outline: none; }
        
        .modal-btn { background: var(--primary-black); color: var(--bg); padding: 1.5rem; text-transform: uppercase; font-weight: 600; letter-spacing: 0.05em; font-size: 0.85rem; text-align: center; width: 100%; transition: background 0.3s; }
        .modal-btn:hover { background: var(--accent-red); }

        /* ==================================================
           MOBILE MENU
           ================================================== */
        .mobile-menu {
            position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
            background: var(--bg); z-index: 90;
            display: flex; flex-direction: column; justify-content: center; padding: 4vw;
            transform: translateY(-100%); transition: transform 0.6s var(--ease-in-out);
        }
        .mobile-menu.active { transform: translateY(0); }
        .mobile-menu a { font-family: var(--font-heading); font-size: 4rem; text-transform: uppercase; padding: 1rem 0; border-bottom: 1px solid var(--light-grey); }
        .mobile-menu a:last-child { border: none; }

        /* ==================================================
           ANIMATION CLASSES (JS INTERSECTION OBSERVER)
           ================================================== */
        .reveal-up { opacity: 0; transform: translateY(40px); transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out); }
        .reveal-up.in-view { opacity: 1; transform: translateY(0); }
        
        .reveal-scale { opacity: 0; transform: scale(0.95); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
        .reveal-scale.in-view { opacity: 1; transform: scale(1); }

        .delay-1 { transition-delay: 0.1s; }
        .delay-2 { transition-delay: 0.2s; }
        .delay-3 { transition-delay: 0.3s; }

        /* ==================================================
           RESPONSIVE DESIGN
           ================================================== */
        @media (max-width: 1024px) {
            .gallery-grid { column-count: 1; }
            .split-section { grid-template-columns: 1fr; gap: 4vw; }
            .split-image { order: -1; }
            .footer-top { grid-template-columns: 1fr; gap: 4vw; }
        }

        @media (max-width: 768px) {
            body { cursor: auto; } /* Disable custom cursor on mobile */
            .cursor-dot, .cursor-outline { display: none; }
            
            .nav-links { display: none; }
            .mobile-toggle { display: block; }
            
            .hero-title { font-size: 5rem; }
            
            .product-grid { grid-template-columns: 1fr; }
            
            .custom-form { grid-template-columns: 1fr; gap: 2rem; }
            
            .modal-content { grid-template-columns: 1fr; max-height: 90vh; overflow-y: auto; }
            .modal-img { min-height: 40vh; }
            .modal-details { padding: 6vw; }
            
            .night-content { flex-direction: column; align-items: flex-start; gap: 2rem; }
            .night-tech { text-align: left; }
        }

        /* REDUCED MOTION */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
            .reveal-up, .reveal-scale, .hero-brand, .hero-title, .hero-meta, .hero-btn, .hero-scroll {
                opacity: 1 !important; transform: none !important;
            }
            body { cursor: auto; }
            .cursor-dot, .cursor-outline { display: none; }
        }
    

/* =========================================================
   KAIZO MULTI-PAGE SYSTEM — STEP 1
   ========================================================= */

.page-transition {
    position: fixed;
    inset: 0;
    background: var(--primary-black);
    z-index: 10000;
    pointer-events: none;
    transform: translateY(100%);
    transition: transform .65s cubic-bezier(.16,1,.3,1);
}
.page-transition.active { transform: translateY(0); }

.page-main {
    animation: pageIn .8s cubic-bezier(.16,1,.3,1) both;
}
@keyframes pageIn {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

.nav-link.active::after { transform: translateX(0); }

.page-hero {
    min-height: 62vh;
    padding: 13rem 4vw 5rem;
    display: flex;
    align-items: flex-end;
    background: var(--primary-black);
    color: var(--bg);
}
.page-hero-inner { width:100%; max-width:1800px; margin:auto; }
.page-kicker { font-size:.7rem; text-transform:uppercase; letter-spacing:.14em; margin-bottom:1.5rem; color:#aaa; }
.page-title { max-width:1100px; }

.page-copy {
    max-width: 780px;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--secondary-black);
}
.page-copy h2 {
    font-family:var(--font-heading);
    text-transform:uppercase;
    font-size:clamp(2rem,4vw,4rem);
    line-height:1;
    margin:4rem 0 1.25rem;
}
.page-copy p { margin-bottom:1.5rem; }

.policy-nav {
    display:flex;
    flex-wrap:wrap;
    gap:1.5rem;
    padding:1.25rem 4vw;
    border-bottom:1px solid var(--light-grey);
}
.policy-nav a {
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.policy-nav a:hover { color:var(--accent-red); }

.site-footer-link { transition:color .25s ease; }
.site-footer-link:hover { color:var(--accent-red); }

@media (max-width:768px) {
    .page-hero { min-height:55vh; padding-top:10rem; }
    .policy-nav { gap:1rem; }
}

/* STEP 2 — CART / PRODUCT / CHECKOUT */
.product-card-link{display:block}.product-card-link:hover .product-img-wrap img{transform:scale(1.035)}
.product-page-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:7vw;align-items:start}
.product-main-image{aspect-ratio:1;background:var(--light-grey);overflow:hidden}.product-main-image img{width:100%;height:100%;object-fit:cover}
.product-detail{position:sticky;top:8rem}.product-detail-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-grey);margin-bottom:1rem}
.product-detail h1{font-family:var(--font-heading);font-size:clamp(3rem,6vw,6rem);line-height:.92;text-transform:uppercase}
.product-detail-price{font-size:1.1rem;margin:1.5rem 0 2rem}.product-detail-desc{color:var(--muted-grey);line-height:1.7}
.product-controls{display:flex;gap:.75rem;margin:2rem 0 1rem}.qty-control{display:flex;border:1px solid var(--primary-black)}
.qty-control button,.qty-control span{width:48px;height:52px;display:grid;place-items:center}.qty-control button:hover{background:var(--light-grey)}
.add-btn{flex:1;background:var(--primary-black);color:var(--bg);text-transform:uppercase;letter-spacing:.08em;font-weight:600;transition:.3s}.add-btn:hover{background:var(--accent-red)}.add-btn.added{background:transparent;color:var(--primary-black);border:1px solid var(--primary-black)}
.stock-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-grey)}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,420px);gap:clamp(3rem,7vw,8rem);align-items:start;max-width:1180px;margin:0 auto}
.cart-items{border-top:1px solid var(--primary-black)}.cart-item{display:grid;grid-template-columns:130px 1fr auto;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--light-grey);align-items:center}
.cart-item-img{width:130px;aspect-ratio:1;background:var(--light-grey);overflow:hidden}.cart-item-img img{width:100%;height:100%;object-fit:cover}
.cart-item-name{font-family:var(--font-heading);font-size:1.35rem;text-transform:uppercase}.cart-item-price{font-size:.85rem;color:var(--muted-grey);margin-top:.3rem}
.cart-item-actions{display:flex;align-items:center;gap:1rem;margin-top:.9rem}.mini-qty{display:flex;border:1px solid var(--light-grey)}.mini-qty button,.mini-qty span{width:34px;height:32px;display:grid;place-items:center}
.remove-btn{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-grey)}.remove-btn:hover{color:var(--accent-red)}
.cart-line-total{font-size:.9rem;font-weight:600}.cart-summary,.order-review{border-top:1px solid var(--primary-black);padding-top:1.35rem;position:sticky;top:8rem;min-width:0}
.summary-row{display:flex;justify-content:space-between;padding:.65rem 0;font-size:.85rem}.summary-total{font-family:var(--font-heading);font-size:1.5rem;text-transform:uppercase;border-top:1px solid var(--light-grey);margin-top:.8rem;padding-top:1.2rem}
.checkout-btn{display:flex;justify-content:center;width:100%;min-height:58px;padding:1.2rem;background:var(--primary-black);color:var(--bg);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:1.5rem;transition:.3s}.checkout-btn:hover{background:var(--accent-red)}
.empty-cart{padding:5rem 0;text-align:center;border-top:1px solid var(--primary-black)}
.checkout-form{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 2.25rem;padding:2.5rem 0 0}.checkout-field{position:relative}.checkout-field.full{grid-column:1/-1}
.checkout-field input{width:100%;border:0;border-bottom:1px solid var(--primary-black);background:transparent;padding:1.05rem 0;min-height:52px;font:inherit;font-size:.95rem;outline:0}
.checkout-field label{position:absolute;left:0;top:1.1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-grey);pointer-events:none;transition:.25s}
.checkout-field input:focus+label,.checkout-field input:not(:placeholder-shown)+label{top:-.7rem;font-size:.6rem;color:var(--accent-red)}
.review-item{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--light-grey);font-size:.8rem;line-height:1.5}.form-error{display:none;padding:1rem;margin-bottom:2rem;line-height:1.5;border:1px solid var(--accent-red);font-size:.75rem;color:var(--accent-red)}
.success-mark{font-family:var(--font-heading);font-size:clamp(4rem,10vw,9rem);line-height:.9;text-transform:uppercase}.success-box{min-height:65vh;display:flex;flex-direction:column;justify-content:center}
@media(max-width:1000px){.product-page-grid,.cart-layout,.checkout-layout{grid-template-columns:1fr}.checkout-layout{gap:4rem;max-width:760px}.product-detail,.cart-summary,.order-review{position:static}.cart-item{grid-template-columns:90px 1fr}.cart-line-total{grid-column:2}.cart-item-img{width:90px}}
@media(max-width:650px){.checkout-layout{gap:3rem}.checkout-form{grid-template-columns:1fr;gap:2rem;padding-top:1.5rem}.checkout-field.full{grid-column:auto}.checkout-btn{margin-top:1rem}.order-review{margin-top:.5rem}}

.vehicle-finder{border-top:1px solid var(--light);padding-top:2rem}.vehicle-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.vehicle-select-grid label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--grey)}.vehicle-select-grid select{display:block;width:100%;margin-top:.65rem;background:var(--bg);border:1px solid var(--light);padding:1rem;font:inherit;color:var(--black);border-radius:0;outline:none}.vehicle-select-grid select:focus{border-color:var(--black)}.vehicle-select-grid select:disabled{opacity:.45}.vehicle-status{min-height:2rem;padding:1.5rem 0;font-size:.8rem;color:var(--grey)}.vehicle-results{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.vehicle-empty{border-top:1px solid var(--light);padding:2rem 0;color:var(--grey)}@media(max-width:760px){.vehicle-select-grid,.vehicle-results{grid-template-columns:1fr}}
.admin-shell{min-height:100vh;background:var(--bg)}.admin-wrap{max-width:1400px;margin:0 auto;padding:7rem 2rem 4rem}.admin-top{display:flex;justify-content:space-between;gap:1rem;align-items:end;border-bottom:1px solid var(--light);padding-bottom:1.5rem;margin-bottom:2rem}.admin-top h1{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:clamp(3rem,8vw,7rem);line-height:.9;margin:0}.admin-meta{font-size:.75rem;color:var(--grey);text-transform:uppercase;letter-spacing:.12em}.admin-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.admin-tab{border:1px solid var(--light);background:transparent;padding:.75rem 1rem;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;cursor:pointer}.admin-tab.active,.admin-tab:hover{background:var(--black);color:#fff;border-color:var(--black)}.admin-panel{display:none}.admin-panel.active{display:block}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem}.admin-card{border-top:2px solid var(--black);padding:1.25rem 0}.admin-card h2{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.5rem;margin:.2rem 0 1rem}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--light);padding:.8rem .4rem;text-align:left;vertical-align:top}.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.admin-form .full{grid-column:1/-1}.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid var(--light);background:transparent;padding:.8rem;font:inherit}.admin-form textarea{min-height:100px;resize:vertical}.admin-btn{border:1px solid var(--black);background:var(--black);color:#fff;padding:.75rem 1rem;cursor:pointer;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.admin-btn.secondary{background:transparent;color:var(--black)}.admin-btn.danger{border-color:#8b0000;color:#8b0000;background:transparent}.admin-actions{display:flex;gap:.4rem;flex-wrap:wrap}.admin-msg{padding:.8rem 0;font-size:.8rem;color:var(--grey)}.admin-login{max-width:430px;margin:15vh auto}.admin-login h1{font-family:Oswald,sans-serif;font-size:4rem;text-transform:uppercase}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.admin-kpi{border-top:2px solid var(--black);padding:1rem 0}.admin-kpi strong{display:block;font-family:Oswald;font-size:2.3rem}.admin-kpi span{font-size:.65rem;color:var(--grey);text-transform:uppercase;letter-spacing:.1em}@media(max-width:850px){.admin-grid{grid-template-columns:1fr}.admin-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.admin-wrap{padding:6rem 1rem 3rem}.admin-form{grid-template-columns:1fr}.admin-form .full{grid-column:auto}.admin-top{align-items:start;flex-direction:column}}

/* Dynamic product cards / image fallback */
.product-card-image-link{display:block;color:inherit;text-decoration:none}.product-name-link{color:inherit;text-decoration:none;display:block}.product-actions{margin-top:.55rem}.product-add-btn{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:.7}.product-add-btn:hover{opacity:1;text-decoration:underline}.product-add-btn:disabled{opacity:.35;cursor:not-allowed}.product-add-btn.added{opacity:1}.product-img-wrap{position:relative;overflow:hidden;background:#d8d6d0;min-height:320px}.product-img-wrap img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.product-card:hover .product-img-wrap img{transform:scale(1.03)}.image-missing{width:100%;height:100%;min-height:320px;display:flex;align-items:center;justify-content:center;background:#dedcd6;color:#777;font-size:.7rem;letter-spacing:.16em}.image-missing span{border:1px solid #aaa;padding:.55rem .8rem}.home-product-card .product-img-wrap{min-height:360px}

/* ==========================================================
   KAIZO HOME V3 — CLEAN EDITORIAL SYSTEM
   ========================================================== */
.kaizo-home{background:#f4f2ed}.kaizo-home .home-editorial{overflow:hidden}.home-nav{transition:background .45s var(--ease-out),border-color .45s var(--ease-out),transform .45s var(--ease-out)}
.home-nav.scrolled{background:rgba(244,242,237,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(17,17,17,.09)}
.home-hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#111;color:#fff}.home-hero-media,.home-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-hero-media img{transform:scale(1.035);transition:transform 1.6s var(--ease-out),opacity .8s ease}.home-hero:hover .home-hero-media img{transform:scale(1.06)}.home-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.68))}.home-hero-content{position:relative;z-index:2;padding:8rem 5vw 7rem;max-width:900px}.home-hero .hero-brand{font-family:var(--font-heading);font-size:1rem;letter-spacing:.2em;margin-bottom:1.2rem;opacity:0;transform:translateY(25px);transition:opacity .9s .3s var(--ease-out),transform .9s .3s var(--ease-out)}.home-hero .hero-title{opacity:0;transform:translateY(35px);transition:opacity 1s .42s var(--ease-out),transform 1s .42s var(--ease-out)}.home-hero .hero-meta{opacity:0;transform:translateY(20px);transition:opacity .8s .58s var(--ease-out),transform .8s .58s var(--ease-out)}.home-hero.loaded .hero-brand,.home-hero.loaded .hero-title,.home-hero.loaded .hero-meta{opacity:1;transform:none}.home-hero-index{position:absolute;right:4vw;bottom:4rem;z-index:2;font-size:.65rem;letter-spacing:.18em}.home-hero .hero-scroll{position:absolute;bottom:4rem;left:50%;transform:translateX(-50%);z-index:2;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7;animation:homeFloat 2.6s ease-in-out infinite}.home-statement{display:grid;grid-template-columns:.45fr 1fr;gap:4rem;min-height:70vh;align-items:center}.home-statement-index,.home-image-caption,.home-split-image>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:#777}.home-statement p{max-width:600px;margin-top:2rem;color:#666;font-size:1rem;line-height:1.9}.home-full-image{position:relative;height:min(82vh,900px);overflow:hidden;background:#ddd}.home-full-image-media,.home-full-image-media img{width:100%;height:100%;object-fit:cover}.home-full-image-media img{transition:transform 1.4s var(--ease-out)}.home-full-image:hover img{transform:scale(1.035)}.home-image-caption{position:absolute;bottom:1.4rem;left:2rem;right:2rem;display:flex;justify-content:space-between;color:#fff;z-index:2}.home-split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.home-split-copy p{max-width:520px;color:#666;margin:1.8rem 0 2.5rem;line-height:1.85}.home-spec-list{border-top:1px solid #ccc}.home-spec-list div{display:grid;grid-template-columns:40px 1fr;padding:1rem 0;border-bottom:1px solid #ccc;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;transition:padding-left .35s var(--ease-out),background .35s}.home-spec-list div:hover{padding-left:.7rem;background:rgba(0,0,0,.025)}.home-spec-list div span:first-child{color:#999}.home-split-image img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.85);transition:transform 1s var(--ease-out),filter .5s}.home-split-image:hover img{transform:scale(1.025);filter:saturate(1)}.home-split-image>span{display:block;margin-top:.8rem}.home-gallery-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}.home-gallery .gallery-grid{grid-template-columns:repeat(12,1fr);gap:1rem}.home-gallery .gallery-item{overflow:hidden;position:relative}.home-gallery .gallery-item:nth-child(1){grid-column:span 5}.home-gallery .gallery-item:nth-child(2){grid-column:span 7}.home-gallery .gallery-item:nth-child(3){grid-column:span 4}.home-gallery .gallery-item:nth-child(4){grid-column:span 5}.home-gallery .gallery-item:nth-child(5){grid-column:span 3}.home-gallery .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out),filter .5s}.home-gallery .gallery-item:hover img{transform:scale(1.04);filter:saturate(1.08)}.home-marquee{overflow:hidden;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:1.4rem 0;margin:2rem 0}.home-marquee .marquee-content{display:flex;width:max-content;gap:4rem;animation:homeMarquee 24s linear infinite}.home-marquee span{font-family:var(--font-heading);font-size:clamp(2rem,4vw,4rem);text-transform:uppercase;white-space:nowrap}.home-closing{height:min(85vh,900px);position:relative;overflow:hidden;color:#fff;background:#111}.home-closing-media,.home-closing-media img,.home-closing-shade{position:absolute;inset:0;width:100%;height:100%}.home-closing-media img{object-fit:cover;transition:transform 1.5s var(--ease-out)}.home-closing:hover .home-closing-media img{transform:scale(1.04)}.home-closing-shade{background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.08))}.home-closing-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:6rem}.home-closing-content .night-tech{margin-top:2rem;font-size:.62rem;line-height:1.8;letter-spacing:.14em;opacity:.75}.kaizo-home footer{margin-top:0}.kaizo-home footer a{transition:opacity .25s,transform .25s}.kaizo-home footer a:hover{opacity:.55;transform:translateX(3px)}
@keyframes homeMarquee{to{transform:translateX(-50%)}}@keyframes homeFloat{0%,100%{margin-bottom:0}50%{margin-bottom:8px}}
@media(max-width:800px){.home-statement{grid-template-columns:1fr;gap:1.5rem;min-height:auto;padding-top:7rem;padding-bottom:7rem}.home-split{grid-template-columns:1fr;gap:3rem}.home-gallery .gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.home-gallery .gallery-item:nth-child(n){grid-column:span 1}.home-gallery .gallery-item:first-child{grid-row:span 2}.home-full-image{height:65vh}.home-hero-content{padding:7rem 1.25rem 6rem}.home-hero-index{right:1.25rem;bottom:2rem}.home-hero .hero-scroll{bottom:2rem}.home-closing{height:70vh}.home-closing-content{padding-bottom:4rem}.home-image-caption{left:1rem;right:1rem}}
@media(prefers-reduced-motion:reduce){.home-marquee .marquee-content{animation:none}.home-hero .hero-scroll{animation:none}.home-hero-media img,.home-full-image-media img,.home-split-image img,.home-gallery .gallery-item img,.home-closing-media img{transition:none}}

/* ADMIN V3 polish */
.admin-shell{background:#eceae4}.admin-wrap{max-width:1500px}.admin-top{position:relative}.admin-quickbar{margin-top:1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;font-size:.68rem;color:#666}.admin-save-state{display:inline-flex;padding:.35rem .55rem;border:1px solid #ccc;background:#f7f6f1;color:#111;text-transform:uppercase;letter-spacing:.08em}.admin-tabs{position:sticky;top:0;z-index:20;background:rgba(236,234,228,.94);backdrop-filter:blur(12px);padding:.7rem 0;border-bottom:1px solid #d2d0ca}.admin-tab{transition:background .2s,color .2s,transform .2s}.admin-tab:hover{transform:translateY(-1px)}.admin-panel{animation:adminPanelIn .35s var(--ease-out)}.admin-card{background:rgba(255,255,255,.28);padding:1.5rem;border-top:1px solid #111}.admin-form input,.admin-form textarea,.admin-form select{background:#f8f7f3;border-color:#ccc;transition:border-color .2s,box-shadow .2s,background .2s}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:none;border-color:#111;background:#fff;box-shadow:0 0 0 3px rgba(17,17,17,.06)}.admin-btn{transition:transform .2s,background .2s,border-color .2s,opacity .2s}.admin-btn:hover{transform:translateY(-1px)}.admin-btn:active{transform:translateY(0)}.admin-save-dock{position:sticky;bottom:1rem;z-index:25;margin-top:1rem;padding:.75rem;background:rgba(17,17,17,.94);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 12px 35px rgba(0,0,0,.14);backdrop-filter:blur(12px)}.admin-save-dock span{font-size:.7rem;color:#bbb}.admin-save-dock .admin-btn{background:#fff;color:#111;border-color:#fff}.admin-save-dock .admin-btn.secondary{background:transparent;color:#fff;border-color:#666}.admin-section-title{margin-top:2rem}.admin-image-preview{border-radius:0}.admin-upload-zone{border:1px dashed #aaa;padding:1.2rem;background:#f8f7f3;transition:border-color .2s,background .2s}.admin-upload-zone:hover{border-color:#111;background:#fff}.admin-gallery-item{background:#f8f7f3;padding:1rem;margin-bottom:.7rem;border:1px solid #ddd}.admin-help-box{padding:1rem;background:#f8f7f3;border-left:2px solid #111;font-size:.72rem;color:#666;line-height:1.65}.admin-unsaved{box-shadow:0 0 0 2px #111 inset}.admin-msg{min-height:1.2rem}.admin-page-card{scroll-margin-top:7rem}@keyframes adminPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* =========================================================
   KAIZO LAUNCH POLISH — LAYOUT / TYPOGRAPHY / RESPONSIVE
   ========================================================= */
html { overflow-x:hidden; }
body { line-height:1.6; }
.container { max-width:1440px; padding-left:clamp(1.25rem,5vw,4.5rem); padding-right:clamp(1.25rem,5vw,4.5rem); }
.section-padding { padding-top:clamp(5.5rem,10vw,10rem); padding-bottom:clamp(5.5rem,10vw,10rem); }
.heading-large { font-size:clamp(3.5rem,7.2vw,8rem); line-height:.9; letter-spacing:-.025em; }
.heading-medium { font-size:clamp(2.6rem,5.2vw,5.5rem); line-height:.94; }

/* Keep navigation readable at every desktop width. */
nav { padding:1.15rem clamp(1.25rem,4vw,4rem); min-height:72px; }
.nav-links { gap:clamp(1.25rem,3vw,3rem); }
.nav-link,.nav-bag { white-space:nowrap; }

/* Page headers: predictable height, no title collisions. */
.page-hero { min-height:clamp(390px,58svh,680px); padding:clamp(8rem,14vw,12rem) clamp(1.25rem,5vw,4.5rem) clamp(3rem,6vw,5rem); }
.page-title { max-width:1000px; overflow-wrap:normal; word-break:normal; }
.page-copy { max-width:760px; line-height:1.85; }
.page-copy h2 { margin-top:clamp(2.75rem,6vw,5rem); margin-bottom:1.1rem; }
.page-copy p { margin-bottom:1.4rem; }
.page-copy ul { margin:1rem 0 2rem 1.1rem; list-style:disc; }
.page-copy li { margin:.55rem 0; }

/* Product / bag / checkout layouts stay roomy instead of collapsing too late. */
.product-page-grid { grid-template-columns:minmax(0,1.15fr) minmax(300px,.75fr); gap:clamp(3rem,6vw,7rem); }
.product-detail h1 { font-size:clamp(2.8rem,5.5vw,5.5rem); }
.cart-layout,.checkout-layout { gap:clamp(2.5rem,6vw,6rem); max-width:1160px; }
.checkout-form { gap:2.2rem 2rem; }
.checkout-field input { min-height:56px; }

/* =========================================================
   HOMEPAGE — editorial hero with zero text collisions
   ========================================================= */
.home-hero { min-height:clamp(680px,92svh,960px); }
.home-hero-media img { transform:none; object-position:center center; image-rendering:auto; }
.home-hero:hover .home-hero-media img { transform:scale(1.012); }
.home-hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.32) 46%,rgba(0,0,0,.12) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.42)); }
.home-hero-content { width:min(100%,780px); padding:clamp(8rem,13vh,10rem) clamp(1.25rem,6vw,6rem) clamp(5.5rem,9vh,7.5rem); }
.home-hero .hero-brand { margin-bottom:1.6rem; font-size:.78rem; }
.home-hero .hero-title { display:block; max-width:720px; margin:0; font-size:clamp(3.5rem,7vw,7.6rem); line-height:.88; letter-spacing:-.025em; }
.home-hero .hero-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1rem; margin-top:2rem; min-height:1.2rem; }
.home-hero .hero-meta span { line-height:1.3; }
.home-hero-index { right:clamp(1.25rem,4vw,4rem); bottom:2rem; }
.home-hero .hero-scroll { left:auto; right:clamp(4.5rem,8vw,8rem); bottom:2rem; transform:none; }
.home-statement { min-height:65vh; gap:clamp(2rem,7vw,7rem); }
.home-statement > div:last-child { min-width:0; }
.home-statement .heading-medium { max-width:850px; }
.home-statement p { max-width:650px; }
.home-full-image { height:min(78vh,860px); }
.home-split { gap:clamp(2.5rem,7vw,7rem); }
.home-split-copy { min-width:0; }
.home-gallery-head { gap:2rem; }
.home-gallery-head .heading-medium { max-width:700px; }
.home-closing { height:min(78vh,860px); }
.home-closing-content .heading-large { max-width:700px; }

/* Footer never lets oversized branding crush the links. */
footer { padding:clamp(4rem,7vw,7rem) clamp(1.25rem,4vw,4rem) 1.5rem; }
.footer-top { gap:clamp(2.5rem,5vw,5rem); margin-bottom:clamp(4rem,7vw,7rem); }
.footer-brand h2 { font-size:clamp(4rem,8vw,9rem); }
.footer-links { gap:.8rem; }
.footer-bottom { flex-wrap:wrap; gap:1rem 2rem; line-height:1.5; }

/* Admin: clear hierarchy and controls that remain reachable. */
.admin-wrap { max-width:1500px; padding:clamp(5rem,8vw,7rem) clamp(1rem,3vw,2rem) 4rem; }
.admin-grid { gap:1.25rem; }
.admin-card { border-top-width:2px; }
.admin-panel-head { flex-wrap:wrap; }
.admin-content-grid { gap:1rem; }
.admin-form input,.admin-form textarea,.admin-form select { min-height:48px; }
.admin-form textarea { line-height:1.55; }
.admin-btn { min-height:44px; }
.admin-save-dock { border:1px solid rgba(255,255,255,.12); border-radius:2px; }
.admin-tabs { overflow-x:auto; flex-wrap:nowrap; scrollbar-width:thin; }
.admin-tab { flex:0 0 auto; }
.admin-content-tabs { overflow-x:auto; flex-wrap:nowrap; padding-bottom:.2rem; }
.admin-content-tab { flex:0 0 auto; }

/* Avoid sticky elements overlapping content on short screens. */
@media (max-height:700px) and (min-width:801px) {
  .home-hero { min-height:680px; }
  .home-hero-content { padding-bottom:5rem; }
}

@media (max-width:1000px) {
  .product-page-grid { grid-template-columns:1fr; }
  .product-detail { position:static; }
  .home-statement { grid-template-columns:1fr; min-height:auto; }
  .home-gallery .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-gallery .gallery-item:nth-child(n) { grid-column:span 1; }
  .home-gallery .gallery-item:first-child { grid-column:span 2; }
  .footer-top { grid-template-columns:1.5fr 1fr 1fr; }
}

@media (max-width:760px) {
  body { cursor:auto; }
  .home-hero { min-height:720px; }
  .home-hero-content { padding:7rem 1.25rem 5.5rem; }
  .home-hero .hero-title { font-size:clamp(3.25rem,14vw,6rem); line-height:.9; max-width:560px; }
  .home-hero .hero-meta { margin-top:1.4rem; max-width:420px; }
  .home-hero-index { bottom:1.25rem; }
  .home-hero .hero-scroll { right:1.25rem; bottom:1.25rem; }
  .home-full-image { height:60vh; min-height:420px; }
  .home-split { grid-template-columns:1fr; }
  .home-split-image { order:-1; }
  .home-gallery .gallery-grid { grid-template-columns:1fr; }
  .home-gallery .gallery-item:nth-child(n),.home-gallery .gallery-item:first-child { grid-column:1; }
  .home-closing { height:68vh; min-height:520px; }
  .home-closing-content { padding-bottom:4rem; }
  .footer-top { grid-template-columns:1fr; gap:3rem; }
  .footer-brand h2 { font-size:clamp(4rem,18vw,7rem); }
  .page-hero { min-height:430px; padding-top:9rem; }
  .page-title { font-size:clamp(3rem,14vw,6rem); }
  .policy-nav { padding-left:1.25rem; padding-right:1.25rem; }
  .cart-item { grid-template-columns:82px 1fr; gap:1rem; }
  .cart-item-img { width:82px; }
  .cart-line-total { grid-column:2; }
  .checkout-form { grid-template-columns:1fr; gap:1.8rem; }
  .checkout-field.full { grid-column:auto; }
  .admin-top { align-items:flex-start; }
  .admin-kpis { grid-template-columns:repeat(2,1fr); }
  .admin-grid { grid-template-columns:1fr; }
  .admin-save-dock { position:sticky; bottom:.6rem; flex-direction:column; align-items:stretch; }
  .admin-save-dock .admin-btn { width:100%; }
}

@media (max-width:480px) {
  .home-hero { min-height:680px; }
  .home-hero .hero-title { font-size:clamp(3rem,15vw,4.8rem); }
  .home-hero .hero-meta { font-size:.62rem; gap:.5rem .7rem; }
  .home-image-caption { flex-direction:column; gap:.3rem; }
  .admin-kpis { gap:.65rem; }
  .admin-kpi strong { font-size:1.8rem; }
}

@media (prefers-reduced-motion:reduce) {
  .home-hero:hover .home-hero-media img,.home-full-image:hover img,.home-split-image:hover img,.home-gallery .gallery-item:hover img,.home-closing:hover .home-closing-media img { transform:none; }
}

/* Compatibility aliases used by older modules. */
:root { --black:var(--primary-black); --grey:var(--muted-grey); --light:var(--light-grey); }
.admin-unsaved-state { border-color:#a51d24!important; color:#a51d24!important; background:#fff7f7!important; }

/* =========================================================
   KAIZO V5 — COLLISION SHIELD / FINAL RESPONSIVE SYSTEM
   This block intentionally comes last so legacy styles cannot
   reintroduce overlapping text or controls.
   ========================================================= */

/* Never allow typography to escape its own layout box. */
*, *::before, *::after { min-width: 0; }
h1, h2, h3, h4, p, a, span, label, li, button { overflow-wrap: break-word; }

/* Hero: use a real layout stack for text, then reserve a dedicated control rail. */
.kaizo-home .home-hero {
    isolation: isolate;
    min-height: max(720px, 92svh);
}
.kaizo-home .home-hero-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    width: min(820px, 68vw);
    max-width: 820px;
    padding: 0 0 clamp(8rem, 12vh, 10rem) clamp(1.5rem, 6vw, 6rem);
    margin: 0;
}
.kaizo-home .home-hero .hero-brand {
    position: static;
    margin: 0 0 1.35rem;
    line-height: 1;
}
.kaizo-home .home-hero .hero-title {
    position: static;
    margin: 0;
    padding: 0;
    max-width: 760px;
    font-size: clamp(3.8rem, 6.7vw, 7.2rem);
    line-height: .91;
    letter-spacing: -.025em;
    text-wrap: balance;
}
.kaizo-home .home-hero .hero-meta {
    position: static;
    margin: 2rem 0 0;
    padding: 0;
    min-height: 1.2rem;
    max-width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem .9rem;
    line-height: 1.4;
}
.kaizo-home .home-hero .hero-meta span { display: inline-block; white-space: nowrap; }

/* The two bottom indicators have separate zones. They can never sit on top of each other. */
.kaizo-home .home-hero-index {
    right: clamp(1.25rem, 4vw, 4rem);
    bottom: 1.75rem;
    z-index: 5;
    white-space: nowrap;
    line-height: 1;
}
.kaizo-home .home-hero .hero-scroll {
    left: 50%;
    right: auto;
    bottom: 1.75rem;
    transform: translateX(-50%);
    z-index: 5;
    white-space: nowrap;
    line-height: 1;
    margin: 0;
}

/* Keep image behind content and avoid accidental scaling on hover. */
.kaizo-home .home-hero-media { z-index: 0; }
.kaizo-home .home-hero-shade { z-index: 1; }
.kaizo-home .home-hero-media img { transform: none !important; }
.kaizo-home .home-hero:hover .home-hero-media img { transform: none !important; }

/* Editorial sections get explicit vertical rhythm. */
.kaizo-home .home-statement {
    padding-top: clamp(7rem, 12vw, 12rem);
    padding-bottom: clamp(7rem, 12vw, 12rem);
}
.kaizo-home .home-statement .heading-medium,
.kaizo-home .home-split .heading-medium,
.kaizo-home .home-gallery .heading-medium,
.kaizo-home .home-closing .heading-large {
    margin: 0;
    padding: 0;
}
.kaizo-home .home-statement p,
.kaizo-home .home-split-copy p { margin-top: 2rem; }

/* Image captions are always inside their own safe area. */
.kaizo-home .home-image-caption {
    bottom: 1.5rem;
    gap: 1rem;
    line-height: 1.4;
}
.kaizo-home .home-image-caption span { display: block; }

/* Gallery captions cannot collide with each other or the image edge. */
.kaizo-home .gallery-caption {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    padding: 1rem;
    line-height: 1.35;
}
.kaizo-home .gallery-caption span { min-width: 0; }

/* Closing image: separate title and technical metadata instead of letting them flow together. */
.kaizo-home .home-closing-content {
    justify-content: flex-end;
    padding-top: 7rem;
    padding-bottom: clamp(5rem, 9vh, 8rem);
}
.kaizo-home .home-closing-content .night-tech {
    margin-top: 2.5rem;
    max-width: 220px;
    line-height: 1.9;
}

/* Footer: prevent giant branding from crowding legal/navigation links. */
.kaizo-home footer .footer-top {
    align-items: start;
}
.kaizo-home footer .footer-brand,
.kaizo-home footer .footer-links { min-width: 0; }
.kaizo-home footer .footer-brand h2 {
    line-height: .86;
    overflow-wrap: normal;
}
.kaizo-home footer .footer-bottom span { max-width: 100%; }

/* All normal pages: safe title/copy spacing. */
.page-main,
.page-main section,
.page-hero,
.page-hero-inner,
.page-copy,
.product-page-grid,
.product-detail,
.cart-layout,
.checkout-layout,
.vehicle-finder { min-width: 0; }
.page-hero-inner { padding: 0; }
.page-kicker { line-height: 1.4; }
.page-title { margin: 0; line-height: .94; }
.page-copy { margin-left: 0; margin-right: auto; }
.page-copy h2 { line-height: 1.02; }
.page-copy p,
.page-copy li { overflow-wrap: anywhere; }

/* Product / bag / checkout: don't let long names or totals force columns wider. */
.product-detail h1,
.cart-item-name,
.review-item,
.summary-row { overflow-wrap: anywhere; }
.cart-item > *,
.checkout-layout > *,
.product-page-grid > * { min-width: 0; }
.cart-item-actions { flex-wrap: wrap; }
.review-item > * { min-width: 0; }

/* Vehicle finder: labels and controls stay inside the grid. */
.vehicle-select-grid > label,
.vehicle-select-grid select { min-width: 0; }
.vehicle-status { line-height: 1.5; }

/* Admin: never allow action rows, tables or headings to create horizontal collisions. */
.admin-wrap,
.admin-panel,
.admin-card,
.admin-table-wrap { min-width: 0; }
.admin-panel-head,
.admin-quickbar,
.admin-actions,
.admin-save-dock { min-width: 0; }
.admin-actions { align-items: center; }
.admin-table { table-layout: fixed; }
.admin-table th,
.admin-table td { overflow-wrap: anywhere; }
.admin-form > * { min-width: 0; }
.admin-save-dock { flex-wrap: wrap; }
.admin-save-dock > * { min-width: 0; }

/* Never let sticky admin controls cover the final content on short viewports. */
@media (min-width: 761px) {
    .admin-save-dock { position: sticky; bottom: 1rem; }
}

/* Tablet: give the hero controls their own bottom rail and make the title narrower. */
@media (max-width: 1000px) {
    .kaizo-home .home-hero-content {
        width: min(760px, 88vw);
        padding-left: clamp(1.5rem, 5vw, 4rem);
    }
    .kaizo-home .home-hero .hero-title {
        font-size: clamp(3.5rem, 9vw, 6.4rem);
    }
    .kaizo-home .home-hero .hero-meta { margin-top: 1.75rem; }
}

/* Mobile: controls stack into completely separate positions. */
@media (max-width: 760px) {
    .kaizo-home .home-hero {
        min-height: 700px;
    }
    .kaizo-home .home-hero-content {
        width: 100%;
        padding: 7rem 1.25rem 8rem;
    }
    .kaizo-home .home-hero .hero-brand { margin-bottom: 1.1rem; }
    .kaizo-home .home-hero .hero-title {
        max-width: 94vw;
        font-size: clamp(3rem, 14vw, 5.6rem);
        line-height: .92;
    }
    .kaizo-home .home-hero .hero-meta {
        max-width: 90vw;
        margin-top: 1.5rem;
        gap: .45rem .7rem;
    }
    .kaizo-home .home-hero-index {
        right: 1.25rem;
        bottom: 1.15rem;
        font-size: .58rem;
    }
    .kaizo-home .home-hero .hero-scroll {
        left: 1.25rem;
        bottom: 1.15rem;
        transform: none;
        font-size: .58rem;
    }
    .kaizo-home .home-image-caption {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: .3rem;
    }
    .kaizo-home .home-statement,
    .kaizo-home .home-split,
    .kaizo-home .home-gallery { padding-top: 6rem; padding-bottom: 6rem; }
    .kaizo-home .home-closing-content { padding-bottom: 5rem; }
    .kaizo-home .home-closing-content .night-tech { margin-top: 1.75rem; }
    .admin-table { table-layout: auto; }
    .admin-table-wrap { overflow-x: auto; }
}

@media (max-width: 480px) {
    .kaizo-home .home-hero { min-height: 680px; }
    .kaizo-home .home-hero-content { padding-bottom: 7rem; }
    .kaizo-home .home-hero .hero-title { font-size: clamp(2.8rem, 14vw, 4.7rem); }
    .kaizo-home .home-hero .hero-meta span { white-space: normal; }
    .kaizo-home .home-hero-index,
    .kaizo-home .home-hero .hero-scroll { bottom: .9rem; }
    .kaizo-home .home-hero .hero-scroll { max-width: 45vw; }
}

/* Users who disable motion still get a stable layout, just without movement. */
@media (prefers-reduced-motion: reduce) {
    .page-main { animation: none; }
    .kaizo-home .home-hero .hero-brand,
    .kaizo-home .home-hero .hero-title,
    .kaizo-home .home-hero .hero-meta { transition: none; transform: none; opacity: 1; }
}


/* V6 launch hardening: legal pages, footer and rich text never collide. */
.page-copy{max-width:900px;margin:0 auto;overflow-wrap:anywhere;word-break:normal;}
.page-copy h2{margin:0 0 1rem;font-family:var(--font-heading);font-size:clamp(1.45rem,2.3vw,2.4rem);line-height:1.15;text-transform:uppercase;}
.page-copy p{margin:0 0 2rem;line-height:1.8;max-width:78ch;}
.page-copy a{text-decoration:underline;text-underline-offset:3px;}
.legal-note{border-top:1px solid var(--light-grey);padding-top:1.5rem;margin-top:2.5rem!important;font-size:.9rem;color:var(--muted-grey);}
.footer-group-label{display:block;margin-bottom:.9rem;font-size:.65rem;letter-spacing:.14em;color:var(--muted-grey);font-weight:600;}
@media (max-width:700px){.page-main .page-hero{min-height:58vh!important;padding-top:7rem!important;padding-bottom:4rem!important}.page-main .page-title{font-size:clamp(3rem,13vw,5rem)!important;line-height:.98!important}.page-copy{padding-inline:1rem}.page-copy p{font-size:.95rem;line-height:1.75}.page-copy h2{font-size:1.5rem;margin-top:2.4rem}.footer-group-label{margin-top:1rem}}

.product-empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.55rem;border-top:1px solid var(--light-grey);border-bottom:1px solid var(--light-grey);padding:4rem 1.5rem;color:var(--black);grid-column:1/-1}.product-empty-state span{font-family:var(--font-display,Oswald),sans-serif;font-size:clamp(2rem,5vw,4rem);text-transform:uppercase;letter-spacing:.02em}.product-empty-state small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}.product-empty-state-detail{min-height:420px;border:0}.product-empty-state-detail span{font-size:clamp(2.5rem,6vw,5rem)}
