.skip-link{position:absolute;left:16px;top:-60px;background:#fff;color:var(--af-navy);padding:10px 14px;border-radius:999px;z-index:9999;box-shadow:var(--af-shadow);font-weight:900}.skip-link:focus{top:14px}
:root{
  --af-navy:#102637;--af-navy-2:#071722;--af-deep:#06111b;--af-blue-dark:#2C4F68;--af-blue:#3B6686;--af-sky:#4182B0;--af-light-sky:#529CCD;--af-cyan:#79d7ff;--af-gold:#f7b916;--af-soft:#E7EEF6;--af-soft-2:#F4F8FC;--af-white:#fff;--af-text:#203140;--af-muted:#657789;--af-border:rgba(18,38,55,.12);--af-shadow:0 24px 70px rgba(7,23,34,.16);--af-shadow-strong:0 42px 110px rgba(7,23,34,.34);--radius:28px;--max:1180px
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 8% 0%,rgba(82,156,205,.18),transparent 28%),radial-gradient(circle at 92% 10%,rgba(247,185,22,.10),transparent 24%),linear-gradient(180deg,#f7f9fc 0%,#eef4fa 48%,#f7f9fc 100%);color:var(--af-text);line-height:1.6;text-rendering:geometricPrecision}a{color:inherit;text-decoration:none}.container{width:min(100% - 32px,var(--max));margin-inline:auto}.topbar{background:var(--af-navy-2);color:rgba(255,255,255,.78);font-size:.86rem;border-bottom:1px solid rgba(255,255,255,.08)}.topbar-inner{display:flex;justify-content:space-between;gap:18px;padding:10px 0;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:50;background:rgba(7,23,34,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 18px 45px rgba(7,23,34,.22)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:850;letter-spacing:-.03em}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,rgba(82,156,205,.95),rgba(247,185,22,.86));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(82,156,205,.32)}.brand small{display:block;margin-top:-4px;color:rgba(255,255,255,.62);font-size:.72rem;letter-spacing:.02em;font-weight:700}.nav-links{display:flex;align-items:center;gap:24px;font-size:.94rem;font-weight:700;color:rgba(255,255,255,.74)}.nav-links a{position:relative}.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--af-cyan),var(--af-gold));transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.nav-links a:hover{color:#fff}.nav-links a:hover::after{transform:scaleX(1)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--af-sky),var(--af-cyan));color:#fff;box-shadow:0 18px 38px rgba(65,130,176,.32),inset 0 1px 0 rgba(255,255,255,.22)}.btn-secondary{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.22)}.btn-outline{background:#fff;color:var(--af-blue-dark);border-color:var(--af-border);box-shadow:0 10px 24px rgba(18,38,55,.08)}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 10% 8%,rgba(82,156,205,.38),transparent 30%),radial-gradient(circle at 82% 18%,rgba(247,185,22,.16),transparent 22%),radial-gradient(circle at 70% 95%,rgba(121,215,255,.18),transparent 26%),linear-gradient(135deg,#06111b 0%,#102637 48%,#1d5879 100%);color:#fff}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 54%,rgba(255,255,255,.075) 54% 54.4%,transparent 54.4% 100%),linear-gradient(135deg,rgba(255,255,255,.05),transparent 44%);pointer-events:none}.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.82),transparent 80%);pointer-events:none}.hero-inner{position:relative;z-index:2;padding:92px 0;display:grid;grid-template-columns:1.04fr .96fr;gap:52px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.88);font-size:.88rem;font-weight:800;margin-bottom:22px}.eyebrow span{width:9px;height:9px;border-radius:50%;background:#73c7ff;box-shadow:0 0 0 6px rgba(115,199,255,.14)}.hero h1{font-size:clamp(2.45rem,5vw,4.9rem);line-height:.98;letter-spacing:-.07em;margin-bottom:24px;text-wrap:balance}.hero p{max-width:720px;color:rgba(255,255,255,.76);font-size:clamp(1.02rem,1.35vw,1.22rem);margin-bottom:32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:720px}.metric{padding:16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px)}.metric strong{display:block;margin-bottom:4px;font-size:1.05rem}.metric span{display:block;color:rgba(255,255,255,.65);font-size:.85rem}.visual-card{min-height:560px;border-radius:38px;overflow:hidden;background:linear-gradient(135deg,rgba(7,23,34,.10),rgba(7,23,34,.74)),linear-gradient(45deg,#244f6d,#a7c6dc);box-shadow:var(--af-shadow-strong);border:1px solid rgba(255,255,255,.18);position:relative}.visual-card::before{content:attr(data-label);position:absolute;top:26px;left:26px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.14);color:rgba(255,255,255,.84);font-size:.76rem;font-weight:850;letter-spacing:.08em}.visual-card::after{content:attr(data-note);position:absolute;left:30px;right:30px;bottom:34px;color:rgba(255,255,255,.78);font-weight:700;font-size:1.05rem}.section{padding:88px 0}.section-soft{background:var(--af-soft)}.section-dark{position:relative;overflow:hidden;background:var(--af-navy);color:#fff}.section-dark::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(82,156,205,.13);right:-210px;top:-210px}.section-head{max-width:830px;margin-bottom:42px}.section-head.center{text-align:center;margin-inline:auto}.section-label{display:inline-block;margin-bottom:12px;color:var(--af-sky);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.section-dark .section-label{color:#83d2ff}.section h2{color:var(--af-navy);font-size:clamp(2rem,3vw,3.15rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:16px;text-wrap:balance}.section-dark h2{color:#fff}.section-head p,.panel p,.card p{color:var(--af-muted);font-size:1.05rem}.section-dark .section-head p{color:rgba(255,255,255,.72)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card,.panel{background:rgba(255,255,255,.92);border:1px solid var(--af-border);border-radius:26px;padding:28px;box-shadow:0 16px 42px rgba(18,38,55,.07)}.card h3,.panel h3{color:var(--af-navy);font-size:1.18rem;line-height:1.18;letter-spacing:-.02em;margin-bottom:12px}.card ul{list-style:none;display:grid;gap:10px;margin-top:18px}.card li{color:#405469;font-size:.92rem;position:relative;padding-left:17px}.card li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--af-light-sky)}.accent-line{display:block;width:42px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--af-sky),var(--af-gold));margin-bottom:18px}.stack{display:grid;gap:18px}.feature{border-radius:18px;background:linear-gradient(180deg,#f9fcff,#f2f8fe);border:1px solid var(--af-border);padding:18px;box-shadow:inset 4px 0 0 rgba(82,156,205,.18)}.feature strong{display:block;color:var(--af-navy);margin-bottom:8px;line-height:1.25}.feature span{color:var(--af-muted);font-size:.92rem}.service-message,.dark-message{border-radius:22px;background:radial-gradient(circle at top right,rgba(121,215,255,.16),transparent 32%),linear-gradient(135deg,var(--af-navy-2),var(--af-blue-dark));color:#fff;padding:26px;font-size:1.05rem;font-weight:800;box-shadow:0 20px 46px rgba(18,38,55,.22);border:1px solid rgba(255,255,255,.12)}.service-message span,.dark-message span{color:#91d8ff}.quick-nav{position:relative;z-index:5;margin-top:-35px}.quick-grid{background:#fff;border:1px solid var(--af-border);border-radius:26px;box-shadow:var(--af-shadow);padding:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-link{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#fff,#f5faff);border:1px solid var(--af-border);padding:18px;min-height:104px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.quick-link:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(18,38,55,.12);border-color:rgba(65,130,176,.26)}.quick-link small{color:var(--af-sky);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.quick-link strong{color:var(--af-navy);font-size:.96rem;line-height:1.22}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.sticky{position:sticky;top:112px}.form input,.form select,.form textarea{width:100%;border:1px solid var(--af-border);border-radius:16px;padding:14px 15px;font:inherit;color:var(--af-text);background:#fff;outline:none}.form label{display:block;font-weight:800;color:var(--af-navy);font-size:.92rem;margin-bottom:8px}.form .field{margin-bottom:16px}.form textarea{min-height:150px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cta{border-radius:34px;padding:56px;background:radial-gradient(circle at top right,rgba(121,215,255,.28),transparent 30%),radial-gradient(circle at bottom left,rgba(247,185,22,.16),transparent 28%),linear-gradient(135deg,var(--af-deep),var(--af-blue-dark));color:#fff;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;box-shadow:0 32px 82px rgba(18,38,55,.28);border:1px solid rgba(255,255,255,.14)}.cta h2{color:#fff;margin-bottom:12px}.cta p{color:rgba(255,255,255,.74);max-width:780px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.site-footer{background:#081722;color:rgba(255,255,255,.74);padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr 1fr;gap:36px;margin-bottom:38px}.site-footer h3,.site-footer h4{color:#fff;margin-bottom:16px}.site-footer ul{list-style:none;display:grid;gap:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.9rem}.policy-content{background:rgba(255,255,255,.92);border:1px solid var(--af-border);border-radius:30px;padding:44px;box-shadow:0 16px 42px rgba(18,38,55,.07)}.policy-content section+section{margin-top:42px;padding-top:34px;border-top:1px solid var(--af-border)}.policy-content h2{color:var(--af-navy);font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:16px}.policy-content p,.policy-content li{color:var(--af-muted)}.policy-content ul{margin:12px 0 0 20px}.policy-nav{position:sticky;top:112px;background:rgba(255,255,255,.92);border:1px solid var(--af-border);border-radius:26px;padding:22px;box-shadow:var(--af-shadow)}.policy-nav ul{list-style:none;display:grid;gap:10px}.policy-nav a{color:var(--af-muted);font-weight:750;font-size:.92rem}.policy-nav a:hover{color:var(--af-sky)}
@media(max-width:1100px){.hero-inner,.split,.cta{grid-template-columns:1fr}.sticky,.policy-nav{position:relative;top:auto}.grid-4,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.footer-grid{grid-template-columns:1fr 1fr}.cta-actions{justify-content:flex-start}}
@media(max-width:780px){.topbar-inner{display:none}.nav{height:auto;padding:18px 0}.nav-links{display:none}.hero-inner{padding:64px 0 72px;gap:34px}.hero-metrics,.grid-2,.grid-3,.grid-4,.quick-grid,.form-row,.footer-grid{grid-template-columns:1fr}.visual-card{min-height:420px}.section{padding:64px 0}.card,.panel,.policy-content{padding:24px}.cta{padding:34px 24px}.btn{width:100%}}


/* === Refinamientos v3: responsive, accesibilidad y consistencia profesional === */
html,body{max-width:100%;overflow-x:hidden}.brand span{min-width:0}.site-header .btn{flex-shrink:0}.nav{min-width:0}.nav-links{min-width:0}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid rgba(121,215,255,.7);outline-offset:3px}.policy-content a,.panel a,.card a{color:var(--af-sky);font-weight:850}.site-footer a:hover,.topbar a:hover{color:#fff}.hero h1,.section h2{overflow-wrap:break-word}.direct-item,.mail-card a,.footer-grid a{overflow-wrap:anywhere}.visual-card{isolation:isolate}.visual-card::before,.visual-card::after{z-index:2}.visual-card::after{text-shadow:0 2px 18px rgba(0,0,0,.38)}
@media(max-width:980px){.nav-links{display:none}.nav{height:auto;padding:18px 0}.nav .btn{min-height:42px;padding:0 18px}.hero-inner{grid-template-columns:1fr}.hero .visual-card{min-height:460px}.grid-4,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.sticky{position:relative;top:auto}}
@media(max-width:520px){.container{width:min(100% - 24px,var(--max))}.brand{font-size:.96rem;gap:10px}.brand-mark{width:38px;height:38px;border-radius:12px}.brand small{display:none}.nav{gap:12px}.nav .btn{width:auto;padding:0 14px;font-size:.9rem}.hero h1{font-size:clamp(2.05rem,12vw,2.55rem);letter-spacing:-.055em}.hero p{font-size:1rem}.hero-actions .btn,.cta-actions .btn,.contact-form .btn{width:100%}.hero-metrics{gap:10px}.metric{padding:14px}.quick-grid{padding:12px}.quick-link{min-height:92px}.visual-card{min-height:380px;border-radius:28px}.visual-card::before{top:18px;left:18px;font-size:.68rem}.visual-card::after{left:20px;right:20px;bottom:22px;font-size:.92rem}.section{padding:56px 0}.section h2{font-size:clamp(1.75rem,8vw,2.25rem)}.card,.panel,.policy-content{padding:22px;border-radius:22px}.cta{padding:28px 20px;border-radius:26px}.footer-bottom{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* Imágenes reales integradas - v4 */
.visual-card.has-image{background-size:cover;background-position:center;filter:saturate(1.02);}
.visual-card.has-image::before{background:rgba(7,23,34,.46);backdrop-filter:blur(10px);}
.visual-card.has-image::after{background:linear-gradient(180deg,transparent,rgba(7,23,34,.72));left:0;right:0;bottom:0;padding:80px 30px 30px;text-shadow:0 2px 18px rgba(0,0,0,.45);}
.hero-index{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.55)),url('../img/hero/hero-index.webp');background-position:center;}
.hero-servicios{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.60)),url('../img/hero/hero-servicios.webp');background-position:center;}
.hero-sectores{background-image:linear-gradient(135deg,rgba(7,23,34,.10),rgba(7,23,34,.62)),url('../img/hero/hero-sectores.webp');background-position:center;}
.hero-proyectos{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.58)),url('../img/hero/hero-proyectos.webp');background-position:center;}
.hero-nosotros{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.58)),url('../img/hero/hero-nosotros.webp');background-position:center;}
.hero-contacto{background-image:linear-gradient(135deg,rgba(7,23,34,.10),rgba(7,23,34,.70)),url('../img/hero/hero-contacto.webp');background-position:center;}
@media(max-width:520px){.visual-card.has-image::after{padding:64px 20px 22px}}


/* Refinamientos v6: consistencia visual en página Servicios */
#contenido > .container.stack > .split + .split{margin-top:58px;padding-top:58px;border-top:1px solid var(--af-border)}
.split > .stack{align-self:stretch}
.split > .stack .service-message{align-self:stretch}
@media(max-width:780px){#contenido > .container.stack > .split + .split{margin-top:42px;padding-top:42px}}


/* Refinamientos v7: auditoría visual/responsive */
.mobile-nav{display:none;background:rgba(7,23,34,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.10);position:relative;z-index:49}
.mobile-nav-inner{display:flex;gap:8px;overflow-x:auto;padding:10px 0 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mobile-nav-inner::-webkit-scrollbar{display:none}
.mobile-nav a{flex:0 0 auto;color:rgba(255,255,255,.82);font-weight:850;font-size:.88rem;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}
.mobile-nav a:hover,.mobile-nav a:focus-visible{color:#fff;background:rgba(82,156,205,.22)}
.contact-card strong,.contact-card span,.direct-item strong,.mail-card a,.mail-card p,.feature strong,.feature span,.quick-link strong,.card h3,.card p,.panel h3,.panel p,.service-message,.dark-message,.metric strong,.metric span{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.form input,.form select,.form textarea{max-width:100%}
@media(max-width:980px){.mobile-nav{display:block}.site-header{position:sticky;top:0}.nav{gap:14px}.nav .btn{width:auto}}
@media(max-width:520px){.mobile-nav a{font-size:.82rem;padding:9px 12px}.hero-actions{align-items:stretch}.contact-card{min-height:auto}.mail-card{min-height:auto}.form .btn{width:100%}}


/* Refinamientos v8: mejora visual en móvil para tarjetas rápidas y correos */
@media(max-width:520px){
  .quick-grid{grid-template-columns:1fr!important;}
  .quick-link{min-height:auto;gap:8px;}
  .quick-link strong{font-size:1rem;}
  .grid-3 .card p,.footer-grid a{overflow-wrap:anywhere;word-break:normal;}
}

/* v9: imágenes internas por servicio y casos técnicos */
.service-image,
.case-img{
  position:relative;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  border:1px solid var(--af-border);
  box-shadow:0 18px 40px rgba(18,38,55,.13);
}
.service-image{
  min-height:250px;
  border-radius:22px;
  margin-top:24px;
}
.service-image::before,
.case-img::before{
  content:attr(data-label);
  position:absolute;
  top:18px;
  left:18px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(7,23,34,.46);
  color:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  z-index:2;
}
.service-image::after,
.case-img::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:45%;
  background:linear-gradient(180deg,transparent,rgba(7,23,34,.72));
  pointer-events:none;
}
.svc-energia{background-image:linear-gradient(135deg,rgba(7,23,34,.06),rgba(7,23,34,.34)),url('../img/services/service-energia.webp');}
.svc-clima{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.42)),url('../img/services/service-clima.webp');}
.svc-red{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.40)),url('../img/services/service-red.webp');}
.svc-electrica{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.45)),url('../img/services/service-electrica.webp');}
.case-card{overflow:hidden;padding-top:0;}
.case-img{
  min-height:245px;
  margin:0 -28px 24px;
  border-width:0 0 1px 0;
  border-radius:26px 26px 0 0;
}
.case-baterias{background-image:linear-gradient(135deg,rgba(7,23,34,.06),rgba(7,23,34,.38)),url('../img/projects/case-baterias.webp');}
.case-gee{background-image:linear-gradient(135deg,rgba(7,23,34,.06),rgba(7,23,34,.38)),url('../img/projects/case-gee.webp');}
.case-hvac{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.42)),url('../img/projects/case-hvac.webp');}
.case-red{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.40)),url('../img/projects/case-red.webp');}
.case-electricos{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.46)),url('../img/projects/case-electricos.webp');}
.card.case-card .accent-line{margin-top:0;}
@media(max-width:780px){
  .service-image{min-height:220px;margin-top:20px;}
  .case-img{min-height:215px;margin:0 -24px 22px;}
}
@media(max-width:520px){
  .service-image{min-height:190px;border-radius:20px;}
  .case-img{min-height:190px;margin:0 -22px 20px;}
  .service-image::before,.case-img::before{top:14px;left:14px;font-size:.62rem;}
}

/* v12: caso técnico adicional para media tensión */
.case-media-tension{background-image:linear-gradient(135deg,rgba(7,23,34,.06),rgba(7,23,34,.40)),url('../img/projects/case-media-tension.webp');}

/* v13: imagen interna para Nosotros - equipo técnico en campo */
.team-field-photo{
  min-height:520px;
  border-radius:32px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--af-border);
  box-shadow:var(--af-shadow);
  background:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.50)),url('../img/about/equipo-campo.webp');
  background-size:cover;
  background-position:center;
}
.team-field-photo::before{
  content:"EQUIPO EN CAMPO";
  position:absolute;
  top:22px;
  left:22px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(7,23,34,.48);
  color:rgba(255,255,255,.88);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  backdrop-filter:blur(10px);
}
.team-field-photo::after{
  content:"Personal técnico con EPP para atención de infraestructura crítica.";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:82px 28px 28px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(180deg,transparent,rgba(7,23,34,.78));
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
@media(max-width:780px){.team-field-photo{min-height:420px}}
@media(max-width:520px){.team-field-photo{min-height:360px;border-radius:26px}.team-field-photo::after{padding:64px 22px 22px;font-size:.92rem}.team-field-photo::before{top:16px;left:16px;font-size:.66rem}}

/* v16: revisión visual final - mayor coherencia en secciones oscuras */
.section-dark .card{
  background:rgba(255,255,255,.075);
  backdrop-filter:blur(16px);
  border-color:rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.section-dark .card h3{color:#fff;}
.section-dark .card p,
.section-dark .card li{color:rgba(255,255,255,.70);}
.section-dark .card li::before{background:var(--af-cyan);}
.section-dark .accent-line{background:linear-gradient(90deg,var(--af-cyan),var(--af-gold));}
@media(max-width:520px){
  .mobile-nav-inner{padding-left:2px;padding-right:2px;}
  .hero .visual-card.has-image{min-height:340px;}
  .topbar{display:none;}
}


/* SEO avanzado: FAQ, búsqueda semántica y señales de confianza */
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.faq-item {
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--af-border);
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 14px 34px rgba(18,38,55,0.06);
}

.faq-item h3 {
  color: var(--af-navy);
  font-size: 1.04rem;
  line-height: 1.22;
  margin-bottom: 10px;
}

.faq-item p {
  color: var(--af-muted);
  font-size: .94rem;
  margin: 0;
}

.seo-local-panel {
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--af-border);
  border-radius: 28px;
  padding: 30px;
  box-shadow: 0 16px 42px rgba(18,38,55,0.07);
}

.seo-local-panel p {
  color: var(--af-muted);
}

.seo-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.seo-tag {
  padding: 9px 12px;
  border-radius: 999px;
  background: var(--af-soft);
  color: var(--af-blue-dark);
  font-size: .84rem;
  font-weight: 800;
}

@media (max-width: 780px) {
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .faq-item,
  .seo-local-panel {
    padding: 22px;
  }
}


/* Formulario conectado a Apps Script */
.form-note {
  color: var(--af-muted);
  font-size: .9rem;
  margin: 10px 0 16px;
}

.form-status {
  display: none;
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 16px;
  font-weight: 750;
  border: 1px solid var(--af-border);
}

.form-status-success {
  display: block;
  color: #14532d;
  background: #dcfce7;
  border-color: #86efac;
}

.form-status-error {
  display: block;
  color: #7f1d1d;
  background: #fee2e2;
  border-color: #fecaca;
}

.form-status-info {
  display: block;
  color: #1e3a8a;
  background: #dbeafe;
  border-color: #bfdbfe;
}

.form .btn + .btn,
.form-fallback {
  margin-left: 10px;
}

.form button:disabled {
  opacity: .72;
  cursor: wait;
}

.field label span {
  color: #b91c1c;
}

@media (max-width: 780px) {
  .form .btn + .btn,
  .form-fallback {
    margin-left: 0;
    margin-top: 10px;
  }
}








/* v28: header corporativo integrado con isotipo + texto HTML/CSS */
.brand-web{
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  background:transparent;
  border:0;
  padding:0;
  border-radius:0;
  box-shadow:none;
  min-width:max-content;
}
.brand-isotipo{
  width:48px;
  height:48px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.30));
}
.brand-text{
  display:grid;
  line-height:1;
  gap:2px;
  letter-spacing:-.02em;
}
.brand-text strong{
  display:block;
  font-size:1.32rem;
  font-weight:950;
  color:#fff;
  letter-spacing:-.045em;
}
.brand-text em{
  display:block;
  font-style:normal;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.34em;
  color:var(--af-gold);
  margin-left:1px;
}
.brand-text small{
  display:block;
  margin-top:2px;
  color:rgba(255,255,255,.62);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.04em;
}
.site-header .nav{
  gap:22px;
}
.site-header .nav-links{
  margin-left:auto;
}
.footer-logo-wrap{
  display:inline-flex;
  align-items:center;
  background:#fff;
  border-radius:18px;
  padding:10px 12px;
  box-shadow:0 16px 38px rgba(7,23,34,.18);
  max-width:max-content;
}
.footer-logo{
  width:240px;
  max-width:100%;
  height:auto;
  display:block;
}
.case-operativo{background-image:linear-gradient(135deg,rgba(7,23,34,.08),rgba(7,23,34,.42)),url('../img/hero/hero-proyectos.webp');}
@media(max-width:1080px){
  .brand-isotipo{width:44px;height:44px;}
  .brand-text strong{font-size:1.16rem;}
  .brand-text small{display:none;}
  .nav-links{gap:18px;}
}
@media(max-width:980px){
  .brand-web{gap:9px;}
  .brand-isotipo{width:42px;height:42px;}
  .brand-text strong{font-size:1.08rem;}
  .brand-text em{font-size:.62rem;letter-spacing:.26em;}
}
@media(max-width:520px){
  .brand-isotipo{width:38px;height:38px;}
  .brand-text strong{font-size:1rem;}
  .brand-text em{font-size:.56rem;letter-spacing:.22em;}
  .nav{height:72px;}
  .footer-logo{width:190px;}
}


/* v29: footer corporativo integrado */
.site-footer{
  background:
    radial-gradient(circle at 12% 0%, rgba(82,156,205,.18), transparent 30%),
    radial-gradient(circle at 92% 10%, rgba(247,185,22,.10), transparent 26%),
    linear-gradient(180deg,#06111b 0%,#071722 100%);
  color:rgba(255,255,255,.82);
  padding:72px 0 30px;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-main{
  display:grid;
  grid-template-columns:1.45fr .75fr .9fr 1.05fr;
  gap:44px;
  align-items:start;
}
.footer-brand-card{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 24px 70px rgba(0,0,0,.22);
}
.footer-brand-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.footer-mark{
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.32));
}
.footer-brand-head strong{
  display:block;
  color:#fff;
  font-size:1.55rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.05em;
}
.footer-brand-head span{
  display:block;
  color:var(--af-gold);
  font-size:.78rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.34em;
  margin-top:5px;
}
.footer-brand-card p{
  color:rgba(255,255,255,.72);
  font-size:1rem;
  line-height:1.72;
  margin-bottom:20px;
}
.footer-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.footer-badges span{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(82,156,205,.14);
  border:1px solid rgba(121,215,255,.18);
  color:rgba(255,255,255,.84);
  font-size:.74rem;
  font-weight:850;
}
.footer-col h4{
  color:#fff;
  font-size:.96rem;
  line-height:1;
  margin-bottom:18px;
  letter-spacing:.02em;
}
.footer-col ul{
  list-style:none;
  display:grid;
  gap:12px;
}
.footer-col li,
.footer-col a{
  color:rgba(255,255,255,.74);
  font-size:.96rem;
  line-height:1.45;
}
.footer-col a{
  transition:color .2s ease, transform .2s ease;
}
.footer-col a:hover{
  color:#fff;
}
.footer-contact li{
  display:grid;
  gap:3px;
}
.footer-contact li span{
  color:var(--af-light-sky);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.footer-contact li strong{
  color:rgba(255,255,255,.78);
  font-size:.96rem;
}
.footer-bottom{
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.55);
  font-size:.88rem;
}
@media(max-width:980px){
  .footer-main{grid-template-columns:1fr 1fr;gap:28px;}
  .footer-brand-card{grid-column:1/-1;}
}
@media(max-width:640px){
  .site-footer{padding:54px 0 26px;}
  .footer-main{grid-template-columns:1fr;gap:28px;}
  .footer-brand-card{padding:24px;border-radius:24px;}
  .footer-mark{width:50px;height:50px;}
  .footer-brand-head strong{font-size:1.34rem;}
  .footer-bottom{display:grid;gap:10px;}
}


/* v30: ajustes finales corporativos */
.footer-contact li strong{
  color:rgba(255,255,255,.82);
  font-size:.94rem;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.footer-brand-card{
  min-height:100%;
}
@media(max-width:640px){
  .footer-contact li{
    gap:4px;
  }
}
