        /* ═══════════════════════════════════════════
           ECOSSISTEMA LUTYKA — AWARD-GRADE LANDING
           ═══════════════════════════════════════════ */

        :root {
            --black: #000000;
            --black-deep: #050505;
            --black-soft: #0A0A0A;
            --black-card: #0D0D0D;
            --gold: #C9A84C;
            --gold-bright: #D4AF37;
            --gold-deep: #B8962E;
            --gold-5: rgba(201,168,76,0.05);
            --gold-8: rgba(201,168,76,0.08);
            --gold-10: rgba(201,168,76,0.10);
            --gold-15: rgba(201,168,76,0.15);
            --gold-20: rgba(201,168,76,0.20);
            --gold-40: rgba(201,168,76,0.40);
            --white: #FFFFFF;
            --white-90: rgba(255,255,255,0.90);
            --white-60: rgba(255,255,255,0.60);
            --white-40: rgba(255,255,255,0.40);
            --white-20: rgba(255,255,255,0.20);
            --white-10: rgba(255,255,255,0.10);
            --white-5: rgba(255,255,255,0.05);
            --gray: #A0A0A0;
            --gray-dark: #666666;
        }

        /* ── RESET ── */
        *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
        html {
            scroll-behavior: smooth;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-size: 16px;
        }
        body {
            font-family: 'DM Sans', sans-serif;
            background: var(--black);
            color: var(--white);
            overflow-x: hidden;
            line-height: 1.6;
            font-weight: 300;
            cursor: none;
        }
        a { text-decoration: none; color: inherit; }
        ul { list-style: none; }
        img { max-width: 100%; display: block; }
        button, input, textarea, select {
            font-family: inherit;
            border: none;
            outline: none;
            background: none;
        }
        ::selection {
            background: var(--gold-40);
            color: var(--white);
        }

        /* ── CUSTOM CURSOR ── */
        .cursor {
            position: fixed;
            width: 20px;
            height: 20px;
            border: 1.5px solid var(--gold);
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999;
            transition: transform 0.15s ease, opacity 0.15s ease, width 0.2s ease, height 0.2s ease, border-color 0.2s ease;
            transform: translate(-50%, -50%);
        }
        .cursor.hover {
            width: 50px;
            height: 50px;
            border-color: var(--gold-40);
            background: var(--gold-10);
        }
        .cursor-dot {
            position: fixed;
            width: 4px;
            height: 4px;
            background: var(--gold);
            border-radius: 50%;
            pointer-events: none;
            z-index: 99999;
            transform: translate(-50%, -50%);
            transition: opacity 0.1s;
        }

        /* ── LOADING SCREEN ── */
        .loader {
            position: fixed;
            inset: 0;
            z-index: 100000;
            background: var(--black);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: opacity 0.8s cubic-bezier(0.4,0,0,1), visibility 0.8s;
        }
        .loader.hidden {
            opacity: 0;
            visibility: hidden;
        }
        .loader-logo {
            width: 80px;
            height: 80px;
            border-radius: 16px;
            overflow: hidden;
            animation: loaderPulse 1.5s ease infinite;
        }
        .loader-logo img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
        @keyframes loaderPulse {
            0%, 100% { opacity: 0.4; transform: scale(0.95); }
            50% { opacity: 1; transform: scale(1); }
        }

        /* ── KEYFRAMES ── */
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(60px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes shimmer {
            0% { background-position: -200% center; }
            100% { background-position: 200% center; }
        }
        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-12px); }
        }
        @keyframes scrollArrow {
            0% { opacity: 0; transform: translateY(-8px); }
            50% { opacity: 1; }
            100% { opacity: 0; transform: translateY(8px); }
        }
        @keyframes orbitSpin {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }
        @keyframes borderPulse {
            0%, 100% { border-color: var(--gold-15); }
            50% { border-color: var(--gold-40); }
        }
        @keyframes grain {
            0%, 100% { transform: translate(0,0); }
            10% { transform: translate(-2%,-2%); }
            30% { transform: translate(1%,-3%); }
            50% { transform: translate(-1%,2%); }
            70% { transform: translate(3%,1%); }
            90% { transform: translate(2%,-1%); }
        }

        /* ── SCROLL REVEAL ── */
        .reveal {
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1);
        }
        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* ── NAVBAR ── */
        .nav {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 9000;
            padding: 1.5rem 3rem;
            transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
        }
        .nav.solid {
            background: rgba(0,0,0,0.85);
            backdrop-filter: blur(30px) saturate(180%);
            -webkit-backdrop-filter: blur(30px) saturate(180%);
            padding: 0.85rem 3rem;
            border-bottom: 1px solid var(--white-5);
        }
        .nav-inner {
            max-width: 1320px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .nav-logo {
            display: flex;
            align-items: center;
            gap: 0.7rem;
            z-index: 9001;
        }
        .nav-logo-icon {
            width: 38px; height: 38px;
            border-radius: 8px;
            overflow: hidden;
        }
        .nav-logo-icon img { width: 100%; height: 100%; object-fit: contain; }
        .nav-logo-text {
            font-family: 'Outfit', sans-serif;
            font-weight: 800;
            font-size: 1.15rem;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }
        .nav-links {
            display: flex;
            align-items: center;
            gap: 2.5rem;
        }
        .nav-links a {
            font-family: 'DM Sans', sans-serif;
            font-size: 0.82rem;
            font-weight: 500;
            color: rgba(255,255,255,0.75);
            letter-spacing: 0.04em;
            text-transform: uppercase;
            transition: color 0.3s;
        }
        .nav-links a:hover { color: var(--gold); }
        .nav-cta-btn {
            font-family: 'Outfit', sans-serif;
            font-size: 0.85rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #000000 !important;
            -webkit-text-fill-color: #000000 !important;
            background: linear-gradient(135deg, #DFBF5F, var(--gold-bright), var(--gold));
            padding: 0.7rem 1.8rem;
            border-radius: 100px;
            cursor: none;
            transition: box-shadow 0.3s, transform 0.2s;
        }
        .nav-cta-btn:hover {
            box-shadow: 0 0 40px var(--gold-40), 0 0 80px rgba(201,168,76,0.15);
            transform: translateY(-2px);
            background: linear-gradient(135deg, #E8CC70, #DFBF5F, var(--gold-bright));
        }

        /* Mobile toggle */
        .nav-toggle {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: none;
            z-index: 9001;
            padding: 4px;
        }
        .nav-toggle span {
            width: 22px; height: 1.5px;
            background: var(--white);
            transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
            transform-origin: center;
        }
        .nav-toggle.active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); background: var(--gold); }
        .nav-toggle.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
        .nav-toggle.active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); background: var(--gold); }

        .nav-mobile {
            position: fixed; inset: 0;
            z-index: 9000;
            background: rgba(0,0,0,0.97);
            display: flex; flex-direction: column;
            align-items: center; justify-content: center;
            gap: 2rem;
            opacity: 0; pointer-events: none;
            transition: opacity 0.4s;
        }
        .nav-mobile.open { opacity: 1; pointer-events: all; }
        .nav-mobile a {
            font-family: 'Outfit', sans-serif;
            font-size: 1.8rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: var(--white);
            transition: color 0.2s;
        }
        .nav-mobile a:hover { color: var(--gold); }

        /* ── HERO ── */
        .hero {
            position: relative;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            overflow: hidden;
        }
        #heroCanvas {
            position: absolute;
            inset: 0;
            z-index: 1;
        }
        .hero-grain {
            position: absolute; inset: -50%;
            width: 200%; height: 200%;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
            background-size: 256px;
            animation: grain 5s steps(6) infinite;
            pointer-events: none;
            z-index: 2;
        }
        .hero-vignette {
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.6) 100%);
            z-index: 2;
            pointer-events: none;
        }
        .hero-content {
            position: relative;
            z-index: 3;
            max-width: 900px;
            padding: 0 2rem;
        }
        .hero-logo {
            width: 64px; height: 64px;
            margin: 0 auto 3rem;
            border-radius: 14px;
            overflow: hidden;
            animation: fadeIn 1s ease 0.3s both;
        }
        .hero-logo img { width: 100%; height: 100%; object-fit: contain; }

        .hero h1 {
            font-family: 'Outfit', sans-serif;
            font-weight: 800;
            font-size: clamp(2rem, 5.5vw, 4.2rem);
            letter-spacing: 0.05em;
            text-transform: uppercase;
            line-height: 1.15;
            margin-bottom: 1.5rem;
            animation: fadeUp 1s ease 0.5s both;
        }
        .hero-shimmer {
            background: linear-gradient(
                90deg,
                var(--white) 0%,
                var(--white) 40%,
                var(--gold-bright) 50%,
                var(--white) 60%,
                var(--white) 100%
            );
            background-size: 200% auto;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            animation: shimmer 6s linear infinite;
        }

        .hero-sub {
            font-family: 'DM Sans', sans-serif;
            font-size: clamp(1rem, 1.8vw, 1.2rem);
            font-weight: 300;
            color: var(--gray);
            letter-spacing: 0.02em;
            margin-bottom: 3rem;
            animation: fadeUp 1s ease 0.7s both;
        }

        .hero-cta {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            font-family: 'Outfit', sans-serif;
            font-weight: 800;
            font-size: 0.85rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #000000;
            -webkit-text-fill-color: #000000;
            background: linear-gradient(135deg, #DFBF5F, var(--gold-bright), var(--gold));
            padding: 1.05rem 2.8rem;
            border-radius: 100px;
            cursor: none;
            transition: box-shadow 0.35s, transform 0.25s;
            animation: fadeUp 1s ease 0.9s both;
            position: relative;
            overflow: hidden;
        }
        .hero-cta::before {
            content: '';
            position: absolute;
            inset: -2px;
            border-radius: 100px;
            background: linear-gradient(135deg, var(--gold-bright), var(--gold), var(--gold-deep));
            z-index: -1;
            filter: blur(16px);
            opacity: 0;
            transition: opacity 0.4s;
        }
        .hero-cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 0 40px var(--gold-40), 0 0 80px rgba(201,168,76,0.15);
        }
        .hero-cta:hover::before { opacity: 0.6; }

        .hero-scroll {
            position: absolute;
            bottom: 3rem;
            left: 50%;
            transform: translateX(-50%);
            z-index: 3;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.6rem;
            animation: fadeIn 1s ease 1.5s both;
        }
        .hero-scroll span {
            font-size: 0.65rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--gray-dark);
        }
        .hero-scroll-arrow {
            width: 1px;
            height: 40px;
            position: relative;
            overflow: hidden;
        }
        .hero-scroll-arrow::after {
            content: '';
            position: absolute;
            top: -40px; left: 0;
            width: 1px; height: 40px;
            background: linear-gradient(transparent, var(--gold));
            animation: scrollArrow 2s ease infinite;
        }

        /* ── SECTIONS ── */
        section { padding: 8rem 2rem; position: relative; }
        .container { max-width: 1200px; margin: 0 auto; }

        .section-label {
            font-family: 'Outfit', sans-serif;
            font-size: 0.68rem;
            font-weight: 600;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1.2rem;
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        .section-label::before {
            content: '';
            width: 32px; height: 1px;
            background: var(--gold);
        }

        .section-title {
            font-family: 'Outfit', sans-serif;
            font-weight: 800;
            font-size: clamp(1.8rem, 3.5vw, 2.8rem);
            letter-spacing: 0.05em;
            text-transform: uppercase;
            line-height: 1.15;
            margin-bottom: 1.2rem;
        }

        .section-text {
            font-family: 'DM Sans', sans-serif;
            font-weight: 300;
            font-size: 1.05rem;
            color: var(--gray);
            line-height: 1.8;
            max-width: 560px;
        }

        /* Gold divider */
        .gold-line {
            width: 60px;
            height: 1px;
            background: linear-gradient(90deg, var(--gold), transparent);
            margin: 5rem auto;
        }

        /* ── QUEM SOMOS ── */
        .about {
            background: var(--black);
        }
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 5rem;
            align-items: center;
        }
        .about-text .section-text { margin-bottom: 2rem; }

        /* Orbital diagram */
        .orbital {
            position: relative;
            width: 100%;
            aspect-ratio: 1;
            max-width: 460px;
            margin: 0 auto;
        }
        .orbital-center {
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%,-50%);
            width: 90px; height: 90px;
            background: var(--gold-10);
            border: 1.5px solid var(--gold-20);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 3;
        }
        .orbital-center img {
            width: 48px; height: 48px;
            border-radius: 8px;
            object-fit: contain;
        }
        .orbital-ring {
            position: absolute;
            top: 50%; left: 50%;
            border: 1px solid var(--white-5);
            border-radius: 50%;
        }
        .orbital-ring-1 {
            width: 220px; height: 220px;
            margin: -110px 0 0 -110px;
            animation: orbitSpin 30s linear infinite;
        }
        .orbital-ring-2 {
            width: 340px; height: 340px;
            margin: -170px 0 0 -170px;
            animation: orbitSpin 45s linear infinite reverse;
        }
        .orbital-ring-3 {
            width: 440px; height: 440px;
            margin: -220px 0 0 -220px;
            border-color: var(--white-5);
            border-style: dashed;
        }
        .orbital-node {
            position: absolute;
            width: 44px; height: 44px;
            background: var(--black-card);
            border: 1px solid var(--gold-20);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gold);
            font-size: 0.7rem;
            font-family: 'Outfit', sans-serif;
            font-weight: 700;
            letter-spacing: 0.03em;
        }
        /* Position nodes on rings */
        .orbital-ring-1 .orbital-node:nth-child(1) { top: -22px; left: 50%; margin-left: -22px; }
        .orbital-ring-1 .orbital-node:nth-child(2) { bottom: -22px; left: 50%; margin-left: -22px; }
        .orbital-ring-2 .orbital-node:nth-child(1) { top: 15%; right: -22px; }
        .orbital-ring-2 .orbital-node:nth-child(2) { bottom: 15%; left: -22px; }
        .orbital-ring-2 .orbital-node:nth-child(3) { bottom: -22px; left: 50%; margin-left: -22px; }
        /* Counter-rotate nodes to keep them upright */
        .orbital-ring-1 .orbital-node { animation: orbitSpin 30s linear infinite reverse; }
        .orbital-ring-2 .orbital-node { animation: orbitSpin 45s linear infinite; }

        /* ── EMPRESAS ── */
        .empresas {
            background: var(--black-soft);
        }
        .empresas .section-title,
        .empresas .section-label { text-align: center; }
        .empresas .section-label { justify-content: center; }
        .empresas .section-label::before { display: none; }

        .cards-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
            margin-top: 4rem;
        }
        .card {
            background: rgba(13,13,13,0.6);
            border: 1px solid var(--white-5);
            border-radius: 20px;
            padding: 2.5rem 2rem;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            transition: transform 0.45s cubic-bezier(0.16,1,0.3,1), box-shadow 0.45s, border-color 0.45s;
            cursor: none;
            position: relative;
            overflow: hidden;
        }
        .card::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--gold-20), transparent);
            opacity: 0;
            transition: opacity 0.4s;
        }
        .card:hover {
            transform: translateY(-8px);
            border-color: var(--gold-20);
            box-shadow: 0 8px 40px rgba(201,168,76,0.08), 0 0 80px rgba(201,168,76,0.04);
        }
        .card:hover::before { opacity: 1; }
        /* Last 2 cards span center */
        .cards-grid .card:nth-child(4) { grid-column: 1 / 2; }
        .cards-grid .card:nth-child(5) { grid-column: 2 / 3; }

        .card-icon {
            width: 52px; height: 52px;
            border-radius: 14px;
            background: var(--gold-8);
            border: 1px solid var(--gold-10);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.6rem;
            color: var(--gold);
            transition: background 0.3s, border-color 0.3s, transform 0.3s;
        }
        .card:hover .card-icon {
            background: var(--gold-15);
            border-color: var(--gold-20);
            transform: scale(1.05);
        }

        .card-name {
            font-family: 'Outfit', sans-serif;
            font-weight: 700;
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: var(--white);
            margin-bottom: 0.6rem;
        }
        .card-desc {
            font-family: 'DM Sans', sans-serif;
            font-weight: 300;
            font-size: 0.92rem;
            color: var(--gray);
            line-height: 1.7;
        }
        .card-arrow {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            margin-top: 1.5rem;
            font-family: 'Outfit', sans-serif;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--gold);
            opacity: 0;
            transform: translateY(8px);
            transition: opacity 0.3s, transform 0.3s;
        }
        .card:hover .card-arrow {
            opacity: 1;
            transform: translateY(0);
        }

        /* ── NUMEROS ── */
        .numeros {
            background: var(--black);
            position: relative;
            overflow: hidden;
        }
        .numeros::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, var(--gold-5) 0%, transparent 30%, transparent 70%, var(--gold-5) 100%);
            pointer-events: none;
        }
        .numeros-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 2rem;
            text-align: center;
        }
        .numero-item {
            padding: 2rem 1rem;
        }
        .numero-value {
            font-family: 'Space Grotesk', sans-serif;
            font-weight: 700;
            font-size: clamp(2.8rem, 4vw, 3.8rem);
            color: var(--gold);
            letter-spacing: -0.02em;
            line-height: 1;
        }
        .numero-label {
            font-family: 'DM Sans', sans-serif;
            font-weight: 400;
            font-size: 0.85rem;
            color: var(--gray);
            margin-top: 0.6rem;
            letter-spacing: 0.02em;
        }

        /* ── VALORES ── */
        .valores {
            background: var(--black-soft);
        }
        .valores .section-title,
        .valores .section-label { text-align: center; }
        .valores .section-label { justify-content: center; }
        .valores .section-label::before { display: none; }

        .valores-row {
            display: flex;
            align-items: stretch;
            gap: 0;
            margin-top: 4rem;
        }
        .valor-item {
            flex: 1;
            text-align: center;
            padding: 2.5rem 2rem;
            position: relative;
        }
        .valor-item:not(:last-child)::after {
            content: '';
            position: absolute;
            right: 0; top: 15%; bottom: 15%;
            width: 1px;
            background: linear-gradient(transparent, var(--gold-20), transparent);
        }
        .valor-icon {
            width: 56px; height: 56px;
            margin: 0 auto 1.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gold);
            border: 1px solid var(--gold-15);
            border-radius: 16px;
            background: var(--gold-5);
        }
        .valor-title {
            font-family: 'Outfit', sans-serif;
            font-weight: 700;
            font-size: 0.85rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--white);
            margin-bottom: 0.8rem;
        }
        .valor-text {
            font-family: 'DM Sans', sans-serif;
            font-weight: 300;
            font-size: 0.92rem;
            color: var(--gray);
            line-height: 1.7;
            max-width: 280px;
            margin: 0 auto;
            font-style: italic;
        }

        /* ── CONTATO ── */
        .contato { background: var(--black); }
        .contato-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 5rem;
            align-items: start;
        }

        .form-group { margin-bottom: 2rem; }
        .form-group label {
            display: block;
            font-family: 'Outfit', sans-serif;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--gray);
            margin-bottom: 0.6rem;
        }
        .form-group input,
        .form-group textarea {
            width: 100%;
            font-family: 'DM Sans', sans-serif;
            font-size: 1rem;
            font-weight: 300;
            color: var(--white);
            padding: 0.8rem 0;
            border-bottom: 1px solid var(--white-10);
            transition: border-color 0.3s;
            cursor: none;
        }
        .form-group input::placeholder,
        .form-group textarea::placeholder {
            color: var(--gray-dark);
        }
        .form-group input:focus,
        .form-group textarea:focus {
            border-color: var(--gold);
        }
        .form-group textarea {
            resize: vertical;
            min-height: 100px;
        }

        .form-submit {
            font-family: 'Outfit', sans-serif;
            font-weight: 800;
            font-size: 0.85rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #000000;
            -webkit-text-fill-color: #000000;
            background: linear-gradient(135deg, #DFBF5F, var(--gold-bright), var(--gold));
            padding: 1rem 2.8rem;
            border-radius: 100px;
            cursor: none;
            transition: box-shadow 0.35s, transform 0.25s;
        }
        .form-submit:hover {
            box-shadow: 0 0 30px var(--gold-40);
            transform: translateY(-2px);
        }

        .contato-info { padding-top: 1rem; }
        .contato-info h3 {
            font-family: 'Outfit', sans-serif;
            font-weight: 700;
            font-size: 0.75rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--gray);
            margin-bottom: 1.5rem;
        }
        .info-item {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.5rem;
        }
        .info-icon {
            width: 40px; height: 40px;
            border-radius: 10px;
            background: var(--gold-8);
            border: 1px solid var(--gold-10);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gold);
            flex-shrink: 0;
        }
        .info-text {
            font-family: 'DM Sans', sans-serif;
            font-size: 0.92rem;
            color: var(--white-90);
            font-weight: 400;
        }
        .info-text small {
            display: block;
            font-size: 0.78rem;
            color: var(--gray-dark);
            margin-top: 0.15rem;
        }

        .social-links {
            display: flex;
            gap: 1rem;
            margin-top: 2.5rem;
        }
        .social-link {
            width: 42px; height: 42px;
            border-radius: 50%;
            border: 1px solid var(--white-10);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gray);
            transition: all 0.3s;
            cursor: none;
        }
        .social-link:hover {
            border-color: var(--gold);
            color: var(--gold);
            background: var(--gold-8);
        }

        /* ── FOOTER ── */
        .footer {
            background: var(--black-deep);
            padding: 3.5rem 2rem 2rem;
            text-align: center;
            border-top: 1px solid var(--white-5);
        }
        .footer-logo {
            width: 36px; height: 36px;
            margin: 0 auto 1.5rem;
            border-radius: 8px;
            overflow: hidden;
        }
        .footer-logo img { width: 100%; height: 100%; object-fit: contain; }
        .footer-links {
            display: flex;
            justify-content: center;
            gap: 2.5rem;
            margin-bottom: 1.5rem;
        }
        .footer-links a {
            font-family: 'DM Sans', sans-serif;
            font-size: 0.8rem;
            color: var(--gray-dark);
            transition: color 0.3s;
            letter-spacing: 0.02em;
        }
        .footer-links a:hover { color: var(--gold); }
        .footer-copy {
            font-size: 0.72rem;
            color: var(--gray-dark);
            margin-bottom: 0.4rem;
        }
        .footer-phrase {
            font-family: 'DM Sans', sans-serif;
            font-size: 0.78rem;
            font-style: italic;
            font-weight: 300;
            color: var(--gold-40);
        }

        /* ── RESPONSIVE ── */
        @media (max-width: 1024px) {
            .about-grid { grid-template-columns: 1fr; gap: 3rem; }
            .orbital { max-width: 380px; }
            .cards-grid { grid-template-columns: repeat(2, 1fr); }
            .cards-grid .card:nth-child(4),
            .cards-grid .card:nth-child(5) { grid-column: auto; }
            .numeros-grid { grid-template-columns: repeat(2, 1fr); }
            .contato-grid { grid-template-columns: 1fr; gap: 3rem; }
        }

        @media (max-width: 768px) {
            body { cursor: auto; }
            .cursor, .cursor-dot { display: none; }
            .nav { padding: 1rem 1.5rem; }
            .nav.solid { padding: 0.7rem 1.5rem; }
            .nav-links { display: none; }
            .nav-toggle { display: flex; }
            section { padding: 5rem 1.5rem; }
            .hero h1 { font-size: 1.8rem; letter-spacing: 0.03em; }
            .cards-grid { grid-template-columns: 1fr; }
            .valores-row {
                flex-direction: column;
                gap: 2.5rem;
            }
            .valor-item:not(:last-child)::after {
                right: 15%; left: 15%; bottom: 0; top: auto;
                width: auto; height: 1px;
                background: linear-gradient(90deg, transparent, var(--gold-20), transparent);
            }
            .numeros-grid { grid-template-columns: 1fr 1fr; }
            .footer-links { flex-wrap: wrap; gap: 1.2rem; }
            .hero-cta, .form-submit, .nav-cta-btn, .card, .social-link, .form-group input, .form-group textarea { cursor: auto; }
        }

        @media (max-width: 480px) {
            .hero h1 { font-size: 1.5rem; }
            .orbital { max-width: 300px; }
            .orbital-ring-3 { display: none; }
        }

/* ── ACCESSIBILITY ── */
.skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    background: var(--gold);
    color: #000;
    padding: 0.5rem 1rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    z-index: 100000;
    transition: top 0.2s;
}
.skip-link:focus {
    top: 0;
}
