/*
Theme Name: REDCE Sep 2026
Theme URI: https://redcecomunicacion.com
Description: Tema REDCE Comunicación — 9 servicios
Author: REDCE Comunicación
Version: 2.2
Template: twentytwentyfour
Text Domain: redce
*/

:root {
  --navy:#0a1628;--navy-mid:#0f2042;--navy-light:#1a2f50;
  --gold:#b8975a;--gold-light:#d4b06e;
  --cream:#f5f2ec;--cream-dark:#ede8df;--white:#ffffff;
  --text-dark:#1a1a2e;--text-mid:#4a4a5a;--text-light:#8a8a9a;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'Epilogue','Helvetica Neue',sans-serif;
  --transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-body);background:var(--cream);color:var(--text-dark);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:300;line-height:1.15;}
p{line-height:1.85;font-weight:300;}

.tag-label{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:16px;font-weight:500;font-family:var(--font-body);}
.tag-label::before{content:'';display:block;width:40px;height:1px;background:var(--gold);flex-shrink:0;}

/* NAV */
#redce-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:24px 60px;display:flex;justify-content:space-between;align-items:center;transition:var(--transition);}
#redce-nav.scrolled{background:rgba(10,22,40,0.97);padding:14px 60px;backdrop-filter:blur(12px);}
.redce-logo-link{display:flex;align-items:center;text-decoration:none;flex-shrink:0;position:relative;z-index:10;}
.redce-logo-link img{height:52px;width:auto;max-width:220px;object-fit:contain;transition:opacity 0.3s;}
.logo-blanco{display:block;}.logo-grises{display:none;}
#redce-nav.scrolled .logo-blanco{display:none;}#redce-nav.scrolled .logo-grises{display:block;}
.nav-menu{display:flex;gap:36px;align-items:center;}
.nav-menu li a{color:rgba(255,255,255,0.75);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500;transition:color 0.3s;font-family:var(--font-body);}
.nav-menu li a:hover{color:var(--gold);}
.nav-cta{background:var(--gold)!important;color:var(--navy)!important;padding:10px 26px!important;font-size:11px!important;letter-spacing:2px!important;font-weight:700!important;transition:var(--transition)!important;}
.nav-cta:hover{background:var(--gold-light)!important;transform:translateY(-1px);}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.nav-hamburger span{display:block;width:24px;height:1.5px;background:#fff;transition:var(--transition);}

/* HERO */
#redce-hero{min-height:100vh;background:var(--navy);position:relative;display:flex;align-items:center;overflow:hidden;}
.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(184,151,90,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(184,151,90,0.06) 1px,transparent 1px);background-size:80px 80px;pointer-events:none;}
.hero-accent-panel{position:absolute;right:0;top:0;bottom:0;width:42%;background:linear-gradient(135deg,transparent,rgba(184,151,90,0.06));border-left:1px solid rgba(184,151,90,0.18);pointer-events:none;}
.hero-content{position:relative;z-index:2;padding:140px 60px 60px 60px;max-width:760px;}
.hero-content .tag-label{margin-bottom:36px;}
.hero-content h1{font-size:clamp(48px,6vw,80px);color:#fff;margin-bottom:32px;font-weight:300;}
.hero-content h1 em{font-style:italic;color:var(--gold);}
.hero-lead{font-size:17px;color:rgba(255,255,255,0.55);max-width:500px;margin-bottom:52px;font-weight:300;line-height:1.9;}
.hero-buttons{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:48px;}
.btn-primary{background:var(--gold);color:var(--navy);padding:16px 40px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;font-family:var(--font-body);transition:var(--transition);display:inline-block;cursor:pointer;border:none;}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);color:var(--navy);}
.btn-ghost{border:1px solid rgba(255,255,255,0.3);color:rgba(255,255,255,0.7);padding:16px 40px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;font-family:var(--font-body);transition:var(--transition);display:inline-block;background:transparent;cursor:pointer;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.hero-stats{display:flex;gap:52px;z-index:2;}
.hero-stat{text-align:left;}
.hero-stat-num{font-family:var(--font-display);font-size:52px;font-weight:300;color:var(--gold);line-height:1;display:block;}
.hero-stat-label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,0.35);display:block;margin-top:6px;font-family:var(--font-body);}

/* SECCIONES */
.redce-section{padding:120px 60px;}
.redce-section.bg-cream{background:var(--cream);}
.redce-section.bg-cream-dk{background:var(--cream-dark);}
.redce-section.bg-white{background:var(--white);}
.redce-section.bg-navy{background:var(--navy);}
.section-header{max-width:640px;margin-bottom:72px;}
.section-header .tag-label{margin-bottom:20px;}
.section-header h2{font-size:clamp(38px,4vw,54px);margin-bottom:24px;}
.section-header h2 em{color:var(--gold);font-style:italic;}
.section-header p{font-size:15px;color:var(--text-mid);max-width:520px;}

/* SERVICIOS — 3 columnas × 3 filas */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
.service-card{background:var(--white);padding:48px 40px;position:relative;overflow:hidden;transition:background 0.4s;cursor:default;}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.service-card:hover{background:var(--navy);}
.service-card:hover::after{transform:scaleX(1);}
.service-card:hover .service-num{color:rgba(184,151,90,0.12);}
.service-card:hover .service-name{color:#fff;}
.service-card:hover .service-desc{color:rgba(255,255,255,0.45);}
.service-card:hover .service-divider{background:rgba(184,151,90,0.3);}
.service-num{font-family:var(--font-display);font-size:64px;font-weight:300;color:rgba(10,22,40,0.05);line-height:1;margin-bottom:-12px;transition:color 0.4s;display:block;}
.service-divider{width:32px;height:1px;background:var(--gold);margin-bottom:24px;transition:background 0.4s;}
.service-name{font-size:16px;font-weight:600;font-family:var(--font-body);margin-bottom:14px;transition:color 0.4s;line-height:1.3;color:var(--text-dark);}
.service-desc{font-size:13px;line-height:1.85;color:var(--text-mid);transition:color 0.4s;font-weight:300;}

/* ABOUT */
.about-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:center;}
.about-img-wrap{position:relative;}
.about-img-frame{width:100%;aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--navy-light);}
.about-img-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 0.6s;}
.about-img-frame:hover img{transform:scale(1.04);}
.about-img-accent{display:none;}
.about-img-badge{position:absolute;bottom:48px;left:0;background:var(--gold);padding:18px 24px;}
.about-img-badge p{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--navy);font-weight:700;line-height:1.4;font-family:var(--font-body);}
.about-content .tag-label{color:var(--gold);margin-bottom:20px;}
.about-content h2{font-size:clamp(36px,3.5vw,52px);color:#fff;margin-bottom:32px;}
.about-content h2 em{color:var(--gold);font-style:italic;}
.about-content .about-bio{font-size:15px;line-height:1.9;color:rgba(255,255,255,0.5);margin-bottom:20px;font-weight:300;}
.about-content .about-bio em{color:rgba(255,255,255,0.75);font-style:italic;}
.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;}
.credential-item{border-left:2px solid var(--gold);padding:14px 20px;}
.credential-role{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-family:var(--font-body);font-weight:600;}
.credential-text{font-size:12px;color:rgba(255,255,255,0.45);line-height:1.6;font-weight:300;}

/* SECTORES */
.sectors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:72px;}

.sector-card{background:var(--white);padding:44px 36px;border-bottom:3px solid transparent;transition:var(--transition);}
.sector-card:hover{border-bottom-color:var(--gold);transform:translateY(-5px);box-shadow:0 20px 40px rgba(10,22,40,0.08);}
.sector-icon{font-size:38px;margin-bottom:28px;display:block;line-height:1;}
.sector-name{font-size:15px;font-weight:600;font-family:var(--font-body);margin-bottom:14px;color:var(--text-dark);}
.sector-note{font-size:13px;color:var(--text-mid);line-height:1.8;font-weight:300;}

/* CRISIS */
.crisis-section{position:relative;overflow:hidden;}
.crisis-pattern{position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 60px,rgba(184,151,90,0.03) 60px,rgba(184,151,90,0.03) 61px);pointer-events:none;}
.crisis-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.crisis-quote{font-family:var(--font-display);font-size:clamp(30px,3vw,44px);font-weight:300;color:#fff;line-height:1.4;font-style:italic;}
.crisis-quote span{color:var(--gold);}
.crisis-right .tag-label{color:var(--gold);margin-bottom:20px;}
.crisis-right h3,.crisis-right h2{font-size:clamp(28px,2.5vw,38px);color:#fff;margin-bottom:24px;}
.crisis-right p{font-size:14px;line-height:1.9;color:rgba(255,255,255,0.45);margin-bottom:36px;font-weight:300;}
.crisis-list{display:flex;flex-direction:column;gap:18px;list-style:none;padding:0;margin:0;}
.crisis-list-item{display:flex;gap:18px;align-items:flex-start;}
.crisis-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:8px;flex-shrink:0;}
.crisis-item-text{font-size:13px;color:rgba(255,255,255,0.45);line-height:1.75;font-weight:300;}

/* CONTACTO */
.contact-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;}
.contact-info h2{font-size:clamp(36px,3.5vw,52px);margin-bottom:24px;}
.contact-info h2 em{color:var(--gold);font-style:italic;}
.contact-info .contact-lead{font-size:15px;color:var(--text-mid);margin-bottom:52px;font-weight:300;line-height:1.9;}
.contact-details{display:flex;flex-direction:column;gap:28px;}
.contact-detail-item{display:flex;gap:20px;align-items:flex-start;}
.contact-detail-icon{width:46px;height:46px;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
.contact-detail-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-light);margin-bottom:4px;font-family:var(--font-body);font-weight:500;}
.contact-detail-value{font-size:15px;font-weight:500;color:var(--text-dark);font-family:var(--font-body);}
.redce-form{display:flex;flex-direction:column;gap:24px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-field{display:flex;flex-direction:column;gap:8px;}
.form-field label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-mid);font-weight:600;font-family:var(--font-body);}
.form-field input,.form-field textarea,.form-field select{border:none;border-bottom:1px solid #ddd;padding:12px 0;font-family:var(--font-body);font-size:14px;color:var(--text-dark);background:transparent;outline:none;transition:border-color 0.3s;width:100%;-webkit-appearance:none;}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-bottom-color:var(--gold);}
.form-field textarea{resize:vertical;min-height:110px;}
.form-submit{background:var(--navy);color:#fff;border:none;padding:18px 44px;font-family:var(--font-body);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;cursor:pointer;transition:var(--transition);align-self:flex-start;}
.form-submit:hover{background:var(--gold);color:var(--navy);transform:translateY(-2px);}

/* FOOTER */
#redce-footer{background:var(--navy);padding:90px 60px 44px;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:64px;margin-bottom:64px;}
.footer-brand-desc{font-size:13px;color:rgba(255,255,255,0.35);line-height:1.85;max-width:280px;font-weight:300;margin-top:20px;}
.footer-col h4{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:28px;font-family:var(--font-body);font-weight:600;}
.footer-col ul{display:flex;flex-direction:column;gap:12px;}
.footer-col ul a{font-size:13px;color:rgba(255,255,255,0.38);transition:color 0.3s;font-weight:300;}
.footer-col ul a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.07);padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.22);font-weight:300;}
.footer-tagline{font-family:var(--font-display);font-size:14px;color:rgba(184,151,90,0.45);font-style:italic;}

/* REDES FOOTER */
.footer-social{display:flex;flex-direction:column;gap:12px;margin-top:24px;}
.footer-social-btn{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,0.55);font-size:12px;font-family:var(--font-body);font-weight:400;text-decoration:none;transition:color 0.3s;}
.footer-social-btn:hover{color:var(--gold);}
.footer-social-btn svg{width:18px;height:18px;fill:currentColor;flex-shrink:0;}

/* ANIMACIONES */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.85s ease,transform 0.85s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}
.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}
.reveal-delay-4{transition-delay:0.4s;}

/* RESPONSIVE 1100 */
@media(max-width:1100px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .sectors-grid{grid-template-columns:1fr 1fr;}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px;}
  .about-inner{gap:60px;}
}

/* RESPONSIVE 900 */
@media(max-width:900px){
  #redce-nav{padding:18px 24px;}
  #redce-nav.scrolled{padding:12px 24px;}
  .nav-menu{display:none;}
  .nav-menu.open{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--navy);align-items:center;justify-content:center;gap:32px;z-index:999;}
  .nav-menu.open li a{font-size:14px;letter-spacing:3px;}
  .nav-hamburger{display:flex;z-index:1001;}
  .nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .nav-hamburger.open span:nth-child(2){opacity:0;}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  .redce-section{padding:80px 24px;}
  #redce-hero{padding-bottom:20px;}
  .hero-content{padding:100px 24px 20px;}
  .hero-content h1{font-size:44px;}
  .tag-label{font-size:9px;letter-spacing:1.5px;}
  .tag-label::before{width:24px;}
  .hero-stats{gap:32px;}
  .hero-stat-num{font-size:36px;}
  .services-grid{grid-template-columns:1fr;gap:2px;}
  .about-inner{grid-template-columns:1fr;gap:48px;}
  .about-img-wrap{display:block;max-height:420px;overflow:hidden;}
  .about-img-frame{aspect-ratio:4/3;}
  .about-img-badge{left:0;bottom:20px;padding:12px 16px;}
  .crisis-inner{grid-template-columns:1fr;gap:52px;}
  .contact-inner{grid-template-columns:1fr;gap:56px;}
  .sectors-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;gap:40px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .credentials-grid{grid-template-columns:1fr;}
}

@media(max-width:600px){
  .sectors-grid{grid-template-columns:1fr;}
  .hero-content h1{font-size:36px;}
  .hero-buttons{flex-direction:column;}
  .btn-primary,.btn-ghost{text-align:center;}
  .tag-label{font-size:8px;letter-spacing:1px;}
}

/* WORDPRESS */
.wp-block-group{margin:0;padding:0;}
.site-header,.site-footer{display:none!important;}
#wp-toolbar{display:none;}
#page{margin:0!important;padding:0!important;}
#header{display:none!important;}
div[id="header"][role="banner"]{display:none!important;}
.wp-site-blocks>header,.wp-site-blocks>.wp-block-template-part,
header.wp-block-template-part,.wp-block-site-title,
body>header:not(#redce-nav),.wp-site-blocks header{display:none!important;}
#redce-nav{display:flex!important;}
