:root{
  --corteza:#6B3F23;
  --albura:#A9713F;
  --brasa:#C2410C;
  --bosque:#20402F;
  --bosque-2:#2C5540;
  --hueso:#F6F1E7;
  --hueso-2:#EDE4D3;
  --tinta:#221A13;
  --tenue:#6C5F52;
  --linea:rgba(107,63,35,.16);
}
*{margin:0;padding:0;box-sizing:border-box}
svg{pointer-events:none}
html{scroll-behavior:smooth}
/* Justificado sin partir palabras, en el CUERPO del documento.
   Fuera del cuerpo no: en el pie, con columnas angostas, justificar abre huecos
   entre palabras en vez de emparejar el margen. */
*{hyphens:none;-webkit-hyphens:none;-ms-hyphens:none}
main p,main li,main dd,main blockquote,main figcaption,
.doc-wrap p,.doc-wrap li,.doc-wrap dd,.doc-wrap blockquote,
.pol-cont p,.pol-cont li,.pol-cont dd,.pol-cont blockquote,
.doc-cuerpo p,.doc-cuerpo li,.doc-cuerpo dd{text-align:justify;text-justify:inter-word;overflow-wrap:break-word}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--tinta);background:var(--hueso);line-height:1.6}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin-bottom:10px}
.kicker{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brasa);font-weight:700;margin-bottom:10px}
section{padding:64px 0}
.btn{display:inline-block;background:var(--brasa);color:#fff;text-decoration:none;padding:13px 26px;border-radius:8px;font-weight:600;border:none;cursor:pointer;font-size:1rem;transition:.2s}
.btn:hover{background:#A33509}
.btn.sec{background:transparent;color:var(--tinta);border:1.5px solid var(--corteza)}
.btn.sec:hover{background:var(--hueso-2)}
/* nav */
.topnav{position:sticky;top:0;z-index:100;background:rgba(246,241,231,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.topnav .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;padding-bottom:12px}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--tinta)}
.marca svg{width:40px;height:40px}
.marca .brasa{stroke:var(--brasa)}
.marca strong{display:block;font-family:Georgia,serif;font-size:1.2rem;letter-spacing:.13em;line-height:1}
.marca span{display:block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tenue);margin-top:3px}
.menu{display:flex;gap:2px;align-items:center;list-style:none;flex-wrap:wrap}
.menu a{text-decoration:none;color:var(--tinta);font-size:.9rem;font-weight:500;padding:8px 11px;border-radius:7px}
.menu a:hover{background:var(--hueso-2);color:var(--corteza)}
.menu .cta{background:var(--bosque);color:#fff;margin-left:6px}
.menu .cta:hover{background:var(--bosque-2);color:#fff}
.hamb{display:none;background:none;border:1px solid var(--linea);border-radius:8px;padding:9px 10px;cursor:pointer;flex-direction:column;gap:4px;width:42px;height:38px;align-items:center;justify-content:center}
.hamb span{display:block;width:18px;height:2px;background:var(--corteza);border-radius:2px;transition:.22s}
.hamb[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamb[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamb[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* hero */
.hero{position:relative;color:#fff;padding:0;overflow:hidden}
.hero .fondo{position:absolute;inset:0;background:url('curso-deteccion.jpg') center 40%/cover no-repeat}
.hero .velo{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,14,8,.88) 35%,rgba(32,64,47,.55))}
.hero .wrap{position:relative;padding-top:88px;padding-bottom:88px}
.hero .agua{position:absolute;right:-40px;bottom:-70px;width:420px;height:420px;color:rgba(246,241,231,.07);pointer-events:none}
.hero h1{font-family:Georgia,serif;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.1;max-width:17ch}
.hero p{margin:18px 0 26px;font-size:1.12rem;max-width:52ch;color:#EDE4D3}
.hero .acciones{display:flex;gap:12px;flex-wrap:wrap}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:7px 16px;font-size:.82rem;font-weight:600;letter-spacing:.03em}
/* cursos */
.grid-cursos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:26px}
.curso{background:#fff;border:1px solid var(--linea);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.curso:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(34,26,19,.12)}
.curso img{width:100%;height:165px;object-fit:cover}
.curso .cuerpo{padding:18px 18px 20px;display:flex;flex-direction:column;gap:9px;flex:1}
.curso h3{font-size:1.06rem;line-height:1.3}
.curso .datos{display:flex;gap:7px;flex-wrap:wrap}
.dato{font-size:.72rem;font-weight:700;letter-spacing:.04em;background:var(--hueso);border:1px solid var(--linea);border-radius:5px;padding:3px 9px;color:var(--tenue)}
.dato.sence{background:#EAF3EE;border-color:#BFD8CA;color:var(--bosque)}
.curso p{font-size:.88rem;color:var(--tenue);flex:1}
.curso a{color:var(--brasa);font-weight:700;font-size:.9rem;text-decoration:none}
/* franquicia */
.franquicia{background:var(--hueso-2)}
.franquicia .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start;margin-top:8px}
.franquicia ol{margin:16px 0 0 20px;display:grid;gap:10px;font-size:.95rem}
.calc{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:24px}
.calc h3{font-size:1.05rem;margin-bottom:14px}
.calc label{font-size:.85rem;font-weight:600;color:var(--tenue);display:block;margin-bottom:6px}
.calc input{width:100%;padding:11px 13px;border:1.5px solid var(--linea);border-radius:8px;font-size:1rem;background:var(--hueso)}
.calc .res{margin-top:16px;background:#EAF3EE;border:1px solid #BFD8CA;border-radius:10px;padding:15px;font-size:.92rem}
.calc .res strong{font-size:1.35rem;color:var(--bosque);display:block;font-family:Georgia,serif}
.calc small{display:block;margin-top:10px;color:var(--tenue);font-size:.75rem;line-height:1.45}
/* instalaciones */
.instal .cols{display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;align-items:center;margin-top:8px}
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fotos img{width:100%;border-radius:12px;object-fit:cover;border:1px solid var(--linea)}
.fotos img.alta{height:300px;grid-row:span 2}
.fotos img.baja{height:144px}
.check{list-style:none;display:grid;gap:11px;margin-top:14px}
.check li{display:flex;gap:11px;font-size:.95rem}
.check li::before{content:"✓";color:var(--bosque);font-weight:800;flex:0 0 auto}
/* nosotros */
.nosotros{background:var(--bosque);color:var(--hueso)}
.nosotros .cols{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center}
.nosotros .anillo{width:170px;height:170px;color:var(--hueso)}
.nosotros h2{color:#fff}
.nosotros p{color:#D8CDB8;max-width:68ch}
.nosotros .valores{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.valor{border:1px solid rgba(246,241,231,.35);border-radius:999px;padding:6px 15px;font-size:.82rem}
/* testimonios + sectores */
.prueba .cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.testi{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:22px}
.testi p{font-size:.95rem;font-style:italic;color:#3A2E24}
.testi footer{margin-top:12px;font-size:.82rem;color:var(--tenue);font-weight:600}
.sectores{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.sector{background:var(--hueso-2);border:1px solid var(--linea);border-radius:8px;padding:9px 16px;font-size:.86rem;font-weight:600}
/* politicas */
.politicas{background:var(--hueso-2)}
.grid-pol{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:24px}
.pol{background:#fff;border:1px solid var(--linea);border-left:4px solid var(--corteza);border-radius:12px;padding:22px}
.pol h3{font-size:1rem;margin-bottom:9px}
.pol p{font-size:.87rem;color:var(--tenue)}
.pol a{display:inline-block;margin-top:10px;color:var(--brasa);font-weight:700;font-size:.85rem;text-decoration:none}
.pendiente{display:inline-block;margin-top:10px;font-size:.8rem;color:var(--tenue);font-style:italic}
/* contacto */
.contacto .cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px}
.fdato{display:flex;gap:13px;margin-bottom:16px;font-size:.95rem}
.fdato .ic{flex:0 0 auto;width:38px;height:38px;border-radius:9px;background:var(--hueso-2);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.fdato strong{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tenue)}
.mapa{margin-top:6px;border:1px solid var(--linea);border-radius:12px;overflow:hidden;height:190px}
.mapa iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.25) sepia(.12)}
.mapa-pie{display:block;margin-top:7px;font-size:.78rem;color:var(--brasa);text-decoration:none;font-weight:600}
.form{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:24px;display:grid;gap:13px}
.form input.form select.form textarea{width:100%;padding:11px 13px;border:1.5px solid var(--linea);border-radius:8px;font-size:.95rem;background:var(--hueso);font-family:inherit}
.form textarea{min-height:90px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:var(--tenue);line-height:1.45}
.consent input{width:16px;height:16px;flex:0 0 auto;margin-top:2px;accent-color:var(--bosque)}
.consent a{color:var(--brasa)}
/* footer */
.pie{background:var(--tinta);color:#B7AB98;padding:38px 0 26px;font-size:.85rem}
.pie .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;margin-bottom:26px}
.pie h4{color:var(--hueso);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.pie ul{list-style:none;display:grid;gap:8px}
.pie a{color:#B7AB98;text-decoration:none}
.pie a:hover{color:var(--hueso)}
.pie .legal{border-top:1px solid rgba(246,241,231,.15);padding-top:16px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.78rem}
@media(max-width:920px){.hero .agua{display:none}
.hamb{display:flex}
.topnav .wrap{flex-wrap:wrap}
.menu{
    display:none;
    order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;
    border-top:1px solid var(--linea);margin-top:12px;padding-top:6px;
  }
.menu.abierto{display:flex}
.menu li{list-style:none}
.menu a{display:block;padding:12px 4px;border-radius:0;font-size:1rem}
.menu .cta{margin:8px 0 4px;text-align:center;border-radius:8px;padding:12px}
.franquicia .cols.instal .cols.prueba .cols.contacto .cols.nosotros .cols{grid-template-columns:1fr}
.pie .cols{grid-template-columns:1fr}
.menu{display:none}
.fotos img.alta{height:220px}}
/* ---- políticas colapsables ---- */
.acordeon{display:grid;gap:14px;margin-top:6px}
.pol-item{scroll-margin-top:86px;background:#fff;border:1px solid var(--linea);border-left:4px solid var(--corteza);border-radius:12px;overflow:hidden}
.pol-item[open]{border-left-color:var(--brasa)}
.pol-item > summary{
  list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;gap:18px;
  transition:background .15s;
}
.pol-item > summary::-webkit-details-marker{display:none}
.pol-item > summary:hover{background:#FCFBF8}
.pol-item > summary:focus-visible{outline:2px solid var(--brasa);outline-offset:-2px}
.sum-txt{flex:1}
.sum-txt h2{font-family:Georgia,serif;font-size:1.12rem;color:var(--corteza);margin:0 0 5px}
.sum-txt p{font-size:.87rem;color:var(--tenue);margin:0;line-height:1.5}
.sum-meta{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--corteza);margin-top:8px;display:block}
.chev{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--linea);display:flex;align-items:center;justify-content:center;transition:.25s;order:2}
.chev::before{content:"";width:7px;height:7px;border-right:2px solid var(--corteza);border-bottom:2px solid var(--corteza);transform:rotate(45deg) translate(-2px,-2px)}
.pol-item[open] .chev{transform:rotate(180deg);background:var(--hueso-2);border-color:var(--albura)}
.pol-cont{padding:2px 22px 26px;border-top:1px solid var(--linea);margin-top:-1px}
.pol-cont > *:first-child{margin-top:18px}
.pol-cont h2{font-family:Georgia,serif;font-size:1.08rem;color:var(--corteza);margin:1.5rem 0 .5rem}
.pol-cont h3{font-size:.95rem;margin:1.1rem 0 .3rem}
.pol-cont p{margin-bottom:.75rem;font-size:.94rem}
.pol-cont ul.pol-cont ol{margin:.3rem 0 1rem 1.15rem;display:grid;gap:.4rem;font-size:.94rem}
.pol-cont a{color:var(--brasa)}
.pol-cont .caja{background:var(--hueso);border:1px solid var(--linea);border-left:3px solid var(--brasa);border-radius:10px;padding:1rem 1.2rem;margin:1.2rem 0}
.pol-cont .caja h3{margin-top:0}
.pol-cont .tabla{overflow-x:auto;margin:.5rem 0 1.1rem}
.pol-cont .tabla table{width:100%;min-width:460px;border-collapse:collapse;font-size:.87rem;background:var(--hueso);border:1px solid var(--linea);border-radius:8px;overflow:hidden}
.pol-cont .tabla th,.pol-cont .tabla td{padding:9px 12px;border-bottom:1px solid var(--linea);vertical-align:top}
.pol-cont .tabla th{text-align:left}
.pol-cont .tabla td{text-align:left}
.pol-cont .tabla td:last-child{text-align:justify;text-justify:inter-word;hyphens:none}
.pol-cont .tabla th{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--tenue);background:#FCFBF8}
.pol-cont .tabla tr:last-child td{border-bottom:0}
@media(max-width:620px){.pol-item > summary{padding:16px 16px}
.pol-cont{padding:2px 16px 20px}}
/* ---- página de documento ---- */
.doc-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
header.doc{padding:48px 0 24px}
h1{font-family:Georgia,serif;font-size:clamp(1.8rem,3.6vw,2.5rem);line-height:1.15;margin:.45rem 0 .7rem;color:var(--corteza)}
.doc-meta{font-size:.85rem;color:var(--tenue);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:11px 0;display:flex;gap:26px;flex-wrap:wrap}
.doc-cuerpo{padding-bottom:56px;line-height:1.75;font-size:1.02rem}
.doc-cuerpo h2{font-family:Georgia,serif;font-size:1.28rem;color:var(--corteza);margin:2rem 0 .6rem}
.doc-cuerpo h3{font-size:1rem;margin:1.3rem 0 .35rem}
.doc-cuerpo p{margin-bottom:.85rem}
.doc-cuerpo ul.doc-cuerpo ol{margin:.3rem 0 1rem 1.15rem;display:grid;gap:.45rem}
.doc-cuerpo a{color:var(--brasa)}
.caja{background:#fff;border:1px solid var(--linea);border-left:4px solid var(--brasa);border-radius:12px;padding:1.2rem 1.4rem;margin:1.4rem 0}
.caja h3{margin-top:0}
.tabla{overflow-x:auto;margin:.6rem 0 1.2rem}
.tabla table{width:100%;min-width:480px;border-collapse:collapse;font-size:.9rem;background:#fff;border:1px solid var(--linea);border-radius:10px;overflow:hidden}
/* La coma de este selector se perdió en alguna edición: `.tabla th.tabla td`
   pide un `th` con clase `tabla`, que no existe en ninguna de las tres páginas,
   así que las tablas de políticas llevaban desde entonces sin relleno, sin línea
   divisoria y sin alineación superior. Medido el 03-09-2026. */
.tabla th,.tabla td{padding:10px 13px;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla th{text-align:left}
/* La justificación va solo en la última columna, que es donde estas tablas ponen
   la prosa. Justificada la columna de 205 px, la línea «Certificado de asistencia y»
   abría tres huecos del ancho de una palabra: bajo unos 40 caracteres por línea el
   margen parejo se paga con ríos blancos. Medido el 03-09-2026. */
.tabla td{text-align:left}
.tabla td:last-child{text-align:justify;text-justify:inter-word;hyphens:none}
/* La tabla de datos personales tiene cuatro columnas y la prosa va en la segunda
   y la tercera; la última son dos o tres palabras. */
.tabla-4col td:nth-child(2),.tabla-4col td:nth-child(3){text-align:justify;text-justify:inter-word;hyphens:none}
.tabla-4col td:last-child{text-align:left}
.tabla-p2 td:nth-child(2){text-align:justify;text-justify:inter-word;hyphens:none}
.tabla th{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tenue);background:#FCFBF8}
.tabla tr:last-child td{border-bottom:0}
.wa{position:fixed;right:20px;bottom:20px;z-index:200;width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#0B3D22;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(34,26,19,.28);transition:transform .2s,box-shadow .2s}
.wa:hover{transform:scale(1.07);box-shadow:0 8px 24px rgba(34,26,19,.36)}
.wa svg{width:32px;height:32px}
@media(max-width:620px){.wa{right:14px;bottom:14px;width:52px;height:52px}
.wa svg{width:29px;height:29px}}
/* `.envoltura` es la caja de contenido de la portada, y acá la usa también el
   <main>. Sin esta regla no existía fuera de la barra: el contenido quedaba
   pegado al borde izquierdo, a 160 px de donde empieza el menú de arriba. */
.envoltura{max-width:1280px;margin:0 auto;padding:0 28px}
.pie{background:#221A13;color:#F6F1E7;padding:26px 0 20px;margin-top:40px}
/* Una sola pantalla: cada cargo se abre en su sitio y el formulario vive en una tarjeta
   flotante, así el largo de la página no depende de cuántos campos tenga. */
.postu{max-width:860px;margin:0 auto;padding:18px 22px 10px}
.postu h2{margin-bottom:6px;font-size:1.5rem}
.postu .kicker{margin-bottom:6px}
.postu .intro{margin-bottom:14px;font-size:.95rem}
.pliegue{border:1.5px solid var(--linea);border-radius:10px;background:#fff;margin-bottom:12px;overflow:hidden}
.pliegue>summary{cursor:pointer;padding:11px 18px;font-weight:600;font-family:Georgia,'Times New Roman',serif;
  font-size:1.12rem;list-style:none;display:flex;align-items:center;gap:12px;background:var(--hueso-2)}
.pliegue>summary::-webkit-details-marker{display:none}
.pliegue>summary::after{content:'+';margin-left:auto;font-size:1.4rem;line-height:1;color:var(--brasa);font-family:inherit}
.pliegue[open]>summary::after{content:'−'}
.pliegue .dentro{padding:12px 18px 14px}
.pliegue .dentro p+p{margin-top:10px}
.pliegue .dentro .btn{margin-top:14px}
/* El pie del molde mide 251 px de una ventana de 898 y sus reglas ganan a cualquier
   ajuste de padding. En una página de una sola pantalla se cambia por una línea. */
footer.pie{display:none}
/* Tarjeta flotante */
dialog.tarjeta{border:none;border-radius:14px;padding:0;max-width:560px;width:calc(100% - 32px);
  box-shadow:0 24px 60px rgba(34,26,19,.28);background:var(--hueso)}
dialog.tarjeta::backdrop{background:rgba(34,26,19,.5)}
dialog.tarjeta .cab{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--hueso-2);
  border-bottom:1.5px solid var(--linea)}
dialog.tarjeta .cab h3{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;margin:0}
dialog.tarjeta .cerrar{margin-left:auto;background:none;border:none;font-size:1.6rem;line-height:1;
  cursor:pointer;color:var(--tenue);padding:0 4px}
dialog.tarjeta .cuerpo{padding:18px 20px 20px}
dialog.tarjeta .fila{display:grid;grid-template-columns:3fr 2fr;gap:14px}
@media (max-width:560px){dialog.tarjeta .fila{grid-template-columns:1fr}}
dialog.tarjeta label{display:block;margin-top:10px;font-size:.88rem;font-weight:600}
dialog.tarjeta .aviso-datos{margin-top:12px;font-size:.8rem;color:var(--tenue);line-height:1.45}
dialog.tarjeta textarea{min-height:64px}
/* El molde trae «.form input.form select.form textarea{width:100%}
», que sin comas es un
   selector descendente y no aplica a nada: los campos quedaban en su ancho por defecto,
   143 px, sin importar la columna. Mismo defecto en alerce-contacto.html. */
dialog.tarjeta input,dialog.tarjeta select,dialog.tarjeta textarea{width:100%;
  padding:10px 12px;border:1.5px solid var(--linea);border-radius:8px;font-size:.95rem;
  background:#fff;font-family:inherit}