
/* =================================
RESET
================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html,body{
max-width:100%;
overflow-x:hidden;
}

body{
font-family:Segoe UI,sans-serif;
color:#222;
background:#ffffff;
line-height:1.6;
padding-top:90px;
}


/* =================================
COMPORTAMIENTO UX EN EL MÓVIL
================================= */

html{
scroll-behavior:smooth;
}

section{
scroll-margin-top:90px;
}


/* =================================
HEADER
================================= */

header{
position:fixed;
top:0;
left:0;
width:100%;
padding:18px 8%;
display:flex;
justify-content:space-between;
align-items:center;
background:rgba(0,0,0,0.75);
backdrop-filter:blur(8px);
z-index:999;
border-bottom:1px solid rgba(255,255,255,0.08);
}

header nav{
display:flex;
align-items:center;
}

header nav a{
color:white;
text-decoration:none;
margin-left:25px;
font-weight:500;
transition:opacity .2s ease;
}

header nav a:hover{
opacity:.7;
}

.logo img{
height:62px;
width:auto;
display:block;
}


/* =================================
SECCIONES GENERALES
================================= */

.section{
padding:120px 8%;
background:#ffffff;
}

.section.alt{
background:#f5f5f5;
}

.section.dark{
position:relative;
background:url('/img/backgrounds/logo-branding-bg.webp') center/cover no-repeat;
color:white;
padding:140px 8%;
}

.section.dark::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.65);
}

.section.dark > *{
position:relative;
z-index:2;
}

.section .container{
max-width:900px;
margin:auto;
}

.section h2{
text-align:center;
font-size:32px;
margin-bottom:25px;
}

.section.dark h2{
color:white;
}

.section h3{
font-size:22px;
margin-top:40px;
margin-bottom:12px;
}

.section p{
max-width:900px;
margin-left:auto;
margin-right:auto;
line-height:1.8;
margin-bottom:20px;
text-align:justify;
}

.section p strong{
font-weight:600;
color:#000;
}

/* =================================
SECTION DARK CON IMAGEN 2
================================= */

.section.dark-bg{
background-image:url("/img/backgrounds/disenyador-logotipos-barcelona.webp");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
position:relative;
color:white;
padding:140px 8%;
}

.section.dark-bg::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.65);
z-index:0;
}

.section.dark-bg *{
position:relative;
z-index:1;
}

/* corrección alineación texto */

.section.dark-bg p,
.section.dark-bg h3{
max-width:900px;
margin-left:0;
margin-right:0;
text-align:left;
}




/* =================================
SECCIONES GENERALES
================================= */

.section{
padding:120px 8%;
background:#ffffff;
}

.section.alt{
background:#f5f5f5;
}

.section.dark{
position:relative;
background:url('/img/backgrounds/logo-branding-bg.webp') center/cover no-repeat;
color:white;
padding:140px 8%;
}

.section.dark::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.65);
}

.section.dark > *{
position:relative;
z-index:2;
}

.section .container{
max-width:900px;
margin:auto;
}

.section h2{
text-align:center;
font-size:32px;
margin-bottom:25px;
}

.section.dark h2{
color:white;
}

.section h3{
font-size:22px;
margin-top:40px;
margin-bottom:12px;
}

.section p{
max-width:900px;
margin-left:auto;
margin-right:auto;
line-height:1.8;
margin-bottom:20px;
text-align:justify;
}

.section p strong{
font-weight:600;
color:#000;
}

/* =================================
SECTION DARK CON IMAGEN 2
================================= */

.section.dark-bg{
background-image:url("/img/backgrounds/disenyador-logotipos-barcelona.webp");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
position:relative;
color:white;
padding:140px 8%;
}

.section.dark-bg::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.65);
z-index:0;
}

.section.dark-bg *{
position:relative;
z-index:1;
}

/* corrección alineación texto */

.section.dark-bg p,
.section.dark-bg h3{
max-width:900px;
margin-left:0;
margin-right:0;
text-align:left;
}


/* =================================
SECTION DARK BG (LAYOUT 33 / 66)
================================= */

.section.dark-bg{
background:#0f0f0f;
color:white;
padding:120px 8%;
}

.dark-bg-container{
display:grid;
grid-template-columns:33% 67%;
gap:70px;
max-width:1200px;
margin:auto;
align-items:center;
}

/* IMAGEN */

.dark-bg-image img{
width:100%;
height:auto;
border-radius:12px;
box-shadow:0 20px 40px rgba(0,0,0,0.35);
}

/* TEXTO */

.dark-bg-text{
max-width:100%;
}

.dark-bg-text h2{
font-size:34px;
margin-bottom:30px;
}

.dark-bg-text h3{
margin-top:35px;
margin-bottom:12px;
}

.dark-bg-text p{
text-align:justify;
line-height:1.8;
margin-bottom:18px;
color:#e5e5e5;
}

/* =================================
BOTONES
================================= */

.btn{
background:#f97316;
color:white !important;
padding:16px 34px;
text-decoration:none;
border-radius:8px;
display:inline-block;
margin-top:35px;
font-weight:600;
transition:all .25s ease;
box-shadow:0 8px 25px rgba(249,115,22,0.35);
}

.btn:hover{
transform:translateY(-2px);
box-shadow:0 12px 35px rgba(249,115,22,0.45);
}

.btn-secondary{
background:white;
border:2px solid #f97316;
color:#f97316 !important;
}

.btn-secondary:hover{
background:#f97316;
color:white !important;
}

.btn-secondary:hover{
background:#f97316;
color:white;
}


/* =================================
SEPARADOR SECCIONES
================================= */

.section-divider{
height:3px;
width:100%;
background:#f97316;
box-shadow:0 0 15px rgba(249,115,22,0.7);
}


/* =================================
TRUST BAR
================================= */

.trust-bar{
background:#111;
color:white;
padding:22px 8%;
}

.trust-container{
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
flex-wrap:wrap;
max-width:1200px;
margin:auto;
}

.trust-item{
display:flex;
align-items:center;
gap:10px;
font-size:17px;
color:#ddd;
}

.trust-icon{
color:#f97316;
font-size:18px;
}

.trust-item strong{
color:white;
}


/* =================================
SEO INTRO
================================= */

.seo-intro-container{
display:grid;
grid-template-columns:1.1fr 0.9fr;
gap:60px;
max-width:1200px;
margin:0 auto;
align-items:center;
}

.seo-intro-text{
max-width:620px;
}

.seo-intro-text h1{
font-size:46px;
line-height:1.15;
margin-bottom:28px;
font-weight:700;
}

.seo-intro-text h2{
font-size:28px;
margin-top:40px;
margin-bottom:18px;
line-height:1.25;
text-align:left;
}

.seo-intro-text h3{
font-size:22px;
margin-top:35px;
margin-bottom:14px;
line-height:1.3;
}

.seo-intro-text p{
font-size:17px;
line-height:1.75;
margin-bottom:20px;
color:#333;
text-align:justify;
}

.seo-intro-image img{
width:100%;
max-width:520px;
height:auto;
border-radius:14px;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
margin-left:auto;
}


/* =================================
SLOGAN IMAGEN
================================= */

.image-slogan{
margin-top:25px;
font-size:20px;
font-weight:600;
text-align:center;
color:#222;
max-width:420px;
margin-left:auto;
margin-right:auto;
line-height:1.4;
}

.image-slogan::before{
content:"";
display:block;
width:60px;
height:3px;
background:#f97316;
margin:0 auto 18px auto;
border-radius:2px;
}


/* =================================
STATS BLOQUE
================================= */

.section.dark .testimonials-intro{
color:#ddd;
text-align:center;
margin-bottom:50px;
}

.cta-stats{
display:flex;
justify-content:center;
gap:80px;
margin-top:40px;
flex-wrap:wrap;
}

.cta-stat{
text-align:center;
}

.cta-stat strong{
font-size:48px;
color:#f97316;
display:block;
margin-bottom:10px;
}

.cta-stat span{
font-size:16px;
color:#ddd;
}


/* =================================
GRID SEO TEXTO
================================= */

.seo-grid{
display:grid;
grid-template-columns:1fr 2fr;
gap:60px;
max-width:1200px;
margin:0 auto;
align-items:start;
}

.seo-image img{
width:100%;
border-radius:12px;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

.seo-text p{
text-align:justify;
line-height:1.8;
margin-bottom:18px;
}

.seo-text h3{
margin-top:25px;
margin-bottom:10px;
}


/* =================================
WHATSAPP FLOAT
================================= */

.whatsapp{
position:fixed;
bottom:25px;
right:25px;
width:60px;
height:60px;
background:#25D366;
color:white;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
text-decoration:none;
box-shadow:0 10px 25px rgba(0,0,0,0.3);
z-index:999;
}


/* =================================
MENU MOVIL
================================= */

.mobile-toggle{
display:none;
font-size:28px;
color:white;
cursor:pointer;
}

.mobile-menu{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background:#000;
display:none;
flex-direction:column;
justify-content:center;
align-items:center;
z-index:999;
}

.mobile-menu a{
font-size:28px;
margin:20px 0;
color:white;
text-decoration:none;
}

.mobile-menu a:hover{
color:#f97316;
}

.mobile-menu.active{
display:flex;
}


/* =================================
MEDIA ELEMENTS
================================= */

img,
video,
iframe{
max-width:100%;
height:auto;
display:block;
}


/* =================================
LAYOUT SEGURIDAD
================================= */

section{
overflow:hidden;
}


/* =================================
BOTONES
================================= */

.btn{
background:#f97316;
color:white;
padding:16px 34px;
text-decoration:none;
border-radius:8px;
display:inline-block;
margin-top:35px;
font-weight:600;
transition:all .25s ease;
box-shadow:0 8px 25px rgba(249,115,22,0.35);
}

.btn:hover{
transform:translateY(-2px);
box-shadow:0 12px 35px rgba(249,115,22,0.45);
}

.btn-secondary{
background:transparent;
border:2px solid #f97316;
color:#f97316;
}

.btn-secondary:hover{
background:#f97316;
color:white;
}


/* =================================
SEPARADOR SECCIONES
================================= */

.section-divider{
height:3px;
width:100%;
background:#f97316;
box-shadow:0 0 15px rgba(249,115,22,0.7);
}


/* =================================
TRUST BAR
================================= */

.trust-bar{
background:#111;
color:white;
padding:22px 8%;
}

.trust-container{
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
flex-wrap:wrap;
max-width:1200px;
margin:auto;
}

.trust-item{
display:flex;
align-items:center;
gap:10px;
font-size:17px;
color:#ddd;
}

.trust-icon{
color:#f97316;
font-size:18px;
}

.trust-item strong{
color:white;
}


/* =================================
SEO INTRO
================================= */

.seo-intro-container{
display:grid;
grid-template-columns:1.1fr 0.9fr;
gap:60px;
max-width:1200px;
margin:0 auto;
align-items:center;
}

.seo-intro-text{
max-width:620px;
}

.seo-intro-text h1{
font-size:46px;
line-height:1.15;
margin-bottom:28px;
font-weight:700;
}

.seo-intro-text h2{
font-size:28px;
margin-top:40px;
margin-bottom:18px;
line-height:1.25;
text-align:left;
}

.seo-intro-text h3{
font-size:22px;
margin-top:35px;
margin-bottom:14px;
line-height:1.3;
}

.seo-intro-text p{
font-size:17px;
line-height:1.75;
margin-bottom:20px;
color:#333;
text-align:justify;
}

.seo-intro-image img{
width:100%;
max-width:520px;
height:auto;
border-radius:14px;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
margin-left:auto;
}


/* =================================
SLOGAN IMAGEN
================================= */

.image-slogan{
margin-top:25px;
font-size:20px;
font-weight:600;
text-align:center;
color:#222;
max-width:420px;
margin-left:auto;
margin-right:auto;
line-height:1.4;
}

.image-slogan::before{
content:"";
display:block;
width:60px;
height:3px;
background:#f97316;
margin:0 auto 18px auto;
border-radius:2px;
}


/* =================================
STATS BLOQUE
================================= */

.section.dark .testimonials-intro{
color:#ddd;
text-align:center;
margin-bottom:50px;
}

.cta-stats{
display:flex;
justify-content:center;
gap:80px;
margin-top:40px;
flex-wrap:wrap;
}

.cta-stat{
text-align:center;
}

.cta-stat strong{
font-size:48px;
color:#f97316;
display:block;
margin-bottom:10px;
}

.cta-stat span{
font-size:16px;
color:#ddd;
}


/* =================================
GRID SEO TEXTO
================================= */

.seo-grid{
display:grid;
grid-template-columns:1fr 2fr;
gap:60px;
max-width:1200px;
margin:0 auto;
align-items:start;
}

.seo-image img{
width:100%;
border-radius:12px;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

.seo-text p{
text-align:justify;
line-height:1.8;
margin-bottom:18px;
}

.seo-text h3{
margin-top:25px;
margin-bottom:10px;
}


/* =================================
WHATSAPP FLOAT
================================= */

.whatsapp{
position:fixed;
bottom:25px;
right:25px;
width:60px;
height:60px;
background:#25D366;
color:white;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
text-decoration:none;
box-shadow:0 10px 25px rgba(0,0,0,0.3);
z-index:999;
}


/* =================================
MENU MOVIL
================================= */

.mobile-toggle{
display:none;
font-size:28px;
color:white;
cursor:pointer;
}

.mobile-menu{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background:#000;
display:none;
flex-direction:column;
justify-content:center;
align-items:center;
z-index:999;
}

.mobile-menu a{
font-size:28px;
margin:20px 0;
color:white;
text-decoration:none;
}

.mobile-menu a:hover{
color:#f97316;
}

.mobile-menu.active{
display:flex;
}


/* =================================
MEDIA ELEMENTS
================================= */

img,
video,
iframe{
max-width:100%;
height:auto;
display:block;
}


/* =================================
LAYOUT SEGURIDAD
================================= */

section{
overflow:hidden;
}


/* =====================================================
SERVICIOS DESTACADOS (AISLADO)
No afecta a otros containers
===================================================== */

.services-highlight{
position:relative;
padding:120px 8%;
background-image:url('/img/backgrounds/servicios-diseno-logos.webp');
background-size:cover;
background-position:center;
background-repeat:no-repeat;
color:#fff;
}

.services-highlight-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.65);
z-index:1;
}

.services-highlight-inner{
position:relative;
z-index:2;
max-width:1200px;
margin:auto;
text-align:center;
}

.services-highlight-inner h2{
font-size:36px;
margin-bottom:20px;
}

.services-highlight-intro{
max-width:900px;
margin:0 auto 60px auto;
color:#dcdcdc;
font-size:18px;
line-height:1.6;
}

/* GRID */

.services-highlight-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
}

/* CARDS */

.service-highlight-card{
background:#f2f2f2;
color:#222;
padding:40px;
border-radius:14px;
border:3px solid #cfcfcf;
box-shadow:0 15px 35px rgba(0,0,0,0.2);
text-align:left;
}

.service-highlight-card h3{
font-size:22px;
margin-bottom:18px;
}

.service-highlight-card p{
line-height:1.7;
color:#444;
}

/* =================================
LINKS CONTENIDO SEO
================================= */

.section a,
.seo-intro-text a,
.dark-bg-text a{
color:#f97316;
text-decoration:none;
font-weight:500;
border-bottom:1px solid transparent;
transition:all .25s ease;
}

.section a:hover,
.seo-intro-text a:hover,
.dark-bg-text a:hover{
border-bottom:1px solid #f97316;
}

/* =================================
PRECIOS
================================= */

.pricing-basic p{
text-align:center;
max-width:500px;
margin:auto;
}