/* ======================================================
   LOGOPEDIAAPP LANDING
   NAVBAR
====================================================== */

/* ==========================
   VARIABLES
========================== */

:root{

    --primary:#D92B2B;
    --primary-dark:#B91C1C;

    --text:#111827;
    --text-light:#6B7280;

    --background:#FFFFFF;
    --background-soft:#F8FAFC;

    --border:#ECECEC;

    --shadow:
        0 15px 40px rgba(15,23,42,.08);

    --radius:16px;

    --transition:.25s ease;

}

/* ==========================
   RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:"Inter",sans-serif;
    background:var(--background);
    color:var(--text);
    overflow-x:hidden;

}

/* ==========================
   CONTAINER
========================== */

.container{

    max-width:1280px;
    margin:auto;
    padding-inline:24px;

}

/* ==========================
   HEADER
========================== */

.header{

    position:fixed;

    top:0;
    left:0;
    width:100%;

    z-index:999;

    background:rgba(255,255,255,.85);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(0,0,0,.05);

}

/* ==========================
   NAVBAR
========================== */

.navbar{

    min-height:82px;

    padding:0;

}

/* ==========================
   LOGO
========================== */

.logo{

    display:flex;

    align-items:center;

    gap:14px;

    text-decoration:none;

}

.logo img{

    width:48px;

    height:48px;

    object-fit:contain;

}

.logo-content{

    display:flex;

    flex-direction:column;

}

.logo-title{

    font-size:1.15rem;

    font-weight:700;

    color:var(--text);

    line-height:1;

}

.logo-subtitle{

    margin-top:4px;

    font-size:.82rem;

    color:var(--text-light);

}

/* ==========================
   MENÚ
========================== */

.navbar-nav{

    gap:10px;

}

.nav-link{

    position:relative;

    padding:10px 16px !important;

    font-weight:600;

    color:var(--text-light);

    transition:var(--transition);

}

.nav-link:hover{

    color:var(--text);

}

.nav-link::after{

    content:"";

    position:absolute;

    left:16px;
    right:16px;
    bottom:4px;

    height:2px;

    background:var(--primary);

    transform:scaleX(0);

    transform-origin:left;

    transition:transform .25s;

}

.nav-link:hover::after{

    transform:scaleX(1);

}

/* ==========================
   BOTÓN LOGIN
========================== */

.btn-login{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:13px 22px;

    border-radius:14px;

    background:var(--primary);

    color:white;

    text-decoration:none;

    font-weight:600;

    transition:var(--transition);

    box-shadow:

        0 10px 25px rgba(217,43,43,.25);

}

.btn-login:hover{

    background:var(--primary-dark);

    color:white;

    transform:translateY(-2px);

}

/* ==========================
   TOGGLER
========================== */

.navbar-toggler{

    border:none;

    box-shadow:none !important;

}

.navbar-toggler:focus{

    box-shadow:none;

}

/* ==========================
   MOBILE
========================== */

@media(max-width:991px){

    .navbar{

        min-height:74px;

    }

    .navbar-collapse{

        margin-top:20px;

        background:white;

        border-radius:18px;

        padding:18px;

        box-shadow:

            0 15px 35px rgba(0,0,0,.08);

    }

    .navbar-nav{

        gap:4px;

    }

    .nav-link{

        padding:14px 0 !important;

    }

    .btn-login{

        width:100%;

        margin-top:16px;

    }

    .logo-subtitle{

        display:none;

    }

}

/* ======================================================
   HERO
====================================================== */

.hero{

    position:relative;

    padding:180px 0 120px;

    overflow:hidden;

    background:
        radial-gradient(circle at top left, rgba(217,43,43,.06), transparent 35%),
        radial-gradient(circle at bottom right, rgba(217,43,43,.04), transparent 30%),
        #ffffff;

}

/* ==========================
   TEXTO
========================== */

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    border-radius:999px;

    background:#FFF5F5;

    color:var(--primary);

    font-size:.9rem;

    font-weight:700;

    border:1px solid rgba(217,43,43,.12);

}

.hero-title{

    margin-top:28px;

    font-size:4.2rem;

    line-height:1.05;

    font-weight:800;

    letter-spacing:-2px;

    max-width:650px;

}

.hero-description{

    margin-top:30px;

    max-width:580px;

    font-size:1.15rem;

    line-height:1.8;

    color:var(--text-light);

}

/* ==========================
   BOTONES
========================== */

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:42px;

    flex-wrap:wrap;

}

.btn-primary{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:16px 32px;

    background:var(--primary);

    color:#fff;

    border-radius:14px;

    font-weight:700;

    text-decoration:none;

    transition:.25s;

    box-shadow:
        0 15px 35px rgba(217,43,43,.25);

}

.btn-primary:hover{

    transform:translateY(-3px);

    background:var(--primary-dark);

    color:white;

}

.btn-secondary{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:16px 32px;

    border-radius:14px;

    text-decoration:none;

    font-weight:700;

    background:#fff;

    color:var(--text);

    border:1px solid #E5E7EB;

    transition:.25s;

}

.btn-secondary:hover{

    transform:translateY(-3px);

    border-color:#d1d5db;

    color:var(--text);

}

/* ==========================
   PLATAFORMAS
========================== */

.hero-platforms{

    margin-top:42px;

}

.hero-platforms>span{

    display:block;

    margin-bottom:14px;

    color:var(--text-light);

    font-size:.95rem;

    font-weight:600;

}

.platform-list{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}

.platform-list span{

    padding:10px 18px;

    border-radius:999px;

    background:#F8FAFC;

    border:1px solid #ECECEC;

    font-size:.95rem;

    font-weight:600;

}

/* ==========================
   STORES
========================== */

.hero-stores{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-top:35px;

}

.hero-stores img{

    height:56px;

    transition:.25s;

}

.hero-stores img:hover{

    transform:translateY(-4px);

}

/* ==========================
   IMAGEN
========================== */

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-glow{

    position:absolute;

    width:600px;

    height:600px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(217,43,43,.14),
        transparent 70%);

    filter:blur(40px);

}

.phone-mock{

    position:relative;

    z-index:2;

    width:100%;

    max-width:480px;

    filter:drop-shadow(0 35px 60px rgba(0,0,0,.18));

}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width:991px){

    .hero{

        padding:140px 0 90px;

        text-align:center;

    }

    .hero-title{

        font-size:3rem;

        max-width:100%;

    }

    .hero-description{

        max-width:100%;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-platforms{

        text-align:center;

    }

    .platform-list{

        justify-content:center;

    }

    .hero-stores{

        justify-content:center;

    }

    .hero-image{

        margin-top:60px;

    }

    .phone-mock{

        max-width:340px;

    }

}

@media (max-width:576px){

    .hero-title{

        font-size:2.3rem;

        letter-spacing:-1px;

    }

    .hero-description{

        font-size:1rem;

    }

    .btn-primary,
    .btn-secondary{

        width:100%;

    }

    .hero-buttons{

        gap:12px;

    }


}
/* ======================================================
   BENEFITS
====================================================== */

.benefits{

    padding:140px 0;

    background:#fafafa;

}

.section-header{

    max-width:760px;

    margin:auto;

    text-align:center;

    margin-bottom:80px;

}

.section-badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:#FFF5F5;

    color:var(--primary);

    font-weight:700;

    margin-bottom:24px;

}

.section-header h2{

    font-size:3rem;

    font-weight:800;

    line-height:1.15;

    margin-bottom:24px;

}

.section-header p{

    font-size:1.15rem;

    color:var(--text-light);

    line-height:1.8;

}

.benefits-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

}

.benefit-card{

    background:white;

    border-radius:30px;

    padding:45px;

    box-shadow:0 20px 50px rgba(15,23,42,.05);

    transition:.3s;

}

.benefit-card:hover{

    transform:translateY(-8px);

}

.benefit-icon{

    width:72px;

    height:72px;

    border-radius:20px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#FFF5F5;

    font-size:2rem;

    margin-bottom:30px;

}

.benefit-card h3{

    font-size:2rem;

    margin-bottom:15px;

}

.benefit-card p{

    color:var(--text-light);

    margin-bottom:30px;

    line-height:1.7;

}

.benefit-card ul{

    list-style:none;

    padding:0;

    margin:0 0 40px;

}

.benefit-card li{

    margin-bottom:18px;

    font-weight:600;

    position:relative;

    padding-left:32px;

}

.benefit-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--primary);

    font-weight:800;

}

.benefit-card img{

    width:100%;

    border-radius:18px;

    margin-top:20px;

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:991px){

    .benefits{

        padding:90px 0;

    }

    .benefits-grid{

        grid-template-columns:1fr;

    }

    .section-header h2{

        font-size:2.2rem;

    }

    .benefit-card{

        padding:30px;

    }

}

/* ======================================================
   FEATURES
====================================================== */

.features{

    padding:140px 0;

    background:#ffffff;

}

.features-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:70px;

}

.feature-card{

    background:white;

    border:1px solid #ECECEC;

    border-radius:24px;

    padding:40px;

    transition:.3s;

}

.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 50px rgba(15,23,42,.08);

}

.feature-icon{

    width:70px;

    height:70px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:18px;

    background:#FFF5F5;

    font-size:2rem;

    margin-bottom:30px;

}

.feature-card h3{

    font-size:1.4rem;

    font-weight:700;

    margin-bottom:18px;

}

.feature-card p{

    color:var(--text-light);

    line-height:1.7;

}

@media(max-width:991px){

    .features{

        padding:90px 0;

    }

    .features-grid{

        grid-template-columns:1fr;

    }

}

/* ======================================================
   PRICING
====================================================== */

.pricing{

    padding:140px 0;

    background:#FAFAFA;

}

.pricing-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

    margin-top:70px;

}

.pricing-card{

    position:relative;

    background:white;

    border:1px solid #ECECEC;

    border-radius:28px;

    padding:50px;

    transition:.3s;

}

.pricing-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 60px rgba(15,23,42,.08);

}

.featured{

    border:2px solid var(--primary);

    transform:scale(1.03);

}

.pricing-label{

    display:inline-block;

    padding:8px 16px;

    border-radius:999px;

    background:#F5F5F5;

    font-weight:700;

}

.pricing-popular{

    display:inline-block;

    padding:8px 18px;

    border-radius:999px;

    background:var(--primary);

    color:white;

    font-weight:700;

}

.pricing-card h3{

    font-size:4rem;

    font-weight:800;

    margin:30px 0 10px;

}

.pricing-period{

    color:var(--text-light);

}

.pricing-card ul{

    list-style:none;

    padding:0;

    margin:40px 0;

}

.pricing-card li{

    padding:14px 0;

    border-bottom:1px solid #F1F1F1;

    position:relative;

    padding-left:28px;

}

.pricing-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--primary);

    font-weight:700;

}

.pricing-card a{

    width:100%;

    justify-content:center;

}

@media(max-width:991px){

    .pricing{

        padding:90px 0;

    }

    .pricing-grid{

        grid-template-columns:1fr;

    }

    .featured{

        transform:none;

    }


}

/* ======================================================
   FOUNDER
====================================================== */

.founder{

    padding:140px 0;

    background:white;

}

.founder-card{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:70px;

    align-items:center;

    background:#fafafa;

    border-radius:30px;

    padding:60px;

}

.founder-image{
    flex:0 0 180px;
    display:flex;
    justify-content:center;
    align-items:center;
}

.founder-image img{
    width:180px;
    height:180px;
    object-fit:cover;
    border-radius:50%;
    border:4px solid rgba(217,43,43,.15);
    box-shadow:0 18px 45px rgba(11,18,32,.12);
    display:block;
}

.founder-content h2{

    margin:25px 0;

    font-size:2.6rem;

    font-weight:800;

    line-height:1.2;

}

.founder-content p{

    font-size:1.1rem;

    color:var(--text-light);

    line-height:1.8;

}

.founder-points{

    margin-top:35px;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.founder-points div{

    background:white;

    border-radius:16px;

    padding:18px;

    font-weight:600;

}

@media(max-width:991px){

    .founder{

        padding:90px 0;

    }

    .founder-card{

        grid-template-columns:1fr;

        padding:35px;

        text-align:center;

    }

    .founder-image img{

        width:190px;

    }

    .founder-points{

        grid-template-columns:1fr;

    }

}

/* ======================================================
   DEMO
====================================================== */

.demo{

    padding:140px 0;

    background:#FAFAFA;

}

.demo-video{
    margin-top:60px;
    border-radius:24px;
    overflow:hidden;
    background:white;
    box-shadow:0 20px 50px rgba(15,23,42,.08);
}

.demo-list{
    margin-top:30px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.demo-video{

    border-radius:24px;

    overflow:hidden;

    background:white;

    box-shadow:0 20px 50px rgba(15,23,42,.08);

}

.demo-video iframe{

    border:0;

}

.demo-list{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.demo-item{

    display:flex;

    align-items:center;

    gap:18px;

    width:100%;

    padding:20px;

    background:white;

    border:1px solid #ECECEC;

    border-radius:18px;

    cursor:pointer;

    transition:.25s;

    text-align:left;

}

.demo-item span{

    font-size:1.8rem;

}

.demo-item strong{

    display:block;

    font-size:1rem;

    margin-bottom:4px;

}

.demo-item small{

    color:var(--text-light);

}

.demo-item:hover{

    transform:translateY(-3px);

    border-color:var(--primary);

}

.demo-item.active{

    border:2px solid var(--primary);

    background:#FFF8F8;

}

@media(max-width:991px){

    .demo{

        padding:90px 0;

    }

    .demo-wrapper{

        grid-template-columns:1fr;

    }

}

/* ======================================================
   CTA FINAL
====================================================== */

.cta-final{

    padding:120px 0;

    background:#ffffff;

}

.cta-card{

    max-width:900px;

    margin:auto;

    text-align:center;

    background:linear-gradient(135deg,#FFF8F8,#FFFFFF);

    border:1px solid rgba(217,43,43,.08);

    border-radius:32px;

    padding:70px;

    box-shadow:0 25px 60px rgba(15,23,42,.06);

}

.cta-card h2{

    margin:25px 0;

    font-size:3rem;

    font-weight:800;

    line-height:1.2;

}

.cta-card p{

    max-width:650px;

    margin:0 auto;

    color:var(--text-light);

    font-size:1.1rem;

    line-height:1.8;

}

.cta-benefits{

    margin:45px 0;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

}

.cta-benefits span{

    padding:12px 18px;

    border-radius:999px;

    background:white;

    border:1px solid #ECECEC;

    font-weight:600;

}

.cta-stores{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.cta-stores img{

    height:60px;

    transition:.25s;

}

.cta-stores img:hover{

    transform:translateY(-4px);

}

@media(max-width:991px){

.cta-card{

padding:40px 25px;

}

.cta-card h2{

font-size:2.2rem;

}

.cta-benefits{

flex-direction:column;

align-items:center;

}

}

/* ======================================================
   CONTACTO
====================================================== */

.contact{

    padding:140px 0;

    background:#FAFAFA;

}

.contact-card{

    display:grid;

    grid-template-columns:1fr 520px;

    gap:70px;

    align-items:center;

    background:white;

    border-radius:32px;

    padding:70px;

    box-shadow:0 20px 60px rgba(15,23,42,.08);

}

.contact-info h2{

    margin:25px 0;

    font-size:3rem;

    font-weight:800;

    line-height:1.2;

}

.contact-info p{

    color:var(--text-light);

    font-size:1.1rem;

    line-height:1.8;

}

.contact-benefits{

    margin-top:35px;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.contact-benefits div{

    font-weight:600;

}

.contact-form form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

    width:100%;

    padding:16px 18px;

    border-radius:14px;

    border:1px solid #E5E7EB;

    background:#FAFAFA;

    font-size:1rem;

    transition:.25s;

}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    background:white;

}

.contact-form textarea{

    resize:vertical;

    min-height:140px;

}

.contact-form button{

    padding:18px;

    border:none;

    border-radius:14px;

    background:var(--primary);

    color:white;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.contact-form button:hover{

    background:var(--primary-dark);

    transform:translateY(-2px);

}

.contact-form small{

    color:var(--text-light);

    text-align:center;

}

@media(max-width:991px){

    .contact{

        padding:90px 0;

    }

    .contact-card{

        grid-template-columns:1fr;

        padding:35px;

        gap:40px;

    }

    .contact-info{

        text-align:center;

    }

    .contact-info h2{

        font-size:2.2rem;

    }

}

/* ======================================================
   FOOTER
====================================================== */

.footer{

    padding:90px 0 40px;
    background:#ffffff;
    border-top:1px solid #ECECEC;

}

.footer-top{

    display:flex;
    justify-content:space-between;
    gap:80px;
    margin-bottom:60px;
    flex-wrap:wrap;

}

.footer-brand{

    display:flex;
    gap:18px;
    align-items:flex-start;
    max-width:420px;

}

.footer-brand img{

    width:56px;
    height:56px;

}

.footer-brand h3{

    font-size:1.35rem;
    font-weight:700;
    margin-bottom:10px;

}

.footer-brand p{

    color:var(--text-light);
    line-height:1.7;

}

.footer-links{

    display:flex;
    gap:70px;
    flex-wrap:wrap;

}

.footer-links h4{

    font-size:1rem;
    margin-bottom:18px;
    font-weight:700;

}

.footer-links a{

    display:block;
    margin-bottom:12px;
    color:var(--text-light);
    text-decoration:none;
    transition:.25s;

}

.footer-links a:hover{

    color:var(--primary);

}

/* ==========================
   Footer inferior
========================== */

.footer-bottom{

    padding-top:30px;
    border-top:1px solid #ECECEC;

    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;

    color:var(--text-light);

}

.footer-right{

    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;

}

.footer-platforms{

    white-space:nowrap;

}
/* ==========================
   Selector de idioma
========================== */

.footer-language {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-language a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 34px;
    height: 30px;
    padding: 0 8px;

    color: #6B7280;
    background: transparent;

    border: 1px solid transparent;
    border-radius: 7px;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.footer-language a:hover {
    color: var(--primary);
    background: #FEF2F2;
    border-color: #FECACA;
}

.footer-language a.active {
    color: var(--primary);
    background: #FEF2F2;
    border-color: #FECACA;
    font-weight: 700;
}

.footer-language span {
    color: #D1D5DB;
    user-select: none;
}

/*======================================================
    FAQ
======================================================*/

.faq{
    padding:140px 0;
    background:#fafafa;
}

.faq-grid{
    margin-top:70px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.faq-card{
    background:#fff;
    border:1px solid #ececec;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 10px 35px rgba(15,23,42,.05);
    transition:all .30s ease;
}

.faq-card:hover{
    transform:translateY(-4px);
    border-color:rgba(217,43,43,.18);
    box-shadow:0 20px 55px rgba(15,23,42,.08);
}

.faq-card[open]{
    border-color:rgba(217,43,43,.20);
    box-shadow:0 22px 60px rgba(15,23,42,.10);
}

.faq-card summary{
    list-style:none;
    cursor:pointer;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    padding:24px 28px;

    font-size:1.08rem;
    font-weight:700;
    color:#1f2937;

    user-select:none;
}

.faq-card summary::-webkit-details-marker{
    display:none;
}

.faq-card p{
    margin:0;
    padding:0 28px 28px;
    color:#6b7280;
    font-size:1rem;
    line-height:1.75;
}
/*======================================================
    TABS FAQ
======================================================*/

.faq-tabs{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;

    margin:60px 0 45px;

}

.faq-tab{

    padding:14px 30px;

    border:none;
    border-radius:999px;

    background:#ffffff;

    border:1px solid #ececec;

    color:#4b5563;
    font-size:.95rem;
    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.faq-tab:hover{

    color:var(--primary);
    border-color:var(--primary);
    transform:translateY(-2px);

}

.faq-tab.active{

    background:var(--primary);
    color:#fff;
    border-color:var(--primary);

    box-shadow:0 15px 35px rgba(217,43,43,.20);

}
/*======================================================
    BOTÓN + / - FAQ
======================================================*/

.faq-plus{

    position:relative;

    width:38px;
    height:38px;

    flex-shrink:0;

    border-radius:50%;

    background:#f6f6f6;

    transition:all .30s ease;

}

.faq-plus::before,
.faq-plus::after{

    content:"";

    position:absolute;

    top:50%;
    left:50%;

    width:14px;
    height:2px;

    border-radius:50px;

    background:var(--primary);

    transform:translate(-50%,-50%);

    transition:.30s;

}

.faq-plus::after{

    transform:translate(-50%,-50%) rotate(90deg);

}

.faq-card:hover .faq-plus{

    background:#fff3f3;

}

.faq-card[open] .faq-plus{

    background:var(--primary);

}

.faq-card[open] .faq-plus::before{

    background:#fff;

}

.faq-card[open] .faq-plus::after{

    background:#fff;
    opacity:0;

}

/*======================================================
    CONTENIDO FAQ
======================================================*/

.faq-content{

    display:none;

}

.faq-content.active{

    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;

}

/*======================================================
    RESPONSIVE
======================================================*/

@media(max-width:991px){

    .faq{

        padding:90px 0;

    }

    .faq-tabs{

        flex-wrap:wrap;
        gap:12px;
        margin:40px 0 30px;

    }

    .faq-tab{

        width:100%;

    }

    .faq-grid,
    .faq-content{

        grid-template-columns:1fr;
        gap:18px;

    }

    .faq-card summary{

        padding:22px;
        font-size:1rem;

    }

    .faq-card p{

        padding:0 22px 22px;

    }

}


#trialMsg{
    display:none;
    margin-top:18px;
    padding:14px 18px;
    border-radius:12px;
    font-weight:600;
    background:#ECFDF3;
    color:#15803D;
    border:1px solid #BBF7D0;
}

.hero-image{

    display:flex;

    justify-content:center;

    align-items:center;

    position:relative;

}

.hero-video{

    width:100%;
    max-width:440px;

    height:auto;

    object-fit:contain;

    border-radius:24px;

    display:block;

    animation:float 6s ease-in-out infinite;

}


/* =======================================================
   CONTINUIDAD DE LA TERAPIA
======================================================= */

.therapy-continuity {
    padding: 100px 0;
    background: #ffffff;
}

.therapy-continuity .section-header {
    max-width: 820px;
    margin: 0 auto 60px;
    text-align: center;
}

.therapy-continuity .section-badge,
.emotional-value .section-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.therapy-continuity .section-header h2 {
    margin-bottom: 20px;
}

.therapy-continuity .section-header p {
    max-width: 720px;
    margin: 0 auto;
    line-height: 1.7;
}

.therapy-continuity-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto;
}

.therapy-step {
    position: relative;
    padding: 34px 30px;
    background: #f8fafc;
    border: 1px solid #e8edf3;
    border-radius: 20px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.therapy-step:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.07);
}

.therapy-step > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 24px;
    border-radius: 12px;
    background: #eef4ff;
    color: #2563eb;
    font-size: 14px;
    font-weight: 700;
}

.therapy-step h3 {
    margin-bottom: 14px;
    font-size: 21px;
    font-weight: 700;
    color: #172033;
}

.therapy-step p {
    margin: 0;
    color: #667085;
    line-height: 1.7;
}


/* =======================================================
   VALOR EMOCIONAL
======================================================= */

.emotional-value {
    padding: 100px 0;
    background: #f8fafc;
}

.emotional-value-card {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 70px 80px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 28px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.emotional-value-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 180px;
    height: 4px;
    transform: translateX(-50%);
    background: #2563eb;
    border-radius: 0 0 8px 8px;
}

.emotional-value-card h2 {
    max-width: 780px;
    margin: 0 auto 22px;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.15;
    font-weight: 700;
    color: #172033;
}

.emotional-value-card p {
    max-width: 700px;
    margin: 0 auto;
    color: #667085;
    font-size: 17px;
    line-height: 1.75;
}


/* =======================================================
   RESPONSIVE
======================================================= */

@media (max-width: 991px) {

    .therapy-continuity,
    .emotional-value {
        padding: 80px 0;
    }

    .therapy-continuity-grid {
        grid-template-columns: 1fr;
        max-width: 650px;
    }

    .therapy-step {
        padding: 30px;
    }

    .emotional-value-card {
        padding: 55px 45px;
    }
}


@media (max-width: 576px) {

    .therapy-continuity,
    .emotional-value {
        padding: 65px 0;
    }

    .therapy-continuity .section-header {
        margin-bottom: 40px;
    }

    .therapy-step {
        padding: 26px 22px;
        border-radius: 16px;
    }

    .therapy-step h3 {
        font-size: 19px;
    }

    .emotional-value-card {
        padding: 45px 24px;
        border-radius: 20px;
    }

    .emotional-value-card h2 {
        font-size: 30px;
    }

    .emotional-value-card p {
        font-size: 16px;
    }
}

/* =======================================================
   TESTIMONIOS
======================================================= */

.testimonials {
    padding: 100px 0;
    background: #ffffff;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 50px;
}

.testimonial-card {
    display: flex;
    flex-direction: column;
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e8edf2;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
}

.testimonial-stars {
    margin-bottom: 18px;
    color: #f5b301;
    font-size: 20px;
    letter-spacing: 2px;
}

.testimonial-card h3 {
    margin-bottom: 16px;
    font-size: 21px;
    font-weight: 700;
}

.testimonial-text {
    margin: 0;
    color: #5f6873;
    font-size: 15px;
    line-height: 1.7;
}

.testimonial-author {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #edf0f3;
}

.testimonial-author strong {
    font-size: 15px;
    color: #20252b;
}

.testimonial-author span {
    color: #7b838c;
    font-size: 13px;
}

.testimonial-source {
    margin-top: 16px;
    color: #7b838c;
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 991px) {

    .testimonials-grid {
        grid-template-columns: 1fr;
        max-width: 650px;
        margin-left: auto;
        margin-right: auto;
    }

}

@media (max-width: 576px) {

    .testimonials {
        padding: 70px 0;
    }

    .testimonial-card {
        padding: 26px;
    }

}