:root {
            --color-cream: #FAF6F3;
            --color-cream-dark: #F5EDE7;
            --color-beige: #E8DFD5;
            --color-sand: #D4C4B5;
            --color-earth: #B8A898;
            --color-coral: #D4A59A;
            --color-coral-dark: #C4907F;
            --color-coral-light: #E8C4B8;
            --color-text: #5A4A42;
            --color-text-light: #8A7A72;
            --color-accent: #D4A59A;
            --color-accent-hover: #C4907F;
            --color-white: #FFFFFF;
            --color-success: #7CB77C;
            --color-ice: #B8D4E3;
            --color-warm: #E8A87C;
            --font-display: 'Cormorant Garamond', Georgia, serif;
            --font-body: 'Jost', sans-serif;
            --shadow-sm: 0 2px 8px rgba(90, 74, 66, 0.08);
            --shadow-md: 0 8px 30px rgba(90, 74, 66, 0.12);
            --shadow-lg: 0 20px 60px rgba(90, 74, 66, 0.15);
            --shadow-xl: 0 30px 80px rgba(90, 74, 66, 0.18);
            --radius-sm: 12px;
            --radius-md: 20px;
            --radius-lg: 32px;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: var(--font-body);
            font-weight: 300;
            color: var(--color-text);
            background-color: var(--color-cream);
            line-height: 1.7;
            overflow-x: hidden;
        }
        .container { max-width: 1240px; margin: 0 auto; padding: 0 28px; }
        img { max-width: 100%; height: auto; }

        /* Animations */
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(50px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes float {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-15px) rotate(2deg); }
        }
        @keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }
        .animate-on-scroll {
            opacity: 0;
            transform: translateY(50px);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }
        .animate-on-scroll.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Navigation */
        nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            padding: 16px 0;
            transition: all 0.4s ease;
        }
        nav.scrolled {
            background: rgba(250, 246, 243, 0.97);
            backdrop-filter: blur(20px);
            box-shadow: var(--shadow-md);
            padding: 10px 0;
        }
        nav .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .logo {
            display: flex;
            align-items: center;
            text-decoration: none;
        }
        .logo img {
            height: 55px;
            width: auto;
            transition: transform 0.3s ease;
        }
        .logo:hover img { transform: scale(1.05); }
        .nav-links {
            display: flex;
            align-items: center;
            gap: 32px;
            list-style: none;
        }
        .nav-links a {
            text-decoration: none;
            color: var(--color-text);
            font-size: 0.95rem;
            font-weight: 400;
            position: relative;
            padding: 8px 0;
            transition: color 0.3s ease;
        }
        .nav-links a:not(.nav-cta)::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--color-accent);
            transition: width 0.3s ease;
        }
        .nav-links a:not(.nav-cta):hover::after { width: 100%; }
        .nav-cta {
            background: var(--color-accent);
            color: var(--color-white) !important;
            padding: 14px 28px;
            border-radius: 50px;
            font-weight: 500;
            box-shadow: 0 4px 15px rgba(212, 165, 154, 0.4);
        }
        .nav-cta:hover {
            background: var(--color-accent-hover);
            transform: translateY(-2px);
        }

        /* Buttons */
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 18px 38px;
            border-radius: 50px;
            text-decoration: none;
            font-family: var(--font-body);
            font-weight: 500;
            font-size: 1rem;
            transition: all 0.4s ease;
            cursor: pointer;
            border: none;
            position: relative;
            overflow: hidden;
        }
        .btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.5s ease;
        }
        .btn:hover::before { left: 100%; }
        .btn-primary {
            background: var(--color-accent);
            color: var(--color-white);
            box-shadow: 0 6px 25px rgba(212, 165, 154, 0.45);
        }
        .btn-primary:hover {
            background: var(--color-accent-hover);
            transform: translateY(-4px);
            box-shadow: 0 12px 35px rgba(212, 165, 154, 0.55);
        }
        .btn-secondary {
            background: transparent;
            color: var(--color-text);
            border: 2px solid var(--color-sand);
        }
        .btn-secondary:hover {
            background: var(--color-text);
            color: var(--color-white);
            border-color: var(--color-text);
        }
        .btn-white {
            background: var(--color-white);
            color: var(--color-text);
            box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
        }
        .btn-white:hover {
            background: var(--color-cream);
            transform: translateY(-4px);
        }
        .btn-outline-white {
            background: transparent;
            color: var(--color-white);
            border: 2px solid rgba(255, 255, 255, 0.5);
        }
        .btn-outline-white:hover {
            background: var(--color-white);
            color: var(--color-text);
        }
        .btn-icon {
            width: 20px;
            height: 20px;
            transition: transform 0.3s ease;
        }
        .btn:hover .btn-icon { transform: translateX(4px); }

        /* Hero Section */
        .hero {
            min-height: 100vh;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
            padding-top: 80px;
            background: var(--color-cream);
        }
        .hero-bg {
            position: absolute;
            inset: 0;
            overflow: hidden;
        }
        .hero-bg::before {
            content: '';
            position: absolute;
            top: -30%;
            right: -15%;
            width: 70%;
            height: 140%;
            background: radial-gradient(ellipse, var(--color-coral-light) 0%, transparent 65%);
            opacity: 0.5;
            animation: pulse 10s ease-in-out infinite;
        }
        .hero-bg::after {
            content: '';
            position: absolute;
            bottom: -20%;
            left: -10%;
            width: 50%;
            height: 80%;
            background: radial-gradient(ellipse, var(--color-beige) 0%, transparent 65%);
            opacity: 0.6;
        }
        .hero-decoration {
            position: absolute;
            width: 400px;
            height: 400px;
            border: 1px solid var(--color-coral-light);
            border-radius: 50%;
            opacity: 0.3;
        }
        .hero-decoration.d1 {
            top: 10%;
            right: 5%;
            animation: float 8s ease-in-out infinite;
        }
        .hero-decoration.d2 {
            bottom: 15%;
            left: 10%;
            width: 250px;
            height: 250px;
            animation: float 10s ease-in-out infinite reverse;
        }
        .hero .container {
            display: grid;
            grid-template-columns: 1.1fr 0.9fr;
            gap: 80px;
            align-items: center;
            position: relative;
            z-index: 1;
        }
        .hero-content { animation: fadeInUp 1s ease forwards; }
        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--color-white);
            color: var(--color-accent);
            padding: 10px 22px;
            border-radius: 50px;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin-bottom: 28px;
            box-shadow: var(--shadow-sm);
        }
        .hero-badge::before { content: '✦'; font-size: 0.9rem; }
        .hero h1 {
            font-family: var(--font-display);
            font-size: clamp(3rem, 5.5vw, 4.5rem);
            font-weight: 600;
            line-height: 1.1;
            margin-bottom: 28px;
            color: var(--color-text);
        }
        .hero h1 em {
            font-style: italic;
            color: var(--color-accent);
            font-weight: 500;
        }
        .hero-description {
            font-size: 1.15rem;
            color: var(--color-text-light);
            margin-bottom: 44px;
            max-width: 500px;
            line-height: 1.8;
        }
        .hero-cta-group {
            display: flex;
            gap: 18px;
            flex-wrap: wrap;
        }
        .hero-visual {
            position: relative;
            animation: fadeIn 1.2s ease 0.3s forwards;
            opacity: 0;
        }
        .hero-image-container {
            position: relative;
            border-radius: 60% 40% 50% 50% / 55% 55% 45% 45%;
            overflow: hidden;
            aspect-ratio: 4/5;
            background: linear-gradient(160deg, var(--color-coral-light) 0%, var(--color-coral) 50%, var(--color-sand) 100%);
            box-shadow: var(--shadow-xl);
        }
        .hero-image-container::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M200 120 C240 140 260 180 260 220 C260 280 230 320 200 340 C170 320 140 280 140 220 C140 180 160 140 200 120' fill='white' opacity='0.15'/%3E%3Cpath d='M200 160 C225 175 240 200 240 230 C240 270 220 300 200 315 C180 300 160 270 160 230 C160 200 175 175 200 160' fill='white' opacity='0.2'/%3E%3C/svg%3E") center/contain no-repeat;
        }
        .floating-card {
            position: absolute;
            background: var(--color-white);
            padding: 22px 28px;
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-lg);
            animation: float 5s ease-in-out infinite;
        }
        .floating-card.card-1 { top: 12%; left: -50px; }
        .floating-card.card-2 { bottom: 18%; right: -40px; animation-delay: 1.5s; }
        .floating-card-icon {
            width: 48px;
            height: 48px;
            background: linear-gradient(135deg, var(--color-coral-light) 0%, var(--color-coral) 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 14px;
            font-size: 1.4rem;
        }
        .floating-card h4 {
            font-family: var(--font-display);
            font-size: 1.5rem;
            font-weight: 600;
            margin-bottom: 4px;
        }
        .floating-card p { font-size: 0.9rem; color: var(--color-text-light); }

        /* Stats Bar */
        .stats-bar {
            background: var(--color-white);
            padding: 60px 0;
            position: relative;
        }
        .stats-bar::before, .stats-bar::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, var(--color-beige) 20%, var(--color-beige) 80%, transparent 100%);
        }
        .stats-bar::before { top: 0; }
        .stats-bar::after { bottom: 0; }
        .stats-bar .container {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 40px;
        }
        .stat-item { text-align: center; position: relative; }
        .stat-item:not(:last-child)::after {
            content: '';
            position: absolute;
            right: -20px;
            top: 50%;
            transform: translateY(-50%);
            width: 1px;
            height: 60px;
            background: var(--color-beige);
        }
        .stat-number {
            font-family: var(--font-display);
            font-size: 3.2rem;
            font-weight: 600;
            color: var(--color-accent);
            line-height: 1;
            margin-bottom: 10px;
        }
        .stat-label { font-size: 0.95rem; color: var(--color-text-light); }

        /* Section Header */
        .section-header {
            text-align: center;
            max-width: 700px;
            margin: 0 auto 70px;
        }
        .section-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--color-accent);
            margin-bottom: 18px;
        }
        .section-label::before, .section-label::after {
            content: '';
            width: 30px;
            height: 1px;
            background: var(--color-coral-light);
        }
        .section-header h2 {
            font-family: var(--font-display);
            font-size: clamp(2.2rem, 4vw, 3rem);
            font-weight: 600;
            margin-bottom: 18px;
            line-height: 1.2;
        }
        .section-header h2 em {
            font-style: italic;
            color: var(--color-accent);
            font-weight: 500;
        }
        .section-header p { color: var(--color-text-light); font-size: 1.1rem; }

        /* ============================================
           MÉTODO CHOWA SECTION
           ============================================ */
        .metodo {
            padding: 120px 0;
            background: linear-gradient(180deg, var(--color-white) 0%, var(--color-cream) 100%);
            position: relative;
            overflow: hidden;
        }
        .metodo::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                radial-gradient(circle at 20% 80%, var(--color-coral-light) 0%, transparent 40%),
                radial-gradient(circle at 80% 20%, var(--color-beige) 0%, transparent 40%);
            opacity: 0.3;
        }
        .metodo .container { position: relative; z-index: 1; }
        .metodo-intro {
            text-align: center;
            max-width: 800px;
            margin: 0 auto 70px;
        }
        .metodo-intro h2 {
            font-family: var(--font-display);
            font-size: clamp(2.4rem, 5vw, 3.2rem);
            font-weight: 600;
            margin-bottom: 24px;
        }
        .metodo-intro h2 em { font-style: italic; color: var(--color-accent); }
        .metodo-intro p {
            font-size: 1.15rem;
            color: var(--color-text-light);
            line-height: 1.8;
            margin-bottom: 20px;
        }
        .metodo-highlight-box {
            background: linear-gradient(135deg, var(--color-coral) 0%, var(--color-coral-dark) 100%);
            color: var(--color-white);
            padding: 28px 40px;
            border-radius: var(--radius-md);
            font-size: 1.1rem;
            line-height: 1.7;
            box-shadow: var(--shadow-lg);
            max-width: 700px;
            margin: 30px auto 0;
        }
        .metodo-highlight-box strong {
            display: block;
            font-size: 1.25rem;
            margin-bottom: 8px;
        }
        .metodo-steps {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 28px;
        }
        .metodo-step {
            background: var(--color-white);
            border-radius: var(--radius-lg);
            padding: 40px 28px;
            text-align: center;
            position: relative;
            transition: all 0.4s ease;
            border: 2px solid transparent;
            box-shadow: var(--shadow-sm);
        }
        .metodo-step:hover {
            transform: translateY(-10px);
            box-shadow: var(--shadow-lg);
            border-color: var(--color-coral-light);
        }
        .metodo-step-number {
            position: absolute;
            top: -18px;
            left: 50%;
            transform: translateX(-50%);
            width: 44px;
            height: 44px;
            background: linear-gradient(135deg, var(--color-coral) 0%, var(--color-coral-dark) 100%);
            color: var(--color-white);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--font-display);
            font-size: 1.3rem;
            font-weight: 600;
            box-shadow: 0 4px 15px rgba(212, 165, 154, 0.5);
        }
        .metodo-step-icon {
            width: 80px;
            height: 80px;
            background: linear-gradient(135deg, var(--color-cream) 0%, var(--color-beige) 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.2rem;
            margin: 20px auto 24px;
        }
        .metodo-step h3 {
            font-family: var(--font-display);
            font-size: 1.35rem;
            font-weight: 600;
            margin-bottom: 12px;
            color: var(--color-text);
        }
        .metodo-step p {
            font-size: 0.95rem;
            color: var(--color-text-light);
            line-height: 1.6;
        }

        /* Disciplines Section */
        .disciplines { padding: 120px 0; background: var(--color-cream); }
        .disciplines-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 28px;
        }
        .discipline-card {
            background: var(--color-white);
            border-radius: var(--radius-lg);
            padding: 44px 30px;
            text-align: center;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            border: 2px solid transparent;
        }
        .discipline-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 5px;
            background: linear-gradient(90deg, var(--color-coral-light), var(--color-coral));
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.4s ease;
        }
        .discipline-card:hover {
            transform: translateY(-12px);
            box-shadow: var(--shadow-lg);
            border-color: var(--color-coral-light);
        }
        .discipline-card:hover::before { transform: scaleX(1); }
        .discipline-icon {
            width: 80px; height: 80px;
            background: linear-gradient(145deg, var(--color-coral-light) 0%, var(--color-coral) 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 24px;
            font-size: 2.2rem;
            box-shadow: 0 8px 25px rgba(212, 165, 154, 0.4);
            transition: transform 0.3s ease;
        }
        .discipline-card:hover .discipline-icon { transform: scale(1.1) rotate(5deg); }
        .discipline-card h3 {
            font-family: var(--font-display);
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: 14px;
        }
        .discipline-card p {
            font-size: 0.95rem;
            color: var(--color-text-light);
            line-height: 1.7;
        }

        /* ============================================
           RECOVERY SECTION - SAUNA & ICE BATH
           ============================================ */
        .recovery {
            padding: 110px 0;
            background: linear-gradient(135deg, var(--color-text) 0%, #6A5A52 100%);
            position: relative;
            overflow: hidden;
        }
        .recovery::before {
            content: '';
            position: absolute;
            inset: 0;
            background: 
                radial-gradient(circle at 25% 50%, var(--color-warm) 0%, transparent 45%),
                radial-gradient(circle at 75% 50%, var(--color-ice) 0%, transparent 45%);
            opacity: 0.15;
        }
        .recovery .container { position: relative; z-index: 1; }
        .recovery .section-header h2 { color: var(--color-white); }
        .recovery .section-header p { color: var(--color-sand); }
        .recovery .section-label { color: var(--color-coral-light); }
        .recovery .section-label::before, .recovery .section-label::after { background: var(--color-coral-light); }
        .recovery-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            margin-top: 50px;
        }
        .recovery-card {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border-radius: var(--radius-lg);
            padding: 50px 40px;
            text-align: center;
            border: 1px solid rgba(255, 255, 255, 0.15);
            transition: all 0.4s ease;
        }
        .recovery-card:hover {
            transform: translateY(-10px);
            background: rgba(255, 255, 255, 0.15);
        }
        .recovery-card-icon {
            width: 110px;
            height: 110px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 28px;
            font-size: 3.5rem;
        }
        .recovery-card.sauna .recovery-card-icon {
            background: linear-gradient(135deg, #E8A87C 0%, #D4907C 100%);
            box-shadow: 0 12px 40px rgba(232, 168, 124, 0.5);
        }
        .recovery-card.ice .recovery-card-icon {
            background: linear-gradient(135deg, #B8D4E3 0%, #8BB8D0 100%);
            box-shadow: 0 12px 40px rgba(184, 212, 227, 0.5);
        }
        .recovery-card h3 {
            font-family: var(--font-display);
            font-size: 2rem;
            font-weight: 600;
            color: var(--color-white);
            margin-bottom: 16px;
        }
        .recovery-card p {
            color: var(--color-sand);
            font-size: 1.05rem;
            line-height: 1.8;
            margin-bottom: 28px;
        }
        .recovery-benefits {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            justify-content: center;
        }
        .recovery-benefit {
            background: rgba(255, 255, 255, 0.12);
            color: var(--color-white);
            padding: 10px 20px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 500;
        }
        .recovery-note {
            text-align: center;
            margin-top: 50px;
            color: var(--color-coral-light);
            font-size: 1.1rem;
            font-style: italic;
        }

        /* ============================================
           PRICING SECTION
           ============================================ */
        .pricing {
            padding: 130px 0;
            background: linear-gradient(180deg, var(--color-cream) 0%, var(--color-cream-dark) 100%);
        }
        .pricing-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 32px;
            margin-top: 70px;
            align-items: start;
        }
        .pricing-card {
            background: var(--color-white);
            border-radius: var(--radius-lg);
            position: relative;
            transition: all 0.4s ease;
            border: 2px solid transparent;
            overflow: hidden;
        }
        .pricing-card:hover {
            transform: translateY(-12px);
            box-shadow: var(--shadow-xl);
        }
        .pricing-card.featured {
            border-color: var(--color-accent);
            transform: scale(1.04);
            z-index: 2;
        }
        .pricing-card.featured:hover { transform: scale(1.04) translateY(-12px); }
        .pricing-badge {
            position: absolute;
            top: 0; left: 0; right: 0;
            background: linear-gradient(90deg, var(--color-coral), var(--color-coral-dark));
            color: var(--color-white);
            padding: 12px 24px;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            text-align: center;
        }
        .pricing-inner { padding: 50px 36px 44px; }
        .pricing-card.featured .pricing-inner { padding-top: 70px; }
        .pricing-header {
            text-align: center;
            padding-bottom: 24px;
            border-bottom: 1px solid var(--color-beige);
            margin-bottom: 24px;
        }
        .pricing-icon {
            width: 70px; height: 70px;
            background: linear-gradient(145deg, var(--color-coral-light) 0%, var(--color-coral) 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
            font-size: 1.8rem;
            box-shadow: 0 8px 25px rgba(212, 165, 154, 0.35);
        }
        .pricing-name {
            font-family: var(--font-display);
            font-size: 1.6rem;
            font-weight: 600;
            margin-bottom: 14px;
        }
        .pricing-tagline {
            font-size: 1rem;
            color: var(--color-accent);
            font-style: italic;
            margin-bottom: 16px;
            line-height: 1.5;
            font-weight: 500;
            padding: 0 10px;
        }
        .pricing-subtitle {
            font-size: 0.85rem;
            color: var(--color-text-light);
            margin-bottom: 20px;
            line-height: 1.5;
        }
        .pricing-sessions {
            display: inline-block;
            background: linear-gradient(135deg, var(--color-coral-light) 0%, var(--color-coral) 100%);
            color: var(--color-white);
            padding: 10px 24px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 600;
        }
        .pricing-body { margin-bottom: 24px; }
        .price-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 14px 0;
            border-bottom: 1px dashed var(--color-beige);
        }
        .price-row:last-child { border-bottom: none; }
        .price-method { font-size: 0.85rem; color: var(--color-text-light); }
        .price-amount-wrapper { display: flex; align-items: center; gap: 10px; }
        .price-amount { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; }
        .price-savings {
            background: linear-gradient(135deg, #E8F5E9, #C8E6C9);
            color: #2E7D32;
            padding: 5px 12px;
            border-radius: 50px;
            font-size: 0.75rem;
            font-weight: 600;
        }
        .pricing-features { list-style: none; margin-bottom: 28px; }
        .pricing-features li {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 10px 0;
            font-size: 0.9rem;
        }
        .pricing-features li::before {
            content: '✓';
            width: 24px;
            height: 24px;
            background: linear-gradient(135deg, var(--color-coral-light) 0%, var(--color-coral) 100%);
            color: var(--color-white);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            font-weight: 700;
            flex-shrink: 0;
        }
        .pricing-features li.highlight {
            background: linear-gradient(90deg, rgba(212, 165, 154, 0.15), transparent);
            margin: 4px -16px;
            padding: 12px 16px;
            border-radius: 8px;
            font-weight: 500;
            color: var(--color-coral-dark);
        }
        .pricing-features li.highlight::before {
            background: linear-gradient(135deg, var(--color-success) 0%, #5DA05D 100%);
        }
        .pricing-cta {
            width: 100%;
            text-align: center;
            padding: 18px 24px;
            border-radius: 50px;
            font-weight: 600;
            font-size: 1rem;
            transition: all 0.4s ease;
            cursor: pointer;
            text-decoration: none;
            display: block;
            border: 2px solid transparent;
        }
        .pricing-card:not(.featured) .pricing-cta {
            background: transparent;
            border-color: var(--color-accent);
            color: var(--color-accent);
        }
        .pricing-card:not(.featured) .pricing-cta:hover {
            background: var(--color-accent);
            color: var(--color-white);
        }
        .pricing-card.featured .pricing-cta {
            background: linear-gradient(135deg, var(--color-coral) 0%, var(--color-coral-dark) 100%);
            color: var(--color-white);
            box-shadow: 0 8px 25px rgba(212, 165, 154, 0.45);
        }
        .pricing-card.featured .pricing-cta:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 35px rgba(212, 165, 154, 0.55);
        }
        .pricing-note {
            text-align: center;
            margin-top: 50px;
            padding: 28px 36px;
            background: var(--color-white);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            flex-wrap: wrap;
        }
        .pricing-note-icon { font-size: 1.5rem; }
        .pricing-note p { font-size: 1rem; }
        .pricing-note strong { color: var(--color-accent); font-weight: 600; }

        /* Testimonials Section */
        .testimonials { padding: 120px 0; background: var(--color-white); }
        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 32px;
            margin-top: 70px;
        }
        .testimonial-card {
            background: var(--color-cream);
            border-radius: var(--radius-lg);
            padding: 40px;
            position: relative;
            transition: all 0.4s ease;
        }
        .testimonial-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
        .testimonial-quote {
            position: absolute;
            top: 28px;
            right: 36px;
            font-family: var(--font-display);
            font-size: 6rem;
            color: var(--color-coral-light);
            line-height: 1;
            opacity: 0.6;
        }
        .testimonial-stars { color: var(--color-accent); font-size: 1.1rem; margin-bottom: 20px; letter-spacing: 3px; }
        .testimonial-text {
            font-size: 1.05rem;
            margin-bottom: 28px;
            position: relative;
            z-index: 1;
            font-style: italic;
            line-height: 1.8;
        }
        .testimonial-author { display: flex; align-items: center; gap: 16px; }
        .testimonial-avatar {
            width: 56px; height: 56px;
            border-radius: 50%;
            background: linear-gradient(145deg, var(--color-coral-light) 0%, var(--color-coral) 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--font-display);
            font-size: 1.3rem;
            font-weight: 600;
            color: var(--color-white);
        }
        .testimonial-info h4 {
            font-family: var(--font-display);
            font-size: 1.2rem;
            font-weight: 600;
            margin-bottom: 4px;
        }
        .testimonial-info p { font-size: 0.9rem; color: var(--color-text-light); }

        /* CTA Section */
        .cta-section {
            padding: 110px 0;
            background: linear-gradient(135deg, var(--color-coral) 0%, var(--color-coral-dark) 100%);
            position: relative;
            overflow: hidden;
        }
        .cta-section::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -20%;
            width: 60%;
            height: 200%;
            background: radial-gradient(ellipse, var(--color-white) 0%, transparent 65%);
            opacity: 0.1;
        }
        .cta-section .container { text-align: center; position: relative; z-index: 1; }
        .cta-section h2 {
            font-family: var(--font-display);
            font-size: clamp(2.2rem, 4vw, 3.2rem);
            font-weight: 600;
            color: var(--color-white);
            margin-bottom: 20px;
        }
        .cta-section p {
            color: rgba(255, 255, 255, 0.9);
            font-size: 1.15rem;
            margin-bottom: 44px;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            line-height: 1.8;
        }
        .cta-buttons { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }

        /* Contact Section */
        .contact { padding: 120px 0; background: var(--color-cream); }
        .contact .container {
            display: grid;
            grid-template-columns: 1fr 1.1fr;
            gap: 80px;
        }
        .contact-info h2 {
            font-family: var(--font-display);
            font-size: clamp(2rem, 4vw, 2.6rem);
            font-weight: 600;
            margin-bottom: 20px;
        }
        .contact-info > p {
            color: var(--color-text-light);
            margin-bottom: 44px;
            font-size: 1.05rem;
            line-height: 1.8;
        }
        .contact-details { display: flex; flex-direction: column; gap: 24px; }

        .contact-item {
            display: flex;
            align-items: flex-start;
            gap: 18px;
            padding: 20px 24px;
            background: var(--color-white);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
            transition: all 0.3s ease;
        }
        .contact-item:hover { transform: translateX(8px); box-shadow: var(--shadow-md); }
        .contact-icon {
            width: 56px;
            height: 56px;
            background: linear-gradient(145deg, var(--color-coral-light) 0%, var(--color-coral) 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 1.4rem;
        }
        .contact-item-content h4 {
            font-family: var(--font-display);
            font-size: 1.15rem;
            font-weight: 600;
            margin-bottom: 6px;
        }
        .contact-item-content p, .contact-item-content a {
            color: var(--color-text-light);
            font-size: 0.95rem;
            text-decoration: none;
            line-height: 1.6;
        }
        .contact-item-content a:hover { color: var(--color-accent); }

        .contact-form {
            background: var(--color-white);
            border-radius: var(--radius-lg);
            padding: 50px;
            box-shadow: var(--shadow-lg);
        }
        .contact-form h3 {
            font-family: var(--font-display);
            font-size: 1.6rem;
            font-weight: 600;
            margin-bottom: 10px;
        }
        .contact-form > p { color: var(--color-text-light); margin-bottom: 36px; }
        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
        .form-group { margin-bottom: 22px; }
        .form-group label {
            display: block;
            font-size: 0.9rem;
            font-weight: 500;
            margin-bottom: 10px;
        }
        .form-group input, .form-group select, .form-group textarea {
            width: 100%;
            padding: 16px 20px;
            border: 2px solid var(--color-beige);
            border-radius: var(--radius-sm);
            font-family: var(--font-body);
            font-size: 1rem;
            transition: all 0.3s ease;
            background: var(--color-cream);
        }
        .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
            outline: none;
            border-color: var(--color-accent);
            background: var(--color-white);
            box-shadow: 0 0 0 4px rgba(212, 165, 154, 0.15);
        }
        .form-group textarea { resize: vertical; min-height: 120px; }

        .form-submit {
            width: 100%;
            background: linear-gradient(135deg, var(--color-coral) 0%, var(--color-coral-dark) 100%);
            color: var(--color-white);
            padding: 18px 36px;
            border: none;
            border-radius: 50px;
            font-family: var(--font-body);
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.4s ease;
            box-shadow: 0 8px 25px rgba(212, 165, 154, 0.4);
        }
        .form-submit:hover { transform: translateY(-3px); box-shadow: 0 12px 35px rgba(212, 165, 154, 0.55); }

        /* MAPA (nuevo) */
        .map-embed {
            position: relative;
            width: 100%;
            padding-bottom: 56.25%;
            height: 0;
            overflow: hidden;
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
            background: var(--color-white);
            margin-top: 24px;
        }
        .map-embed iframe {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0;
        }

        /* Footer */
        footer { background: var(--color-text); color: var(--color-sand); padding: 70px 0 30px; }
        .footer-top {
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 1fr;
            gap: 50px;
            padding-bottom: 50px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }
        .footer-brand .logo { margin-bottom: 24px; }
        .footer-brand .logo img { height: 60px; filter: brightness(1.2); }
        .footer-brand p {
            font-size: 0.95rem;
            line-height: 1.8;
            max-width: 300px;
            color: var(--color-earth);
        }
        .footer-social { display: flex; gap: 14px; margin-top: 28px; }
        .footer-social a {
            width: 48px; height: 48px;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--color-white);
            text-decoration: none;
            transition: all 0.3s ease;
            font-size: 1.2rem;
        }
        .footer-social a:hover { background: var(--color-accent); transform: translateY(-4px); }
        .footer-column h4 {
            font-family: var(--font-display);
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--color-white);
            margin-bottom: 24px;
        }
        .footer-column ul { list-style: none; }
        .footer-column li { margin-bottom: 14px; }
        .footer-column a {
            color: var(--color-earth);
            text-decoration: none;
            font-size: 0.95rem;
            transition: all 0.3s ease;
        }
        .footer-column a:hover { color: var(--color-coral-light); padding-left: 6px; }
        .footer-bottom {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 30px;
            font-size: 0.9rem;
            color: var(--color-earth);
        }

        /* Mobile Menu */
        .mobile-menu-btn {
            display: none;
            flex-direction: column;
            gap: 6px;
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
        }
        .mobile-menu-btn span {
            width: 28px;
            height: 2px;
            background: var(--color-text);
            border-radius: 2px;
        }

        /* Responsive */
        @media (max-width: 1100px) {
            .hero .container, .contact .container { grid-template-columns: 1fr; gap: 60px; }
            .hero-visual { order: -1; max-width: 420px; margin: 0 auto; }
            .hero-content { text-align: center; }
            .hero-description { margin-left: auto; margin-right: auto; }
            .hero-cta-group { justify-content: center; }
            .pricing-grid, .testimonials-grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
            .pricing-card.featured { transform: none; }
            .pricing-card.featured:hover { transform: translateY(-12px); }
            .disciplines-grid, .metodo-steps { grid-template-columns: repeat(2, 1fr); }
            .stats-bar .container { grid-template-columns: repeat(2, 1fr); }
            .stat-item:nth-child(2)::after { display: none; }
            .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
            .recovery-grid { grid-template-columns: 1fr; max-width: 500px; margin-left: auto; margin-right: auto; }
        }
        @media (max-width: 768px) {
            .nav-links { display: none; }
            .mobile-menu-btn { display: flex; }
            .hero { padding-top: 100px; }
            .hero h1 { font-size: 2.4rem; }
            .hero-cta-group { flex-direction: column; align-items: center; }
            .btn { width: 100%; max-width: 300px; }
            .floating-card { display: none; }
            .disciplines-grid, .metodo-steps { grid-template-columns: 1fr; max-width: 380px; margin: 0 auto; }
            .stats-bar .container { grid-template-columns: 1fr 1fr; gap: 30px; }
            .stat-item::after { display: none !important; }
            .stat-number { font-size: 2.4rem; }
            .footer-top { grid-template-columns: 1fr; text-align: center; }
            .footer-brand { display: flex; flex-direction: column; align-items: center; }
            .footer-brand p { text-align: center; }
            .footer-social { justify-content: center; }
            .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
            .cta-buttons { flex-direction: column; align-items: center; }
            .form-row { grid-template-columns: 1fr; }
            .contact-form { padding: 36px 28px; }
            .pricing-note { flex-direction: column; text-align: center; }
            .metodo-highlight-box { padding: 24px 28px; }
        }
        @media (max-width: 480px) {
            .container { padding: 0 20px; }
            .hero h1 { font-size: 2rem; }
            .section-header h2 { font-size: 1.8rem; }
            .pricing-inner { padding: 36px 24px; }
            .price-row { flex-direction: column; align-items: flex-start; gap: 8px; }
            .metodo-step { padding: 36px 20px; }
        }
/* Social icons (SVG) */
.footer-social a svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
