       :root {
            --dark-green: #142C14;
            --cal-poly: #2D5128;
            --fern-green: #537B2F;   
            --asparagus: #8DA750;    
            --mindaro: #d3dfc5;      
            --blanco-puro: #ffffff;
            --texto-base: #2D5128;
            --paper-bg: #f4eee1; 
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes pulse-green {
            0% { box-shadow: 0 0 0 0 rgba(141, 167, 80, 0.4); }
            70% { box-shadow: 0 0 0 15px rgba(141, 167, 80, 0); }
            100% { box-shadow: 0 0 0 0 rgba(141, 167, 80, 0); }
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            background-color: var(--mindaro);
            color: var(--texto-base);
            font-family: 'Quicksand', sans-serif;
            background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png");
            background-attachment: fixed;
            display: flex;
            flex-direction: column;
            align-items: center;
            min-height: 100vh;
        }

        .bio-header { 
            text-align: center; 
            padding: 60px 20px 20px;
            animation: fadeInUp 1s ease-out;
        }
        
        .header-rect {
            background-color: var(--dark-green);
            padding: 30px 60px;
            border-radius: 20px;
            display: inline-block;
            box-shadow: 0 15px 40px rgba(0,0,0,0.2);
        }

        .bio-header h1 {
            font-family: 'DM Serif Display', serif;
            font-size: clamp(2.5rem, 8vw, 4.5rem);
            color: var(--blanco-puro);
            text-transform: uppercase;
            letter-spacing: 4px;
        }

        .gift-container {
            max-width: 800px;
            width: 90%;
            background: var(--blanco-puro);
            padding: 60px;
            border-radius: 60px;
            box-shadow: 0 30px 70px rgba(45, 81, 40, 0.12);
            border-bottom: 12px solid var(--asparagus);
            text-align: center;
            margin-bottom: 40px;
            animation: fadeInUp 1.2s ease-out;
        }

        .gift-container p {
            font-size: 1.4rem;
            line-height: 1.6;
            margin-bottom: 30px;
            color: var(--cal-poly);
        }

        .btn-presioname {
            display: inline-block;
            background: var(--fern-green);
            color: white;
            padding: 18px 45px;
            border-radius: 100px;
            border: none;
            font-weight: 600;
            font-size: 1.2rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            cursor: pointer;
            transition: all 0.4s ease;
            box-shadow: 0 10px 20px rgba(83, 123, 47, 0.3);
            font-family: 'Quicksand', sans-serif;
        }

        .btn-presioname:hover {
            transform: scale(1.05) translateY(-5px);
            background: var(--dark-green);
        }

        #regaloRevelado {
            display: none; 
            margin-top: 40px;
            animation: fadeInUp 0.8s ease-out;
        }

        .mensaje-hijo {
            font-family: 'DM Serif Display', serif;
            font-size: 3rem;
            color: var(--dark-green);
            margin-bottom: 20px;
        }

        .profile-img-wrapper {
            max-width: 400px;
            margin: 0 auto;
            border-radius: 40px;
            overflow: hidden;
            border: 12px solid var(--blanco-puro);
            box-shadow: 15px 15px 0px var(--asparagus);
        }

        .profile-img-wrapper img {
            width: 100%;
            display: block;
        }

        
        .btn-imprimir {
            background: #4CAF50; 
            color: white;
            padding: 12px 30px;
            border-radius: 50px;
            border: none;
            font-weight: 600;
            cursor: pointer;
            margin: 40px 0;
            transition: 0.3s;
            font-family: 'Quicksand', sans-serif;
            text-transform: uppercase;
        }

        .btn-imprimir:hover {
            background: #388E3C;
            transform: translateY(-2px);
        }

        @media print {
            .btn-presioname, .btn-imprimir, .bio-header { display: none; }
            body { background: white; }
            .gift-container { box-shadow: none; border: none; width: 100%; }
            #regaloRevelado { display: block !important; }
        }

        .btn-regresar {
            display: inline-block;
            background: var(--fern-green);
            color: white;
            padding: 18px 45px;
            border-radius: 100px;
            text-decoration: none;
            font-weight: 600;
            font-size: 1.2rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            transition: all 0.4s ease;
            box-shadow: 0 10px 20px rgba(83, 123, 47, 0.3);
            animation: fadeInUp 1.4s ease-out, pulse-green 2s infinite;
        }
        
        .btn-regresar:hover {
            transform: scale(1.05) translateY(-5px);
            background: var(--dark-green);
            box-shadow: 0 15px 30px rgba(20, 44, 20, 0.4);
        }