/* Sitio de GVCODEX. Variante D: tinta, cadmio y cobalto (elegida por Emanuel el 9/11/2026).
   Cadmio solo sobre tinta o como resaltador debajo de texto en tinta; cobalto para enlaces, filetes y bandas.
   Sin degradados de color, sin sombras, radios de 2 px, sin íconos. */
@font-face{font-family:"Piazzolla";src:url("fuentes/Piazzolla-Variable-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Piazzolla";font-style:italic;src:url("fuentes/Piazzolla-Italic-Variable-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Familjen Grotesk";src:url("fuentes/FamiljenGrotesk-Variable-latin.woff2") format("woff2");font-weight:400 700;font-display:swap}

:root{
  --tinta:#151513; --papel:#FCFBF8; --cadmio:#FFC31F; --cobalto:#1F3FD6;
  --claro:#F4F1EA; --gris-oscuro:#B7B3A8; --gris:#55534D; --texto:#3A3934; --filete:#E3E0D7; --sobre-cobalto:#E1E5FB;
  --serif:"Piazzolla",Georgia,serif; --grotesca:"Familjen Grotesk",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--grotesca);color:var(--tinta);background:var(--papel);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.ancho{max-width:1240px;margin:0 auto;padding:0 48px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--cadmio);color:var(--tinta);padding:8px 12px;font-weight:600;z-index:10}
.saltar:focus{left:8px}
:focus-visible{outline:3px solid var(--cobalto);outline-offset:3px}
.oscuro :focus-visible,.banda :focus-visible{outline-color:var(--cadmio)}

/* ---------- barra y menú ---------- */
.oscuro{background:var(--tinta);color:var(--claro)}
.nav{display:flex;align-items:center;gap:28px;padding-top:20px;padding-bottom:20px;font-size:14px}
.logo{font-weight:700;font-size:20px;letter-spacing:.14em;color:var(--claro)}
.menu{flex:1;display:flex;gap:22px}
.menu a{color:var(--gris-oscuro);padding:4px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current]{color:var(--claro);border-bottom-color:var(--cadmio)}
.menu-celular{display:none}

/* ---------- botones y enlaces ---------- */
.boton{display:inline-flex;align-items:center;min-height:48px;background:var(--cadmio);color:var(--tinta);font-weight:600;font-size:16px;padding:12px 22px;border-radius:2px}
.boton:hover{background:#FFD24D}
.boton-chico{min-height:38px;font-size:14px;padding:8px 14px}
.boton-tinta{background:var(--tinta);color:#FFFFFF}
.boton-tinta:hover{background:#2C2C27}
.boton-cobalto{background:var(--cobalto);color:#FFFFFF}
.boton-cobalto:hover{background:#1A35B5}
.enlace{font-weight:600;padding-bottom:2px;border-bottom:2px solid var(--cobalto);color:var(--cobalto)}
.oscuro .enlace{color:var(--claro);border-bottom-color:var(--cadmio)}
.banda .enlace{color:#FFFFFF;border-bottom-color:var(--cadmio)}
.acciones{display:flex;gap:28px;align-items:center;flex-wrap:wrap}

/* ---------- inicio ---------- */
.hero{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center;padding-top:56px;padding-bottom:88px}
.kicker{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris-oscuro);margin-bottom:20px}
.titular{font-family:var(--serif);font-weight:600;font-size:64px;line-height:1.04;letter-spacing:-.012em;margin-bottom:26px}
.cad{color:var(--cadmio);display:block}
.oscuro .bajada{font-family:var(--serif);font-size:20px;line-height:1.55;color:#D8D4CA;max-width:620px;margin-bottom:32px}

/* ---------- cabecera de páginas internas ---------- */
.cabecera .ancho{padding-top:64px;padding-bottom:80px}
.cabecera h1{font-family:var(--serif);font-weight:600;font-size:56px;line-height:1.06;letter-spacing:-.01em;max-width:920px}
.cabecera .bajada{margin-top:24px;margin-bottom:0}

/* ---------- secciones ---------- */
section.papel{padding:88px 0}
.borde-arriba{border-top:1px solid var(--filete)}
.seccion-tit{font-family:var(--serif);font-size:40px;font-weight:600;line-height:1.12;margin-bottom:14px;max-width:780px}
.seccion-baj{font-family:var(--serif);font-size:19px;line-height:1.5;color:var(--gris);max-width:680px;margin-bottom:44px}
.doble .seccion-baj{margin-bottom:24px}
.sub{font-family:var(--serif);font-size:24px;font-weight:600;margin:8px 0 6px}
.sub ~ .sub{margin-top:40px}
.parrafo{font-size:17px;line-height:1.55;color:var(--texto);margin-bottom:16px;max-width:640px}
.parrafo.grande{font-family:var(--serif);font-size:20px;line-height:1.55;color:var(--tinta)}
.doble{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}

.col{display:grid;gap:40px 36px}
.col-3{grid-template-columns:repeat(3,1fr)}
.col-4{grid-template-columns:repeat(4,1fr)}
.col h3{font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.2;border-top:3px solid var(--cobalto);padding-top:14px;margin-bottom:10px}
.col p{font-size:16px;line-height:1.55;color:var(--texto);margin-bottom:14px}

.col-2{grid-template-columns:repeat(2,1fr)}

/* escalera de servicios: la barra crece del reporte simple al proyecto completo */
.escala{display:flex;gap:10px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);margin-bottom:14px}
.escala span+span::before{content:"→ ";color:var(--cobalto)}
.niveles{list-style:none;border-bottom:1px solid var(--filete)}
.niveles a{display:grid;grid-template-columns:200px 280px 1fr;gap:32px;align-items:center;border-top:1px solid var(--filete);padding:24px 0}
.niveles h3{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.15}
.niveles p{font-size:17px;line-height:1.5;color:var(--texto)}
.niveles a:hover h3{color:var(--cobalto)}
.nivel-barra{display:block;height:10px;background:linear-gradient(to right,var(--cobalto) var(--p),var(--filete) var(--p))}

/* tabla de precios: cifras tabulares y alineadas a la derecha */
.tabla{width:100%;border-collapse:collapse;font-size:16px}
.tabla th,.tabla td{text-align:left;padding:14px 12px 14px 0;border-bottom:1px solid var(--filete);vertical-align:top}
.tabla thead th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);font-weight:600;border-bottom:2px solid var(--tinta)}
.tabla tbody th{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.3}
.tabla .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--texto)}
.tabla thead th:not(:first-child){text-align:right}

/* franja de rubros */
.rubros-lista{font-family:var(--serif);font-size:34px;line-height:1.35;font-weight:600;max-width:1100px}
.rubros-lista .sep{color:var(--cadmio)}
.rubros-pie{font-size:18px;line-height:1.55;color:var(--sobre-cobalto);max-width:760px;margin:28px 0 18px}

.banda{background:var(--cobalto);color:#FFFFFF;padding:80px 0}
.banda .seccion-tit{color:#FFFFFF;margin-bottom:36px}
.banda .col h3{border-top-color:var(--cadmio)}
.banda .col p{color:var(--sobre-cobalto)}

.lista{list-style:none}
.lista li{position:relative;padding-left:24px;margin-bottom:14px;font-size:17px;line-height:1.55;color:var(--texto);max-width:680px}
.lista li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;background:var(--cobalto)}
.lista b{color:var(--tinta)}

.seis{list-style:none;counter-reset:n}
.seis li{counter-increment:n;position:relative;padding-left:52px;margin-bottom:18px;font-size:17px;line-height:1.5;color:var(--texto)}
.seis li::before{content:counter(n);position:absolute;left:0;top:-4px;font-family:var(--serif);font-weight:600;font-size:30px;color:var(--cobalto);line-height:1}
.seis b{color:var(--tinta)}

.pasos{list-style:none;counter-reset:p;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px;margin-top:24px}
.pasos li{counter-increment:p;border-top:1px solid var(--filete);padding-top:18px}
.pasos li::before{content:counter(p);display:block;font-family:var(--serif);font-weight:600;font-size:44px;line-height:1;color:var(--cobalto);margin-bottom:12px}
.pasos h3{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.2;margin-bottom:8px}
.pasos p{font-size:16px;line-height:1.55;color:var(--texto)}

.figura img{border:1px solid #D9D5CB;background:var(--papel)}
.oscuro .figura img{border-color:#3A3934}
.figura figcaption{font-size:13px;color:var(--gris);margin-top:10px}
.oscuro .figura figcaption{color:var(--gris-oscuro)}
.figura b{color:var(--cobalto);font-weight:600}
.oscuro .figura b{color:var(--cadmio)}

.cierre{display:flex;justify-content:space-between;align-items:center;gap:40px}
.cierre p{font-family:var(--serif);font-size:28px;line-height:1.3;max-width:760px}
.resaltado{background:linear-gradient(transparent 56%,var(--cadmio) 56%,var(--cadmio) 92%,transparent 92%)}

/* ---------- preguntas ---------- */
.faq{max-width:860px}
.faq details{border-top:1px solid var(--filete);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--filete)}
.faq summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.3;display:flex;justify-content:space-between;gap:24px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--grotesca);font-weight:400;color:var(--cobalto);font-size:28px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{font-size:17px;line-height:1.6;color:var(--texto);margin-top:12px;max-width:760px}

/* ---------- contacto ---------- */
.datos{display:grid;gap:0;max-width:860px}
.datos div{display:grid;grid-template-columns:240px 1fr;gap:24px;border-top:1px solid var(--filete);padding:24px 0}
.datos dt{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);padding-top:6px}
.datos dd{font-family:var(--serif);font-size:22px;line-height:1.4}
.pendiente{background:#FFF1C7;border:1px dashed #B58500;padding:2px 8px;font-family:var(--grotesca);font-size:16px}
.datos .boton{font-family:var(--grotesca)}
.nota-dato{font-family:var(--grotesca);font-size:15px;color:var(--gris);margin-top:12px}

/* ---------- pie ---------- */
.pie{padding:56px 0 40px;font-size:15px}
.pie-col{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:36px}
.pie-col p{color:var(--gris-oscuro);margin-top:8px}
.pie ul{list-style:none}
.pie li{margin-bottom:8px}
.pie li a{color:#D8D4CA}
.pie li a:hover{color:var(--claro);border-bottom:2px solid var(--cadmio)}
.pie-nota{font-size:13px;color:var(--gris-oscuro);border-top:1px solid #2C2C27;padding-top:20px}

/* ---------- celular ---------- */
@media (max-width:980px){
  .menu{display:none}
  .menu-celular{display:block;position:relative;margin-left:auto}
  .menu-celular summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 12px;border:1px solid #3A3934;border-radius:2px;color:var(--claro);font-weight:600}
  .menu-celular summary::-webkit-details-marker{display:none}
  .menu-celular nav{position:absolute;right:0;top:52px;background:var(--tinta);border:1px solid #3A3934;padding:8px 0;min-width:240px;z-index:5;display:flex;flex-direction:column}
  .menu-celular nav a{padding:12px 18px;color:var(--claro);min-height:44px}
  .menu-celular nav a[aria-current]{color:var(--cadmio)}
  .col-4{grid-template-columns:repeat(2,1fr)}
  .niveles a{grid-template-columns:160px 1fr;gap:12px 28px}
  .niveles p{grid-column:2}
}
@media (max-width:700px){
  .ancho{padding:0 20px}
  .nav{gap:12px}
  .nav > .boton-chico{display:none}
  .hero{grid-template-columns:1fr;gap:36px;padding-top:28px;padding-bottom:56px}
  .titular{font-size:40px}
  .oscuro .bajada{font-size:18px}
  .acciones{flex-direction:column;align-items:flex-start;gap:18px}
  .cabecera .ancho{padding-top:36px;padding-bottom:48px}
  .cabecera h1{font-size:36px}
  section.papel{padding:56px 0}
  .banda{padding:56px 0}
  .seccion-tit{font-size:30px}
  .doble,.col-2,.col-3,.col-4{grid-template-columns:1fr;gap:32px}
  .niveles a{grid-template-columns:1fr;gap:10px;padding:20px 0}
  .nivel-barra{width:160px}
  .niveles h3{font-size:23px}
  .rubros-lista{font-size:24px}
  .tabla{font-size:14px}
  .tabla tbody th{font-size:16px}
  .tabla .num{white-space:normal}
  .cierre{flex-direction:column;align-items:flex-start}
  .cierre p{font-size:23px}
  .faq summary{font-size:19px}
  .datos div{grid-template-columns:1fr;gap:6px}
  .pie-col{grid-template-columns:1fr;gap:24px}
}
