/*
Theme Name: Proyecto Nuevo León
Theme URI: https://proyectonuevoleon.mx
Author: Proyecto Nuevo León
Author URI: https://proyectonuevoleon.mx
Description: Sitio oficial de Tatiana Clouthier y el Proyecto Nuevo León. Diseño en blanco cálido con acabados ocre mexicano. SEO optimizado para Nuevo León: seguridad, cambio, corrupción, futuro, esperanza, orden.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: politics, one-page, custom-colors, responsive-layout, full-width-template
Text Domain: proyecto-nl
*/

/* ═══════════════════════════════════════════
   PALETA: BLANCO BASE + OCRE MEXICANO
   Fondo blanco cálido · Ocre · Terracota · Verde NL · Rojo bandera
═══════════════════════════════════════════ */
:root {
  --blanco:      #ffffff;
  --crema:       #faf7f2;
  --crema-med:   #f3ede3;
  --ocre:        #c8862a;
  --ocre-claro:  #e8a84a;
  --ocre-oscuro: #8f5e18;
  --ocre-fondo:  #fdf4e7;
  --terracota:   #b5451b;
  --verde:       #006847;
  --verde-med:   #007a52;
  --verde-light: #00a651;
  --rojo:        #ce1126;
  --negro:       #1a1209;
  --gris:        #5a4f42;
  --gris-claro:  #f5f0e8;
  --borde:       #e8d8be;
}
* { margin:0; padding:0; box-sizing:border-box }
html { scroll-behavior:smooth }
body {
  font-family:'Montserrat',sans-serif;
  color:var(--negro);
  background:var(--blanco);
  overflow-x:hidden;
}
body::before {
  content:'';
  position:fixed; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse 120% 80% at 100% 0%, rgba(200,134,42,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 80% 60% at 0% 100%, rgba(181,69,27,0.03) 0%, transparent 55%);
  pointer-events:none;
}
.franja { display:flex; height:6px; background:linear-gradient(90deg, var(--verde) 33.33%, var(--blanco) 33.33% 66.66%, var(--rojo) 66.66%); }
#nav { position:fixed; top:6px; left:0; right:0; z-index:1000; background:rgba(255,255,255,0.97); backdrop-filter:blur(12px); border-bottom:2px solid var(--ocre); padding:0 2.5rem; display:flex; align-items:center; justify-content:space-between; height:62px; box-shadow:0 2px 20px rgba(200,134,42,0.12); }
.nav-logo { font-family:'Bebas Neue',cursive; font-size:1.5rem; letter-spacing:3px; color:var(--negro); text-decoration:none; display:flex; align-items:center; gap:0.3rem; }
.nav-logo .nl { color:var(--verde); }
.nav-logo .sep { color:var(--ocre); margin:0 0.1rem; }
nav ul { list-style:none; display:flex; gap:0.1rem; align-items:center; }
nav ul a { color:var(--gris); text-decoration:none; font-size:0.78rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:0.5rem 0.9rem; border-radius:3px; transition:all 0.2s; }
nav ul a:hover { color:var(--ocre); }
.nav-cta { background:var(--ocre)!important; color:var(--blanco)!important; border-radius:3px!important; padding:0.55rem 1.4rem!important; font-weight:900!important; letter-spacing:2px!important; box-shadow:0 2px 12px rgba(200,134,42,0.35)!important; }
.nav-cta:hover { background:var(--ocre-oscuro)!important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; }
.hamburger span { display:block; width:24px; height:2px; background:var(--negro); border-radius:2px; }
.mobile-menu { display:none; }
.hero { min-height:100vh; background:var(--crema); background-image: radial-gradient(ellipse 70% 50% at 100% 0%, rgba(200,134,42,0.08) 0%, transparent 60%), radial-gradient(ellipse 50% 40% at 0% 100%, rgba(0,104,71,0.05) 0%, transparent 55%); display:flex; align-items:center; padding-top:68px; position:relative; overflow:hidden; }
.hero::after { content:''; position:absolute; bottom:0; left:0; right:0; height:6px; background:linear-gradient(90deg, var(--verde) 33%, var(--blanco) 33% 66%, var(--rojo) 66%); }
.hero::before { content:''; position:absolute; top:0; right:0; width:55%; height:100%; background-image: repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(200,134,42,0.03) 30px, rgba(200,134,42,0.03) 31px), repeating-linear-gradient(-45deg, transparent, transparent 30px, rgba(200,134,42,0.03) 30px, rgba(200,134,42,0.03) 31px); pointer-events:none; }
.hero-inner { display:grid; grid-template-columns:1.1fr 0.9fr; gap:4rem; align-items:center; max-width:1200px; margin:0 auto; padding:5rem 2.5rem 4rem; position:relative; z-index:1; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:0.7rem; background:rgba(200,134,42,0.08); border:1.5px solid var(--ocre); color:var(--ocre-oscuro); font-size:0.72rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; padding:0.45rem 1.1rem; border-radius:2px; margin-bottom:1.5rem; }
.hero-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--ocre); animation:pulse 1.6s ease infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.4);opacity:0.6} }
.hero-proyecto { font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(0.85rem,1.5vw,1rem); color:var(--gris); letter-spacing:5px; text-transform:uppercase; display:block; margin-bottom:0.5rem; }
.hero-nombre { font-family:'Playfair Display',serif; font-size:clamp(3.2rem,6.5vw,5.5rem); line-height:0.95; color:var(--negro); display:block; font-weight:900; }
.hero-nombre em { color:var(--verde); font-style:normal; }
.hero-raya { display:flex; height:5px; width:90px; gap:3px; margin:1.2rem 0; border-radius:3px; overflow:hidden; }
.hero-raya span:nth-child(1) { flex:1; background:var(--verde); }
.hero-raya span:nth-child(2) { flex:1; background:var(--ocre); }
.hero-raya span:nth-child(3) { flex:1; background:var(--rojo); }
.hero-subtitle { font-family:'Bebas Neue',cursive; font-size:clamp(1.1rem,2.2vw,1.6rem); color:var(--terracota); letter-spacing:3px; text-transform:uppercase; margin-bottom:1.2rem; display:block; }
.hero-desc { font-size:0.97rem; line-height:1.85; color:var(--gris); max-width:500px; margin-bottom:2.2rem; }
.hero-btns { display:flex; gap:0.8rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.btn-ocre { background:var(--ocre); color:var(--blanco); text-decoration:none; font-weight:900; font-size:0.85rem; padding:0.9rem 2.2rem; border-radius:3px; letter-spacing:2px; text-transform:uppercase; transition:all 0.2s; border:2px solid var(--ocre); box-shadow:0 4px 16px rgba(200,134,42,0.3); }
.btn-ocre:hover { background:var(--ocre-oscuro); border-color:var(--ocre-oscuro); transform:translateY(-2px); }
.btn-verde { background:var(--verde); color:var(--blanco); text-decoration:none; font-weight:900; font-size:0.85rem; padding:0.9rem 2.2rem; border-radius:3px; letter-spacing:2px; text-transform:uppercase; border:2px solid var(--verde); transition:all 0.2s; box-shadow:0 4px 16px rgba(0,104,71,0.25); }
.btn-verde:hover { background:var(--verde-med); transform:translateY(-2px); }
.btn-borde { background:transparent; color:var(--ocre-oscuro); text-decoration:none; font-weight:700; font-size:0.85rem; padding:0.9rem 2rem; border-radius:3px; letter-spacing:2px; text-transform:uppercase; border:2px solid var(--ocre); transition:all 0.2s; }
.btn-borde:hover { background:var(--ocre-fondo); }
.hero-stats { display:flex; gap:0; border:1.5px solid var(--borde); border-radius:4px; overflow:hidden; background:var(--blanco); }
.hero-stat { flex:1; text-align:center; padding:0.9rem 0.5rem; border-right:1px solid var(--borde); }
.hero-stat:last-child { border-right:none; }
.hero-stat .num { font-family:'Bebas Neue',cursive; font-size:2rem; color:var(--ocre); display:block; line-height:1; }
.hero-stat .lab { font-size:0.62rem; color:var(--gris); text-transform:uppercase; letter-spacing:1px; }
.hero-visual { position:relative; }
.hero-frame { border-radius:4px; overflow:hidden; border:3px solid var(--ocre); box-shadow:8px 8px 0 var(--ocre-claro), 0 20px 50px rgba(0,0,0,0.12); }
.hero-frame img { width:100%; display:block; height:auto; }
.hero-frame2 { margin-top:1rem; border-radius:4px; overflow:hidden; border:2px solid var(--borde); box-shadow:4px 4px 0 rgba(200,134,42,0.2); }
.hero-frame2 img { width:100%; display:block; height:auto; }
.hero-corner { position:absolute; top:-10px; right:-10px; background:var(--ocre); color:var(--blanco); font-family:'Bebas Neue'; font-size:0.8rem; letter-spacing:2px; padding:0.5rem 0.7rem; border-radius:2px; box-shadow:2px 2px 8px rgba(0,0,0,0.2); z-index:2; }
.pillars { background:var(--verde); padding:1.4rem 2rem; display:flex; justify-content:center; flex-wrap:wrap; border-top:3px solid var(--ocre); border-bottom:3px solid var(--ocre); }
.pillar { display:flex; align-items:center; gap:0.6rem; padding:0.5rem 1.8rem; border-right:1px solid rgba(255,255,255,0.15); }
.pillar:last-child { border-right:none; }
.pillar .pi { font-size:1.3rem; }
.pillar .pt { font-family:'Bebas Neue',cursive; font-size:1rem; letter-spacing:2px; color:rgba(255,255,255,0.92); }
.pillar .ps { font-size:0.62rem; color:rgba(255,255,255,0.5); letter-spacing:1px; display:block; text-transform:uppercase; }
section { padding:5.5rem 2.5rem; }
.container { max-width:1100px; margin:0 auto; }
.sec-label { display:inline-flex; align-items:center; gap:0.6rem; font-size:0.7rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--ocre-oscuro); margin-bottom:0.6rem; }
.sec-label::before { content:''; display:block; width:24px; height:2px; background:var(--ocre); }
.sec-title { font-family:'Playfair Display',serif; font-size:clamp(2.2rem,4.5vw,3.5rem); line-height:1.1; color:var(--negro); margin-bottom:0.8rem; font-weight:900; }
.sec-title .v { color:var(--verde); }
.sec-title .r { color:var(--rojo); }
.sec-title .o { color:var(--ocre); }
.sec-raya { display:flex; height:4px; width:70px; gap:2px; margin-bottom:1.5rem; }
.sec-raya span:nth-child(1) { flex:1; background:var(--verde); border-radius:2px; }
.sec-raya span:nth-child(2) { flex:1; background:var(--ocre); border-radius:2px; }
.sec-raya span:nth-child(3) { flex:1; background:var(--rojo); border-radius:2px; }
.sec-desc { font-size:0.97rem; color:var(--gris); line-height:1.8; max-width:620px; margin-bottom:3rem; }
.temas { background:var(--ocre-fondo); }
.temas-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.tema-card { background:var(--blanco); border-radius:4px; overflow:hidden; border:1.5px solid var(--borde); box-shadow:0 2px 12px rgba(200,134,42,0.08), 4px 4px 0 var(--borde); transition:transform 0.2s, box-shadow 0.2s; position:relative; }
.tema-card:hover { transform:translateY(-4px); box-shadow:0 10px 28px rgba(200,134,42,0.15), 4px 4px 0 var(--ocre-claro); }
.tema-top-bar { height:5px; }
.tb-v { background:linear-gradient(90deg,var(--verde),var(--verde-light)); }
.tb-r { background:linear-gradient(90deg,var(--rojo),#e63950); }
.tb-o { background:linear-gradient(90deg,var(--ocre-oscuro),var(--ocre-claro)); }
.tb-t { background:linear-gradient(90deg,var(--terracota),#d4623a); }
.tema-inner { padding:1.8rem; }
.tema-head { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1rem; }
.tema-icon-box { width:48px; height:48px; min-width:48px; border-radius:4px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; border:2px solid transparent; }
.tib-v { background:rgba(0,104,71,0.08); border-color:rgba(0,104,71,0.15); }
.tib-r { background:rgba(206,17,38,0.07); border-color:rgba(206,17,38,0.15); }
.tib-o { background:rgba(200,134,42,0.1); border-color:rgba(200,134,42,0.2); }
.tib-t { background:rgba(181,69,27,0.08); border-color:rgba(181,69,27,0.15); }
.tema-num { font-family:'Bebas Neue'; font-size:2.5rem; line-height:1; color:rgba(0,0,0,0.05); position:absolute; right:1.2rem; top:1rem; }
.tema-card h3 { font-family:'Bebas Neue',cursive; font-size:1.4rem; letter-spacing:2px; margin-bottom:0; line-height:1; }
.tc-v h3 { color:var(--verde); }
.tc-r h3 { color:var(--rojo); }
.tc-o h3 { color:var(--ocre-oscuro); }
.tc-t h3 { color:var(--terracota); }
.tema-sub { font-size:0.68rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; }
.sub-v { color:rgba(0,104,71,0.6); }
.sub-r { color:rgba(206,17,38,0.6); }
.sub-o { color:rgba(200,134,42,0.7); }
.sub-t { color:rgba(181,69,27,0.6); }
.tema-card p { font-size:0.9rem; color:var(--gris); line-height:1.75; margin-top:0.8rem; }
.quote-section { background:var(--verde); padding:5rem 2.5rem; text-align:center; position:relative; overflow:hidden; border-top:4px solid var(--ocre); border-bottom:4px solid var(--ocre); }
.quote-section::before { content:'"'; position:absolute; top:-3rem; left:1rem; font-family:'Playfair Display'; font-size:22rem; color:rgba(255,255,255,0.04); line-height:1; pointer-events:none; font-style:italic; }
.quote-ornamento { font-size:1.5rem; letter-spacing:6px; margin-bottom:1.5rem; display:block; opacity:0.8; }
.quote-text { font-family:'Playfair Display',serif; font-style:italic; font-weight:700; font-size:clamp(1.4rem,3vw,2.1rem); color:var(--blanco); max-width:780px; margin:0 auto 1.5rem; line-height:1.5; position:relative; z-index:1; }
.quote-accent { color:var(--ocre-claro); font-style:normal; }
.quote-raya { display:flex; width:60px; height:4px; gap:2px; margin:0 auto 1rem; }
.quote-raya span:nth-child(1) { flex:1; background:rgba(255,255,255,0.4); border-radius:2px; }
.quote-raya span:nth-child(2) { flex:1; background:var(--ocre-claro); border-radius:2px; }
.quote-raya span:nth-child(3) { flex:1; background:rgba(255,255,255,0.4); border-radius:2px; }
.quote-author { font-size:0.78rem; font-weight:700; color:rgba(255,255,255,0.6); text-transform:uppercase; letter-spacing:3px; position:relative; z-index:1; }
.propuestas { background:var(--blanco); }
.prop-tabs { display:flex; flex-wrap:wrap; gap:0; margin-bottom:3rem; border:1.5px solid var(--borde); border-radius:4px; overflow:hidden; background:var(--crema-med); }
.prop-tab { flex:1; min-width:110px; background:transparent; border:none; border-right:1px solid var(--borde); color:var(--gris); font-weight:700; font-size:0.75rem; letter-spacing:1.5px; text-transform:uppercase; padding:0.9rem 0.5rem; cursor:pointer; transition:all 0.2s; font-family:'Montserrat',sans-serif; display:flex; align-items:center; justify-content:center; gap:0.4rem; }
.prop-tab:last-child { border-right:none; }
.prop-tab:hover:not(.active) { background:rgba(200,134,42,0.07); color:var(--ocre-oscuro); }
.prop-tab.active { background:var(--ocre); color:var(--blanco); }
.prop-tab.active.tab-v { background:var(--verde); }
.prop-tab.active.tab-r { background:var(--rojo); }
.prop-tab.active.tab-t { background:var(--terracota); }
.prop-panel { display:none; }
.prop-panel.active { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:start; animation:fadeIn 0.3s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.prop-content h3 { font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:900; color:var(--ocre-oscuro); margin-bottom:0.8rem; }
.prop-content.pv h3 { color:var(--verde); }
.prop-content.pr h3 { color:var(--rojo); }
.prop-content.pt h3 { color:var(--terracota); }
.prop-content p { font-size:0.93rem; color:var(--gris); line-height:1.82; margin-bottom:1rem; }
.prop-list { list-style:none; display:flex; flex-direction:column; gap:0.75rem; margin-bottom:1.8rem; }
.prop-list li { display:flex; align-items:flex-start; gap:0.8rem; font-size:0.9rem; color:var(--gris); line-height:1.65; padding-bottom:0.75rem; border-bottom:1px solid var(--borde); }
.prop-list li:last-child { border-bottom:none; }
.ck { min-width:20px; height:20px; border-radius:2px; background:var(--ocre); color:var(--blanco); display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:900; margin-top:3px; flex-shrink:0; }
.ck-v { background:var(--verde); }
.ck-r { background:var(--rojo); }
.ck-t { background:var(--terracota); }
.prop-visual { background:var(--ocre-fondo); border-radius:4px; padding:2rem; border:1.5px solid var(--borde); border-left:4px solid var(--ocre); }
.prop-visual.pv-v { border-left-color:var(--verde); background:rgba(0,104,71,0.04); }
.prop-visual.pv-r { border-left-color:var(--rojo); background:rgba(206,17,38,0.03); }
.prop-visual.pv-t { border-left-color:var(--terracota); background:rgba(181,69,27,0.04); }
.pv-title { font-family:'Bebas Neue',cursive; font-size:1.1rem; letter-spacing:2px; color:var(--ocre-oscuro); margin-bottom:1.2rem; border-bottom:1px solid var(--borde); padding-bottom:0.6rem; }
.pv-title-v { color:var(--verde); }
.pv-title-r { color:var(--rojo); }
.pv-title-t { color:var(--terracota); }
.prop-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.8rem; }
.prop-stat { background:var(--blanco); border-radius:3px; padding:1rem; text-align:center; border:1px solid var(--borde); transition:border-color 0.2s; }
.prop-stat:hover { border-color:var(--ocre); }
.prop-stat .pn { font-family:'Bebas Neue',cursive; font-size:2.2rem; color:var(--ocre); display:block; line-height:1; }
.prop-stat .pn-v { color:var(--verde); }
.prop-stat .pn-r { color:var(--rojo); }
.prop-stat .pn-t { color:var(--terracota); }
.prop-stat .pl { font-size:0.65rem; color:var(--gris); text-transform:uppercase; letter-spacing:1px; }
.pv-note { font-size:0.8rem; color:var(--gris); margin-top:1.2rem; line-height:1.65; font-style:italic; border-top:1px solid var(--borde); padding-top:0.8rem; }
.bio { background:var(--negro); color:var(--blanco); border-top:4px solid var(--ocre); border-bottom:4px solid var(--ocre); }
.bio-grid { display:grid; grid-template-columns:1fr 2fr; gap:3.5rem; align-items:start; }
.bio-photo { border-radius:4px; overflow:hidden; border:3px solid var(--ocre); box-shadow:8px 8px 0 rgba(200,134,42,0.3); }
.bio-photo img { width:100%; display:block; height:auto; }
.bio-timeline { margin-top:1.5rem; position:relative; padding-left:1.5rem; border-left:2px solid rgba(200,134,42,0.35); display:flex; flex-direction:column; gap:1.1rem; }
.bio-year { font-family:'Bebas Neue'; font-size:0.95rem; color:var(--ocre-claro); letter-spacing:2px; display:block; }
.bio-evt { font-size:0.82rem; color:rgba(255,255,255,0.55); line-height:1.55; }
.bio-text .sec-title { color:var(--blanco); }
.bio-text .sec-title .o { color:var(--ocre-claro); }
.bio-text .sec-label { color:var(--ocre-claro); }
.bio-text .sec-label::before { background:var(--ocre-claro); }
.bio-text p { font-size:0.95rem; color:rgba(255,255,255,0.68); line-height:1.85; margin-bottom:1rem; }
.bio-text strong { color:var(--ocre-claro); font-weight:700; }
.bio-badges { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1.5rem; }
.bio-badge { background:rgba(200,134,42,0.12); border:1px solid rgba(200,134,42,0.3); color:var(--ocre-claro); font-size:0.7rem; font-weight:700; padding:0.3rem 0.85rem; border-radius:2px; letter-spacing:1px; text-transform:uppercase; }
.noticias { background:var(--crema); }
.news-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.news-card { background:var(--blanco); border-radius:4px; overflow:hidden; border:1.5px solid var(--borde); box-shadow:0 2px 12px rgba(200,134,42,0.07), 3px 3px 0 var(--borde); transition:transform 0.2s, box-shadow 0.2s; display:flex; flex-direction:column; }
.news-card:hover { transform:translateY(-4px); box-shadow:0 10px 28px rgba(200,134,42,0.13), 3px 3px 0 var(--ocre-claro); }
.news-thumb { height:140px; display:flex; align-items:center; justify-content:center; font-size:2.8rem; position:relative; overflow:hidden; }
.nt-o { background:linear-gradient(135deg,var(--ocre-oscuro),var(--ocre-claro)); }
.nt-v { background:linear-gradient(135deg,#003d2b,var(--verde)); }
.nt-r { background:linear-gradient(135deg,#7a0a18,var(--rojo)); }
.nt-t { background:linear-gradient(135deg,#7a2a10,var(--terracota)); }
.news-label { position:absolute; bottom:0; left:0; right:0; padding:0.35rem 0.8rem; background:rgba(26,18,9,0.7); font-size:0.65rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.8); }
.news-body { padding:1.3rem; flex:1; display:flex; flex-direction:column; }
.news-cat { font-size:0.68rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ocre-oscuro); margin-bottom:0.5rem; display:block; }
.news-card h3 { font-size:0.95rem; font-weight:700; color:var(--negro); margin-bottom:0.5rem; line-height:1.4; flex:1; }
.news-card p { font-size:0.82rem; color:var(--gris); line-height:1.65; }
.news-more { display:inline-flex; align-items:center; gap:0.4rem; margin-top:1rem; font-size:0.72rem; font-weight:700; color:var(--ocre-oscuro); letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; }
.cta-section { padding:6rem 2.5rem; background:var(--ocre-fondo); text-align:center; border-top:1.5px solid var(--borde); border-bottom:1.5px solid var(--borde); position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; background-image: repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(200,134,42,0.06) 39px,rgba(200,134,42,0.06) 40px), repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(200,134,42,0.06) 39px,rgba(200,134,42,0.06) 40px); pointer-events:none; }
.cta-ornamento { display:block; font-size:2rem; margin-bottom:1rem; position:relative; z-index:1; }
.cta-section h2 { font-family:'Playfair Display',serif; font-size:clamp(2rem,4.5vw,3.2rem); color:var(--negro); margin-bottom:0.8rem; font-weight:900; line-height:1.1; position:relative; z-index:1; }
.cta-section h2 .o { color:var(--ocre-oscuro); }
.cta-section h2 .v { color:var(--verde); }
.cta-section p { font-size:0.97rem; color:var(--gris); max-width:550px; margin:0 auto 2.5rem; line-height:1.8; position:relative; z-index:1; }
.cta-form { display:flex; gap:0.7rem; justify-content:center; flex-wrap:wrap; position:relative; z-index:1; }
.cta-input { padding:0.9rem 1.4rem; border-radius:3px; border:1.5px solid var(--borde); font-size:0.92rem; font-family:'Montserrat',sans-serif; width:230px; background:var(--blanco); color:var(--negro); transition:border-color 0.2s; }
.cta-input:focus { outline:none; border-color:var(--ocre); box-shadow:0 0 0 3px rgba(200,134,42,0.1); }
.cta-btn { background:var(--ocre); color:var(--blanco); border:none; padding:0.9rem 2rem; border-radius:3px; font-weight:900; font-size:0.85rem; letter-spacing:2px; text-transform:uppercase; cursor:pointer; font-family:'Montserrat',sans-serif; transition:all 0.2s; box-shadow:0 4px 16px rgba(200,134,42,0.35); }
.cta-btn:hover { background:var(--ocre-oscuro); transform:translateY(-2px); }
.cta-redes { display:flex; gap:0.8rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; position:relative; z-index:1; }
.red-btn { display:flex; align-items:center; gap:0.5rem; padding:0.6rem 1.3rem; border-radius:3px; font-size:0.75rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; text-decoration:none; transition:all 0.2s; border:1.5px solid var(--borde); background:var(--blanco); color:var(--gris); }
.red-btn:hover { border-color:var(--ocre); color:var(--ocre-oscuro); }
footer { background:var(--negro); color:rgba(255,255,255,0.5); padding:4rem 2.5rem 2rem; border-top:5px solid var(--ocre); }
.footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:2rem; border-bottom:1px solid rgba(200,134,42,0.15); margin-bottom:1.5rem; }
.footer-logo { font-family:'Bebas Neue',cursive; font-size:1.5rem; letter-spacing:3px; display:block; margin-bottom:0.8rem; text-decoration:none; }
.fl-p { color:rgba(255,255,255,0.45); }
.fl-nl { color:var(--ocre-claro); }
.footer-tagline { font-size:0.82rem; line-height:1.75; margin-bottom:0.8rem; }
.footer-col h4 { font-family:'Bebas Neue'; font-size:0.9rem; letter-spacing:2px; color:var(--ocre-claro); margin-bottom:0.8rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.4rem; }
.footer-col ul a { color:rgba(255,255,255,0.4); text-decoration:none; font-size:0.82rem; transition:color 0.2s; }
.footer-col ul a:hover { color:var(--ocre-claro); }
.footer-bottom { max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.8rem; font-size:0.75rem; }
.footer-raya { display:flex; height:3px; gap:0; margin-bottom:2rem; max-width:1100px; margin-left:auto; margin-right:auto; }
.footer-raya span:nth-child(1) { flex:1; background:var(--verde); }
.footer-raya span:nth-child(2) { flex:1; background:var(--blanco); opacity:0.2; }
.footer-raya span:nth-child(3) { flex:1; background:var(--rojo); }
.footer-kw { font-size:0.65rem; color:rgba(255,255,255,0.1); max-width:1100px; margin:1rem auto 0; line-height:2.2; }
@media(max-width:960px){
  .hero-inner { grid-template-columns:1fr; text-align:center; }
  .hero-desc { margin:0 auto 2rem; }
  .hero-btns { justify-content:center; }
  .hero-stats { justify-content:center; }
  .hero-frame2 { display:none; }
  .hero-raya { margin:1.2rem auto; }
  .bio-grid { grid-template-columns:1fr; }
  .prop-panel.active { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr 1fr; }
}
@media(max-width:640px){
  .nav-menu { display:none; }
  .hamburger { display:flex; }
  .mobile-menu.open { display:flex; flex-direction:column; position:fixed; top:68px; left:0; right:0; bottom:0; background:var(--blanco); padding:2rem; gap:0; z-index:999; overflow-y:auto; border-top:3px solid var(--ocre); box-shadow:0 4px 20px rgba(200,134,42,0.15); }
  .mobile-menu.open a { color:var(--negro); text-decoration:none; font-weight:700; font-size:1rem; letter-spacing:1.5px; text-transform:uppercase; padding:1rem 0; border-bottom:1px solid var(--borde); display:flex; align-items:center; gap:0.7rem; }
  .pillars { flex-direction:column; gap:0; }
  .pillar { border-right:none; border-bottom:1px solid rgba(255,255,255,0.08); padding:0.8rem 1.5rem; }
  .footer-inner { grid-template-columns:1fr; }
  .hero-stats { flex-wrap:wrap; }
  .cta-form { flex-direction:column; align-items:center; }
  .cta-input { width:100%; max-width:340px; }
  .cta-btn { width:100%; max-width:340px; }
  .prop-tabs { flex-direction:column; border-radius:4px; }
  .prop-tab { border-right:none; border-bottom:1px solid var(--borde); }
  section { padding:4rem 1.5rem; }
}
