/* ======================================================
   The Backyard — Consultoria Empresarial
   ====================================================== */
/* (component system shared with estilos4.css / estilos2.css) */

:root{
    --dark: #1d273b;
    --text: #5d6678;
    --text-light: #8b93a6;
    --bg: #ffffff;
    --bg-alt: #f5f7fa;
    --accent: #6C5CE7;
    --accent-dark: #5643d1;
    --accent-2: #E8871E;
    --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:#ffffff;
    box-shadow:0 14px 30px rgba(108,92,231,.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(108,92,231,.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(108,92,231,.12);
    color:var(--accent-dark);
}

.synergy-card:last-child .icon{
    background:rgba(232,135,30,.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(108,92,231,.14);
    color:var(--accent-dark);
    margin-bottom:16px;
}

.kpi-card:nth-child(2) .tag{ background:rgba(232,135,30,.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; }

/* ---------- 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(108,92,231,.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(232,135,30,.12);
    color:var(--accent-2);
}

.pillar-card:nth-child(2) .icon{ background:rgba(108,92,231,.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(108,92,231,.18), transparent 45%),
                      radial-gradient(circle at 85% 80%, rgba(232,135,30,.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:#ffffff; }

.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); }

/* ---------- 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); }
    .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; }
    .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; }
}
