  :root {
            --ink:       #0d0d0d;
            --cream:     #f5f0e8;
            --parchment: #ede5d0;
            --gold:      #b8922a;
            --gold-lt:   #d4a843;
            --rust:      #8b3a1e;
            --sage:      #3d5a45;
            --card-bg:   #faf7f2;
            --border:    #d6cbb8;
        }

        * { box-sizing: border-box; }

        body {
            font-family: 'DM Sans', sans-serif;
            background-color: var(--cream);
            color: var(--ink);
            overflow-x: hidden;
        }

        /* ─── NAVBAR ─── */
        .navbar-custom {
            background: var(--ink);
            border-bottom: 2px solid var(--gold);
            padding: 1rem 0;
        }
        .logo-mark {
            width: 38px; height: 38px;
            background: var(--gold);
            border-radius: 6px;
            display: flex; align-items: center; justify-content: center;
            font-family: 'Playfair Display', serif;
            font-weight: 900;
            font-size: 1.25rem;
            color: var(--ink);
            flex-shrink: 0;
        }
        .logo-text {
            font-family: 'Playfair Display', serif;
            font-size: 1.35rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: -0.02em;
        }
        .logo-text span { color: var(--gold); }

        /* ─── HERO ─── */
        .hero {
            background: var(--ink);
            position: relative;
            overflow: hidden;
            padding: 5rem 0 6rem;
        }
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23b8922a' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        .hero-eyebrow {
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1.25rem;
        }
        .hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: clamp(2.4rem, 5vw, 4rem);
            font-weight: 900;
            color: #fff;
            line-height: 1.1;
            margin-bottom: 1.5rem;
        }
        .hero h1 em {
            font-style: italic;
            color: var(--gold-lt);
        }
        .hero-lead {
            font-size: 1.15rem;
            color: #c8bfb0;
            line-height: 1.7;
            max-width: 520px;
        }
        .btn-gold {
            background: var(--gold);
            color: var(--ink);
            font-weight: 600;
            border: none;
            padding: .7rem 1.8rem;
            border-radius: 4px;
            transition: background .2s, transform .15s;
        }
        .btn-gold:hover { background: var(--gold-lt); color: var(--ink); transform: translateY(-1px); }
        .btn-outline-cream {
            border: 1.5px solid #fff3;
            color: #e0d8cc;
            padding: .7rem 1.6rem;
            border-radius: 4px;
            transition: all .2s;
        }
        .btn-outline-cream:hover { border-color: var(--gold); color: var(--gold); }

        /* file-card decorativo */
        .file-card-deco {
            background: var(--card-bg);
            border: 1.5px solid var(--border);
            border-radius: 8px;
            padding: 1.5rem 1.75rem;
            box-shadow: 0 20px 60px rgba(0,0,0,.35);
            position: relative;
        }
        .file-card-deco::before {
            content: '';
            display: block;
            height: 6px;
            background: linear-gradient(90deg, var(--rust), var(--gold), var(--sage));
            border-radius: 6px 6px 0 0;
            position: absolute; top: 0; left: 0; right: 0;
        }
        .fc-label {
            font-size: .68rem;
            font-weight: 600;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: #999;
            margin-bottom: .2rem;
        }
        .fc-value {
            font-size: .95rem;
            color: var(--ink);
            border-bottom: 1px dotted var(--border);
            padding-bottom: .55rem;
            margin-bottom: .75rem;
        }
        .fc-tag {
            display: inline-block;
            font-size: .72rem;
            background: var(--parchment);
            color: var(--rust);
            border: 1px solid var(--border);
            border-radius: 20px;
            padding: .15rem .65rem;
            margin: .2rem .15rem 0 0;
            font-weight: 500;
        }

        /* ─── SECTION TITLES ─── */
        .section-label {
            font-size: .75rem;
            font-weight: 600;
            letter-spacing: .18em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: .75rem;
        }
        .section-title {
            font-family: 'Playfair Display', serif;
            font-size: clamp(1.75rem, 3.5vw, 2.6rem);
            font-weight: 700;
            color: var(--ink);
            line-height: 1.2;
        }

        /* ─── ROCKEFELLER QUOTE ─── */
        .quote-section {
            background: var(--ink);
            position: relative;
            overflow: hidden;
        }
        .quote-section::before {
            content: '"';
            font-family: 'Playfair Display', serif;
            font-size: 22rem;
            color: rgba(184,146,42,.07);
            position: absolute;
            top: -4rem; left: -1rem;
            line-height: 1;
            pointer-events: none;
        }
        blockquote.rock-quote {
            font-family: 'Playfair Display', serif;
            font-size: clamp(1.2rem, 2.5vw, 1.6rem);
            font-style: italic;
            color: #e8dcc8;
            line-height: 1.65;
            border: none;
            padding: 0;
            margin: 0;
        }
        .rock-author {
            color: var(--gold);
            font-weight: 600;
            font-size: .9rem;
            letter-spacing: .05em;
        }
        .rock-stat {
            text-align: center;
            padding: 1.5rem;
            border: 1.5px solid #ffffff15;
            border-radius: 8px;
        }
        .rock-stat-num {
            font-family: 'Playfair Display', serif;
            font-size: 2.5rem;
            font-weight: 900;
            color: var(--gold-lt);
            line-height: 1;
        }
        .rock-stat-label {
            font-size: .82rem;
            color: #9b9080;
            margin-top: .4rem;
            line-height: 1.4;
        }

        /* ─── FEATURES ─── */
        .features-section { background: var(--cream); }
        .feature-card {
            background: var(--card-bg);
            border: 1.5px solid var(--border);
            border-radius: 10px;
            padding: 2rem 1.75rem;
            height: 100%;
            transition: transform .2s, box-shadow .2s;
        }
        .feature-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.09); }
        .feature-icon {
            width: 48px; height: 48px;
            background: var(--parchment);
            border: 1.5px solid var(--border);
            border-radius: 8px;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.35rem;
            margin-bottom: 1.2rem;
            color: var(--rust);
        }
        .feature-card h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.15rem;
            font-weight: 700;
            margin-bottom: .6rem;
        }
        .feature-card p { font-size: .92rem; color: #5a5040; line-height: 1.65; margin: 0; }

        /* ─── HOW IT WORKS ─── */
        .how-section { background: var(--parchment); }
        .step-number {
            width: 42px; height: 42px;
            background: var(--gold);
            color: var(--ink);
            font-family: 'Playfair Display', serif;
            font-weight: 900;
            font-size: 1.2rem;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            flex-shrink: 0;
        }
        .step-connector {
            width: 2px;
            background: linear-gradient(to bottom, var(--gold), transparent);
            height: 40px;
            margin: .4rem 0 .4rem 20px;
        }

        /* ─── PRICING ─── */
        .pricing-section { background: var(--cream); }
        .price-card {
            border: 2px solid var(--border);
            border-radius: 12px;
            background: var(--card-bg);
            padding: 2.5rem 2rem;
        }
        .price-card.featured {
            border-color: var(--gold);
            background: var(--ink);
            color: #fff;
        }
        .price-badge {
            font-size: .72rem;
            background: var(--gold);
            color: var(--ink);
            font-weight: 700;
            letter-spacing: .1em;
            text-transform: uppercase;
            padding: .25rem .75rem;
            border-radius: 20px;
            display: inline-block;
            margin-bottom: 1rem;
        }
        .price-amount {
            font-family: 'Playfair Display', serif;
            font-size: 3rem;
            font-weight: 900;
            line-height: 1;
        }
        .price-check { color: var(--sage); }
        .featured .price-check { color: var(--gold-lt); }
        .price-list { list-style: none; padding: 0; margin: 0; }
        .price-list li { padding: .5rem 0; font-size: .92rem; border-bottom: 1px solid #0001; }
        .featured .price-list li { border-bottom-color: #fff1; }

        /* ─── REGISTRO ─── */
        .register-section {
            background: var(--ink);
            position: relative;
            overflow: hidden;
        }
        .register-section::after {
            content: '';
            position: absolute;
            bottom: -80px; right: -80px;
            width: 320px; height: 320px;
            border: 40px solid rgba(184,146,42,.08);
            border-radius: 50%;
        }
        .register-card {
            background: var(--card-bg);
            border: 1.5px solid var(--border);
            border-radius: 12px;
            padding: 2.5rem;
        }
        .register-card .form-label {
            font-size: .82rem;
            font-weight: 600;
            letter-spacing: .06em;
            text-transform: uppercase;
            color: #5a5040;
            margin-bottom: .35rem;
        }
        .register-card .form-control {
            border: 1.5px solid var(--border);
            background: #fff;
            border-radius: 6px;
            padding: .65rem 1rem;
            font-size: .95rem;
            color: var(--ink);
            transition: border-color .2s;
        }
        .register-card .form-control:focus {
            border-color: var(--gold);
            box-shadow: 0 0 0 3px rgba(184,146,42,.15);
        }
        .btn-register {
            background: var(--gold);
            color: var(--ink);
            font-weight: 700;
            border: none;
            padding: .8rem;
            border-radius: 6px;
            font-size: 1rem;
            letter-spacing: .02em;
            transition: background .2s, transform .15s;
        }
        .btn-register:hover { background: var(--gold-lt); transform: translateY(-1px); }
        .alert-success-custom {
            background: #f0faf3;
            border: 1.5px solid #3d5a45;
            color: var(--sage);
            border-radius: 8px;
            padding: 1rem 1.25rem;
        }
        .alert-error-custom {
            background: #fff5f3;
            border: 1.5px solid #8b3a1e;
            color: var(--rust);
            border-radius: 8px;
            padding: 1rem 1.25rem;
        }

        /* ─── FOOTER ─── */
        footer {
            background: #080808;
            border-top: 1px solid #1f1f1f;
            color: #666;
            font-size: .85rem;
        }
        footer a { color: #888; text-decoration: none; }
        footer a:hover { color: var(--gold); }

        /* ─── UTILS ─── */
        .divider-gold {
            height: 2px;
            background: linear-gradient(90deg, transparent, var(--gold), transparent);
            border: none;
            margin: 0;
        }
        .text-gold { color: var(--gold) !important; }
        .text-rust { color: var(--rust) !important; }

        /* ─── ANIMATIONS ─── */
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(28px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .fade-up { animation: fadeUp .7s ease both; }
        .fade-up-2 { animation: fadeUp .7s .15s ease both; }
        .fade-up-3 { animation: fadeUp .7s .3s ease both; }
        .fade-up-4 { animation: fadeUp .7s .45s ease both; }

        @media (max-width: 768px) {
            .hero { padding: 3.5rem 0 4rem; }
            .quote-section::before { font-size: 12rem; }
        }