/* ======================================================
   The Backyard — Home
   ====================================================== */

:root{
    --dark: #1d273b;
    --text: #5d6678;
    --text-light: #8b93a6;
    --bg: #ffffff;
    --bg-alt: #f5f7fa;
    --accent: #1fde82;
    --accent-dark: #14b869;
    --accent-2: #2570ff;
    --cta: #E74C32;
    --radius: 16px;
    --shadow: 0 10px 30px rgba(15, 23, 42, .08);
    --shadow-lg: 0 24px 60px rgba(15, 23, 42, .18);
}

*{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
    font-family:'Roboto', sans-serif;
    color:var(--text);
    background:var(--bg);
    overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{ color:var(--dark); font-weight:300; }

a{ color:inherit; }

img{ max-width:100%; display:block; }

.skip-link{
    position:absolute;
    left:-999px;
    top:0;
    background:var(--dark);
    color:#fff;
    padding:12px 20px;
    z-index:1000;
    border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

.contenedor{
    width:90%;
    max-width:1140px;
    margin:auto;
}

.eyebrow{
    display:inline-block;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:13px;
    font-weight:700;
    color:var(--accent-dark);
    margin-bottom:14px;
}

.section-head{
    text-align:center;
    max-width:680px;
    margin:0 auto 50px;
}

.section-head h2{
    font-size:38px;
    font-weight:700;
    line-height:1.2;
}

.section-head p{
    margin-top:14px;
    font-weight:300;
    font-size:16px;
}

.section{ padding:90px 0; }
.section-alt{ background:var(--bg-alt); }

.btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 30px;
    border-radius:50px;
    font-weight:700;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.04em;
    text-decoration:none;
    border:2px solid transparent;
    cursor:pointer;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.btn:hover{ transform:translateY(-3px); }

.btn-primary{
    background:var(--accent);
    color:#0c2015;
    box-shadow:0 14px 30px rgba(31,222,130,.35);
}
.btn-primary:hover{ background:var(--accent-dark); color:#fff; }

.btn-outline{
    border-color:rgba(255,255,255,.65);
    color:#fff;
}
.btn-outline:hover{ background:rgba(255,255,255,.12); }

.btn-dark{
    background:var(--dark);
    color:#fff;
}
.btn-dark:hover{ background:#0f1520; }

/* ---------- Header / Nav ---------- */

nav{
    width:100%;
    height:84px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(6px);
    box-shadow:0 2px 20px rgba(15,23,42,.08);
    position:fixed;
    top:0;
    z-index:200;
    transition:top .4s ease;
}

.nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:84px;
    width:100%;
    padding:0 40px;
}

.nav .logo img{
    height:44px;
    object-fit:contain;
}

.enlaces-header{ margin:0 auto; }

.enlaces-header ul{
    list-style:none;
}

.menu{
    display:flex;
    align-items:center;
    gap:4px;
}

.menu > li{ position:relative; }

.menu > li > a,
.menu > li > .submenu-trigger{
    display:block;
    background:none;
    border:none;
    font-family:inherit;
    cursor:pointer;
    padding:10px 14px;
    font-size:14px;
    font-weight:500;
    color:var(--dark);
    text-decoration:none;
    border-radius:8px;
    transition:color .25s ease, background .25s ease;
}

.menu li a:hover{ color:var(--accent-dark); background:rgba(31,222,130,.1); }

.menu li a.current{ color:var(--accent-dark); font-weight:700; }

.submenu{
    position:absolute;
    left:0;
    top:calc(100% + 8px);
    background:#fff;
    width:240px;
    border-radius:12px;
    box-shadow:var(--shadow-lg);
    padding:8px;
    visibility:hidden;
    opacity:0;
    transform:translateY(8px);
    transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.submenu li a{
    display:block;
    padding:10px 14px;
    border-radius:8px;
    text-decoration:none;
    font-size:14px;
}

.menu li:hover .submenu,
.menu li.submenu-open .submenu{
    visibility:visible;
    opacity:1;
    transform:translateY(0);
}

.nav-flag img{ border-radius:3px; }

.mobile-menu-logo{ display:none; }

.hamburguer{
    width:44px;
    height:44px;
    display:none;
    align-items:center;
    justify-content:center;
    background:none;
    border:none;
    cursor:pointer;
    color:var(--dark);
    font-size:22px;
}

/* ---------- Hero ---------- */

.hero{
    position:relative;
    width:100%;
    min-height:92vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding-top:84px;
}

.hero video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.hero .overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, rgba(13,20,35,.92) 10%, rgba(13,20,35,.68) 55%, rgba(20,45,35,.55) 100%);
    z-index:1;
}

.hero-content{
    position:relative;
    z-index:2;
    width:90%;
    max-width:1140px;
    margin:auto;
    color:#fff;
    padding:60px 0;
}

.hero-content .eyebrow{ color:var(--accent); }

.hero-content h1{
    color:#fff;
    font-size:52px;
    font-weight:700;
    line-height:1.15;
    max-width:760px;
}

.hero-content h1 strong{ color:var(--accent); font-weight:900; }

.hero-content p{
    margin-top:20px;
    max-width:600px;
    font-weight:300;
    font-size:17px;
    color:#dfe4ee;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:34px;
}

.hero-badges{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:26px;
    margin-top:56px;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.18);
}

.hero-badges img{
    height:28px;
    background:#fff;
    border-radius:8px;
    padding:6px 10px;
}

.hero-badges span{
    font-size:13px;
    color:#c7cede;
    font-weight:300;
}

/* ---------- Intro ---------- */

.intro{
    display:flex;
    align-items:center;
    gap:70px;
}

.intro-text{ flex:1.1; }
.intro-media{ flex:.9; }

.intro-text .eyebrow{ }

.intro-text h2{
    font-size:34px;
    font-weight:700;
    margin-bottom:20px;
}

.intro-text p{
    font-weight:300;
    font-size:15.5px;
    margin-bottom:16px;
    line-height:1.7;
}

.intro-media img{
    animation:floaty 5s ease-in-out infinite;
}

@keyframes floaty{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-16px); }
}

/* ---------- Synergy (Web + Tráfego) ---------- */

.synergy-grid{
    display:flex;
    align-items:center;
    gap:14px;
}

.synergy-card{
    flex:1;
    background:#fff;
    border:1px solid #ecedf2;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:36px 30px;
    text-align:center;
}

.synergy-card.is-muted{ opacity:.55; filter:grayscale(.3); }

.synergy-card .icon{
    width:60px; height:60px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:24px;
    margin:0 auto 18px;
    background:rgba(31,222,130,.12);
    color:var(--accent-dark);
}

.synergy-card:last-child .icon{
    background:rgba(37,112,255,.12);
    color:var(--accent-2);
}

.synergy-card h4{ font-size:18px; font-weight:700; margin-bottom:10px; }
.synergy-card p{ font-size:13.5px; font-weight:300; line-height:1.6; }

.synergy-plus{
    flex:0 0 auto;
    width:54px; height:54px;
    border-radius:50%;
    background:var(--dark);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:24px;
    font-weight:900;
}

.synergy-note{
    text-align:center;
    max-width:640px;
    margin:34px auto 0;
    font-size:15px;
    font-weight:300;
    color:var(--text);
}
.synergy-note strong{ color:var(--dark); }

/* ---------- KPI / Results framework ---------- */

.kpi-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
}

.kpi-card{
    background:#fff;
    border:1px solid #ecedf2;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:28px 24px;
    text-align:left;
}

.kpi-card .tag{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    padding:5px 12px;
    border-radius:20px;
    background:rgba(31,222,130,.14);
    color:var(--accent-dark);
    margin-bottom:16px;
}

.kpi-card:nth-child(2) .tag{ background:rgba(37,112,255,.14); color:var(--accent-2); }
.kpi-card:nth-child(3) .tag{ background:rgba(231,76,50,.12); color:var(--cta); }
.kpi-card:nth-child(4) .tag{ background:rgba(29,39,59,.1); color:var(--dark); }

.kpi-card h4{ font-size:16px; font-weight:700; margin-bottom:8px; }
.kpi-card p{ font-size:13.5px; font-weight:300; line-height:1.6; }

/* ---------- Segments gallery ---------- */

.segmentos-clientes{ background:var(--bg-alt); }

.galeria-clientes{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
}

.imagen-clientes{
    position:relative;
    height:150px;
    border-radius:12px;
    overflow:hidden;
    cursor:pointer;
    box-shadow:var(--shadow);
}

.imagen-clientes img{
    width:100%; height:100%;
    object-fit:cover;
}

.hover-galeria-clientes{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(20,184,105,.15), rgba(12,32,21,.88));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    opacity:0;
    transition:opacity .3s ease;
}

.imagen-clientes:hover .hover-galeria-clientes{ opacity:1; }

.hover-galeria-clientes img{ width:34px; height:34px; object-fit:contain; }
.hover-galeria-clientes p{ color:#fff; font-size:13px; font-weight:500; text-align:center; padding:0 8px; }

/* ---------- Solutions hub ---------- */

.solutions-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
}

.solution-card{
    background:#fff;
    border:1px solid #ecedf2;
    border-top:4px solid var(--accent);
    border-radius:var(--radius);
    padding:32px 26px;
    box-shadow:var(--shadow);
    text-decoration:none;
    display:block;
    transition:transform .3s ease, box-shadow .3s ease;
}

.solution-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }

.solution-card:nth-child(2){ border-top-color:#2570ff; }
.solution-card:nth-child(3){ border-top-color:#E8871E; }
.solution-card:nth-child(4){ border-top-color:#6C5CE7; }

.solution-card .icon{
    width:52px; height:52px;
    border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    font-size:22px;
    margin-bottom:18px;
    background:rgba(31,222,130,.12);
    color:var(--accent-dark);
}

.solution-card:nth-child(2) .icon{ background:rgba(37,112,255,.12); color:#2570ff; }
.solution-card:nth-child(3) .icon{ background:rgba(232,135,30,.12); color:#E8871E; }
.solution-card:nth-child(4) .icon{ background:rgba(108,92,231,.12); color:#6C5CE7; }

.solution-card h4{ font-size:18px; font-weight:700; margin-bottom:10px; color:var(--dark); }
.solution-card p{ font-size:14px; font-weight:300; color:var(--text); line-height:1.6; margin-bottom:16px; }
.solution-card span{ font-size:13px; font-weight:700; color:var(--dark); text-transform:uppercase; letter-spacing:.03em; }

/* ---------- Contact form ---------- */

.form-section{
    background:var(--dark);
    background-image:radial-gradient(circle at 10% 10%, rgba(31,222,130,.15), transparent 40%),
                      radial-gradient(circle at 90% 90%, rgba(37,112,255,.15), transparent 40%);
}

.form-card{
    max-width:640px;
    margin:auto;
    background:#fff;
    border-radius:var(--radius);
    box-shadow:var(--shadow-lg);
    padding:46px 40px;
}

.form-card .form__top{ text-align:center; margin-bottom:30px; }
.form-card .form__top h2{ font-size:30px; font-weight:700; }
.form-card .form__top p{ color:var(--text); font-weight:300; margin-top:8px; }

.btn-calendar{
    display:inline-flex;
    align-items:center;
    gap:14px;
    margin-top:22px;
    padding:13px 22px;
    border-radius:14px;
    background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
    color:#0c2015;
    text-decoration:none;
    text-align:left;
    box-shadow:0 14px 34px rgba(31,222,130,.35), 0 4px 16px rgba(37,112,255,.28);
    transition:transform .25s ease, box-shadow .25s ease;
}
.btn-calendar:hover{
    transform:translateY(-3px) scale(1.015);
    box-shadow:0 20px 44px rgba(31,222,130,.45), 0 8px 22px rgba(37,112,255,.35);
}
.btn-calendar .btn-calendar__icon{
    width:38px; height:38px; flex:none;
    display:flex; align-items:center; justify-content:center;
    background:rgba(12,32,21,.14);
    border-radius:10px;
    font-size:18px;
}
.btn-calendar .btn-calendar__text{ font-size:13px; font-weight:500; line-height:1.3; }
.btn-calendar .btn-calendar__text strong{ display:block; font-size:15.5px; font-weight:700; }

.user_info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.field{
    width:100%;
    background:var(--bg-alt);
    border:1px solid #e6e8ee;
    border-radius:10px;
    padding:13px 16px;
    font-family:'Roboto', sans-serif;
    font-size:14px;
    color:var(--dark);
    transition:border-color .25s ease;
}

.field:focus{ outline:none; border-color:var(--accent); }

.user_info .field:nth-child(5),
.user_info .field:nth-child(6),
.user_info select.field{ grid-column:1 / -1; }

.btn__form{
    display:flex;
    gap:14px;
    margin-top:22px;
}

.btn__submit, .btn__reset{
    flex:1;
    border:none;
    border-radius:10px;
    padding:14px 0;
    font-weight:700;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.04em;
    cursor:pointer;
    transition:transform .25s ease, opacity .25s ease;
}

.btn__submit{ background:var(--accent); color:#0c2015; }
.btn__submit:hover{ background:var(--accent-dark); color:#fff; transform:translateY(-2px); }

.btn__reset{ background:var(--bg-alt); color:var(--text); }
.btn__reset:hover{ opacity:.8; }

.btn__submit:disabled{ opacity:.7; cursor:not-allowed; transform:none; }

.form__message{
    margin-top:16px;
    padding:12px 16px;
    border-radius:10px;
    font-size:14px;
    font-weight:500;
    text-align:center;
}
.form__message.is-success{ background:rgba(31,222,130,.14); color:var(--accent-dark); }
.form__message.is-error{ background:rgba(231,76,50,.12); color:var(--cta); }

/* ---------- Services grid ---------- */

.services-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
}

.service-card{
    background:#fff;
    border:1px solid #ecedf2;
    border-radius:var(--radius);
    padding:34px 28px;
    box-shadow:var(--shadow);
    transition:transform .3s ease, box-shadow .3s ease;
}

.service-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-lg);
}

.service-card .icon{
    width:56px;
    height:56px;
    border-radius:14px;
    background:rgba(31,222,130,.12);
    color:var(--accent-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:20px;
}

.service-card h4{
    font-size:17px;
    font-weight:700;
    margin-bottom:10px;
}

.service-card p{
    font-size:14px;
    font-weight:300;
    line-height:1.65;
}

/* ---------- Stats band ---------- */

.stats-band{
    background:linear-gradient(120deg, #16233f, #1d3a6b);
    padding:70px 0;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
}

.stat{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius);
    padding:30px 24px;
}

.stat h4{
    color:var(--accent);
    font-size:42px;
    font-weight:900;
    margin-bottom:10px;
}

.stat p{
    color:#c7cede;
    font-size:13.5px;
    font-weight:300;
    line-height:1.6;
}

/* ---------- Pillars (Vantagens/Estratégias/Métricas) ---------- */

.pillars{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
}

.pillar-card{
    background:#fff;
    border-radius:var(--radius);
    border:1px solid #ecedf2;
    box-shadow:var(--shadow);
    padding:34px;
}

.pillar-card .icon{
    width:48px;
    height:48px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    margin-bottom:18px;
    background:rgba(37,112,255,.12);
    color:var(--accent-2);
}

.pillar-card:nth-child(2) .icon{ background:rgba(31,222,130,.14); color:var(--accent-dark); }
.pillar-card:nth-child(3) .icon{ background:rgba(231,76,50,.12); color:var(--cta); }

.pillar-card h4{
    font-size:19px;
    font-weight:700;
    margin-bottom:16px;
}

.pillar-card ul{
    list-style:none;
}

.pillar-card li{
    font-size:14px;
    font-weight:300;
    padding:8px 0;
    border-top:1px solid #f0f1f5;
    display:flex;
    align-items:center;
    gap:10px;
}

.pillar-card li:first-child{ border-top:none; }

.pillar-card li i{ color:var(--accent-dark); font-size:12px; }

/* ---------- Process timeline ---------- */

.timeline{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
    position:relative;
}

.timeline::before{
    content:"";
    position:absolute;
    top:26px;
    left:5%;
    right:5%;
    height:2px;
    background:repeating-linear-gradient(90deg, #d8dbe4 0 10px, transparent 10px 18px);
}

.step{
    position:relative;
    padding:0 16px;
    text-align:left;
}

.step .num{
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--dark);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:16px;
    position:relative;
    z-index:2;
    margin-bottom:20px;
}

.step:nth-child(1) .num{ background:var(--accent-dark); }
.step:nth-child(2) .num{ background:var(--accent-2); }
.step:nth-child(3) .num{ background:var(--cta); }
.step:nth-child(4) .num{ background:var(--dark); }

.step h4{
    font-size:16px;
    font-weight:700;
    margin-bottom:12px;
}

.step p{
    font-size:13.5px;
    font-weight:300;
    color:var(--text);
    padding:4px 0;
}

/* ---------- FAQ ---------- */

.faq{
    max-width:820px;
    margin:auto;
}

.faq-item{
    border-bottom:1px solid #e6e8ee;
}

.faq-question{
    width:100%;
    background:none;
    border:none;
    text-align:left;
    padding:24px 4px;
    font-size:17px;
    font-weight:500;
    color:var(--dark);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    cursor:pointer;
}

.faq-question i{
    transition:transform .3s ease;
    color:var(--accent-dark);
    flex-shrink:0;
}

.faq-item.open .faq-question i{ transform:rotate(45deg); }

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}

.faq-answer p{
    padding:0 4px 24px;
    font-weight:300;
    font-size:14.5px;
    line-height:1.7;
    color:var(--text);
}

/* ---------- CTA final ---------- */

.cta-final{
    background:var(--dark);
    background-image:radial-gradient(circle at 15% 20%, rgba(31,222,130,.18), transparent 45%),
                      radial-gradient(circle at 85% 80%, rgba(37,112,255,.18), transparent 45%);
    color:#fff;
    text-align:center;
    padding:90px 0;
}

.cta-final h2{
    color:#fff;
    font-size:36px;
    font-weight:700;
    margin-bottom:16px;
}

.cta-final p{
    color:#c7cede;
    font-weight:300;
    max-width:560px;
    margin:0 auto 34px;
}

.cta-final .hero-actions{ justify-content:center; }

/* ---------- Footer ---------- */

footer{
    background:#101724;
    padding:70px 0 30px;
}

.footer-grid{
    width:90%;
    max-width:1140px;
    margin:auto;
    display:grid;
    grid-template-columns:1.3fr 1fr 1.3fr 1fr;
    gap:30px;
}

.partFooter h4{
    color:#fff;
    font-size:16px;
    font-weight:700;
    margin-bottom:20px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.partFooter img{ width:150px; margin-bottom:10px; }
.partFooter a{
    display:block;
    text-decoration:none;
    color:#9aa3b7;
    font-weight:300;
    font-size:14px;
    line-height:1.7;
    transition:color .25s ease;
    margin-bottom:6px;
}
.partFooter a:hover{ color:var(--accent); }

.footer-badges img{
    width:110px;
    display:inline-block;
    margin:0 8px 8px 0;
    background:#fff;
    border-radius:8px;
    padding:6px 8px;
}
.footer-badges{ display:flex; flex-wrap:wrap; }

.footer-social{ display:flex; gap:10px; flex-wrap:wrap; }
.footer-social a{
    width:38px;
    height:38px;
    border:1px solid #2a3348;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:all .25s ease;
    margin:0;
}
.footer-social a:hover{ background:var(--accent); border-color:var(--accent); color:#0c2015; }

.footer-note{ font-size:12.5px; font-weight:300; color:#6b7488; margin-top:10px; line-height:1.6; }

.Seguridad{
    background:#0a0e16;
    padding:18px 0;
    text-align:center;
}
.Seguridad a{
    color:#8b93a6;
    text-decoration:none;
    font-size:13px;
    font-weight:300;
}
.Seguridad a:hover{ color:var(--accent); }

/* ---------- Pricing ---------- */

.pricing-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    align-items:stretch;
}

.price-card{
    background:#fff;
    border:1px solid #ecedf2;
    border-radius:var(--radius);
    padding:36px 28px;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    position:relative;
    transition:transform .3s ease, box-shadow .3s ease;
}

.price-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }

.price-card--featured{
    background:var(--dark);
    border-color:var(--dark);
    transform:scale(1.03);
    box-shadow:var(--shadow-lg);
}
.price-card--featured:hover{ transform:scale(1.03) translateY(-6px); }
.price-card--featured h4,
.price-card--featured .price-card__desc,
.price-card--featured .price-card__price strong{ color:#fff; }
.price-card--featured .price-card__from,
.price-card--featured .price-card__period{ color:#c7cede; }
.price-card--featured .price-card__list li{ color:#dfe4ee; }
.price-card--featured .price-card__list i{ color:var(--accent); }

.price-card__badge{
    position:absolute;
    top:-14px; left:50%;
    transform:translateX(-50%);
    background:var(--accent);
    color:#0c2015;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    padding:6px 16px;
    border-radius:50px;
    white-space:nowrap;
}

.price-card__tag{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--accent-dark);
    margin-bottom:10px;
}
.price-card--featured .price-card__tag{ color:var(--accent); }

.price-card h4{ font-size:20px; font-weight:700; margin-bottom:10px; }

.price-card__desc{ font-size:14px; font-weight:300; line-height:1.6; color:var(--text); margin-bottom:22px; }

.price-card__price{
    margin-bottom:24px;
    padding-bottom:24px;
    border-bottom:1px solid rgba(0,0,0,.08);
}
.price-card--featured .price-card__price{ border-bottom-color:rgba(255,255,255,.15); }

.price-card__price-top{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:6px;
    min-height:22px;
}

.price-card__old{
    font-size:15px;
    font-weight:500;
    color:var(--text-light);
    text-decoration:line-through;
    text-decoration-color:var(--cta);
    text-decoration-thickness:2px;
}
.price-card--featured .price-card__old{ color:#9aa5bd; }

.price-card__discount{
    display:inline-block;
    background:var(--cta);
    color:#fff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
    padding:3px 9px;
    border-radius:6px;
    white-space:nowrap;
}

.price-card__price-main{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px;
}

.price-card__from{ font-size:12px; color:var(--text-light); }
.price-card__price strong{ font-size:30px; font-weight:700; color:var(--dark); }
.price-card__period{ font-size:12px; color:var(--text-light); display:block; margin-top:4px; }

.price-card__list{ list-style:none; margin-bottom:28px; flex-grow:1; }
.price-card__list li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    color:var(--text);
    padding:7px 0;
}
.price-card__list i{ color:var(--accent-dark); margin-top:3px; }

.price-card .btn{ justify-content:center; width:100%; }

.pricing-note{
    text-align:center;
    font-size:12.5px;
    color:var(--text-light);
    margin-top:28px;
}

/* ---------- CTA strip ---------- */

.cta-strip{
    background:var(--bg-alt);
    border-top:1px solid #ecedf2;
    border-bottom:1px solid #ecedf2;
    padding:50px 0;
}

.cta-strip__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    flex-wrap:wrap;
}

.cta-strip__inner h3{ font-size:24px; font-weight:700; margin-bottom:6px; }
.cta-strip__inner p{ font-size:14px; font-weight:300; }

.cta-strip__actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Responsive ---------- */

@media screen and (max-width: 1000px){
    .services-grid{ grid-template-columns:repeat(2, 1fr); }
    .pillars{ grid-template-columns:1fr; }
    .stats-grid{ grid-template-columns:repeat(2, 1fr); }
    .kpi-grid{ grid-template-columns:repeat(2, 1fr); }
    .galeria-clientes{ grid-template-columns:repeat(3, 1fr); }
    .solutions-grid{ grid-template-columns:repeat(2, 1fr); }
    .pricing-grid{ grid-template-columns:1fr; max-width:440px; margin:0 auto; }
    .price-card--featured{ transform:none; }
    .price-card--featured:hover{ transform:translateY(-6px); }
    .user_info{ grid-template-columns:1fr; }
    .user_info .field{ grid-column:1 / -1; }
    .timeline{ grid-template-columns:1fr; row-gap:34px; }
    .timeline::before{ display:none; }
    .footer-grid{ grid-template-columns:1fr 1fr; }
}

@media screen and (max-width: 860px){
    .intro{ flex-direction:column-reverse; }
    .hero-content h1{ font-size:38px; }
    .synergy-grid{ flex-direction:column; }
    .synergy-plus{ transform:rotate(90deg); }

    .enlaces-header{
        position:fixed;
        top:0; right:0;
        width:100%;
        height:100vh;
        background:linear-gradient(160deg, #101724, #163a2a);
        display:flex;
        align-items:center;
        flex-direction:column;
        justify-content:flex-start;
        padding:110px 0 40px;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        clip-path:circle(0% at 100% 0);
        transition:clip-path .5s ease;
    }
    .enlaces-header.menudos{ clip-path:circle(150% at 50% 50%); }

    .mobile-menu-logo{ display:block; width:130px; margin-bottom:28px; }

    .menu{ flex-direction:column; gap:6px; }
    .menu > li > a, .menu > li > .submenu-trigger{ color:#fff; font-size:18px; }
    .menu li a:hover{ background:rgba(255,255,255,.08); }
    .submenu{
        position:static;
        width:100%;
        text-align:center;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        background:none;
        display:none;
        margin-top:6px;
    }
    .menu li:hover .submenu, .menu li.submenu-open .submenu{ display:block; }
    .submenu li a{ color:#c7cede; }

    .hamburguer{ display:flex; }
    .nav{ padding:0 20px; }
    .nav .logo{ margin-left:0; }
}

@media screen and (max-width: 600px){
    .hero-content h1{ font-size:30px; }
    .hero-badges{ gap:16px; }
    .services-grid{ grid-template-columns:1fr; }
    .stats-grid{ grid-template-columns:1fr; }
    .kpi-grid{ grid-template-columns:1fr; }
    .galeria-clientes{ grid-template-columns:repeat(2, 1fr); }
    .solutions-grid{ grid-template-columns:1fr; }
    .form-card{ padding:32px 22px; }
    .footer-grid{ grid-template-columns:1fr; text-align:center; }
    .footer-badges, .footer-social{ justify-content:center; }
    .section{ padding:60px 0; }
    .section-head h2{ font-size:28px; }
    .cta-strip__inner{ text-align:center; justify-content:center; }
    .cta-strip__actions{ justify-content:center; width:100%; }
}
