/* ═══════════════════════════════════════════════════════════
   CCINGENIERIA — hoja de estilo
   Navy #0F2237 · Ámbar #F2A81D
   ═══════════════════════════════════════════════════════════ */

:root{
  --noche:#2A66D8;
  --navy:#3478F6;
  --tinta:#12243A;   /* color de texto sobre fondos claros y sobre el ámbar */
  --navy-alto:#5A93F8;
  --ambar:#F2A81D;
  --halo:#FFD98A;
  --hueso:#F4F7F9;
  --blanco:#FFFFFF;
  --acero:#DCE8FF;
  --acero-osc:#5A7186;
  --reticula:rgba(255,255,255,.35);

  --display:'Archivo','Arial Narrow',sans-serif;
  --texto:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;

  --ancho:1180px;
  --r:2px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--hueso);
  color:var(--tinta);
  font-family:var(--texto);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%}
a{color:inherit}

.salto{position:absolute;left:-9999px;top:0;background:var(--ambar);color:var(--tinta);padding:.7rem 1.2rem;z-index:99}
.salto:focus{left:1rem;top:1rem}

:focus-visible{outline:2px solid var(--ambar);outline-offset:3px}

/* ─── barra superior ─── */
.barra{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;
  padding:1rem clamp(1.2rem,4vw,3rem);
  background:rgba(38,95,205,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.26);
}
.marca{
  font-family:var(--display);
  font-variation-settings:'wdth' 118;
  font-weight:800;letter-spacing:.02em;
  font-size:1.05rem;text-decoration:none;color:var(--blanco);
}
.marca__cc{color:var(--ambar)}
.nav{display:flex;align-items:center;gap:1.6rem;font-size:.9rem}
.nav a{color:var(--acero);text-decoration:none;transition:color .2s}
.nav a:hover{color:var(--blanco)}
.nav__cta{
  color:var(--tinta)!important;background:var(--ambar);
  padding:.5rem 1rem;border-radius:var(--r);font-weight:600;
}
.nav__cta:hover{background:var(--halo)}
/* acceso a la app interna de memorias: borde ámbar, sin competir con Contacto */
.nav__app{
  color:var(--ambar)!important;border:1px solid var(--ambar);
  padding:.45rem .9rem;border-radius:var(--r);font-weight:600;white-space:nowrap;
}
.nav__app:hover,.nav__app:focus-visible{background:var(--ambar);color:var(--tinta)!important}
.nav__app:focus-visible{outline:2px solid var(--halo);outline-offset:3px}

/* ─── hero ─── */
.hero{
  background:
    radial-gradient(120% 80% at 15% 0%,#4A88F8 0%,var(--noche) 62%);
  color:var(--blanco);
  padding:clamp(3.5rem,8vw,6.5rem) clamp(1.2rem,4vw,3rem) 0;
}
.hero__texto{max-width:var(--ancho);margin:0 auto}
.eyebrow{
  font-family:var(--mono);font-size:.76rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--acero-osc);margin:0 0 1.4rem;
}
.eyebrow--luz{color:var(--ambar)}
.hero .eyebrow{
  font-size:clamp(1.05rem,2.6vw,1.55rem);
  letter-spacing:.14em;
  color:#EAF2FF;
  margin-bottom:1.5rem;
}
.hero h1{
  font-family:var(--display);
  font-variation-settings:'wdth' 112;
  font-weight:800;
  font-size:clamp(1.75rem,4.3vw,3.1rem);
  line-height:1.02;letter-spacing:-.01em;
  margin:0 0 1.4rem;
}
.hero h1 em{font-style:normal;color:var(--ambar)}
.hero__bajada{
  max-width:46ch;color:#FFFFFF;font-size:1.06rem;margin:0 0 2.2rem;
}
.hero__acciones{display:flex;flex-wrap:wrap;gap:.9rem;padding-bottom:3.5rem}

.btn{
  display:inline-block;text-decoration:none;font-weight:600;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:var(--r);border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s;cursor:pointer;
  font-family:var(--texto);
}
.btn--solido{background:var(--ambar);color:var(--tinta)}
.btn--solido:hover{background:var(--halo)}
.btn--linea{border-color:rgba(255,255,255,.5);color:var(--blanco)}
.btn--linea:hover{border-color:var(--ambar);color:var(--ambar)}

/* ─── diagrama de cálculo (elemento firma) ─── */
.calculo{margin:0;max-width:var(--ancho);margin-inline:auto;padding-bottom:clamp(2rem,5vw,3.5rem)}
.calculo__marco{
  border:1px solid rgba(255,255,255,.32);
  border-radius:var(--r);
  background:#fff;
  overflow:hidden;
  max-width:820px;margin-inline:auto;
}
.calculo__marco img{display:block;width:100%;height:auto}
.calculo__escala{
  display:block;width:100%;max-width:820px;height:auto;margin-inline:auto;
  margin:.55rem 0 0;padding:.35rem .4rem;
  background:#fff;border-radius:var(--r);
}
.calculo__pie{
  max-width:820px;margin-inline:auto;
  display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;
  padding:.9rem .2rem 0;
  font-family:var(--mono);font-size:.8rem;color:var(--acero);
}
.dato b{color:var(--blanco);font-weight:500;margin-right:.35rem}
.dato--ok{color:var(--ambar)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* ─── franja de cifras ─── */
.franja{background:var(--navy);color:var(--blanco);padding:2.6rem clamp(1.2rem,4vw,3rem)}
.franja dl{
  max-width:var(--ancho);margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;
}
.franja dt{
  font-family:var(--display);font-variation-settings:'wdth' 112;
  font-weight:800;font-size:2.6rem;line-height:1;color:var(--ambar);
}
.franja dd{margin:.5rem 0 0;font-size:.9rem;color:#E3EDFF;max-width:24ch}

/* ─── secciones ─── */
.seccion{scroll-margin-top:74px;padding:clamp(3.5rem,8vw,6rem) clamp(1.2rem,4vw,3rem)}
.seccion--clara{background:var(--hueso)}
.seccion--noche{background:var(--noche);color:var(--blanco)}
.seccion--navy{background:var(--navy);color:var(--blanco)}
.seccion__cab{max-width:var(--ancho);margin:0 auto 3rem}
.seccion__cab h2{
  font-family:var(--display);font-variation-settings:'wdth' 110;
  font-weight:700;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.05;
  letter-spacing:-.015em;margin:0 0 1rem;
}
.seccion__intro{max-width:60ch;margin:0;color:var(--acero-osc)}
.seccion--noche .seccion__intro,.seccion--navy .seccion__intro{color:#E3EDFF}

/* ─── fichas de servicio ─── */
.fichas{
  max-width:var(--ancho);margin:0 auto;padding:0;list-style:none;
  border-top:1px solid rgba(15,34,55,.14);
}
.ficha{
  border-bottom:1px solid rgba(15,34,55,.14);
  padding:1.6rem 0;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto;
  gap:.4rem 2.5rem;align-items:start;
  transition:background .2s;
}
.ficha:hover{background:rgba(15,34,55,.035)}
.ficha h3{
  margin:0;font-family:var(--display);font-variation-settings:'wdth' 106;
  font-weight:600;font-size:1.14rem;line-height:1.25;letter-spacing:-.005em;
}
.ficha p{margin:0;font-size:.94rem;color:var(--acero-osc)}
.ficha__normas{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.ficha__normas span{
  font-family:var(--mono);font-size:.72rem;white-space:nowrap;
  border:1px solid rgba(15,34,55,.2);border-radius:var(--r);
  padding:.22rem .5rem;color:var(--tinta);
}

/* ─── pliegos ─── */
.sub{
  max-width:var(--ancho);margin:0 auto 1.2rem;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ambar);font-weight:500;
}
.pliegos{
  max-width:var(--ancho);margin:0 auto 3.5rem;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
  gap:1px;background:rgba(255,255,255,.24);
  border:1px solid rgba(255,255,255,.24);
}
.pliegos li{background:var(--noche)}
.pl{
  display:grid;grid-template-columns:auto 1fr;gap:.15rem .9rem;
  padding:1rem 1.1rem;height:100%;
  text-decoration:none;color:inherit;
  transition:background .2s;
}
.pl:hover{background:#2F6FE8}
.pl:hover .pl__t{color:var(--ambar)}
.pl__n{
  grid-row:1/3;font-family:var(--mono);font-size:1.15rem;
  color:var(--ambar);padding-top:.05rem;
}
.pl__t{font-weight:600;font-size:.96rem;line-height:1.3;transition:color .2s}
.pl__d{font-size:.82rem;color:#EFF5FF;line-height:1.45}

/* ─── decretos ─── */
.decretos{
  max-width:var(--ancho);margin:0 auto;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem;
}
.decretos li{
  border:1px solid rgba(255,255,255,.3);border-left:3px solid var(--ambar);
  padding:1.4rem 1.5rem;background:rgba(255,255,255,.12);
}
.dec__id{
  margin:0 0 .45rem;font-family:var(--mono);font-size:.8rem;
  letter-spacing:.06em;color:var(--ambar);
}
.decretos h4{
  margin:0 0 .6rem;font-family:var(--display);font-variation-settings:'wdth' 106;
  font-weight:600;font-size:1.1rem;line-height:1.25;
}
.decretos p:last-child{margin:0;font-size:.9rem;color:#E3EDFF}
.dec--historico{border-left-color:var(--acero-osc);opacity:.72}
.etiqueta{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;border:1px solid var(--acero-osc);
  padding:.15rem .45rem;margin-left:.5rem;color:var(--acero);vertical-align:middle;
}
.nota{
  max-width:var(--ancho);margin:2.5rem auto 0;
  font-size:.85rem;color:var(--acero);
}
.nota a{color:var(--ambar)}

/* ─── método ─── */
.metodo{
  max-width:var(--ancho);margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.4rem;
}
.metodo__col h3{
  margin:0 0 .6rem;font-family:var(--display);font-variation-settings:'wdth' 106;
  font-weight:600;font-size:1.1rem;
  padding-top:1rem;border-top:2px solid var(--ambar);
}
.metodo__col p{margin:0;font-size:.94rem;color:var(--acero-osc)}

/* ─── contacto ─── */
.contacto{
  max-width:var(--ancho);margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3.5rem;
}
.contacto__datos{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;gap:1.3rem}
.contacto__datos span{
  display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--acero-osc);margin-bottom:.3rem;
}
.contacto__datos a{color:var(--ambar);text-decoration:none}
.contacto__datos a:hover{text-decoration:underline}

.formulario{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-content:start}
.campo{display:flex;flex-direction:column}
/* sin esto, el ancho propio de las casillas impide que la grilla se achique y el
   formulario se sale de la pantalla en tablet */
.contacto>*,.formulario>*,.campo{min-width:0}
.campo input,.campo select,.campo textarea{width:100%;min-width:0;box-sizing:border-box}
.campo--ancho,.formulario>button,.formulario__nota{grid-column:1/-1}
.campo label{font-size:.82rem;color:#E3EDFF;margin-bottom:.4rem}
.campo label em{font-style:normal;color:var(--acero-osc)}
.campo input,.campo select,.campo textarea{
  font-family:var(--texto);font-size:.95rem;color:var(--blanco);
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.4);border-radius:var(--r);
  padding:.7rem .8rem;transition:border-color .2s;
}
.campo textarea{resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--ambar)}
.campo select option{background:var(--navy)}
.formulario button{justify-self:start}
.formulario__nota{margin:0;font-size:.8rem;color:var(--acero-osc)}

/* ─── pie ─── */
.pie{
  background:var(--noche);color:var(--acero);
  padding:2.8rem clamp(1.2rem,4vw,3rem);
  border-top:1px solid rgba(255,255,255,.22);
  font-size:.86rem;
}
.pie p{margin:.3rem 0;max-width:var(--ancho);margin-inline:auto}
.pie__marca{
  font-family:var(--display);font-variation-settings:'wdth' 118;
  font-weight:800;font-size:1.05rem;color:var(--blanco);margin-bottom:.6rem!important;
}
.pie__legal{color:var(--acero-osc);margin-top:1rem!important}
.pie__interno{margin-top:1.1rem!important;
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.btn-interno{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(255,255,255,.4);border-radius:var(--r);
  padding:.55rem 1.1rem;
  color:var(--acero);text-decoration:none;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  transition:background .15s,border-color .15s,color .15s;
}
.btn-interno:hover,.btn-interno:focus-visible{
  background:var(--ambar);border-color:var(--ambar);color:var(--tinta);
}
.btn-interno:focus-visible{outline:2px solid var(--halo);outline-offset:3px}

/* ─── responsive ─── */
@media (max-width:860px){
  .ficha{grid-template-columns:1fr;gap:.5rem}
  .ficha__normas{justify-content:flex-start;margin-top:.3rem}
  .nav{gap:1rem;font-size:.84rem}
  .nav a{white-space:nowrap}
}
/* con el botón de memorias el menú no cabe en una línea entre 620 y 1000 px */
@media (min-width:621px) and (max-width:1000px){
  .barra{flex-wrap:wrap;row-gap:.6rem}
  .nav{gap:.6rem 1rem;flex-wrap:wrap;justify-content:flex-end}
}
@media (max-width:620px){
  body{font-size:16px}
  .barra{flex-wrap:wrap;gap:.7rem;padding:.8rem 1rem}
  .nav{width:100%;flex-wrap:wrap;justify-content:center;
       gap:.5rem .9rem;font-size:.82rem;row-gap:.5rem}
  .nav__cta{padding:.45rem .9rem}
  .formulario{grid-template-columns:1fr}
  .franja dt{font-size:2.1rem}
}


/* ─── trámites TE ─── */
.te{
  display:inline-block;font-family:var(--mono);font-size:.68rem;
  letter-spacing:.06em;vertical-align:middle;
  border:1px solid var(--ambar);color:var(--ambar);
  border-radius:var(--r);padding:.1rem .38rem;margin-left:.5rem;
  text-decoration:none;white-space:nowrap;
}
.te--enl{
  font-size:.72rem;padding:.22rem .5rem;margin-left:0;
  background:rgba(242,168,29,.1);transition:background .2s,color .2s;
}
.te--enl:hover{background:var(--ambar);color:var(--tinta)}

.tramites{
  max-width:var(--ancho);margin:0 auto 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;
  background:rgba(255,255,255,.24);border:1px solid rgba(255,255,255,.24);
}
.tramites li{background:var(--noche)}
.tramites a{
  display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;
  padding:1.1rem 1.2rem;height:100%;text-decoration:none;color:inherit;
  transition:background .2s;
}
.tramites a:hover{background:#2F6FE8}
.tramites a:hover .tr__nom{color:var(--ambar)}
.tr__cod{
  grid-row:1/3;font-family:var(--mono);font-size:1.05rem;font-weight:500;
  color:var(--ambar);border:1px solid rgba(242,168,29,.45);border-radius:var(--r);
  padding:.15rem .5rem;height:max-content;
}
.tr__nom{font-weight:600;font-size:.95rem;line-height:1.3;transition:color .2s}
.tr__det{font-size:.82rem;color:var(--acero);line-height:1.45}

.ext{font-size:.85em;opacity:.7}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dec__id a{text-decoration:none}
.dec__id a:hover{text-decoration:underline}

/* la sección de decretos queda justo antes de los trámites */
.decretos{margin-bottom:3.5rem}

/* ─── contador de visitas ─── */
.visitas{
  float:right;font-family:var(--mono);font-size:.8rem;
  color:var(--acero-osc);white-space:nowrap;
}
.visitas__et{letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;margin-right:.5rem}
.visitas b{color:var(--ambar);font-weight:500}
@media (max-width:620px){
  .visitas{float:none;display:block;margin-top:.8rem}
}

/* ─── logo ───
   El archivo va en img/logo.png. Mientras no exista, la marca se dibuja
   con tipografía y la página no muestra ningún hueco. */
.marca{display:inline-flex;align-items:center;gap:.6rem}
.marca__img{
  display:block;height:52px;width:auto;
}
.con-logo .marca__txt{display:none}
.barra{background:rgba(38,95,205,.94)}

.pie__img{
  display:block;height:52px;width:auto;margin-bottom:.5rem;
}
.pie__img + .marca__txt{display:none}

@media (max-width:620px){
  .marca__img{height:40px}
}

/* ═══════════ calculadoras ═══════════ */
.calcs{max-width:var(--ancho);margin:0 auto}

.calcs__tabs{
  display:flex;flex-direction:column;gap:.9rem;
  border-bottom:1px solid rgba(15,34,55,.14);padding-bottom:1.1rem;margin-bottom:1rem;
}
.calcs__grupo{display:grid;gap:.4rem}
.calcs__grupoT{
  margin:0;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--acero-osc);
}
.calcs__fila{display:flex;flex-wrap:wrap;gap:.4rem}
.calcs__tab{
  font-family:var(--texto);font-size:.88rem;font-weight:500;
  background:none;border:1px solid rgba(15,34,55,.18);border-radius:var(--r);
  padding:.5rem .9rem;color:var(--acero-osc);cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.calcs__tab:hover{color:var(--tinta);border-color:rgba(15,34,55,.4)}
.calcs__tab.es-on{background:var(--navy);border-color:var(--navy);color:#fff}
.calcs__sub{margin:0 0 2rem;color:var(--acero-osc);font-size:.94rem;max-width:70ch}

.calcs__panel{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);
  gap:2.5rem;align-items:start;
}

/* campos */
.calc__campos{display:grid;gap:1.1rem}
.frow{display:grid;gap:.4rem}
.frow label{font-size:.88rem;font-weight:500;color:var(--tinta)}
.campo__ayuda{
  display:block;font-weight:400;font-size:.78rem;color:var(--acero-osc);margin-top:.15rem;
}
.campo__num{display:flex;align-items:center;gap:.5rem}
.calc__campos input,.calc__campos select{
  font-family:var(--mono);font-size:.92rem;color:var(--tinta);
  background:#fff;border:1px solid rgba(15,34,55,.22);border-radius:var(--r);
  padding:.55rem .7rem;width:100%;transition:border-color .2s;
}
.calc__campos select{font-family:var(--texto)}
.calc__campos input:focus,.calc__campos select:focus{border-color:var(--ambar);outline:none}
.campo__u{
  font-family:var(--mono);font-size:.8rem;color:var(--acero-osc);white-space:nowrap;min-width:3.2em;
}

.seg{display:flex;flex-wrap:wrap;gap:.3rem}
.seg__b{
  font-family:var(--mono);font-size:.8rem;
  background:#fff;border:1px solid rgba(15,34,55,.22);border-radius:var(--r);
  padding:.45rem .7rem;color:var(--acero-osc);cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.seg__b:hover{border-color:rgba(15,34,55,.45);color:var(--tinta)}
.seg__b.es-on{background:var(--ambar);border-color:var(--ambar);color:var(--tinta);font-weight:500}

/* cuadro de cargas */
.cargas{border:1px solid rgba(15,34,55,.16);border-radius:var(--r);padding:1rem;background:rgba(15,34,55,.02)}
.cargas__t{margin:0 0 .8rem;font-weight:600;font-size:.9rem}
.cargas__cab,.cargas__fila{
  display:grid;grid-template-columns:1fr 5.5em 3.6em 4.2em 1.8em;gap:.4rem;align-items:center;
}
.cargas__cab{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--acero-osc);margin-bottom:.4rem;
}
.cargas__cab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:.5rem}
.cargas__cab span:first-child{padding-left:.5rem}
.cargas__fila{margin-bottom:.4rem}
.cargas__fila input{padding:.4rem .5rem;font-size:.85rem}
.cargas__x{
  background:none;border:1px solid rgba(15,34,55,.2);border-radius:var(--r);
  color:var(--acero-osc);cursor:pointer;font-size:1rem;line-height:1;padding:.3rem 0;
}
.cargas__x:hover{border-color:#B4472E;color:#B4472E}
.cargas__add{
  font-family:var(--texto);font-size:.85rem;font-weight:500;
  background:none;border:1px dashed rgba(15,34,55,.3);border-radius:var(--r);
  padding:.5rem .9rem;color:var(--tinta);cursor:pointer;margin-top:.4rem;
}
.cargas__add:hover{border-color:var(--ambar);color:var(--ambar)}
.cargas__pie{margin:.7rem 0 0;font-size:.76rem;color:var(--acero-osc)}

/* resultado */
.calc__salida{position:sticky;top:88px}
.res{background:var(--navy);color:#fff;border-radius:var(--r);padding:1.6rem}
.res__lab{
  margin:0;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--acero);
}
.res__big{
  margin:.3rem 0 1rem;font-family:var(--display);font-variation-settings:'wdth' 110;
  font-weight:700;font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;color:var(--ambar);
}
.res__big span{font-size:.4em;font-weight:600;color:#fff}
.res__v{
  margin:0 0 1.2rem;font-size:.9rem;line-height:1.5;
  padding-left:.8rem;border-left:3px solid var(--acero-osc);
}
.res__v.es-ok{border-left-color:#4FA46B;color:#E8FBEE}
.res__v.es-no{border-left-color:#D4762F;color:#FFEEDC}
.res__rows{margin:0;display:grid;gap:.1rem}
.res__rows div{
  display:flex;justify-content:space-between;gap:1rem;
  padding:.5rem 0;border-top:1px solid rgba(255,255,255,.26);
}
.res__rows dt{font-size:.84rem;color:#E3EDFF}
.res__rows dd{margin:0;font-family:var(--mono);font-size:.84rem;text-align:right}
.res__refs{
  margin:1.2rem 0 0;font-family:var(--mono);font-size:.75rem;color:var(--acero);
}
.res__refs a{color:var(--ambar);text-decoration:none;margin-left:.5rem}
.res__refs a:hover{text-decoration:underline}
.calc__error{
  background:rgba(212,118,47,.12);border-left:3px solid #D4762F;
  padding:1rem;margin:0;font-size:.9rem;border-radius:var(--r);
}

.calc__note{
  max-width:var(--ancho);margin:2.5rem auto 0;
  font-size:.84rem;color:var(--acero-osc);line-height:1.6;
  padding-top:1.2rem;border-top:1px solid rgba(15,34,55,.14);
}
.calcs__aviso{
  max-width:var(--ancho);margin:2rem auto 0;
  font-size:.86rem;line-height:1.6;color:var(--acero-osc);
  background:rgba(242,168,29,.08);border-left:3px solid var(--ambar);
  padding:1.1rem 1.3rem;border-radius:var(--r);
}
.calcs__aviso b{color:var(--tinta)}
.calcs__aviso a{color:var(--tinta);font-weight:600}

@media (max-width:900px){
  .calcs__panel{grid-template-columns:1fr;gap:1.8rem}
  .calc__salida{position:static}
}
@media (max-width:520px){
  .cargas__cab,.cargas__fila{grid-template-columns:1fr 4.6em 3em 3.6em 1.8em;gap:.3rem}
  .cargas__fila input{font-size:.78rem;padding:.35rem .4rem}
}

/* aviso de campos incompletos en las calculadoras */
.calc__aviso{
  background:rgba(212,118,47,.14);border-left:3px solid #D4762F;
  padding:.9rem 1rem;margin:0 0 1rem;border-radius:var(--r);
  font-size:.86rem;line-height:1.5;color:var(--tinta);
}
.calc__campos input.es-vacio{border-color:#D4762F;background:rgba(212,118,47,.06)}

/* planta de la malla de puesta a tierra */
.res__dibujo{margin:0 0 1.2rem;background:rgba(255,255,255,.12);border-radius:var(--r);padding:.6rem}
.malla{display:block;width:100%;max-width:300px;margin:0 auto;height:auto}
.malla__c line{stroke:var(--ambar)}
.malla__cota line{stroke:var(--acero);stroke-width:1}
.malla__t{fill:var(--acero);font-family:var(--mono);font-size:11px}

/* ─── presentación ─── */
.presenta{
  background:var(--hueso);
  padding:clamp(3rem,7vw,4.5rem) clamp(1.2rem,4vw,3rem) 0;
}
.presenta p{
  max-width:var(--ancho);margin:0 auto;
  font-family:var(--display);font-variation-settings:'wdth' 104;
  font-weight:400;font-size:clamp(1.15rem,2.5vw,1.6rem);
  line-height:1.45;letter-spacing:-.005em;color:var(--tinta);
  padding-left:1.2rem;border-left:3px solid var(--ambar);
}
.presenta b{font-weight:700}
