/* ===========================
   EVENTORA STUDIO
=========================== */

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    background:#ffffff;
    color:#111111;

}

.container{

    width:90%;
    max-width:1300px;
    margin:auto;

}

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

header{

    position:fixed;
    top:0;
    left:0;

    width:100%;

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

    backdrop-filter:blur(15px);

    z-index:999;

    border-bottom:1px solid #ececec;

}

header .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px 0;

}

.logo{

    text-decoration:none;

    color:inherit;

    display:inline-flex;

    flex-direction:column;

    cursor:pointer;

}
.logo span{

    display:block;

    font-size:.72rem;

    letter-spacing:7px;

    color:#b48a3d;

}

.logo{

    transition:transform .3s ease;

}

.logo:hover{

    transform:scale(1.04);

}

/* ===========================
   MENU
=========================== */

nav{

    display:flex;
    gap:40px;

}

nav a{

    text-decoration:none;

    color:#111;

    font-weight:500;

    transition:.3s;

}

nav a:hover{

    color:#b48a3d;

}

nav a[aria-current="page"]{

    color:#b48a3d;

    font-weight:600;

}

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

.hero{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:0 20px;

    background:
    linear-gradient(
        rgba(0,0,0,.55),
        rgba(0,0,0,.55)
    ),
    url("assets/hero.jpg");

    background-size:cover;

    background-position:center;

    background-attachment:fixed;

}

.hero-content{

    max-width:850px;

}

.hero-small{

    color:#D4AF37;

    letter-spacing:6px;

    font-size:.85rem;

    margin-bottom:25px;

    font-weight:600;

}

.hero h1{

    color:white;

    font-family:'Cormorant Garamond',serif;

    font-size:5.5rem;

    line-height:1.05;

    margin-bottom:35px;

}

.hero-description{

    color:white;

    opacity:.9;

    font-size:1.2rem;

    line-height:1.8;

    max-width:720px;

    margin:auto;

}

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

.hero-buttons{

    margin-top:50px;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.btn-primary{

    background:#111;

    color:white;

    text-decoration:none;

    padding:18px 42px;

    border-radius:60px;

    transition:.35s;

}

.btn-primary:hover{

    background:#b48a3d;

}

.btn-secondary{

    border:1px solid #111;

    color:#111;

    text-decoration:none;

    padding:18px 42px;

    border-radius:60px;

    transition:.35s;

}

.btn-secondary:hover{

    background:#111;

    color:white;

}

/*=========================================
            PORTAFOLIO
=========================================*/

.portfolio{

    padding:140px 0;

    background:#fafafa;

}

.section-tag{

    display:block;

    text-align:center;

    color:#C7A86D;

    letter-spacing:5px;

    font-size:.8rem;

    margin-bottom:20px;

}

.portfolio h2{

    text-align:center;

    font-size:3.3rem;

    font-family:'Cormorant Garamond',serif;

    margin-bottom:20px;

}

.portfolio-text{

    text-align:center;

    max-width:700px;

    margin:0 auto 70px;

    color:#666;

    line-height:1.8;

}

.portfolio-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

}

.portfolio-card{

    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;

    background:white;

    border-radius:22px;

    overflow:hidden;

    text-decoration:none;

    color:#111;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    transition:.35s;

}

.portfolio-card:hover{

    transform:translateY(-12px);

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

}

.portfolio-card img{

    width:100%;

    height:260px;

    object-fit:cover;

}

/* Launch polish: portfolio filters, package summaries and honest use cases */
.portfolio-disclosure{
    max-width:820px;
    margin:-36px auto 32px;
    padding:18px 22px;
    border:1px solid rgba(199,168,109,.32);
    border-radius:16px;
    background:#fffdf8;
    color:#5f574a;
    text-align:center;
    line-height:1.7;
}

.portfolio-disclosure strong{
    color:#8b6b32;
}

.portfolio-filters{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:14px;
}

.portfolio-filter{
    min-height:44px;
    padding:10px 18px;
    border:1px solid #ded8ca;
    border-radius:999px;
    background:white;
    color:#3b382f;
    font:600 .88rem 'Inter',sans-serif;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.portfolio-filter:hover,
.portfolio-filter.is-active{
    border-color:#b6924f;
    background:#b6924f;
    color:white;
}

.portfolio-filter:focus-visible{
    outline:3px solid rgba(182,146,79,.34);
    outline-offset:3px;
}

.portfolio-results{
    margin:0 0 30px;
    color:#777;
    text-align:center;
    font-size:.86rem;
}

.portfolio-empty{
    margin:32px auto;
    padding:28px;
    border:1px dashed #c9b991;
    border-radius:18px;
    color:#665d4d;
    text-align:center;
}

.portfolio-card[hidden],
.portfolio-empty[hidden]{
    display:none !important;
}

.portfolio-card.is-filtered-in{
    animation:portfolioFilterIn .28s ease both;
}

@keyframes portfolioFilterIn{
    from{opacity:0;transform:translateY(7px)}
    to{opacity:1;transform:translateY(0)}
}

.experience-card > svg{
    width:38px;
    height:38px;
    margin-bottom:24px;
    color:#b6924f;
    stroke-width:1.5;
}

.experience-card > span{
    display:block;
    margin-bottom:10px;
    color:#9b7b3f;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.experience-card h3{
    margin-bottom:17px;
    font:600 1.65rem/1.15 'Cormorant Garamond',serif;
}

.experience-card p{
    margin-bottom:0;
}

@media (max-width:768px){
    .portfolio-disclosure{
        margin:-14px auto 26px;
        padding:16px 18px;
        text-align:left;
    }

    .portfolio-filters{
        justify-content:flex-start;
        flex-wrap:nowrap;
        overflow-x:auto;
        margin-right:calc((100vw - 100%)/-2);
        margin-left:calc((100vw - 100%)/-2);
        padding:2px calc((100vw - 100%)/2) 8px;
        scrollbar-width:none;
    }

    .portfolio-filter{
        flex:0 0 auto;
    }
}

@media (prefers-reduced-motion:reduce){
    .portfolio-card.is-filtered-in{
        animation:none;
    }
}

.portfolio-card:focus-visible{

    outline:3px solid #C7A86D;
    outline-offset:5px;

}

.portfolio-cover{

    position:relative;
    width:100%;
    height:260px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    isolation:isolate;

    flex:0 0 auto;

}

.cover-midnight{
    color:#edf5ff;
    background:radial-gradient(circle at 50% 42%,#234f91 0,#081a3a 28%,#020711 68%);
}

.cover-midnight::before{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    border:1px solid #91c1ff;
    border-radius:50%;
    box-shadow:0 0 45px #4c8fff66,inset 0 0 45px #4c8fff33;
    z-index:-1;
}

.cover-midnight strong{
    font-family:'Cormorant Garamond',serif;
    font-size:3.3rem;
    font-weight:500;
}

.cover-kicker{
    font-size:.58rem;
    letter-spacing:.28em;
    text-transform:uppercase;
}

.cover-midnight i{
    width:120px;
    height:1px;
    margin-top:14px;
    background:linear-gradient(90deg,transparent,#fff,transparent);
}

.cover-romance{
    color:#5c2030;
    background:linear-gradient(145deg,#f2ddd7,#c99598);
}

.cover-romance::before{
    content:"";
    position:absolute;
    inset:26px;
    background:#fff5ea;
    box-shadow:0 18px 40px #5e1c3033;
    rotate:-2deg;
    z-index:-1;
}

.cover-romance>span{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:1rem;
}

.cover-romance strong{
    margin:7px 0;
    font-family:'Cormorant Garamond',serif;
    font-size:3.5rem;
    font-weight:500;
}

.cover-romance i{
    font-family:'Cormorant Garamond',serif;
    letter-spacing:.2em;
    font-size:.7rem;
}

.cover-minimal{
    align-items:flex-start;
    padding:34px;
    color:#111;
    background:#f5f5f1;
    border-bottom:1px solid #111;
}

.cover-minimal::after{
    content:"";
    position:absolute;
    left:34px;
    right:34px;
    top:57px;
    height:1px;
    background:#111;
}

.cover-minimal small,
.cover-minimal span{
    font-family:'Inter',sans-serif;
    font-size:.55rem;
    letter-spacing:.18em;
}

.cover-minimal strong{
    margin:auto 0 10px;
    font-family:'Inter',sans-serif;
    font-size:3.5rem;
    line-height:.8;
    letter-spacing:-.08em;
}

.cover-celestial{
    color:#f6f2e8;
    background:radial-gradient(circle at 72% 28%,#f3efe6 0 12%,#101d41 13% 18%,transparent 19%),linear-gradient(145deg,#142750,#050b24);
}

.cover-celestial::before{
    content:"";
    position:absolute;
    width:180px;
    aspect-ratio:1;
    border:1px solid #d8c08d;
    border-radius:50%;
    transform:scaleY(.45) rotate(22deg);
}

.cover-celestial span{font:italic 1rem 'Cormorant Garamond',serif;color:#d8c08d;}
.cover-celestial strong{font:400 3.5rem 'Cormorant Garamond',serif;z-index:1;}
.cover-celestial i{width:6px;aspect-ratio:1;background:white;border-radius:50%;box-shadow:55px -42px 0 #d8c08d,-64px 28px 0 white,0 0 16px 5px #8db2ff;}

.cover-vintage{
    color:#33261f;
    background:#b99b71;
}

.cover-vintage::before{
    content:"";
    position:absolute;
    inset:24px;
    background:repeating-linear-gradient(0deg,#00000008 0 1px,transparent 1px 4px),#f4ead6;
    border:1px solid #80694d;
    box-shadow:8px 9px 0 #6f293444;
    transform:rotate(-2deg);
    z-index:-1;
}

.cover-vintage small,.cover-vintage span{font:.58rem 'Inter',sans-serif;letter-spacing:.18em;}
.cover-vintage strong{margin:8px 0;font:400 3.5rem 'Cormorant Garamond',serif;}
.cover-vintage span{color:#6f2934;font-weight:700;}

.cover-garden{
    color:#355541;
    background:linear-gradient(145deg,#dce9d8,#f7e3d4);
}

.cover-garden::before{
    content:"";
    position:absolute;
    inset:25px 68px 0;
    border:10px double #fff8e7;
    border-bottom:0;
    border-radius:50% 50% 0 0;
}

.cover-garden i{position:absolute;left:30px;bottom:20px;width:90px;height:46px;background:#c98f91;border-radius:100% 0 100% 0;transform:rotate(20deg);}
.cover-garden span{font:.6rem 'Inter',sans-serif;letter-spacing:.2em;z-index:1;}
.cover-garden strong{font:400 3.7rem 'Cormorant Garamond',serif;z-index:1;}

.cover-champagne{
    color:#6f5a3c;
    background:radial-gradient(circle at 75% 20%,white,#e9dcc8 62%,#d2baa0);
}

.cover-champagne::before{
    content:"";
    position:absolute;
    inset:24px 45px;
    border:1px solid #b99762;
    background:#fffaf2a8;
    box-shadow:0 16px 35px #80644222;
    z-index:-1;
}

.cover-champagne span{display:grid;place-items:center;width:62px;aspect-ratio:1;border:1px solid #b99762;border-radius:50%;font:italic .8rem 'Cormorant Garamond',serif;}
.cover-champagne strong{font:400 3.2rem 'Cormorant Garamond',serif;}
.cover-champagne small{font:.55rem 'Inter',sans-serif;letter-spacing:.18em;}

.cover-neon-party{
    align-items:flex-start;
    padding:30px;
    color:white;
    background:linear-gradient(145deg,#17171d,#08080b);
}

.cover-neon-party::before{
    content:"";
    position:absolute;
    right:-15px;
    top:35px;
    width:55%;
    height:18px;
    background:#ff2e91;
    transform:rotate(-17deg);
}

.cover-neon-party small,.cover-neon-party span{font:.55rem 'Inter',sans-serif;letter-spacing:.17em;z-index:1;}
.cover-neon-party strong{margin:auto 0;font:900 3.2rem/.72 'Inter',sans-serif;letter-spacing:-.09em;z-index:1;}
.cover-neon-party span{align-self:flex-end;color:#37a7ff;font-weight:800;}

.portfolio-info{

    display:flex;
    flex:1;
    flex-direction:column;
    min-width:0;

    padding:30px;

}

.portfolio-info h3{

    font-family:'Cormorant Garamond',serif;

    font-size:2rem;

    margin-bottom:15px;
    line-height:1.05;
    overflow-wrap:anywhere;

}

.portfolio-info .portfolio-prestige-badge{
    display:inline-flex;
    margin-bottom:14px;
    padding:6px 9px;
    color:#8b6b32;
    background:#f8f3e8;
    border:1px solid rgba(139,107,50,.28);
    border-radius:999px;
    font-size:.6rem;
    font-weight:700;
    line-height:1;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.portfolio-info p{

    color:#666;

    line-height:1.7;

    margin-bottom:25px;

    overflow-wrap:anywhere;

}

.portfolio-info span{

    color:#C7A86D;

    font-weight:600;

}

.portfolio-info > span:last-child{
    margin-top:auto;
}

.portfolio-cover::before,
.portfolio-cover::after,
.portfolio-cover > i{
    pointer-events:none;
}

.portfolio-cover strong,
.portfolio-cover span,
.portfolio-cover small{
    max-width:100%;
    overflow-wrap:anywhere;
}

/*==============================
        BENEFICIOS
===============================*/

.benefits{

    padding:140px 0;

    background:white;

}

.benefits-text{

    max-width:640px;
    margin:28px auto 70px;
    text-align:center;
    padding:0 10px;
    color:#666;
    line-height:1.8;

}

.benefits h2{

    max-width:650px;
    margin:0 auto;
    text-align:center;

}

.benefits-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}

.benefit-card{

    background:#fafafa;

    border-radius:20px;

    padding:40px 30px;

    text-align:center;

    transition:.3s;

}

.benefit-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.icon{

    width:72px;
    height:72px;

    margin:0 auto 28px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:#F7F4EE;

    color:#C7A86D;

    font-size:34px;

    transition:.35s;

}

.benefit-card:hover .icon{

    background:#C7A86D;
    color:white;

    transform:rotate(-8deg) scale(1.08);

}

.benefit-card h3{

    font-family:'Cormorant Garamond',serif;

    font-size:2rem;

    margin-bottom:15px;

}

.benefit-card p{

    color:#666;

    line-height:1.7;

}

/*==========================
        PROCESO
==========================*/

.process{

    padding:150px 0;

    background:#fafafa;

}

.process h2{

    text-align:center;

    font-family:'Cormorant Garamond',serif;

    font-size:3.3rem;

    margin-bottom:20px;

}

.process-text{

    max-width:720px;

    margin:0 auto 90px;

    text-align:center;

    color:#666;

    line-height:1.8;

}

.timeline{

    position:relative;

    display:grid;

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

    gap:40px;

}

.timeline-line{

    position:absolute;

    top:45px;

    left:12.5%;

    width:75%;

    height:4px;

    background:#DDDDDD;

    border-radius:20px;

    z-index:0;

    overflow:hidden;

}

.timeline-line::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:0%;

    height:100%;

    background:linear-gradient(
        90deg,
        #2563EB,
        #C7A86D,
        #7C3AED,
        #059669
    );

    transition:1.3s ease;

}

.process-card{

    position:relative;

    background:white;

    border-radius:26px;

    padding:80px 35px 40px;

    text-align:center;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.35s;

    z-index:2;

}

.process-card:hover{

    transform:translateY(-12px);

    box-shadow:0 25px 60px rgba(0,0,0,.14);

}

.circle{

    width:92px;

    height:92px;

    margin:auto;

    margin-top:-125px;

    margin-bottom:35px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

    border:6px solid white;

    position:relative;

    z-index:5;

    transition:.35s;

}

.process-card:hover .circle{

    transform:translateY(-8px) scale(1.08);

}

.process-card h3{

    font-family:'Cormorant Garamond',serif;

    font-size:2rem;

    margin-bottom:18px;

}

.process-card p{

    color:#666;

    line-height:1.8;

}

.blue{

    background:#EDF5FF;

    color:#2563EB;

}

.gold{

    background:#FDF5E6;

    color:#C7A86D;

}

.purple{

    background:#F4ECFF;

    color:#7C3AED;

}

.green{

    background:#ECFDF5;

    color:#059669;

}

.process-card:hover .blue{

    background:#2563EB;

    color:white;

}

.process-card:hover .gold{

    background:#C7A86D;

    color:white;

}

.process-card:hover .purple{

    background:#7C3AED;

    color:white;

}

.process-card:hover .green{

    background:#059669;

    color:white;

}

.timeline-line.animate-line::before{

    width:100%;

}


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

.features{
    padding: 140px 0;
    background: #fafafa;
    position: relative;
}

.features .container{
    max-width: 1250px;
    margin: 0 auto;
    padding: 0 25px;
}

.features .section-tag{
    display: inline-block;
    padding: 10px 18px;
    border-radius: 999px;
    background: rgba(199,168,109,.12);
    color: #C7A86D;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.features h2{
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.6rem,5vw,4rem);
    font-weight: 600;
    color: #111827;
    margin-bottom: 20px;
    line-height: 1.1;
}

.features .section-description{
    max-width: 720px;
    margin: 0 auto 70px;
    font-size: 1.08rem;
    line-height: 1.9;
    color: #6B7280;
}

.features{
    text-align:center;
}

/*======================================
=              GRID                    =
======================================*/

.features-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}

/*======================================
=             CARD                     =
======================================*/

.feature-card{
    background:#fff;
    border-radius:26px;
    padding:35px;
    text-align:left;
    position:relative;
    overflow:hidden;
    transition:.35s ease;
    border:1px solid #ECECEC;
    box-shadow:
        0 10px 35px rgba(0,0,0,.04);
}

.feature-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:0;
    height:4px;
    background:linear-gradient(90deg,#2563EB,#C7A86D);
    transition:.45s;
}

.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 18px 45px rgba(0,0,0,.08);
}

.feature-card:hover::before{
    width:100%;
}

/*======================================
=             ICON                     =
======================================*/

.feature-icon{

    width:68px;
    height:68px;

    border-radius:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:28px;

    transition:.35s;
}

.feature-icon i{
    width:30px;
    height:30px;
    stroke-width:2;
}

.feature-card:hover .feature-icon{

    transform:scale(1.08) rotate(-5deg);

}

/*======================================
=             COLORS                   =
======================================*/

.blue{
    background:#EFF6FF;
    color:#2563EB;
}

.gold{
    background:#FFF8EB;
    color:#C7A86D;
}

.purple{
    background:#F4F0FF;
    color:#7C3AED;
}

.green{
    background:#ECFDF5;
    color:#059669;
}

.coral{
    background:#FFF1F2;
    color:#F43F5E;
}

.cyan{
    background:#ECFEFF;
    color:#0891B2;
}

.red{
    background:#FEF2F2;
    color:#DC2626;
}

.orange{
    background:#FFF7ED;
    color:#EA580C;
}

.teal{
    background:#F0FDFA;
    color:#0F766E;
}

/*======================================
=            TYPOGRAPHY                =
======================================*/

.feature-card h3{

    font-family:"Cormorant Garamond", serif;
    font-size:1.8rem;
    color:#111827;
    margin-bottom:14px;
    line-height:1.2;
}

.feature-card p{

    color:#6B7280;
    font-size:.98rem;
    line-height:1.8;
}

/*======================================
=             ANIMATION                =
======================================*/

.feature-card{

    opacity:0;
    transform:translateY(40px);

}

.feature-card.show{

    opacity:1;
    transform:translateY(0);

    transition:
    opacity .7s ease,
    transform .7s ease;

}

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

/*==========================
COMPARISON
==========================*/

.comparison{

    padding:140px 0;
    background:#fff;

}

.comparison .container{

    max-width:1100px;
    margin:auto;

}

.comparison h2{

    text-align:center;
    margin-bottom:18px;

}

.comparison-text{

    max-width:700px;
    margin:auto;
    text-align:center;
    color:#666;
    margin-bottom:60px;
    line-height:1.8;

}

.comparison-table{

    background:white;
    border-radius:26px;
    overflow:hidden;
    border:1px solid #ececec;
    box-shadow:0 18px 50px rgba(0,0,0,.06);

}

.comparison-header,
.comparison-row{

    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    align-items:center;

}

.comparison-header{

    background:#faf7f2;
    font-weight:600;

}

.comparison-header>div{

    padding:24px;

}

.eventora-head{

    background:#fff8eb;
    color:#b8860b;
    text-align:center;

}

.paper-head{

    text-align:center;
    color:#666;

}

.comparison-row{

    border-top:1px solid #f2f2f2;
    transition:.3s;

}

.comparison-row:hover{

    background:#fafafa;

}

.comparison-row span{

    padding:22px 28px;
    font-weight:500;

}

.check,
.cross{

    display:flex;
    justify-content:center;
    align-items:center;

}

.check svg{

    color:#22c55e;
    width:24px;
    height:24px;

}

.cross svg{

    color:#d1d5db;
    width:24px;
    height:24px;

}

/*==========================
PACKAGES
==========================*/

.packages{

    padding:140px 0;
    background:#fafafa;

}

.packages .container{

    max-width:1250px;
    margin:auto;

}

.packages h2{

    text-align:center;
    margin-bottom:18px;

}

.packages-text{

    max-width:720px;
    margin:auto;
    margin-bottom:52px;

    text-align:center;

    color:#666;

    line-height:1.8;

}

.packages-grid{

    display:grid;

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

    gap:35px;

    align-items:center;

}

.package-card{

    position:relative;

    display:flex;
    flex-direction:column;

    background:white;

    border-radius:28px;

    padding:40px 32px;

    border:1px solid #ececec;

    box-shadow:0 15px 45px rgba(0,0,0,.05);

    transition:.35s;

    overflow:hidden;

}

.package-card:hover{

    transform:translateY(-12px);

    box-shadow:0 28px 60px rgba(0,0,0,.10);

}

.featured{

    transform:scale(1.05);

    border:2px solid #D4AF37;

    box-shadow:0 30px 70px rgba(212,175,55,.18);

}

.featured:hover{

    transform:translateY(-12px) scale(1.05);

}

.badge{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:8px;

    padding:9px 16px;

    border-radius:999px;

    background:#D4AF37;

    color:#fff;

    font-size:.76rem;

    font-weight:600;

    box-shadow:0 8px 20px rgba(212,175,55,.18);

}

.badge svg{
    width:16px;
    height:16px;
    stroke-width:2.5;
    flex-shrink:0;

}

.badge-wrapper{

    display:flex;
    justify-content:center;
    margin:0 0 16px;

}

.package-label{

    display:block;

    margin-bottom:8px;

    color:#9b7b3f;

    text-align:center;

    font-size:.68rem;

    font-weight:700;

    letter-spacing:.2em;

}

.package-card h3{

    text-align:center;

    font-size:2.25rem;
    font-weight:700;
    line-height:1.1;
    margin:0 0 12px;
}

.package-subtitle{

    text-align:center;

    color:#777;

    line-height:1.7;

    min-height:58px;

    max-width:310px;

    margin:6px auto 26px;

}

.package-btn{

    display:block;

    width:100%;

    text-align:center;

    margin-top:0;

    padding:16px;

    border-radius:16px;

    text-decoration:none;

    color:#222;

    font-weight:600;

    border:2px solid #ddd;

    transition:.3s;

}

.package-btn:focus-visible{

    outline:3px solid rgba(182,146,79,.42);

    outline-offset:4px;

}

.package-btn:hover{

    background:#111;

    color:white;

    border-color:#111;

}

.featured-btn{

    background:#D4AF37;

    color:white;

    border:none;

}

.featured-btn:hover{

    background:#bf9722;

}

@media (min-width:769px) and (max-width:1100px){

    .packages-grid{

        gap:22px;

    }

    .package-card{

        padding-right:24px;
        padding-left:24px;

    }

    .featured{

        transform:scale(1.02);

    }

    .featured:hover{

        transform:translateY(-8px) scale(1.02);

    }

}

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

.testimonials{

    position:relative;

    overflow:hidden;

    padding:140px 0;

    background:white;

}

.testimonials .container{

    position:relative;

    z-index:2;

}

.testimonials-bg{

    position:absolute;

    left:50%;
    top:50%;

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

    font-size:9rem;

    font-weight:800;

    letter-spacing:12px;

    color:#D4AF37;

    opacity:.00;

    white-space:nowrap;

    user-select:none;

    pointer-events:none;

}

.testimonials h2{

    text-align:center;

}

.testimonials-text{

    max-width:720px;

    margin:20px auto 70px;

    text-align:center;

    color:#666;

    line-height:1.8;

}

.testimonials-grid{

    display:grid;

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

    gap:35px;

}

.testimonial-card{

    position:relative;

    background:white;

    padding:40px;

    border-radius:28px;

    border:1px solid #ececec;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

    transition:.35s;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:0 28px 60px rgba(0,0,0,.10);

}

.quote{

    position:absolute;

    top:28px;

    right:28px;

    opacity:.08;

}

.quote svg{

    width:52px;

    height:52px;

    color:#D4AF37;

}

.stars{

    display:flex;

    gap:5px;

    margin-bottom:24px;

}

.stars svg{

    width:18px;

    height:18px;

    fill:#D4AF37;

    color:#D4AF37;

}

.testimonial-card p{

    color:#555;

    line-height:1.9;

    margin-bottom:35px;

}

.testimonial-user{

    display:flex;

    align-items:center;

    gap:16px;

}

.avatar{

    width:58px;

    height:58px;

    border-radius:50%;

    background:linear-gradient(135deg,#D4AF37,#F4D06F);

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:1.3rem;

    font-weight:700;

    transition:.35s;

}

.testimonial-card:hover .avatar{

    transform:rotate(-8deg) scale(1.08);

}

.testimonial-user h4{

    margin-bottom:4px;

}

.testimonial-user span{

    color:#888;

    font-size:.9rem;

}

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

.faq{

    padding:140px 0;

    background:#fafafa;

}

.faq h2{

    text-align:center;

}

.faq-text{

    max-width:720px;

    margin:20px auto 70px;

    text-align:center;

    color:#666;

    line-height:1.8;

}

.faq-list{

    max-width:900px;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.faq-item{

    background:white;

    border:1px solid #ececec;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.04);

    transition:.3s;

}

.faq-item:hover{

    transform:translateY(-5px);

    border-color:#D4AF37;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.faq-question{

    width:100%;

    padding:32px 36px;

    border:none;

    background:none;

    display:flex;

    align-items:center;

    gap:24px;

    cursor:pointer;

    text-align:left;

    font-size:1.05rem;

    font-weight:600;

    color:#222;

}

.faq-question span{

    flex:1;

}

.faq-question svg{

    width:18px;

    height:18px;

    padding:10px;

    border-radius:50%;

    background:#f8f8f8;

    color:#D4AF37;

    transition:.35s ease;

    flex-shrink:0;

    box-sizing:content-box;

}
.faq-answer{

    max-height:0;

    overflow:hidden;

    opacity:0;

    transition:
        max-height .75s cubic-bezier(.22,1,.36,1),
        opacity .45s ease;

}

.faq-answer p{

    padding:10px 36px 34px;

    color:#6d6d6d;

    line-height:2;

    border-left:2px solid rgba(212,175,55,.55);

    margin-left:36px;

    transform:translateY(-8px);

    transition:.45s ease;

}

.faq-item.active .faq-answer{

    max-height:260px;

    opacity:1;

}

.faq-item.active .faq-answer p{

    transform:translateY(0);

}

.faq-item.active{

    border-color:#D4AF37;

    box-shadow:0 18px 45px rgba(212,175,55,.18);

}

.faq-item.active .faq-question span{

    color:#D4AF37;

}

.faq-item.active .faq-question svg{

    background:#D4AF37;

    color:white;

    transform:rotate(180deg);

}

.faq-question svg{

    width:22px;
    height:22px;

    padding:0;

    background:transparent;

    color:#D4AF37;

    transition:.35s ease;

}

.faq-item.active .faq-question svg{

    background:transparent;

    color:#D4AF37;

    transform:rotate(180deg);

}

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

.cta{

    position:relative;

    overflow:hidden;

    padding:170px 0;

    background:#F8F6F2;

    text-align:center;

}

.cta .container{

    position:relative;

    z-index:3;

}

/* Fondo tipográfico */

.cta-background{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:11rem;

    font-weight:800;

    letter-spacing:10px;

    color:#D4AF37;

    opacity:.15;

    user-select:none;

    pointer-events:none;

    white-space:nowrap;

    z-index:1;

}

/* Glow */

.cta-glow{

    position:absolute;

    width:700px;

    height:700px;

    background:#D4AF37;

    opacity:.06;

    border-radius:50%;

    filter:blur(150px);

    left:50%;

    top:50%;

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

    z-index:2;

}

/* Título */

.cta h2{

    max-width:900px;

    margin:25px auto;

    font-size:3.5rem;

    line-height:1.2;

}

/* Texto */

.cta-text{

    max-width:760px;

    margin:auto;

    color:#666;

    line-height:2;

    font-size:1.08rem;

}

/* Botón */

.cta-btn{

    display:inline-flex;

    align-items:center;

    gap:14px;

    margin-top:55px;

    padding:20px 42px;

    background:#D4AF37;

    color:white;

    border-radius:999px;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

    box-shadow:0 20px 45px rgba(212,175,55,.28);

}

.cta-btn:hover{

    transform:translateY(-6px);

    background:#c69d25;

}

.cta-btn svg{

    width:22px;

    height:22px;

}

/* Características */

.cta-features{

    display:flex;

    justify-content:center;

    gap:50px;

    margin-top:70px;

    flex-wrap:wrap;

}

.cta-features div{

    display:flex;

    align-items:center;

    gap:12px;

    color:#555;

    font-weight:500;

}

.cta-features svg{

    width:22px;

    height:22px;

    color:#D4AF37;

}

/*====================================
LOADER
====================================*/

body.loading{

    overflow:hidden;

    height:100vh;

    height:100dvh;

}

body.loading > header,
body.loading > .menu-backdrop,
body.loading > section,
body.loading > footer,
body.loading > .whatsapp-float{

    opacity:0;

    visibility:hidden;

    pointer-events:none;

}

body.loader-complete > header,
body.loader-complete > section,
body.loader-complete > footer,
body.loader-complete > .whatsapp-float{

    animation:pageReveal .72s cubic-bezier(.22,1,.36,1) both;

}

#loader{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#F8F6F2;

    z-index:99999;

    transition:
        opacity .8s ease,
        visibility .8s ease;

}

#loader.hide{

    opacity:0;

    visibility:hidden;

}

.loader-content{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

/* Premium brand welcome */
#loader{
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:clamp(24px,5vw,64px);
    background:
        radial-gradient(circle at 50% 42%,rgba(218,190,133,.14),transparent 30%),
        linear-gradient(145deg,#fffefb 0%,#f8f4ec 55%,#f3eee4 100%);
    transition:opacity .62s cubic-bezier(.22,1,.36,1),visibility 0s linear .62s;
    isolation:isolate;
}

#loader.hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

#loader::before{
    content:"";
    position:absolute;
    width:min(72vw,720px);
    height:auto;
    aspect-ratio:1;
    border:1px solid rgba(176,139,72,.12);
    border-radius:50%;
    background:transparent;
    opacity:.7;
    filter:none;
    box-shadow:0 0 0 70px rgba(255,255,255,.18),0 0 110px rgba(183,145,74,.08);
    animation:loaderHalo 2.8s ease-in-out infinite;
    z-index:-1;
}

.loader-frame{
    position:absolute;
    inset:clamp(12px,2.1vw,30px);
    border:1px solid rgba(151,116,57,.18);
    pointer-events:none;
}

.loader-frame::before,
.loader-frame::after{
    content:"";
    position:absolute;
    top:-1px;
    width:clamp(42px,8vw,100px);
    height:1px;
    background:linear-gradient(90deg,transparent,#bd9857,transparent);
}

.loader-frame::before{left:10%;}
.loader-frame::after{right:10%;}

.loader-content{
    width:min(100%,540px);
    flex-direction:column;
    text-align:center;
    transition:opacity .46s ease,transform .62s cubic-bezier(.22,1,.36,1);
}

.loader-content::after{content:none;}

#loader.hide .loader-content{
    opacity:0;
    transform:translateY(-10px) scale(.985);
}

.loader-eyebrow{
    margin:0 0 18px;
    color:#9a793f;
    font-size:clamp(.62rem,1.2vw,.72rem);
    font-weight:600;
    letter-spacing:.28em;
    text-transform:uppercase;
    opacity:0;
    animation:loaderReveal .72s 1.02s cubic-bezier(.22,1,.36,1) forwards;
}

.loader-logo-shell{
    position:relative;
    width:clamp(126px,14vw,174px);
    aspect-ratio:1;
    margin-bottom:20px;
    border-radius:50%;
    opacity:0;
    animation:loaderMarkReveal .9s .08s cubic-bezier(.22,1,.36,1) forwards;
}

.loader-logo-shell::after{
    content:"";
    position:absolute;
    inset:7%;
    border-radius:50%;
    box-shadow:0 18px 45px rgba(101,72,28,.14);
    pointer-events:none;
}

.loader-logo{
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:contain;
    opacity:1;
    transform:none;
    animation:none;
    filter:none;
}

.loader-brand{
    margin:0;
    color:#211f1b;
    font:500 clamp(2rem,4vw,3.15rem)/1 'Cormorant Garamond',serif;
    letter-spacing:.035em;
    opacity:0;
    animation:loaderReveal .82s 1.88s cubic-bezier(.22,1,.36,1) forwards;
}

.loader-tagline{
    max-width:400px;
    margin:14px 0 0;
    color:#736d63;
    font-size:clamp(.78rem,1.5vw,.92rem);
    line-height:1.7;
    opacity:0;
    animation:loaderReveal .82s 2.72s cubic-bezier(.22,1,.36,1) forwards;
}

.loader-progress{
    position:relative;
    width:118px;
    height:1px;
    overflow:hidden;
    margin-top:28px;
    background:rgba(143,116,70,.2);
    opacity:0;
    animation:loaderReveal .55s .42s ease forwards;
}

.loader-progress span{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent,#b58b46 38%,#e4c98f 62%,transparent);
    transform:scaleX(0);
    transform-origin:left;
    animation:loaderProgress 4.45s .42s cubic-bezier(.4,0,.2,1) forwards;
}

@keyframes loaderReveal{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
}

@keyframes loaderMarkReveal{
    from{opacity:0;transform:translateY(12px) scale(.965)}
    to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes loaderProgress{
    0%{transform:scaleX(0);opacity:.45}
    72%{opacity:1}
    100%{transform:scaleX(1);opacity:.72}
}

@keyframes loaderHalo{
    0%,100%{opacity:.58;transform:scale(.98)}
    50%{opacity:1;transform:scale(1.015)}
}

@keyframes pageReveal{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
}

@media (max-width:480px){
    #loader{padding:28px 24px;}
    .loader-frame{inset:10px;}
    .loader-logo-shell{width:128px;}
    .loader-tagline{max-width:290px;}
}

@media (prefers-reduced-motion:reduce){
    #loader,
    .loader-content,
    .loader-eyebrow,
    .loader-logo-shell,
    .loader-brand,
    .loader-tagline,
    .loader-progress,
    .loader-progress span,
    #loader::before{
        animation:none;
        transition-duration:.2s;
    }

    .loader-eyebrow,
    .loader-logo-shell,
    .loader-brand,
    .loader-tagline,
    .loader-progress{
        opacity:1;
        transform:none;
    }

    .loader-progress span{
        transform:none;
    }

    body.loader-complete > header,
    body.loader-complete > section,
    body.loader-complete > footer,
    body.loader-complete > .whatsapp-float{
        animation:none;
    }
}

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

.footer{

    background:#111111;

    color:#ffffff;

    padding:90px 0 35px;

    text-align:center;

}

.footer-top{

    max-width:650px;

    margin:auto;

}

.footer-logo{

    width:170px;

    margin-bottom:30px;

}

.footer-logo-wordmark{
    display:inline-flex;
    flex-direction:column;
    margin-bottom:30px;
    color:#f5ecd9;
    font:500 1.55rem/1.05 'Cormorant Garamond',serif;
    letter-spacing:.18em;
    text-decoration:none;
}

.footer-logo-wordmark span{
    margin-top:6px;
    color:#C7A86D;
    font:600 .62rem/1 'Inter',sans-serif;
    letter-spacing:.42em;
}

.footer-top p{

    color:#b9b9b9;

    line-height:2;

    font-size:1rem;

}

.footer-links{

    display:flex;

    justify-content:center;

    gap:35px;

    flex-wrap:wrap;

    margin:55px 0 40px;

}

.footer-links a{

    color:#ffffff;

    text-decoration:none;

    transition:.3s;

    font-weight:500;

}

.footer-links a:hover{

    color:#D4AF37;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    padding-top:30px;

    color:#7d7d7d;

    font-size:.92rem;

}

.footer-quote{

    color:#D4AF37;

    font-style:italic;

    margin-bottom:28px;

    letter-spacing:1px;

    opacity:.9;

}

/*====================================
DESKTOP BASE
The mobile-only controls stay hidden here so the desktop layout is unchanged.
====================================*/

.menu-toggle,
.menu-backdrop,
.whatsapp-float{

    display:none;

}

@keyframes whatsappPulse{

    0%,100%{

        opacity:.2;
        transform:scale(.94);

    }

    50%{

        opacity:.45;
        transform:scale(1.12);

    }

}

/*====================================
TABLET · 768px AND BELOW
====================================*/

@media (max-width:768px){

    body.menu-open{

        overflow:hidden;

    }

    .container{

        width:min(100% - 40px,680px);

    }

    header .container{

        position:relative;
        min-height:72px;
        padding:14px 0;

    }

    .logo span{

        letter-spacing:5px;

    }

    .menu-toggle{

        width:46px;
        height:46px;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:5px;

        border:1px solid #ececec;
        border-radius:14px;
        background:rgba(255,255,255,.72);
        color:#111;
        cursor:pointer;

        transition:background .3s ease,border-color .3s ease;
        z-index:3;

    }

    .menu-toggle span{

        width:20px;
        height:2px;

        display:block;

        border-radius:999px;
        background:currentColor;

        transition:transform .3s ease,opacity .2s ease;

    }

    .menu-toggle.is-active{

        border-color:#C7A86D;
        background:#F7F4EE;

    }

    .menu-toggle.is-active span:nth-child(1){

        transform:translateY(7px) rotate(45deg);

    }

    .menu-toggle.is-active span:nth-child(2){

        opacity:0;

    }

    .menu-toggle.is-active span:nth-child(3){

        transform:translateY(-7px) rotate(-45deg);

    }

    nav{

        position:absolute;
        top:calc(100% + 10px);
        right:0;
        left:0;

        display:flex;
        flex-direction:column;
        gap:4px;

        padding:12px;

        border:1px solid rgba(255,255,255,.7);
        border-radius:20px;
        background:rgba(255,255,255,.88);

        box-shadow:0 18px 45px rgba(0,0,0,.1);
        backdrop-filter:blur(18px);
        -webkit-backdrop-filter:blur(18px);

        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-14px);

        transition:opacity .28s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility .35s;
        z-index:2;

    }

    header.menu-open nav{

        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);

    }

    nav a{

        padding:14px 16px;

        border-radius:12px;

    }

    nav a:hover,
    nav a:focus-visible{

        color:#111;
        background:#F7F4EE;
        outline:none;

    }

    .menu-toggle:focus-visible{

        outline:2px solid #C7A86D;
        outline-offset:3px;

    }

    .menu-backdrop{

        position:fixed;
        inset:0;

        display:block;

        background:rgba(17,17,17,.12);

        opacity:0;
        pointer-events:none;

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

        transition:opacity .3s ease;
        z-index:998;

    }

    .menu-backdrop.is-active{

        opacity:1;
        pointer-events:auto;

    }

    .hero{

        min-height:min(720px,100svh);

        padding:128px 0 72px;

        background-attachment:scroll;

    }

    .hero-content{

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

    }

    .hero-small{

        margin-bottom:18px;

        font-size:.75rem;
        letter-spacing:4px;

    }

    .hero h1{

        margin-bottom:24px;

        font-size:clamp(2rem,8.5vw,4.2rem);
        line-height:1.04;

    }

    .hero-description{

        max-width:35rem;

        font-size:1rem;
        line-height:1.7;

    }

    .hero-buttons{

        width:min(100%,420px);

        flex-direction:column;
        gap:12px;

        margin:34px auto 0;

    }

    .btn-primary,
    .btn-secondary{

        width:100%;

        padding:17px 24px;

    }

    .portfolio,
    .benefits,
    .process,
    .features,
    .comparison,
    .packages,
    .testimonials,
    .faq{

        padding:96px 0;

    }

    .portfolio h2,
    .benefits h2,
    .process h2,
    .features h2,
    .comparison h2,
    .packages h2,
    .testimonials h2,
    .faq h2{

        font-size:clamp(2.35rem,7vw,3.1rem);
        line-height:1.12;

    }

    .portfolio-text,
    .benefits-text,
    .process-text,
    .features .section-description,
    .comparison-text,
    .packages-text,
    .testimonials-text,
    .faq-text{

        margin-bottom:42px;

    }

    .portfolio-grid{

        display:grid;
        grid-template-columns:none;
        grid-auto-flow:column;
        grid-auto-columns:minmax(280px,82vw);
        gap:18px;

        overflow-x:auto;

        padding:4px 2px 18px;

        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;

    }

    .portfolio-grid::-webkit-scrollbar{

        display:none;

    }

    .portfolio-card{

        min-width:0;

        scroll-snap-align:start;
        scroll-snap-stop:always;

    }

    .portfolio-card img{

        height:230px;

    }

    nav a[aria-current="page"]{

        color:#111;
        background:#F7F4EE;

    }

    .portfolio-cover{

        height:230px;

    }

    .portfolio-info{

        padding:24px;

    }

    .portfolio-info h3{

        font-size:1.85rem;

    }

    .benefits-grid,
    .features-grid,
    .packages-grid,
    .testimonials-grid{

        grid-template-columns:1fr;

    }

    .benefits-grid{

        max-width:600px;

        gap:26px;

        margin:auto;

    }

    .benefit-card{

        padding:34px 26px;

    }

    .icon{

        width:64px;
        height:64px;

        margin-bottom:22px;

    }

    .timeline{

        display:flex;
        flex-direction:column;
        gap:26px;

    }

    .timeline-line{

        top:60px;
        bottom:60px;
        left:35px;

        display:block;

        width:4px;
        height:auto;

    }

    .timeline-line::before{

        width:100%;
        height:0;

        background:linear-gradient(180deg,#2563EB,#C7A86D,#7C3AED,#059669);

    }

    .timeline-line.animate-line::before{

        width:100%;
        height:100%;

    }

    .process-card{

        min-height:120px;

        padding:27px 26px 27px 98px;

        text-align:left;

    }

    .circle{

        position:absolute;
        top:24px;
        left:0;

        width:72px;
        height:72px;

        margin:0;

        border-width:5px;

    }

    .process-card h3{

        margin-bottom:10px;

        font-size:1.75rem;

    }

    .process-card p{

        line-height:1.7;

    }

    .features-grid{

        max-width:600px;

        gap:18px;

        margin:auto;

    }

    .feature-card{

        min-height:230px;

        padding:28px;

    }

    .feature-icon{

        width:62px;
        height:62px;

        margin-bottom:22px;

    }

    .comparison-table{

        border:none;

        background:transparent;

        box-shadow:none;

    }

    .comparison-header{

        display:none;

    }

    .comparison-row{

        display:grid;
        grid-template-columns:1fr;

        overflow:hidden;

        padding:0;

        margin-bottom:16px;

        border:1px solid #ececec;
        border-radius:20px;

        background:white;

        box-shadow:0 10px 25px rgba(0,0,0,.05);

    }

    .comparison-row > span{

        padding:20px 22px;

        border-bottom:1px solid #f1f1f1;

        font-weight:600;
        line-height:1.45;

    }

    .check,
    .cross{

        width:100%;

        justify-content:space-between;

        padding:14px 22px;

        border-top:1px solid #f3f3f3;

    }

    .check::before,
    .cross::before{

        font-weight:600;

    }

    .check::before{

        content:"Eventora Studio";

        color:#333;

    }

    .cross::before{

        content:"Invitación impresa";

        color:#777;

    }

    .comparison-row:last-child .cross::before{

        content:"Eventora Studio";

    }

    .comparison-row:last-child .check::before{

        content:"Invitación impresa";

    }

    .packages-grid{

        max-width:520px;

        gap:28px;

        margin:auto;

    }

    .package-card{

        padding:36px 26px;

    }

    .featured,
    .featured:hover{

        transform:none;

    }

    .package-btn{

        margin-top:0;

    }

    .package-subtitle{

        min-height:0;

    }

    .testimonials-grid{

        max-width:600px;

        gap:22px;

        margin:auto;

    }

    .testimonial-card{

        padding:32px 28px;

    }

    .faq-list{

        gap:14px;

    }

    .faq-question{

        min-height:68px;

        padding:20px 22px;

        gap:16px;

        font-size:1rem;
        line-height:1.45;

    }

    .faq-answer p{

        margin-left:22px;

        padding:0 22px 24px;

        line-height:1.8;

    }

    .cta{

        padding:96px 0;

    }

    .cta-background{

        font-size:4rem;
        letter-spacing:4px;

    }

    .cta h2{

        font-size:clamp(2.35rem,7vw,3rem);

    }

    .cta-btn{

        width:min(100%,420px);

        justify-content:center;

        margin-top:38px;

    }

    .cta-features{

        flex-direction:column;
        align-items:center;

        gap:18px;

        margin-top:46px;

    }

    .loader-logo{

        width:100%;

    }

    .footer{

        padding:64px 0 28px;

    }

    .footer-links{

        gap:18px 26px;

        margin:42px 0 34px;

    }

    .whatsapp-float{

        position:fixed;
        right:20px;
        bottom:20px;

        width:58px;
        height:58px;

        display:flex;
        align-items:center;
        justify-content:center;

        border-radius:50%;

        background:#25D366;
        color:white;

        box-shadow:0 14px 30px rgba(37,211,102,.28);

        text-decoration:none;

        isolation:isolate;

        transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1);
        z-index:997;

    }

    .whatsapp-float::before{

        content:"";

        position:absolute;
        inset:-5px;

        border:1px solid rgba(37,211,102,.5);
        border-radius:inherit;

        animation:whatsappPulse 2.8s ease-in-out infinite;

        pointer-events:none;
        z-index:-1;

    }

    .whatsapp-float svg{

        width:27px;
        height:27px;

    }

    .whatsapp-float.is-hidden{

        opacity:0;

        pointer-events:none;
        transform:translateY(96px);

    }

}

/*====================================
MOBILE · 576px AND BELOW
====================================*/

@media (max-width:576px){

    .container{

        width:calc(100% - 32px);

    }

    header .container{

        min-height:64px;

        padding:10px 0;

    }

    .menu-toggle{

        width:42px;
        height:42px;

        border-radius:13px;

    }

    .hero{

        min-height:620px;

        padding:108px 0 58px;

    }

    .hero-small{

        font-size:.68rem;
        letter-spacing:3px;

    }

    .hero h1{

        font-size:clamp(2rem,8.5vw,3.1rem);

    }

    .hero-description{

        font-size:.95rem;

    }

    .portfolio,
    .benefits,
    .process,
    .features,
    .comparison,
    .packages,
    .testimonials,
    .faq{

        padding:78px 0;

    }

    .section-tag{

        font-size:.7rem;

        letter-spacing:3px;

    }

    .portfolio h2,
    .benefits h2,
    .process h2,
    .features h2,
    .comparison h2,
    .packages h2,
    .testimonials h2,
    .faq h2{

        font-size:2.3rem;

    }

    .portfolio-text,
    .benefits-text,
    .process-text,
    .features .section-description,
    .comparison-text,
    .packages-text,
    .testimonials-text,
    .faq-text{

        margin-bottom:34px;

        line-height:1.7;

    }

    .portfolio-grid{

        grid-auto-columns:calc(100vw - 54px);

    }

    .portfolio-card img{

        height:210px;

    }

    .portfolio-cover{

        height:210px;

    }

    .portfolio-info{

        padding:22px;

    }

    .benefit-card,
    .feature-card{

        padding:26px 22px;

    }

    .feature-card{

        min-height:280px;

    }

    .timeline{

        gap:22px;

    }

    .timeline-line{

        top:55px;
        bottom:55px;
        left:31px;

    }

    .process-card{

        min-height:108px;

        padding:24px 20px 24px 82px;

    }

    .circle{

        top:22px;

        width:64px;
        height:64px;

    }

    .process-card h3{

        font-size:1.55rem;

    }

    .comparison-row > span{

        padding:18px 20px;

    }

    .check,
    .cross{

        padding:13px 20px;

        font-size:.92rem;

    }

    .package-card{

        padding:32px 22px;

    }

    .testimonial-card{

        padding:28px 22px;

    }

    .faq-question{

        min-height:64px;

        padding:18px;

    }

    .faq-answer p{

        margin-left:18px;

        padding:0 18px 22px;

    }

    .cta{

        padding:78px 0;

    }

    .cta h2{

        font-size:2.3rem;

    }

    .cta-btn{

        padding:18px 22px;

    }

    .footer{

        padding:54px 0 24px;

    }

    .footer-links{

        flex-direction:column;

        gap:16px;

        margin:36px 0 30px;

    }

    .whatsapp-float{

        right:16px;
        bottom:16px;

        width:54px;
        height:54px;

    }

    .benefits .container{

    display:flex;
    flex-direction:column;
    align-items:center;

    }

    .benefits h2{

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

    }

    .benefits-text{

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

    }

}
