        :root {
            --soft-base: #F4E7E1;
            --highlight: #FFE1AF;
            --accent: #E5BEB5;
            --panel: #F0E4D3;
            --text-main: #2D2424;
        }

        body {
            font-family: 'Didact Gothic', sans-serif;
            background-color: var(--soft-base);
            color: var(--text-main);
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* Typography */
        h1, h2, h3, h4 {
            letter-spacing: 0.15em;
            text-transform: uppercase;
            font-weight: 700;
        }

        /* Header logic */
        nav.scrolled {
            background-color: var(--soft-base);
            padding: 1rem 2.5rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        }

        .nav-link {
            position: relative;
            cursor: pointer;
            font-size: 0.75rem;
            letter-spacing: 0.25em;
            transition: opacity 0.3s;
        }
        .nav-link.active::after {
            content: '';
            position: absolute;
            bottom: -6px;
            left: 0;
            width: 100%;
            height: 3px;
            background-color: var(--highlight);
        }

        /* Panel Mechanics */
        .panel-full { min-height: 100vh; width: 100%; display: flex; }
        
        .vertical-text-hero {
            writing-mode: vertical-ll;
            font-size: clamp(3rem, 8vw, 5rem);
            line-height: 0.85;
            opacity: 0.9;
        }

        /* Horizontal Scroll Section */
        .horizontal-container {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
        }
        .horizontal-container::-webkit-scrollbar { display: none; }
        .h-panel {
            flex: 0 0 100vw;
            height: 100vh;
            scroll-snap-align: start;
            position: relative;
        }

        /* Care Matrix Connections */
        .matrix-connector {
            flex-grow: 1;
            height: 2px;
            background: linear-gradient(90deg, var(--accent), var(--highlight));
            position: relative;
            margin: 0 30px;
            overflow: hidden;
        }
        .matrix-connector::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background: rgba(255,255,255,0.8);
            left: -100%;
            animation: drawLine 2s infinite ease-in-out;
        }
        @keyframes drawLine {
            to { left: 100%; }
        }

        /* Animations */
        .page-enter {
            animation: slideUpFade 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        @keyframes slideUpFade {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .marquee-container {
            display: flex;
            width: 200%;
            animation: marqueeMove 25s linear infinite;
        }
        @keyframes marqueeMove {
            from { transform: translateX(0); }
            to { transform: translateX(-50%); }
        }

        /* Deep View Accordion */
        .service-details {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.6s ease-out;
        }
        .service-details.open {
            max-height: 1500px;
        }

        /* Auth Modals */
        .blur-backdrop {
            backdrop-filter: blur(12px);
            background: rgba(45, 36, 36, 0.4);
        }
    