/* ── BRAND TOKENS (from Pantone manual) ── */
:root{
  --green:#6B9623;    /* Pantone 370 C */
  --green-dk:#4f7019; /* darken 15% */
  --green-lt:#e8f0d4; /* tint 85% */
  --gray-dk:#53565A;  /* Pantone Cool Gray 11 C */
  --gray-md:#D1D3D4;  /* Pantone Cool Gray 4 C */
  --gray-sub:#8A8C8F; /* Pantone Cool Gray 4 C — texto secundario legible */
  --gray-lt:#F4F4F4;
  --white:#FFFFFF;
  --dark:#1a1a1a;
  --wa:#25D366;
  --group-bg:#53565A; /* fondo seccion Grupo SipHauss — sobreescrito por Customizer */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--dark);font-family:'Open Sans',sans-serif;font-size:15px;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}

/* ── TYPOGRAPHY (brand: Bebas Neue → fallback Montserrat 800) ── */
.t-display{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-.5px;line-height:1.06;text-transform:uppercase}
.t-h2{font-family:'Montserrat',sans-serif;font-weight:700;line-height:1.14}
.t-h3{font-family:'Montserrat',sans-serif;font-weight:600;line-height:1.2}
.t-label{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:3px;text-transform:uppercase}
.t-body{font-family:'Open Sans',sans-serif;font-weight:400;line-height:1.72}

/* ── LAYOUT ── */
.container{max-width:1200px;margin:0 auto;padding:0 48px}
.sec{padding:88px 0}
.sec-gray{padding:88px 0;background:var(--gray-lt)}
.sec-dark{padding:88px 0;background:var(--gray-dk)}
.sec-green{padding:88px 0;background:var(--green)}
.sec-black{padding:88px 0;background:#0d0d0d}

/* ── PREVIEW BAR ── */
.preview-bar{background:var(--gray-dk);color:rgba(255,255,255,.75);text-align:center;padding:9px;font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:10px}
.preview-bar b{background:var(--green);color:#fff;padding:2px 9px;border-radius:2px;font-size:9.5px;letter-spacing:1px}

/* ── HEADER ── */
.site-header{position:sticky;top:0;z-index:999;background:var(--white);border-bottom:1.5px solid var(--gray-md);height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;transition:all .3s}
.site-header.scrolled{height:62px;box-shadow:0 2px 20px rgba(0,0,0,.08)}

/* LOGO SVG reconstruct from brand manual */
.logo-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0}
.logo-icon-svg{width:38px;height:38px}
.logo-text-group{display:flex;flex-direction:column;line-height:1.05}
.logo-brand{font-family:'Montserrat',sans-serif;font-weight:800;font-size:21px;color:var(--green);letter-spacing:2px;text-transform:uppercase}
.logo-sub{font-family:'Montserrat',sans-serif;font-weight:600;font-size:7px;letter-spacing:3.5px;color:var(--gray-dk);text-transform:uppercase}

nav{display:flex;align-items:center;gap:26px}
nav a{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--gray-dk);transition:color .2s;padding:3px 0;border-bottom:2px solid transparent;white-space:nowrap;text-transform:uppercase}
nav a:hover,nav a.active{color:var(--green);border-bottom-color:var(--green)}

.hdr-ctas{display:flex;gap:9px;align-items:center;flex-shrink:0}
.btn-ghost-hdr{font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.5px;color:var(--green);border:1.5px solid var(--green);padding:8px 15px;border-radius:3px;cursor:pointer;background:transparent;transition:all .2s}
.btn-ghost-hdr:hover{background:var(--green-lt)}
.btn-solid-hdr{background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.5px;padding:9px 18px;border-radius:3px;cursor:pointer;border:none;transition:background .2s;text-transform:uppercase}
.btn-solid-hdr:hover{background:var(--green-dk)}

/* ── HERO ── */
.hero{height:calc(100vh - 72px);min-height:600px;max-height:820px;position:relative;overflow:hidden;background:var(--gray-dk)}
.hero-slides{display:flex;height:100%;transition:transform .9s cubic-bezier(.77,0,.18,1);will-change:transform}
.hero-slide{min-width:100%;width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}



.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(10,20,8,.82) 0%,rgba(10,20,8,.6) 45%,rgba(10,20,8,.2) 100%)}
.hero-content{position:relative;z-index:2;padding:0 64px;max-width:820px;align-self:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(107,150,35,.25);border:1px solid rgba(107,150,35,.5);color:#b5db70;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:2.5px;padding:6px 16px;border-radius:2px;margin-bottom:24px;text-transform:uppercase}
.hero h1{font-family:'Montserrat',sans-serif;font-weight:800;font-size:58px;color:#fff;line-height:1.04;margin-bottom:6px;text-transform:uppercase;letter-spacing:-1px}
.hero h1 em{color:var(--green);font-style:normal}
.hero-tagline{font-family:'Montserrat',sans-serif;font-weight:600;font-size:16px;color:rgba(255,255,255,.55);letter-spacing:1px;text-transform:uppercase;margin-bottom:20px}
.hero p{font-family:'Open Sans',sans-serif;color:rgba(255,255,255,.8);font-size:16.5px;line-height:1.7;margin-bottom:38px;max-width:560px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-hero-p{background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;padding:15px 30px;border-radius:3px;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:9px;transition:background .2s;letter-spacing:.5px;text-transform:uppercase}
.btn-hero-p:hover{background:var(--green-dk)}
.btn-hero-o{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;padding:15px 30px;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:all .2s;letter-spacing:.5px;text-transform:uppercase}
.btn-hero-o:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.slide-dots{position:absolute;bottom:30px;left:64px;display:flex;gap:8px;z-index:3}
.dot{width:28px;height:3px;border-radius:2px;background:rgba(255,255,255,.3);cursor:pointer;transition:all .3s}
.dot.active{background:var(--green);width:48px}
.hero-cert-badge{position:absolute;bottom:30px;right:48px;z-index:3;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);border-radius:6px;padding:10px 16px;display:flex;align-items:center;gap:10px}
.cert-label{background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:9px;font-weight:800;letter-spacing:1.5px;padding:3px 8px;border-radius:2px}
.cert-text{font-family:'Open Sans',sans-serif;font-size:11.5px;color:rgba(255,255,255,.75)}

/* ── STATS BAR ── */
.stats-bar{background:var(--green)}
.stats-inner{display:flex;flex-direction:row;flex-wrap:nowrap;max-width:1200px;margin:0 auto;width:100%}
.stat{flex:1;text-align:center;padding:32px 16px;border-right:1px solid rgba(255,255,255,.2)}
.stat:last-child{border-right:none}
.stat-n{font-family:'Montserrat',sans-serif;font-weight:800;font-size:40px;color:#fff;display:block;line-height:1}
.stat-l{font-family:'Open Sans',sans-serif;font-size:11.5px;color:rgba(255,255,255,.75);margin-top:5px;display:block;letter-spacing:.3px}

/* ── MARKET TICKER ── */
.mkt-ticker{background:var(--gray-dk);padding:14px 0}
.mkt-inner{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;gap:0}
.mkt-item{flex:1;display:flex;align-items:center;gap:10px;padding:0 20px;border-right:1px solid rgba(255,255,255,.1);font-family:'Open Sans',sans-serif;font-size:12px;color:rgba(255,255,255,.55)}
.mkt-item:first-child{padding-left:0}
.mkt-item:last-child{border-right:none}
.mkt-item i{color:var(--green);font-size:15px;flex-shrink:0}
.mkt-item strong{color:var(--white);font-family:'Montserrat',sans-serif;font-size:12.5px}

/* ── PVU STRIP ── */
.pvu{background:var(--green-dk);padding:26px 0;text-align:center;border-top:3px solid var(--green)}
.pvu p{font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;color:#fff;letter-spacing:.3px}
.pvu em{color:#c5e87a;font-style:normal}

/* ── EYEBROW / SECTION HEADERS ── */
.eyebrow{font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;color:var(--green);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px}
.h2{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;color:var(--dark);line-height:1.12;margin-bottom:14px;text-transform:uppercase}
.h2-w{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;color:#fff;line-height:1.12;margin-bottom:14px;text-transform:uppercase}
.lead{font-family:'Open Sans',sans-serif;font-size:16px;color:#8A8C8F;line-height:1.75;max-width:580px}
.lead-w{font-family:'Open Sans',sans-serif;font-size:16px;color:rgba(255,255,255,.65);line-height:1.75;max-width:580px}
.rule{width:48px;height:4px;background:var(--green);border-radius:2px;margin:16px 0 0}

/* ── GRID UTILS ── */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.g2-w{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* ── CASA DEMO SECTION ── */
.demo-img-wrap{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.18)}
.demo-img-wrap img{width:100%;height:auto;display:block}
.demo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);padding:20px;display:flex;align-items:center;gap:10px}
.demo-caption span{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:1px}

/* ── PANEL VISUAL SECTION ── */
.panel-img-wrap{border-radius:10px;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.14);position:relative}
.panel-img-wrap img{width:100%;display:block}
.panel-label{position:absolute;top:16px;left:16px;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:2px;padding:5px 12px;border-radius:2px}

/* ── SIP FEATURES ── */
.sip-feats{display:flex;flex-direction:column;gap:22px;margin-top:8px}
.sf{display:flex;align-items:flex-start;gap:16px}
.sf-ico{width:46px;height:46px;background:var(--green-lt);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--green);font-size:21px}
.sf h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--dark);margin-bottom:5px}
.sf p{font-family:'Open Sans',sans-serif;font-size:13px;color:#666;line-height:1.62}

/* ── BUYER PERSONAS ── */
.personas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.pc{border-radius:12px;overflow:hidden;border:1.5px solid var(--gray-md);transition:all .25s}
.pc:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:0 12px 32px rgba(107,150,35,.14)}
.pc-head{padding:22px 22px 16px;position:relative;overflow:hidden}
.pch-1{background:linear-gradient(135deg,#1e4010,#3a6b1a)}
.pch-2{background:linear-gradient(135deg,#1a2a50,#2d4a8a)}
.pch-3{background:linear-gradient(135deg,#4a2a10,#7a4820)}
.pc-ava{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;border:2px solid rgba(255,255,255,.3)}
.pc-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:#fff;margin-bottom:2px;text-transform:uppercase}
.pc-role{font-family:'Open Sans',sans-serif;font-size:11.5px;color:rgba(255,255,255,.65)}
.pc-tag{position:absolute;top:14px;right:14px;font-family:'Montserrat',sans-serif;font-size:8.5px;font-weight:700;letter-spacing:1.5px;padding:3px 8px;border-radius:2px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff}
.pc-body{padding:20px 22px;background:#fff}
.pc-msg{background:var(--green-lt);border-left:3px solid var(--green);border-radius:0 5px 5px 0;padding:11px 13px;margin-bottom:14px;font-family:'Open Sans',sans-serif;font-size:12.5px;color:var(--dark);line-height:1.55;font-style:italic}
.pc-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.pc-list li{display:flex;align-items:center;gap:8px;font-family:'Open Sans',sans-serif;font-size:12px;color:#555}
.pc-list li i{color:var(--green);font-size:13px;flex-shrink:0}
.pc-cta{width:100%;background:transparent;border:1.5px solid var(--green);color:var(--green);font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;padding:9px;border-radius:3px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;letter-spacing:.5px;text-transform:uppercase}
.pc-cta:hover{background:var(--green);color:#fff}

/* ── CALCULADORA ── */
.calc-box{background:#fff;border-radius:12px;padding:34px;box-shadow:0 4px 28px rgba(0,0,0,.09);border:1px solid var(--gray-md)}
.calc-box h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;color:var(--dark);margin-bottom:5px}
.calc-box .cs{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#999;margin-bottom:22px}
.cfield{margin-bottom:18px}
.cfield label{display:block;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.5px;color:#888;margin-bottom:7px;text-transform:uppercase;display:flex;justify-content:space-between}
.cfield label span{color:var(--green);font-size:12px}
.cfield input[type=range]{width:100%;accent-color:var(--green)}
.cfield select{width:100%;border:1.5px solid var(--gray-md);border-radius:5px;padding:11px 13px;font-family:'Open Sans',sans-serif;font-size:13.5px;color:var(--dark);transition:border .2s;background:#fff}
.cfield select:focus{outline:none;border-color:var(--green)}
.calc-res{background:var(--green-lt);border-radius:8px;padding:20px;margin-top:6px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cr{text-align:center}
.cr-n{font-family:'Montserrat',sans-serif;font-weight:800;font-size:26px;color:var(--green-dk);display:block;line-height:1}
.cr-l{font-family:'Open Sans',sans-serif;font-size:10.5px;color:#666;margin-top:3px;display:block}
.calc-note{font-family:'Open Sans',sans-serif;font-size:10.5px;color:#aaa;margin-top:10px;text-align:center}
.btn-calc-cta{width:100%;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;padding:13px;border-radius:3px;border:none;cursor:pointer;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s;letter-spacing:.5px;text-transform:uppercase}
.btn-calc-cta:hover{background:var(--green-dk)}

/* ── COMPARATIVA ── */
.comp-tbl{width:100%;border-collapse:collapse;margin-top:44px;font-family:'Open Sans',sans-serif;font-size:13px}
.comp-tbl th{background:var(--gray-dk);color:#fff;padding:13px 15px;text-align:left;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.comp-tbl th.hl{background:var(--green)}
.comp-tbl td{padding:11px 15px;border-bottom:1px solid #ebebeb;color:#444;vertical-align:middle}
.comp-tbl tr:last-child td{border-bottom:none}
.comp-tbl td:first-child{font-family:'Montserrat',sans-serif;font-weight:600;color:var(--dark);font-size:12.5px}
.comp-tbl td.hl{background:#f2f7e8;font-weight:700;color:var(--green-dk);font-family:'Montserrat',sans-serif}
.comp-tbl tr:hover td{background:#fafafa}
.comp-tbl tr:hover td.hl{background:#e8f2d8}
.cg{color:var(--green);font-weight:700}
.cy{color:#d4930a;font-weight:700}
.cr2{color:#c0392b;font-weight:700}

/* ── SUBMARCAS ── */
.sm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.sm-card{border-radius:10px;padding:26px 24px;border:1.5px solid var(--gray-md);transition:all .24s;display:flex;align-items:flex-start;gap:16px}
.sm-card:hover{border-color:var(--green);box-shadow:0 6px 20px rgba(107,150,35,.12)}
.smi{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.smi-g{background:var(--green-lt);color:var(--green)}
.smi-b{background:#dce5f5;color:#2d4a8a}
.smi-o{background:#f0ddc8;color:#7a4820}
.smi-y{background:#f5ecc0;color:#7a5a00}
.sm-card h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;color:var(--dark);margin-bottom:5px}
.sm-tag{display:inline-block;font-family:'Montserrat',sans-serif;font-size:8.5px;font-weight:700;letter-spacing:1.5px;padding:2px 8px;border-radius:2px;margin-bottom:7px}
.st-g{background:var(--green-lt);color:var(--green)}
.st-b{background:#dce5f5;color:#2d4a8a}
.st-o{background:#f0ddc8;color:#7a4820}
.st-y{background:#f5ecc0;color:#7a5a00}
.sm-card p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#666;line-height:1.6}

/* ── BENEFITS ── */
.ben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.ben{background:#fff;border:1.5px solid var(--gray-md);border-radius:10px;padding:26px 22px;transition:all .24s}
.ben:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 8px 24px rgba(107,150,35,.1)}
.ben-ico{width:46px;height:46px;background:var(--green-lt);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--green);font-size:20px}
.ben h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--dark);margin-bottom:7px}
.ben p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#666;line-height:1.65}

/* ── PRODUCTOS ── */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.prod{border-radius:10px;overflow:hidden;border:1.5px solid var(--gray-md);transition:all .24s}
.prod:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);border-color:var(--green)}
.prod-img{height:190px;display:flex;align-items:center;justify-content:center;position:relative}
.pi1{background:linear-gradient(145deg,#1a4010,#3a6b1a)}
.pi2{background:linear-gradient(145deg,#0d2244,#1a3a6a)}
.pi3{background:linear-gradient(145deg,#2a0f5a,#4a1f9a)}
.prod-badge{position:absolute;top:12px;right:12px;font-family:'Montserrat',sans-serif;font-size:8.5px;font-weight:700;letter-spacing:1.5px;padding:3px 9px;border-radius:2px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);color:#fff}
.prod-icon{font-size:50px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.28));z-index:1;position:relative}
.prod-body{padding:20px;background:#fff}
.prod-body h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--dark);margin-bottom:8px}
.specs-row{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 11px}
.spec{background:var(--green-lt);color:var(--green-dk);font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;padding:2px 7px;border-radius:2px;letter-spacing:.3px}
.prod-body p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#666;line-height:1.62;margin-bottom:14px}
.btn-sm-g{background:transparent;color:var(--green);border:1.5px solid var(--green);font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;padding:8px 15px;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;letter-spacing:.4px;text-transform:uppercase}
.btn-sm-g:hover{background:var(--green);color:#fff}

/* ── PROCESO ── */




.paso h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--dark);margin-bottom:6px}
.paso p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#666;line-height:1.6}

/* ── OBRAS ── */
.obras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:36px}
.obra{overflow:hidden;position:relative;cursor:pointer;border-radius:3px}
.obra-tall{grid-row:span 2}
.obra-wide{grid-column:span 2}
.obra-bg{width:100%;height:220px;display:flex;align-items:center;justify-content:center;transition:transform .4s;background-size:cover;background-position:center}
.obra-tall .obra-bg{height:100%;min-height:445px}
.obra:hover .obra-bg{transform:scale(1.05)}
.ob1{background:linear-gradient(135deg,#1a3a14,#3a6b28) center/cover}
.ob2{background:linear-gradient(135deg,#1a2a3e,#2a4a6a) center/cover}
.ob3{background:linear-gradient(135deg,#3e2a1a,#6a4a28) center/cover}
.ob4{background:linear-gradient(135deg,#2a1a3e,#4a2a6a) center/cover}
.ob5{background:linear-gradient(135deg,#1a3a3a,#2a6060) center/cover}
.obra-ico{font-size:44px;opacity:.3}
.obra-hover{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),transparent 55%);opacity:0;transition:opacity .3s;display:flex;flex-direction:column;justify-content:flex-end;padding:16px}
.obra:hover .obra-hover{opacity:1}
.obra-tag{display:inline-block;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:8.5px;font-weight:700;letter-spacing:1.5px;padding:3px 8px;border-radius:2px;margin-bottom:4px;text-transform:uppercase}
.obra-loc{color:rgba(255,255,255,.8);font-size:11.5px;font-family:'Open Sans',sans-serif}

/* ── ODS ── */
.ods-bar{background:var(--green-lt);padding:36px 0;border-top:2px solid rgba(107,150,35,.25);border-bottom:2px solid rgba(107,150,35,.25)}
.ods-inner{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.ods-lbl{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;color:var(--green-dk);letter-spacing:2.5px;white-space:nowrap;text-transform:uppercase}
.ods-badges{display:flex;gap:9px;flex-wrap:wrap;flex:1}
.ods-b{background:#fff;border:1.5px solid var(--green);border-radius:6px;padding:7px 13px;display:flex;align-items:center;gap:7px;font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;color:var(--green-dk)}
.ods-b i{font-size:16px;color:var(--green)}

/* ── CTA BAND ── */
.cta-band{background:var(--green-dk);padding:76px 0;text-align:center}
.cta-band h2{font-family:'Montserrat',sans-serif;font-size:38px;font-weight:800;color:#fff;margin-bottom:12px;text-transform:uppercase}
.cta-band p{font-family:'Open Sans',sans-serif;color:rgba(255,255,255,.75);font-size:16px;margin-bottom:34px;max-width:500px;margin-left:auto;margin-right:auto}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-wa{background:var(--wa);color:#fff;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;padding:15px 30px;border-radius:3px;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:9px;transition:background .2s;letter-spacing:.5px;text-transform:uppercase}
.btn-wa:hover{background:#1da851}
.btn-wh{background:#fff;color:var(--green-dk);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;padding:15px 30px;border-radius:3px;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:9px;transition:all .2s;letter-spacing:.5px;text-transform:uppercase}
.btn-wh:hover{background:var(--green-lt);color:var(--green-dk)}

/* ── DESCARGAS ── */
.dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:44px}
.dl-cat-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--dark);letter-spacing:.5px;text-transform:uppercase;margin:36px 0 16px;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:2px solid var(--green-lt)}
.dl-cat-title:first-of-type{margin-top:0}
.dl-cat-title i{font-size:16px;color:var(--green)}
.dl-card{background:#fff;border:1.5px solid var(--gray-md);border-radius:8px;padding:18px;display:flex;align-items:center;gap:14px;transition:all .22s}
.dl-card:hover{border-color:var(--green);box-shadow:0 4px 14px rgba(107,150,35,.1)}
.dl-ico{width:44px;height:44px;background:#ffeeee;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:19px;color:#e53935;flex-shrink:0}
.dl-info h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--dark);margin-bottom:2px}
.dl-info p{font-family:'Open Sans',sans-serif;font-size:11px;color:#aaa}
.btn-dl{background:transparent;border:1.5px solid var(--green);color:var(--green);font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;padding:6px 12px;border-radius:3px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s;display:inline-flex;align-items:center;gap:4px;letter-spacing:.4px;text-transform:uppercase}
.btn-dl:hover{background:var(--green);color:#fff}

/* ── CONTACTO ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-top:48px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
.field label{display:block;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:.5px;color:#888;margin-bottom:5px;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--gray-md);border-radius:5px;padding:11px 13px;font-family:'Open Sans',sans-serif;font-size:14px;color:var(--dark);transition:border .2s;background:#fff;-webkit-appearance:none}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green)}
.field textarea{resize:vertical;min-height:96px}
.btn-submit{background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;padding:14px;border-radius:3px;border:none;cursor:pointer;width:100%;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.5px;text-transform:uppercase}
.btn-submit:hover{background:var(--green-dk)}
.ci-list{display:flex;flex-direction:column;gap:22px}
.ci{display:flex;align-items:flex-start;gap:13px}
.ci-ico{width:42px;height:42px;background:var(--green-lt);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0;font-size:18px}
.ci h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--dark);margin-bottom:3px}
.ci p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#666;line-height:1.55}
.map-ph{background:var(--green-lt);border-radius:8px;height:165px;display:flex;align-items:center;justify-content:center;margin-top:8px;border:1.5px dashed rgba(107,150,35,.4);cursor:pointer}
.map-ph:hover{background:#dcedb8}
.map-ph-inner{text-align:center;color:var(--green)}
.map-ph-inner i{font-size:30px;margin-bottom:6px;display:block}
.map-ph-inner p{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px}

/* ── GROUP ── */
.group-band{background:#0a0a0a;padding:88px 0}
.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.grp-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(107,150,35,.18);border:1px solid rgba(107,150,35,.38);color:#a8d455;font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:2.5px;padding:5px 13px;border-radius:2px;margin-bottom:18px;text-transform:uppercase}
.group-band .h2-w{font-size:30px;letter-spacing:0}
.group-band .lead-w{font-size:14.5px}
.grp-perks{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.grp-perks li{display:flex;align-items:center;gap:10px;font-family:'Open Sans',sans-serif;font-size:12.5px;color:rgba(255,255,255,.68)}
.perk-dot{width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0}
.btn-ghost-w2{border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.65);background:transparent;font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:700;padding:11px 20px;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .2s;letter-spacing:.5px;text-transform:uppercase}
.btn-ghost-w2:hover{border-color:var(--green);color:#a8d455}
.login-card{background:#181818;border:1px solid #252525;border-radius:12px;padding:32px}
.login-card h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;color:#fff;margin-bottom:4px}
.login-sub-txt{font-family:'Open Sans',sans-serif;font-size:12px;color:rgba(255,255,255,.36);margin-bottom:24px;display:block}
.lf{margin-bottom:16px}
.lf label{display:block;font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:700;color:rgba(255,255,255,.38);letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}
.lf input{width:100%;background:#0d0d0d;border:1px solid #282828;border-radius:5px;padding:12px 13px;color:#fff;font-family:'Open Sans',sans-serif;font-size:13.5px;transition:border .2s}
.lf input:focus{outline:none;border-color:var(--green)}
.lf input::placeholder{color:#333}
.btn-login-main{width:100%;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;padding:13px;border-radius:5px;border:none;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:7px;letter-spacing:.5px;text-transform:uppercase}
.btn-login-main:hover{background:var(--green-dk)}
.login-ftr{text-align:center;margin-top:16px;display:flex;justify-content:center;gap:16px}
.login-ftr a{font-family:'Open Sans',sans-serif;font-size:11.5px;color:rgba(255,255,255,.32);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s}
.login-ftr a:hover{color:#a8d455}

/* ── FOOTER ── */
.site-footer{background:#53565A;padding:60px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:44px}
.fd{font-family:'Open Sans',sans-serif;font-size:12.5px;color:rgba(255,255,255,.4);line-height:1.75;max-width:250px;margin:14px 0 18px}
.soc-row{display:flex;gap:8px}
.soc-b{width:34px;height:34px;background:rgba(255,255,255,.06);border-radius:7px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.48);font-size:16px;cursor:pointer;border:none;transition:all .2s}
.soc-b:hover{background:var(--green);color:#fff}
.site-footer h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:9.5px;letter-spacing:2.5px;color:#fff;margin-bottom:14px;text-transform:uppercase}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-links a{font-family:'Open Sans',sans-serif;font-size:12.5px;color:rgba(255,255,255,.38);transition:color .2s;cursor:pointer}
.footer-links a:hover{color:var(--green)}
.footer-ci{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-ci li{display:flex;align-items:flex-start;gap:8px;font-family:'Open Sans',sans-serif;font-size:12.5px;color:rgba(255,255,255,.38)}
.footer-ci li i{color:var(--green);font-size:13px;flex-shrink:0;margin-top:2px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:20px 0;display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-family:'Open Sans',sans-serif;font-size:11.5px;color:rgba(255,255,255,.26)}
.fbl{display:flex;gap:20px}
.fbl a{font-family:'Open Sans',sans-serif;font-size:11.5px;color:rgba(255,255,255,.26);cursor:pointer;transition:color .2s}
.fbl a:hover{color:rgba(255,255,255,.55)}

/* ── CHATBOT ── */
.chatbot-wrap{position:fixed;bottom:26px;right:26px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.chat-win{background:#fff;border-radius:14px;width:348px;box-shadow:0 12px 50px rgba(0,0,0,.18);border:1px solid var(--gray-md);overflow:hidden;display:none;flex-direction:column;max-height:530px}
.chat-win.open{display:flex}
.chat-head{background:var(--green);padding:14px 16px;display:flex;align-items:center;gap:11px;flex-shrink:0}
.chat-ava{width:36px;height:36px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0}
.chat-head-info h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:#fff;margin-bottom:1px}
.chat-head-info span{font-size:10.5px;color:rgba(255,255,255,.65)}
.chat-close-btn{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.65);cursor:pointer;font-size:18px}
.chat-close-btn:hover{color:#fff}
.chat-body{flex:1;padding:15px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;background:#f7f7f7}
.cmsg{display:flex;flex-direction:column;max-width:88%}
.cmsg.bot{align-self:flex-start}
.cmsg.user{align-self:flex-end}
.cbubble{padding:10px 13px;border-radius:13px;font-family:'Open Sans',sans-serif;font-size:12.5px;line-height:1.55}
.bot .cbubble{background:#fff;color:var(--dark);border-bottom-left-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.user .cbubble{background:var(--green);color:#fff;border-bottom-right-radius:3px}
.chat-opts{display:flex;flex-wrap:wrap;gap:6px;padding:7px 14px 12px;background:#f7f7f7;flex-shrink:0}
.copt{background:#fff;border:1.5px solid var(--green);color:var(--green);font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;padding:6px 11px;border-radius:16px;cursor:pointer;transition:all .2s;letter-spacing:.2px}
.copt:hover{background:var(--green);color:#fff}
.chat-foot{padding:8px 15px;border-top:1px solid #efefef;text-align:center;font-family:'Open Sans',sans-serif;font-size:10.5px;color:#bbb;background:#fff;flex-shrink:0}
.chat-foot b{color:var(--wa)}
.chat-toggle-btn{width:58px;height:58px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(107,150,35,.42);border:none;color:#fff;font-size:23px;flex-shrink:0;transition:background .2s}
.chat-toggle-btn:hover{background:var(--green-dk)}
.wa-fab{position:fixed;bottom:96px;right:26px;z-index:9998;background:var(--wa);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px rgba(37,211,102,.42);color:#fff;font-size:22px;border:none;transition:background .2s}
.wa-fab:hover{background:#1da851}

/* ── APA BADGE ── */
.apa-strip{display:inline-flex;align-items:center;gap:8px;background:rgba(184,134,11,.14);border:1.5px solid rgba(184,134,11,.35);border-radius:5px;padding:7px 13px;margin-top:14px}
.apa-strip span{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;color:#8a6000;letter-spacing:1px;text-transform:uppercase}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .g2,.g2-w,.contact-grid,.group-grid,.footer-grid{grid-template-columns:1fr}
  .g3,.personas-grid,.ben-grid,.prod-grid{grid-template-columns:repeat(2,1fr)}
  
  nav{gap:14px}.sm-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .site-header{padding:0 18px}nav{display:none}
  .hero h1{font-size:36px}.hero-content{padding:0 24px}
  .stats-inner{display:flex;flex-direction:row;flex-wrap:nowrap;max-width:1200px;margin:0 auto;width:100%}
  .stat{flex:1;text-align:center;padding:32px 16px;border-right:1px solid rgba(255,255,255,.2)}
  .stat:last-child{border-bottom:none}
  .g3,.personas-grid,.ben-grid,.prod-grid,.dl-grid{grid-template-columns:1fr}
  .obras-grid{grid-template-columns:1fr 1fr}.obra-tall{grid-row:span 1}.obra-wide{grid-column:span 2}
  .container{padding:0 18px}.h2,.h2-w{font-size:26px}
  .calc-res{grid-template-columns:1fr}.mkt-inner{flex-direction:column;gap:10px}
  .mkt-item{border-right:none;padding:4px 0}.ods-inner{flex-direction:column}
  .chat-win{width:calc(100vw - 36px)}
}

/* ── SLIDE 2 MOSAIC ── */
.s2-mosaic{position:absolute;right:0;top:0;bottom:0;width:42%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;z-index:2;opacity:.75}
.s2-photo{background-size:cover;background-position:center;transition:opacity .4s}
.s2-mosaic::before{content:'';position:absolute;left:0;top:0;bottom:0;width:120px;background:linear-gradient(to right,rgba(4,14,4,1),transparent);z-index:1}
.s2-content{max-width:520px}
.s2-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.s2-spec{display:flex;align-items:flex-start;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(107,150,35,.25);border-radius:4px;padding:10px 12px}
.s2-spec i{font-size:18px;color:#6B9623;flex-shrink:0;margin-top:2px}
.s2-spec span{font-family:'Open Sans',sans-serif;font-size:12px;color:rgba(255,255,255,.8);line-height:1.4}
.s2-spec span em{display:block;font-style:normal;font-size:10.5px;color:rgba(255,255,255,.45);margin-top:2px;font-family:'Montserrat',sans-serif;letter-spacing:.3px}

/* Nav Group highlight + Sistema Modular */
.nav-group{
  background:var(--green) !important;
  color:#fff !important;
  border:none !important;
  padding:6px 14px !important;
  border-radius:3px !important;
  font-weight:700 !important;
  letter-spacing:.5px !important;
  transition:background .2s !important;
}
.nav-group:hover{
  background:var(--green-dk) !important;
  color:#fff !important;
  border-bottom-color:transparent !important;
}

/* Subtítulos / bajadas — Pantone Cool Gray 4 C (#D1D3D4 ref → texto legible #8A8C8F) */
.lead,.section-lead{color:#8A8C8F !important}
.sec p:not(.eyebrow):not([class]),.sec-gray p:not(.eyebrow):not([class]){color:#8A8C8F}
.mkt-item{color:rgba(255,255,255,.62) !important}
.sip-feat p,.ben p,.sm-card p,.prog-card p,.pc-role,.prod-body p{color:#8A8C8F !important}

/* ── FAQ ── */
.faq-section{padding:88px 0;background:var(--gray-lt)}
.faq-intro{max-width:640px;margin-bottom:52px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--gray-md);border-radius:12px;overflow:hidden;background:#fff}
.faq-item{border-bottom:1.5px solid var(--gray-md);border-right:1.5px solid var(--gray-md)}
.faq-item:nth-child(2n){border-right:none}
.faq-item:last-child{border-bottom:none}
.faq-item:nth-last-child(2):nth-child(odd){border-bottom:none}
.faq-item-full{grid-column:span 2;border-right:none;border-bottom:none}
.faq-toggle{width:100%;text-align:left;background:none;border:none;padding:22px 26px;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.faq-toggle:hover{background:var(--green-lt)}
.faq-toggle.open{background:var(--green-lt)}
.faq-q{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13.5px;color:var(--dark);line-height:1.4;text-align:left;flex:1}
.faq-toggle.open .faq-q{color:var(--green-dk)}
.faq-icon{width:26px;height:26px;background:var(--gray-lt);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gray-dk);font-size:14px;transition:all .25s;margin-top:1px}
.faq-toggle.open .faq-icon{background:var(--green);color:#fff;transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s ease;padding:0 26px}
.faq-answer.open{max-height:320px;padding:0 26px 22px}
.faq-answer p{font-family:'Open Sans',sans-serif;font-size:13.5px;color:var(--gray-sub);line-height:1.78}
.faq-answer strong{color:var(--green-dk);font-family:'Montserrat',sans-serif;font-weight:700}
.faq-answer a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.faq-cta-row{text-align:center;margin-top:36px}
.faq-cta-row p{font-family:'Open Sans',sans-serif;font-size:14px;color:var(--gray-sub);margin-bottom:14px}
@media(max-width:768px){
  .faq-grid{grid-template-columns:1fr}
  .faq-item,.faq-item-full{grid-column:auto;border-right:none;border-bottom:1.5px solid var(--gray-md)}
  .faq-item:last-child,.faq-item-full:last-child{border-bottom:none}
}

/* ════════════════════════════════════════════════════════
 * ESTILOS ADICIONALES — Módulos WordPress
 * ════════════════════════════════════════════════════════ */

/* ── Logo fallback / custom-logo wrapper ── */
.logo-wrap img,
.logo-wrap .custom-logo { height: 50px; width: auto; display: block; }
.logo-fallback-text { font-family:'Montserrat',sans-serif; font-weight:800; font-size:20px; color:var(--green); letter-spacing:1.5px; text-transform:uppercase; }

/* ── Nav dropdown (submenús nativos de WP) ── */
.main-nav-list { display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0; }
.main-nav-list li { position:relative; }
.main-nav-list .sub-menu { display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--gray-md); border-radius:6px; box-shadow:0 8px 24px rgba(0,0,0,.1); padding:8px 0; min-width:200px; list-style:none; z-index:50; }
.main-nav-list li:hover > .sub-menu { display:block; }
.main-nav-list .sub-menu li { width:100%; }
.main-nav-list .sub-menu a { display:block; padding:9px 18px; font-size:11px; }
.main-nav-list .sub-menu a:hover { background:var(--green-lt); color:var(--green-dk); }

/* ── Botón destacado del menú: "Grupo SipHauss" ── */
.nav-group-highlight {
	background: var(--green) !important;
	color: #fff !important;
	border: none !important;
	padding: 7px 16px !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	letter-spacing: .5px !important;
	transition: background .2s !important;
}
.nav-group-highlight:hover { background: var(--green-dk) !important; border-bottom-color: transparent !important; color:#fff !important; }

/* ── Mobile menu drawer ── */
.mobile-menu-toggle { display:none; background:none; border:none; cursor:pointer; font-size:24px; color:var(--gray-dk); padding:6px; }
.mobile-menu-drawer { position:fixed; top:0; right:-320px; width:300px; height:100vh; background:#fff; z-index:1100; box-shadow:-8px 0 30px rgba(0,0,0,.15); transition:right .3s ease; padding:70px 24px 24px; overflow-y:auto; }
.mobile-menu-drawer.open { right:0; }
.mobile-menu-drawer .main-nav-list { flex-direction:column; align-items:flex-start; gap:4px; }
.mobile-menu-drawer .main-nav-list li { width:100%; }
.mobile-menu-drawer .nav-link { display:block; padding:12px 0; width:100%; border-bottom:1px solid var(--gray-lt); }
.mobile-menu-drawer .sub-menu { position:static; box-shadow:none; border:none; padding-left:16px; display:block; }
.mobile-menu-close { position:absolute; top:20px; right:20px; background:none; border:none; font-size:22px; cursor:pointer; color:var(--gray-dk); }
.mobile-menu-overlay { position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1090; display:none; }
.mobile-menu-overlay.open { display:block; }

@media(max-width:1024px){
	.main-nav { display:none; }
	.mobile-menu-toggle { display:block; }
}

/* ── Empty states (sin contenido aún) ── */
.hero-empty-state { display:flex; align-items:center; justify-content:center; height:400px; background:var(--gray-lt); color:var(--gray-sub); font-family:'Open Sans',sans-serif; text-align:center; padding:24px; }
.image-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; height:320px; background:var(--gray-lt); border:2px dashed var(--gray-md); border-radius:10px; color:var(--gray-sub); text-align:center; padding:24px; }
.image-placeholder i { font-size:40px; margin-bottom:10px; opacity:.5; }

/* ── Persona cards con imagen de fondo en header ── */
.pc-head { position:relative; background-size:cover; background-position:center; }
.pc-head-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,0,0,.55),rgba(0,0,0,.25)); }
.pc-head > *:not(.pc-head-overlay) { position:relative; z-index:1; }
.pc-color-green:not([style*="background-image"]) { background:linear-gradient(135deg,#1e4010,#3a6b1a); }
.pc-color-blue:not([style*="background-image"]) { background:linear-gradient(135deg,#1a2a50,#2d4a8a); }
.pc-color-orange:not([style*="background-image"]) { background:linear-gradient(135deg,#4a2a10,#7a4820); }

/* ── Ecosistema cards con imagen ── */
.sm-card { display:flex; flex-direction:column; border-radius:12px; overflow:hidden; border:1.5px solid var(--gray-md); transition:all .24s; }
.sm-card:hover { border-color:var(--green); box-shadow:0 8px 24px rgba(107,150,35,.12); }
.sm-card-img { height:140px; background-size:cover; background-position:center; }
.sm-card-body { padding:20px; }

/* ── Productos síntesis cards (home) ── */
.prod-synth-card { border-radius:10px; overflow:hidden; border:1.5px solid var(--gray-md); transition:all .24s; background:#fff; }
.prod-synth-card:hover { border-color:var(--green); transform:translateY(-3px); box-shadow:0 10px 28px rgba(107,150,35,.12); }
.prod-synth-head { background:linear-gradient(135deg,#1e4010,#3a6b1a); background-size:cover; background-position:center; padding:22px 20px 18px; position:relative; min-height:90px; display:flex; align-items:flex-end; }
.prod-synth-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.6),transparent 60%); }
.prod-synth-title { position:relative; z-index:1; font-family:'Montserrat',sans-serif; font-weight:800; font-size:17px; color:#fff; text-transform:uppercase; }
.prod-synth-body { padding:16px 20px; }
.prod-synth-link { display:inline-flex; align-items:center; gap:6px; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; color:var(--green); text-decoration:none; }
.btn-catalog-cta { display:inline-flex; align-items:center; gap:10px; background:var(--green); color:#fff; font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; padding:15px 36px; border-radius:3px; letter-spacing:.5px; text-transform:uppercase; text-decoration:none; transition:background .2s; }
.btn-catalog-cta:hover { background:var(--green-dk); }
.catalog-cta-sub { font-family:'Open Sans',sans-serif; font-size:12px; color:var(--gray-sub); margin-top:10px; }

/* ── Group teaser section ── */
.group-teaser-section { padding:80px 0; transition: background .2s; }
.group-teaser-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.group-resources-preview { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:28px; }
.grp-label { font-family:'Montserrat',sans-serif; font-size:10.5px; font-weight:700; color:rgba(255,255,255,.5); letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; }
.grp-resource-list { display:flex; flex-direction:column; gap:10px; }
.grp-resource { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.05); border-radius:6px; padding:12px 14px; }
.grp-resource i { font-size:18px; color:var(--green); flex-shrink:0; }
.gr-title { font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; color:rgba(255,255,255,.85); }
.gr-sub { font-family:'Open Sans',sans-serif; font-size:11px; color:rgba(255,255,255,.4); }
.gr-badge { margin-left:auto; font-family:'Montserrat',sans-serif; font-size:9px; font-weight:700; padding:2px 8px; border-radius:2px; white-space:nowrap; }
.gr-free { background:var(--green-lt); color:var(--green-dk); }
.gr-locked { background:rgba(255,255,255,.08); color:rgba(255,255,255,.4); border:1px solid rgba(255,255,255,.1); }
.grp-see-all { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:16px; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; color:var(--green); text-decoration:none; }
.btn-group-solid { background:var(--green); color:#fff; font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; padding:13px 24px; border-radius:3px; display:inline-flex; align-items:center; gap:8px; letter-spacing:.5px; text-transform:uppercase; text-decoration:none; transition:background .2s; }
.btn-group-solid:hover { background:var(--green-dk); }
.btn-group-outline { border:1.5px solid rgba(255,255,255,.25); color:rgba(255,255,255,.78); font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; padding:13px 24px; border-radius:3px; display:inline-flex; align-items:center; gap:8px; letter-spacing:.5px; text-transform:uppercase; text-decoration:none; transition:all .2s; }
.btn-group-outline:hover { border-color:var(--green); color:#a8d455; }
.grp-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(107,150,35,.18); border:1px solid rgba(107,150,35,.4); color:#a8d455; font-family:'Montserrat',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:2.5px; padding:5px 14px; border-radius:2px; margin-bottom:18px; text-transform:uppercase; }
.grp-perks { list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:28px; padding:0; }
.grp-perks li { display:flex; align-items:center; gap:10px; font-family:'Open Sans',sans-serif; font-size:13px; color:rgba(255,255,255,.72); }
.perk-dot { width:7px; height:7px; background:var(--green); border-radius:50%; flex-shrink:0; }

/* ── Blog ── */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.blog-card { border:1.5px solid var(--gray-md); border-radius:10px; overflow:hidden; transition:all .24s; }
.blog-card:hover { border-color:var(--green); box-shadow:0 10px 28px rgba(107,150,35,.1); transform:translateY(-3px); }
.blog-card-img { display:block; height:180px; background-size:cover; background-position:center; background-color:var(--gray-lt); }
.blog-card-body { padding:20px; }
.blog-date { font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700; color:var(--green); letter-spacing:1px; text-transform:uppercase; }
.blog-card-body h3 { font-family:'Montserrat',sans-serif; font-size:16px; margin:8px 0; }
.blog-card-body h3 a { color:var(--dark); text-decoration:none; }
.blog-card-body p { font-family:'Open Sans',sans-serif; font-size:13px; color:var(--gray-sub); line-height:1.6; }
.blog-readmore { display:inline-flex; align-items:center; gap:6px; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; color:var(--green); text-decoration:none; margin-top:10px; }
.blog-content { font-family:'Open Sans',sans-serif; font-size:15px; line-height:1.8; color:#444; }
.blog-content h2, .blog-content h3 { font-family:'Montserrat',sans-serif; color:var(--dark); margin:28px 0 14px; }
.blog-content p { margin-bottom:18px; }
.blog-content img { border-radius:8px; margin:20px 0; }
.pagination { margin-top:40px; display:flex; justify-content:center; gap:8px; }
.pagination a, .pagination span { padding:8px 14px; border:1px solid var(--gray-md); border-radius:4px; font-family:'Montserrat',sans-serif; font-size:12px; text-decoration:none; color:var(--dark); }
.pagination .current { background:var(--green); color:#fff; border-color:var(--green); }

/* ── Form feedback message ── */
.form-msg { margin-top:14px; padding:12px 16px; border-radius:6px; font-family:'Open Sans',sans-serif; font-size:13px; display:none; }
.form-msg.success { display:block; background:var(--green-lt); color:var(--green-dk); border:1px solid rgba(107,150,35,.3); }
.form-msg.error { display:block; background:#fde8e8; color:#a83232; border:1px solid #f0b8b8; }

@media(max-width:1024px){
	.group-teaser-grid { grid-template-columns:1fr; }
	.blog-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
	.blog-grid { grid-template-columns:1fr; }
}

/* ════════════════════════════════════════════════════════
 * PÁGINA PRODUCTOS — Catálogo técnico (panel-card, filtros, tabla comparativa)
 * ════════════════════════════════════════════════════════ */
.page-hero{background:linear-gradient(105deg,#3a5212 0%,#4a601a 28%,#53565A 72%,#47494c 100%);padding:72px 48px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(107,150,35,.2) 0%,transparent 55%)}
.page-hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:.5px;color:rgba(255,255,255,.4);margin-bottom:18px;text-transform:uppercase}
.breadcrumb a{color:rgba(255,255,255,.4);transition:color .2s;text-decoration:none}
.breadcrumb a:hover{color:var(--green)}
.page-hero h1{font-family:'Montserrat',sans-serif;font-weight:800;font-size:42px;color:#fff;line-height:1.06;text-transform:uppercase;letter-spacing:-.5px;margin-bottom:14px}
.page-hero p{font-family:'Open Sans',sans-serif;font-size:15px;color:rgba(255,255,255,.65);line-height:1.75;max-width:620px}

.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:40px;flex-wrap:wrap}
.filter-label{font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;color:var(--gray-dk);letter-spacing:1px;text-transform:uppercase;margin-right:4px}
.filter-btn{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;padding:8px 18px;border-radius:20px;border:1.5px solid var(--gray-md);color:var(--gray-dk);background:#fff;cursor:pointer;transition:all .2s}
.filter-btn:hover,.filter-btn.active{background:var(--green);color:#fff;border-color:var(--green)}

.panels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.panel-card{border-radius:12px;overflow:hidden;border:1.5px solid var(--gray-md);transition:all .25s;background:#fff}
.panel-card:hover{border-color:var(--green);box-shadow:0 12px 36px rgba(107,150,35,.14);transform:translateY(-3px)}
.panel-card.hidden{display:none}
.pc-tipo{font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px}
.pc-nombre{font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;color:#fff;line-height:1.1;text-transform:uppercase}
.pc-esp-badge{display:block;width:100%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:4px;padding:7px 10px;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:800;color:#fff;text-align:center;line-height:1.1;margin-top:10px}
.pc-esp-badge span{display:block;font-size:8.5px;font-weight:600;letter-spacing:.5px;color:rgba(255,255,255,.6);margin-top:1px}
.pc-usos{margin-top:10px;display:flex;gap:5px;flex-wrap:wrap}
.uso-tag{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:2px;padding:2px 8px;font-family:'Montserrat',sans-serif;font-size:8.5px;font-weight:700;color:rgba(255,255,255,.85);text-transform:uppercase}
.pch-muro{background:linear-gradient(135deg,#1e4010,#3a6b1a);padding:22px}
.pch-losa{background:linear-gradient(135deg,#2e3133,#53565A);padding:22px}
.pch-divisorio{background:linear-gradient(135deg,#5a3a1a,#7a5020);padding:22px}
.pc-specs{padding:18px 20px}
.spec-table{width:100%;border-collapse:collapse}
.spec-table tr{border-bottom:1px solid #f0f0f0}
.spec-table tr:last-child{border-bottom:none}
.spec-table td{padding:7px 0;font-size:12.5px}
.spec-table td:first-child{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;color:var(--gray-dk);text-transform:uppercase}
.spec-table td:last-child{font-weight:600;text-align:right}
.spec-highlight{color:var(--green-dk);font-weight:700!important;font-family:'Montserrat',sans-serif!important}
.pc-footer{padding:14px 20px 18px;border-top:1px solid #f0f0f0;display:flex;gap:8px}
.btn-ficha{flex:1;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;padding:10px 12px;border-radius:3px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;text-transform:uppercase}
.btn-ficha:hover{background:var(--green-dk);color:#fff}
.btn-cot{flex:1;background:transparent;color:var(--green);border:1.5px solid var(--green);font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;padding:10px 12px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;text-transform:uppercase}
.btn-cot:hover{background:var(--green);color:#fff}

.comp-table{width:100%;border-collapse:collapse;font-family:'Open Sans',sans-serif;font-size:13px}
.comp-table th{background:var(--gray-dk);color:#fff;padding:13px 15px;text-align:left;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.comp-table th.hl{background:var(--green)}
.comp-table td{padding:11px 15px;border-bottom:1px solid #ebebeb;color:#555}
.comp-table tr:last-child td{border-bottom:none}
.comp-table td:first-child{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;color:var(--dark)}
.comp-table td.hl{background:#f2f8e6;font-weight:700;color:var(--green-dk);font-family:'Montserrat',sans-serif}
.comp-table tr:hover td{background:#fafafa}
.cg{color:var(--green);font-weight:700}
.cy{color:#d4930a;font-weight:700}
.cr2{color:#c0392b;font-weight:700}

.cta-band{background:var(--green-dk);padding:76px 0;text-align:center}
.cta-band h2{font-family:'Montserrat',sans-serif;font-size:38px;font-weight:800;color:#fff;margin-bottom:12px;text-transform:uppercase}
.cta-band p{font-family:'Open Sans',sans-serif;color:rgba(255,255,255,.78);font-size:16px;margin-bottom:36px;max-width:500px;margin:0 auto 36px}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-wa{background:#25D366;color:#fff;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;padding:15px 30px;border-radius:4px;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:9px;text-decoration:none;text-transform:uppercase}
.btn-wa:hover{background:#1da851;color:#fff}
.btn-wh{background:#fff;color:var(--green-dk);font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;padding:15px 30px;border-radius:4px;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:9px;text-decoration:none;text-transform:uppercase}
.btn-wh:hover{background:var(--green-lt);color:var(--green-dk)}

@media(max-width:1024px){ .panels-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:768px){ .panels-grid{grid-template-columns:1fr} .page-hero{padding:44px 20px} .page-hero h1{font-size:30px} }

/* ════════════════════════════════════════════════════════
 * CLASES FALTANTES — completar consistencia (FAQ CTA, calc labels, contenido genérico)
 * ════════════════════════════════════════════════════════ */
.btn-faq-cta{background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;padding:13px 28px;border-radius:3px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;letter-spacing:.5px;text-transform:uppercase;transition:background .2s}
.btn-faq-cta:hover{background:var(--green-dk)}
.calc-box-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;color:var(--dark);margin:0}
.calc-badge{background:var(--green-lt);color:var(--green-dk);font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:1px;padding:3px 8px;border-radius:2px;text-transform:uppercase}
.entry-content{font-family:'Open Sans',sans-serif;font-size:15px;line-height:1.8;color:#444}
.entry-content h2,.entry-content h3{font-family:'Montserrat',sans-serif;color:var(--dark);margin:24px 0 14px}
.entry-content p{margin-bottom:16px}
.entry-content img{border-radius:8px;margin:18px 0;max-width:100%}
.entry-content ul,.entry-content ol{margin:0 0 16px 22px}
.contact-form{display:flex;flex-direction:column}
.memb-form{background:#fff;border:1.5px solid var(--gray-md);border-radius:12px;padding:32px}
.memb-form h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;color:var(--dark);margin-bottom:20px}
.comments-area{margin-top:48px;padding-top:32px;border-top:1px solid var(--gray-md)}
.comments-area h3{font-family:'Montserrat',sans-serif;font-size:18px;margin-bottom:20px}
.comment-list{list-style:none;display:flex;flex-direction:column;gap:18px}
.widget{margin-bottom:20px}
.widget h4{font-family:'Montserrat',sans-serif;font-size:13px;color:#fff;margin-bottom:10px}

/* ════════════════════════════════════════════════════════
 * SISTEMA MODULAR — page-sistema-modular.php
 * ════════════════════════════════════════════════════════ */
.page-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(107,150,35,.18);border:1px solid rgba(107,150,35,.4);color:#a8d455;font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:2.5px;padding:5px 14px;border-radius:2px;margin-bottom:18px;text-transform:uppercase}
.hero-tags{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:24px}
.mod-hero .hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.hero-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:3px;padding:7px 14px;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;color:rgba(255,255,255,.75);letter-spacing:.5px;text-transform:uppercase}
.hero-tag i{color:#a8d455;font-size:14px}

.product-types{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.type-card{border-radius:14px;overflow:hidden;border:1.5px solid var(--gray-md);transition:all .28s;display:flex;flex-direction:column;background:#fff;position:relative}
.type-card:hover{border-color:var(--green);transform:translateY(-5px);box-shadow:0 16px 40px rgba(107,150,35,.14)}
.type-card-featured{border-color:var(--green);box-shadow:0 8px 24px rgba(107,150,35,.1)}
.type-card-ribbon{background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:1.5px;text-align:center;padding:6px;text-transform:uppercase}
.type-card-img{height:240px;position:relative;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end}
.type-card-color-green{background:linear-gradient(145deg,#1a3a0d,#2d5a14)}
.type-card-color-blue{background:linear-gradient(145deg,#0d2244,#1a3a6a)}
.type-card-color-purple{background:linear-gradient(145deg,#2a1060,#4a2090)}
.type-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.1) 50%)}
.type-card-badge{position:absolute;top:14px;left:14px;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;border-radius:2px;text-transform:uppercase;z-index:1}
.type-card-title{position:relative;z-index:1;padding:16px 18px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;color:#fff;text-transform:uppercase;line-height:1.1}
.type-card-title em{display:block;font-style:normal;font-size:11px;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:1px;margin-top:3px}
.type-card-body{padding:22px 20px;background:#fff;flex:1;display:flex;flex-direction:column}
.type-card-desc{font-family:'Open Sans',sans-serif;font-size:13.5px;color:var(--gray-sub);line-height:1.68;margin-bottom:14px}
.type-card-desc p{margin-bottom:10px}

.spec-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.spec-pill{display:inline-flex;align-items:center;gap:5px;background:var(--green-lt);color:var(--green-dk);font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;padding:3px 9px;border-radius:3px;letter-spacing:.3px}
.spec-pill i{font-size:12px}

.feat-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:18px;padding:0}
.feat-list li{display:flex;align-items:flex-start;gap:9px;font-family:'Open Sans',sans-serif;font-size:12.5px;color:#555;line-height:1.5}
.feat-list li i{font-size:14px;color:var(--green);flex-shrink:0;margin-top:1px}

.panel-info-box{background:var(--green-lt);border-radius:6px;padding:12px 14px;margin-bottom:16px}
.panel-info-label{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;color:var(--green-dk);margin-bottom:4px}
.panel-info-text{font-family:'Open Sans',sans-serif;font-size:12px;color:#555}

.btn-type{width:100%;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;padding:12px;border-radius:4px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:background .2s;letter-spacing:.5px;text-transform:uppercase}
.btn-type:hover{background:var(--green-dk)}
.btn-type-o{width:100%;background:transparent;color:var(--green);border:1.5px solid var(--green);font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;padding:12px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .2s;letter-spacing:.5px;text-transform:uppercase;margin-top:8px;text-decoration:none}
.btn-type-o:hover{background:var(--green);color:#fff}

/* ── Proceso (reutilizado en Modular y Productos) ── */
.proceso{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:44px;position:relative}
.proceso::before{content:'';position:absolute;top:24px;left:5%;right:5%;height:2px;background:var(--green-lt);z-index:0}
.paso{text-align:center;position:relative;z-index:1;padding:0 8px}
.paso-n{width:48px;height:48px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:0 0 0 5px var(--green-lt);color:#fff;font-size:18px}
.paso h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;color:var(--dark);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.paso p{font-family:'Open Sans',sans-serif;font-size:11px;color:var(--gray-sub);line-height:1.5}

/* ── Recursos bloqueados (Grupo SipHauss) ── */
.dl-card-locked{opacity:.7;background:#fafafa}
.dl-card-locked .dl-ico{background:#eee;color:#999}

@media(max-width:1024px){
	.product-types{grid-template-columns:repeat(2,1fr)}
	.proceso{grid-template-columns:repeat(3,1fr);gap:24px}
	.proceso::before{display:none}
}
@media(max-width:768px){
	.product-types{grid-template-columns:1fr}
	.proceso{grid-template-columns:repeat(2,1fr)}
}

/* ════════════════════════════════════════════════════════
 * PÁGINA GRUPO SIPHAUSS — v1.2.0
 * Prefijos: grp-  |  Clases únicas de esta página
 * ════════════════════════════════════════════════════════ */

/* ── Hero: fondo degradado Pantone 370C verde → Cool Gray 11C ── */
.grp-page-hero {
  background: linear-gradient(105deg, #3a5212 0%, #4a601a 28%, #53565A 72%, #47494c 100%);
  padding: 72px 48px;
  position: relative;
  overflow: hidden;
}
.grp-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.04) 50%, rgba(0,0,0,.2) 100%);
  pointer-events: none;
}

/* ── Grid interno 2 columnas ── */
.grp-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.grp-col-left,
.grp-col-right { position: relative; z-index: 1; }

/* ── Textos del hero ── */
.grp-hero-h1 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 42px;
  color: #fff;
  line-height: 1.06;
  text-transform: uppercase;
  letter-spacing: -.5px;
  margin-bottom: 14px;
}
.grp-hero-h1 em { color: #a8d455; font-style: normal; }

.grp-hero-intro {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,.65);
  line-height: 1.75;
  margin-bottom: 24px;
}

/* ── Breadcrumb (dentro del hero, texto claro) ── */
.grp-page-hero .breadcrumb {
  color: rgba(255,255,255,.4);
  margin-bottom: 18px;
}
.grp-page-hero .breadcrumb a { color: rgba(255,255,255,.4); }
.grp-page-hero .breadcrumb a:hover { color: var(--green); }
.grp-page-hero .breadcrumb span { color: rgba(255,255,255,.7); }

/* ── Badge ── */
.grp-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(107,150,35,.18);
  border: 1px solid rgba(107,150,35,.4);
  color: #a8d455;
  font-family: 'Montserrat', sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 2.5px;
  padding: 5px 14px;
  border-radius: 2px;
  margin-bottom: 18px;
  text-transform: uppercase;
}

/* ── Perks list ── */
.perks-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
  padding: 0;
}
.perks-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,.72);
}
.perk-dot {
  width: 7px;
  height: 7px;
  background: var(--green);
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

/* ── Botón ghost sobre fondo oscuro ── */
.btn-ghost-w {
  border: 1.5px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.7);
  background: transparent;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  padding: 12px 22px;
  border-radius: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: all .2s;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.btn-ghost-w:hover { border-color: var(--green); color: #a8d455; }

/* ── Login Card ── */
.login-card {
  background: rgba(15,20,10,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 34px;
}
.login-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 19px;
  color: #fff;
  margin-bottom: 4px;
}
.login-sub {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.35);
  margin-bottom: 26px;
  display: block;
}
.lfield { margin-bottom: 16px; }
.lfield label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  color: rgba(255,255,255,.38);
  letter-spacing: 1px;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.lfield input {
  width: 100%;
  background: rgba(0,0,0,.4);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 5px;
  padding: 12px 14px;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  transition: border .2s;
  box-sizing: border-box;
}
.lfield input:focus { outline: none; border-color: var(--green); }
.lfield input::placeholder { color: rgba(255,255,255,.2); }

.btn-login {
  width: 100%;
  background: var(--green);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  padding: 14px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  transition: background .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.btn-login:hover { background: var(--green-dk); }

.login-links {
  text-align: center;
  margin-top: 16px;
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.login-links a {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.32);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s;
}
.login-links a:hover { color: #a8d455; }

.login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
}
.login-divider hr { flex: 1; border: none; border-top: 1px solid rgba(255,255,255,.1); }
.login-divider span {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  color: rgba(255,255,255,.25);
  letter-spacing: 1px;
}

/* ── Beneficios — 4 prog-cards ── */
.prog-card {
  background: #fff;
  border: 1.5px solid var(--gray-md);
  border-radius: 10px;
  padding: 24px;
  transition: all .24s;
}
.prog-card:hover { border-color: var(--green); box-shadow: 0 8px 24px rgba(107,150,35,.1); }
.prog-ico {
  width: 46px;
  height: 46px;
  background: var(--green-lt);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  color: var(--green);
  font-size: 20px;
}
.prog-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--dark);
  margin-bottom: 7px;
}
.prog-card p {
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  color: #666;
  line-height: 1.65;
}
.prog-badge {
  display: inline-block;
  background: var(--green-lt);
  color: var(--green-dk);
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 8px;
  border-radius: 2px;
  margin-top: 10px;
  text-transform: uppercase;
}

/* ── Download cards ── */
.dl-cat-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--dark);
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--green-lt);
}
.dl-cat-title i { font-size: 16px; color: var(--green); }

.dl-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }

.dl-card {
  background: #fff;
  border: 1.5px solid var(--gray-md);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: all .22s;
}
.dl-card:hover { border-color: var(--green); box-shadow: 0 4px 14px rgba(107,150,35,.1); }

.dl-ico {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.dl-ico-pdf { background: #fff0ee; color: #e53935; }
.dl-ico-zip { background: #e8eeff; color: #1a3a8a; }
.dl-ico-doc { background: #e8f4ff; color: #1565c0; }
.dl-ico-xls { background: #e8f5e9; color: #2e7d32; }

.dl-info { flex: 1; min-width: 0; }
.dl-info h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12.5px;
  color: var(--dark);
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dl-info p {
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  color: #aaa;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn-dl {
  background: transparent;
  border: 1.5px solid var(--green);
  color: var(--green);
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 3px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all .2s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-transform: uppercase;
  letter-spacing: .3px;
  text-decoration: none;
}
.btn-dl:hover { background: var(--green); color: #fff; }

/* ── Info boxes (requisitos / proceso) ── */
.info-box {
  background: var(--green-lt);
  border: 1.5px solid rgba(107,150,35,.3);
  border-radius: 10px;
  padding: 24px 28px;
}
.info-box h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--green-dk);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.info-box ul { list-style: none; display: flex; flex-direction: column; gap: 8px; padding: 0; margin: 0; }
.info-box ul li { display: flex; align-items: center; gap: 9px; font-family: 'Open Sans', sans-serif; font-size: 13px; color: var(--dark); }
.info-box ul li i { font-size: 14px; color: var(--green); flex-shrink: 0; }

/* ── Formulario campos ── */
.grp-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.field { margin-bottom: 14px; }
.field label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  color: #888;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  border: 1.5px solid var(--gray-md);
  border-radius: 5px;
  padding: 11px 13px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: var(--dark);
  transition: border .2s;
  background: #fff;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.field input:focus,
.field select:focus,
.field textarea:focus { outline: none; border-color: var(--green); }
.field textarea { resize: vertical; min-height: 90px; }

.btn-submit {
  background: var(--green);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  padding: 14px;
  border-radius: 3px;
  border: none;
  cursor: pointer;
  width: 100%;
  transition: background .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.btn-submit:hover { background: var(--green-dk); }

/* ── Chatbot ── */
.chatbot-wrap {
  position: fixed;
  bottom: 26px;
  right: 26px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
.chat-win {
  background: #fff;
  border-radius: 14px;
  width: 340px;
  box-shadow: 0 12px 50px rgba(0,0,0,.18);
  border: 1px solid var(--gray-md);
  overflow: hidden;
  display: none;
  flex-direction: column;
  max-height: 480px;
}
.chat-win.open { display: flex; }
.chat-head { background: var(--green); padding: 13px 15px; display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.chat-ava { width: 34px; height: 34px; background: rgba(255,255,255,.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 17px; flex-shrink: 0; }
.chat-head-info h4 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12.5px; color: #fff; margin-bottom: 1px; }
.chat-head-info span { font-size: 10px; color: rgba(255,255,255,.65); }
.chat-close-btn { margin-left: auto; background: none; border: none; color: rgba(255,255,255,.65); cursor: pointer; font-size: 17px; }
.chat-body { flex: 1; padding: 14px; display: flex; flex-direction: column; gap: 9px; overflow-y: auto; background: #f7f7f7; }
.cmsg { display: flex; flex-direction: column; max-width: 88%; }
.cmsg.bot { align-self: flex-start; }
.cmsg.user { align-self: flex-end; }
.cbubble { padding: 9px 12px; border-radius: 12px; font-family: 'Open Sans', sans-serif; font-size: 12.5px; line-height: 1.52; }
.bot .cbubble { background: #fff; color: var(--dark); border-bottom-left-radius: 3px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.user .cbubble { background: var(--green); color: #fff; border-bottom-right-radius: 3px; }
.chat-opts { display: flex; flex-wrap: wrap; gap: 6px; padding: 7px 14px 12px; background: #f7f7f7; flex-shrink: 0; }
.copt { background: #fff; border: 1.5px solid var(--green); color: var(--green); font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 700; padding: 6px 11px; border-radius: 16px; cursor: pointer; transition: all .2s; }
.copt:hover { background: var(--green); color: #fff; }
.chat-foot { padding: 8px; border-top: 1px solid #efefef; text-align: center; font-family: 'Open Sans', sans-serif; font-size: 10.5px; color: #bbb; background: #fff; flex-shrink: 0; }
.chat-foot b { color: var(--wa); }
.chat-toggle-btn { width: 56px; height: 56px; background: var(--green); border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 20px rgba(107,150,35,.42); border: none; color: #fff; font-size: 22px; flex-shrink: 0; transition: background .2s; }
.chat-toggle-btn:hover { background: var(--green-dk); }

/* ── Responsive Grupo SipHauss ── */
@media (max-width: 1024px) {
  .grp-hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .dl-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .grp-page-hero { padding: 44px 20px; }
  .grp-hero-h1 { font-size: 30px; }
  .grp-form-row { grid-template-columns: 1fr; }
  .chat-win { width: calc(100vw - 36px); }
}

/* ════════════════════════════════════════════════════════════
 * PÁGINA PRODUCTOS — Clases faltantes en el CSS base
 * Verificado contra el DOM real de /web/productos/
 * Solo agrega clases que no existen; no pisa nada existente.
 * ════════════════════════════════════════════════════════════ */

/* ── Hero badges ── */
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hb{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.75);font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;padding:6px 13px;border-radius:3px;letter-spacing:.5px;text-transform:uppercase}
.hb i{font-size:13px}
.hb-green{background:rgba(107,150,35,.25);border-color:rgba(107,150,35,.5);color:#b5db70}

/* ── Proceso de fabricación ── */
.proceso-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;position:relative}
.proceso-grid::before{content:'';position:absolute;top:30px;left:calc(12.5%);right:calc(12.5%);height:2px;background:var(--gray-md);z-index:0}
.pfaso{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12px;position:relative;z-index:1}
.pfaso-n{width:60px;height:60px;background:#fff;border:2px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--green);font-size:22px;box-shadow:0 0 0 6px var(--green-lt)}
.pfaso h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--dark);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}
.pfaso p{font-family:'Open Sans',sans-serif;font-size:12px;color:#666;line-height:1.55}

/* ── Tabla completa de paneles ── */
.full-table-wrap{overflow-x:auto;margin-top:24px;border-radius:10px;border:1.5px solid var(--gray-md)}
.full-table{width:100%;border-collapse:collapse;font-family:'Open Sans',sans-serif;font-size:13px}
.full-table thead tr{background:var(--dark)}
.full-table thead th{padding:12px 14px;color:#fff;font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-align:left;text-transform:uppercase;white-space:nowrap}
.full-table thead th.green-hd{color:#a8d455}
.full-table tbody tr{border-bottom:1px solid var(--gray-md)}
.full-table tbody tr:last-child{border-bottom:none}
.full-table tbody tr:hover{background:var(--green-lt)}
.full-table tbody td{padding:11px 14px;color:var(--dark);white-space:nowrap}
.full-table tbody td.green-cell{color:var(--green);font-weight:700}
.nota-box{margin-top:20px;background:var(--green-lt);border:1.5px solid rgba(107,150,35,.3);border-radius:8px;padding:16px 20px;display:flex;gap:12px;align-items:flex-start}
.nota-box i{color:var(--green);font-size:18px;flex-shrink:0;margin-top:2px}
.nota-box h5{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;color:var(--green-dk);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.nota-box p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#555;line-height:1.55}

/* ── Sección APA certificación ── */
.apa-section{background:var(--dark);padding:72px 0}
.apa-inner{max-width:1200px;margin:0 auto;padding:0 48px}
.apa-logo{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;width:64px;height:64px;border-radius:10px;margin-bottom:20px;letter-spacing:1px}
.apa-section h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:32px;color:#fff;text-transform:uppercase;line-height:1.1;margin-bottom:12px}
.apa-inner>p{font-family:'Open Sans',sans-serif;font-size:15px;color:rgba(255,255,255,.6);line-height:1.75;max-width:560px;margin-bottom:36px}
.apa-items{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.apa-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:22px}
.apa-item i{font-size:28px;color:var(--green);display:block;margin-bottom:12px}
.apa-item h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:#fff;margin-bottom:6px}
.apa-item p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.6}

/* ── Responsive productos ── */
@media(max-width:1024px){
  .proceso-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .proceso-grid::before{display:none}
  .apa-items{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .proceso-grid{grid-template-columns:1fr;gap:24px}
  .apa-items{grid-template-columns:1fr}
  .apa-inner{padding:0 20px}
  .hero-badges{gap:7px}
  .hb{font-size:9px;padding:5px 10px}
}
@media(max-width:480px){
  .apa-items{grid-template-columns:1fr}
}

/* ════════════════════════════════════════════════════════════
 * PÁGINA PRODUCTOS — Clases faltantes
 * Copiadas del productos.html validado por el cliente.
 * Solo agrega; no pisa nada existente en el CSS base.
 * ════════════════════════════════════════════════════════════ */

/* ── Hero badges ── */
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hb{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:7px 13px;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.5px;text-transform:uppercase}
.hb i{color:#a8d455;font-size:15px}
.hb-green{background:rgba(107,150,35,.3);border-color:rgba(107,150,35,.5);color:#c5e87a}

/* ── Tabla completa de paneles ── */
.full-table-wrap{overflow-x:auto;margin-top:36px}
.full-table{width:100%;border-collapse:collapse;font-family:'Open Sans',sans-serif;font-size:12.5px}
.full-table thead tr{background:var(--gray-dk)}
.full-table thead th{color:#fff;padding:12px 14px;text-align:left;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.full-table thead th.green-hd{background:var(--green)}
.full-table tbody tr{border-bottom:1px solid #ebebeb}
.full-table tbody tr:hover td{background:#f8fbf2}
.full-table tbody td{padding:11px 14px;color:#444;vertical-align:middle}
.full-table tbody td:first-child{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;color:var(--dark)}
.full-table tbody td.green-cell{background:#f2f8e6;font-weight:700;color:var(--green-dk);font-family:'Montserrat',sans-serif}
.tipo-badge{display:inline-block;font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:2px;text-transform:uppercase}
.tb-muro{background:#e8f0d4;color:#3a5a10}
.tb-losa{background:#d8e4f5;color:#1a3a6a}
.tb-div{background:#f5ead8;color:#5a3a10}

/* ── Nota importante ── */
.nota-box{background:#fff8e1;border:1.5px solid #e6a817;border-radius:8px;padding:20px 24px;margin-top:28px;display:flex;align-items:flex-start;gap:14px}
.nota-box i{font-size:22px;color:#e6a817;flex-shrink:0;margin-top:1px}
.nota-box h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:#7a5000;margin-bottom:5px}
.nota-box p{font-family:'Open Sans',sans-serif;font-size:12.5px;color:#7a5000;line-height:1.6}

/* ── Proceso de fabricación — 6 pasos en línea ── */
.proceso-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:44px;position:relative}
.proceso-grid::before{content:'';position:absolute;top:24px;left:5%;right:5%;height:2px;background:var(--green-lt);z-index:0}
.pfaso{text-align:center;position:relative;z-index:1;padding:0 8px}
.pfaso-n{width:48px;height:48px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:0 0 0 5px var(--green-lt);font-size:18px;color:#fff}
.pfaso h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;color:var(--dark);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.pfaso p{font-family:'Open Sans',sans-serif;font-size:11px;color:#777;line-height:1.5}

/* ── Sección APA — fondo verde, 4 items ── */
.apa-section{background:var(--green);padding:52px 0;text-align:center}
.apa-inner{max-width:900px;margin:0 auto;padding:0 48px}
.apa-section .apa-logo{font-family:'Montserrat',sans-serif;font-weight:800;font-size:44px;color:#fff;letter-spacing:5px;border:3px solid rgba(255,255,255,.7);border-top:6px solid #fff;border-bottom:6px solid #fff;display:inline-block;padding:6px 20px;margin-bottom:24px;line-height:1.1}
.apa-section h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:28px;color:#fff;margin-bottom:12px;text-transform:uppercase}
.apa-section p{font-family:'Open Sans',sans-serif;font-size:15px;color:rgba(255,255,255,.85);line-height:1.75;max-width:580px;margin:0 auto}
.apa-items{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.apa-item{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:18px 14px;text-align:center}
.apa-item i{font-size:26px;color:#fff;margin-bottom:10px;display:block}
.apa-item h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.apa-item p{font-family:'Open Sans',sans-serif;font-size:11.5px;color:rgba(255,255,255,.75);line-height:1.5}

/* ── Responsive productos ── */
@media(max-width:1024px){
  .panels-grid{grid-template-columns:repeat(2,1fr)}
  .apa-items{grid-template-columns:repeat(2,1fr)}
  .proceso-grid{grid-template-columns:repeat(3,1fr);gap:24px}
  .proceso-grid::before{display:none}
}
@media(max-width:768px){
  .panels-grid{grid-template-columns:1fr}
  .apa-items{grid-template-columns:1fr 1fr}
  .proceso-grid{grid-template-columns:repeat(2,1fr)}
  .hero-badges{gap:7px}
  .hb{font-size:9px;padding:5px 10px}
  .apa-inner{padding:0 20px}
}
@media(max-width:480px){
  .apa-items{grid-template-columns:1fr}
}

/* ── Panel CTA: Medidas especiales ──────────────────────────
   El PHP genera .panel-card--cta con elementos sueltos dentro.
   Replicar el estilo del HTML de referencia: borde punteado verde,
   fondo green-lt, centrado vertical, ícono grande verde.
   ─────────────────────────────────────────────────────────── */
.panel-card.panel-card--cta {
  border: 2px dashed var(--green);
  background: var(--green-lt);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 24px;
  text-align: center;
}
.panel-card.panel-card--cta .ti-ruler-measure {
  font-size: 36px;
  color: var(--green);
  margin-bottom: 14px;
  display: block;
}
.panel-card.panel-card--cta h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 16px;
  color: var(--dark);
  margin-bottom: 8px;
  text-transform: uppercase;
}
.panel-card.panel-card--cta p {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 18px;
}
.panel-card.panel-card--cta .btn-ficha {
  width: 100%;
}

/* ════════════════════════════════════════════════════════════
 * GRUPO SIPHAUSS — Clases faltantes (prog-cards, info-box, login extras)
 * ════════════════════════════════════════════════════════════ */

/* ── 4 cards de beneficios ── */
.grp-prog-card {
  background: #fff;
  border: 1.5px solid var(--gray-md);
  border-radius: 10px;
  padding: 24px;
  transition: all .24s;
  display: flex;
  flex-direction: column;
}
.grp-prog-card:hover { border-color: var(--green); box-shadow: 0 8px 24px rgba(107,150,35,.1); }
.grp-prog-ico {
  width: 46px;
  height: 46px;
  background: var(--green-lt);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  color: var(--green);
  font-size: 20px;
  flex-shrink: 0;
}
.grp-prog-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--dark);
  margin-bottom: 7px;
}
.grp-prog-card p {
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  color: #666;
  line-height: 1.65;
  flex: 1;
}
.grp-prog-badge {
  display: inline-block;
  background: var(--green-lt);
  color: var(--green-dk);
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 3px 9px;
  border-radius: 2px;
  margin-top: 12px;
  text-transform: uppercase;
  align-self: flex-start;
}

/* ── Info boxes: Requisitos y Proceso ── */
.grp-info-box {
  background: var(--green-lt);
  border: 1.5px solid rgba(107,150,35,.3);
  border-radius: 10px;
  padding: 22px 26px;
}
.grp-info-box h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 13.5px;
  color: var(--green-dk);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.grp-info-box ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 0;
  margin: 0;
}
.grp-info-box ul li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: var(--dark);
  line-height: 1.5;
}
.grp-info-box ul li i { font-size: 14px; color: var(--green); flex-shrink: 0; margin-top: 2px; }

/* ── Login divider y links ── */
.grp-login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
}
.grp-login-divider hr { flex: 1; border: none; border-top: 1px solid rgba(255,255,255,.1); }
.grp-login-divider span {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  color: rgba(255,255,255,.25);
  letter-spacing: 1px;
}
.grp-login-links {
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.grp-login-links a {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.32);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s;
}
.grp-login-links a:hover { color: #a8d455; }

/* ════════════════════════════════════════════════════════════
 * BLOQUE SOCIOS FUNDADORES — Grupo SipHauss
 * 2 columnas iguales, centradas, con foto cuadrada tipo marca.
 * ════════════════════════════════════════════════════════════ */

/* Grid 2 columnas centradas */
.founders-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  max-width: 880px;
  margin: 0 auto;
}

/* Card individual */
.founder-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Wrapper de la foto — cuadrado con esquinas redondeadas */
.founder-img-wrap {
  width: 100%;
  max-width: 340px;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
  background: var(--gray-lt);
  box-shadow: 0 6px 28px rgba(0,0,0,.1);
}
.founder-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: filter .4s ease;
}
.founder-card:hover .founder-img { filter: grayscale(30%); }

/* Placeholder cuando no hay imagen cargada */
.founder-img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gray-lt);
  color: var(--gray-md);
  font-size: 64px;
}

/* Info debajo de la foto — centrada y alineada al ancho de la imagen */
.founder-info {
  width: 100%;
  max-width: 340px;   /* mismo max-width que .founder-img-wrap */
  margin: 0 auto;     /* centrar horizontalmente */
}

/* Barra verde + nombre/rol: flex row, alineado a la izquierda dentro del bloque centrado */
.founder-name-wrap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}

/* Barra verde izquierda */
.founder-bar {
  display: block;
  width: 3px;
  min-height: 38px;
  background: var(--green);
  border-radius: 2px;
  flex-shrink: 0;
  margin-top: 3px;
}

.founder-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--dark);
  margin-bottom: 3px;
  line-height: 1.2;
}

.founder-role {
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  color: var(--green);
  font-weight: 600;
  display: block;
}

/* Biografía */
.founder-bio {
  font-family: 'Open Sans', sans-serif;
  font-size: 13.5px;
  color: #555;
  line-height: 1.7;
  margin: 0;
  padding-left: 13px; /* alinea con el texto del nombre (3px barra + 10px gap) */
}

/* Responsive */
@media (max-width: 768px) {
  .founders-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: 420px;
  }
  .founder-img-wrap { max-width: 100%; }
}

/* ════════════════════════════════════════════════════════════
 * FORMULARIO MEMBRESÍA — Checkboxes compactos para partidas
 * ════════════════════════════════════════════════════════════ */

/* Grid de checkboxes compacto — 2 columnas */
.memb-check-compact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 8px;
}

/* Cada item de checkbox */
.memb-check-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f8f9fa;
  border: 1.5px solid var(--gray-md);
  border-radius: 5px;
  padding: 8px 11px;
  cursor: pointer;
  transition: all .15s;
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  color: var(--dark);
  line-height: 1.3;
}
.memb-check-item:hover { border-color: var(--green); background: var(--green-lt); }
.memb-check-item input {
  width: 15px;
  height: 15px;
  accent-color: var(--green);
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}
.memb-check-item:has(input:checked) {
  border-color: var(--green);
  background: var(--green-lt);
  color: var(--green-dk);
  font-weight: 600;
}

/* Textarea experiencia */
.memb-form textarea[name="experiencia"] { min-height: 100px; }

/* Responsive */
@media (max-width: 640px) {
  .memb-check-compact { grid-template-columns: 1fr; }
}
/* ════════════════════════════════════════════════════════════
 * BLOQUE SOCIOS ADICIONALES — Grupo SipHauss
 * Grid 2×2 de cards con foto cuadrada, nombre, rol, área y bio.
 * Se renderizan solo si tienen nombre cargado desde el metabox.
 * ════════════════════════════════════════════════════════════ */

/* Grid de 2×2 — se adapta a 1 columna en mobile */
.socios-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 900px;
  margin: 0 auto;
}

/* Card individual */
.socio-card {
  background: #fff;
  border: 1.5px solid var(--gray-md);
  border-radius: 16px;
  overflow: hidden;
  transition: all .28s;
  display: flex;
  flex-direction: column;
}
.socio-card:hover {
  border-color: var(--green);
  box-shadow: 0 10px 32px rgba(107,150,35,.12);
  transform: translateY(-4px);
}

/* Wrapper de la foto — cuadrado */
.socio-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--gray-lt);
  position: relative;
}
.socio-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(100%);
  transition: filter .4s ease, transform .4s ease;
}
.socio-card:hover .socio-img {
  filter: grayscale(25%);
  transform: scale(1.03);
}

/* Placeholder cuando no hay imagen */
.socio-img--placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gray-lt);
  color: var(--gray-md);
  font-size: 56px;
}

/* Info debajo de la foto */
.socio-info {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

/* Nombre */
.socio-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 17px;
  color: var(--dark);
  line-height: 1.2;
  margin: 0 0 2px;
}

/* Cargo / Rol — en verde */
.socio-role {
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  color: var(--green);
  font-weight: 700;
  display: block;
}

/* Área / especialidad — gris con ícono */
.socio-area {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--gray-sub);
  letter-spacing: .5px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
}
.socio-area i { font-size: 12px; color: var(--gray-md); }

/* Separador entre área y bio */
.socio-bio {
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  color: #666;
  line-height: 1.65;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--gray-md);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .socios-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 420px;
  }
  .socio-img-wrap {
    /* En mobile limitamos la altura de la foto para no ocupar toda la pantalla */
    aspect-ratio: 4 / 3;
  }
}
/* ════════════════════════════════════════════════════════════
 * BLOQUE SOCIOS ADICIONALES — Grupo SipHauss  v1.3.0
 * 4 columnas en desktop, 2 en tablet, 2 en mobile.
 * Agregar al final de main.css en el servidor.
 * ════════════════════════════════════════════════════════════ */

/* Grid de 4 columnas iguales */
.socios-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0 auto;
}

/* Card individual */
.socio-card {
  background: #fff;
  border: 1.5px solid var(--gray-md);
  border-radius: 12px;
  overflow: hidden;
  transition: all .28s;
  display: flex;
  flex-direction: column;
}
.socio-card:hover {
  border-color: var(--green);
  box-shadow: 0 10px 32px rgba(107,150,35,.12);
  transform: translateY(-4px);
}

/* Foto — cuadrada */
.socio-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--gray-lt);
  position: relative;
}
.socio-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(100%);
  transition: filter .4s ease, transform .4s ease;
}
.socio-card:hover .socio-img {
  filter: grayscale(25%);
  transform: scale(1.03);
}
.socio-img--placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gray-lt);
  color: var(--gray-md);
  font-size: 56px;
}

/* Info debajo de la foto */
.socio-info {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.socio-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 15px;
  color: var(--dark);
  line-height: 1.2;
  margin: 0 0 2px;
}
.socio-role {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: var(--green);
  font-weight: 700;
  display: block;
}
.socio-area {
  font-family: 'Montserrat', sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  color: var(--gray-sub);
  letter-spacing: .5px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
}
.socio-area i { font-size: 11px; color: var(--gray-md); }
.socio-bio {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: #666;
  line-height: 1.6;
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--gray-md);
}

/* Responsive */
@media (max-width: 1024px) {
  .socios-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 600px) {
  .socios-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .socio-info { padding: 12px 14px 16px; }
  .socio-name { font-size: 13px; }
}
/* ════════════════════════════════════════════════════════════
 * BLOQUE SOCIOS ADICIONALES — Grupo SipHauss  v1.3.0
 * Pegar al final de:
 *   /wp-content/themes/siphauss_theme_v2/assets/css/main.css
 * ════════════════════════════════════════════════════════════ */

/* 4 columnas en desktop */
.socios-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0 auto;
}

/* Card */
.socio-card {
  background: #fff;
  border: 1.5px solid var(--gray-md);
  border-radius: 12px;
  overflow: hidden;
  transition: all .28s;
  display: flex;
  flex-direction: column;
}
.socio-card:hover {
  border-color: var(--green);
  box-shadow: 0 10px 32px rgba(107,150,35,.12);
  transform: translateY(-4px);
}

/* Foto cuadrada */
.socio-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--gray-lt);
}
.socio-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(100%);
  transition: filter .4s ease, transform .4s ease;
}
.socio-card:hover .socio-img {
  filter: grayscale(25%);
  transform: scale(1.03);
}
.socio-img--placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gray-lt);
  color: var(--gray-md);
  font-size: 56px;
}

/* Info */
.socio-info {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.socio-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 15px;
  color: var(--dark);
  line-height: 1.2;
  margin: 0 0 2px;
}
.socio-role {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: var(--green);
  font-weight: 700;
  display: block;
}
.socio-area {
  font-family: 'Montserrat', sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  color: var(--gray-sub);
  letter-spacing: .5px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
}
.socio-area i { font-size: 11px; color: var(--gray-md); }
.socio-bio {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: #666;
  line-height: 1.6;
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--gray-md);
}

/* Responsive */
@media (max-width: 1024px) {
  .socios-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 600px) {
  .socios-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .socio-info { padding: 12px 14px 16px; }
  .socio-name { font-size: 13px; }
}
* GRUPO SIPHAUSS — v1.4.0
 * Punto 1: Eliminar borde visual de las cards de socios.
 * Solo se suprime el borde y el box-shadow del hover;
 * el resto del layout y tipografía no se toca.
 * ════════════════════════════════════════════════════════════ */
.socio-card {
  border: none;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}
.socio-card:hover {
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

/* ════════════════════════════════════════════════════════════
 * BLOQUE SOCIOS SOLO TEXTO — Grupo SipHauss  v1.4.0
 * Grid 2×2 sin foto. Icono de usuario como placeholder visual.
 * ════════════════════════════════════════════════════════════ */
.socios-txt-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 0 auto;
}

.socio-txt-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  border-top: 3px solid var(--green);
  background: #fff;
}

.socio-txt-ico {
  width: 48px;
  height: 48px;
  background: var(--green-lt);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--green);
  font-size: 24px;
  flex-shrink: 0;
}

.socio-txt-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}

.socio-txt-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 16px;
  color: var(--dark);
  line-height: 1.2;
  margin: 0 0 2px;
}

.socio-txt-role {
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  color: var(--green);
  font-weight: 700;
  display: block;
}

.socio-txt-bio {
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  color: #666;
  line-height: 1.65;
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--gray-md);
}

@media (max-width: 768px) {
  .socios-txt-grid { grid-template-columns: 1fr; gap: 16px; }
  .socio-txt-card  { padding: 18px; }
}