/* Printeasy — estilos */
@font-face{font-family:"Inter Tight";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/inter-tight-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/inter-tight-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/inter-tight-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/inter-tight-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/inter-tight-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --rojo:#E8230A;
  --tinta:#111111;
  --texto:#3D3C39;
  --gris:#5F5E5A;
  --gris-2:#6B6A65;
  --linea:#E7E5E0;
  --papel:#F3F2EE;
  --papel-2:#F6F5F1;
  --oscuro-texto:#B9B8B2;
  --oscuro-linea:#3A3936;
  --pad:clamp(16px,4vw,48px);
  --sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#fff;color:var(--tinta);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--tinta)}
a:hover{color:var(--gris)}
:focus-visible{outline:2px solid var(--rojo);outline-offset:3px}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{max-width:1280px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.rojo{color:var(--rojo)}
.etiqueta{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:16px}
.saltar{position:absolute;left:-999px;top:0;background:var(--tinta);color:#fff;padding:12px 16px;z-index:10}
.saltar:focus{left:8px;top:8px;color:#fff}

/* Botones */
.btn{display:inline-flex;align-items:center;min-height:48px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;border:1px solid var(--tinta);cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.btn-negro{background:var(--tinta);color:#fff}
.btn-negro:hover{background:#2b2a28;color:#fff}
.btn-linea{background:transparent;color:var(--tinta)}
.btn-linea:hover{background:var(--tinta);color:#fff}

/* Logo */
.logo{display:flex;align-items:center;gap:14px;text-decoration:none}
.logo-txt{font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--tinta)}
.logo-txt span{color:var(--rojo)}
.logo-sep{width:2px;height:26px;background:var(--rojo)}
.logo-lema{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);line-height:1.3}

/* Cabecera */
.cabecera{border-bottom:1px solid var(--linea);background:#fff;position:sticky;top:0;z-index:5}
.cabecera .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:18px;padding-bottom:18px}
.menu{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.menu a{text-decoration:none}
.menu .btn{min-height:44px;padding:10px 20px;font-size:15px}
.menu-toggle{display:none;background:none;border:1px solid var(--tinta);border-radius:999px;width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;color:var(--tinta)}
@media (max-width:900px){
  .logo-lema{display:none}
  .logo-sep{display:none}
  .menu-toggle{display:inline-flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--linea);flex-direction:column;align-items:flex-start;gap:4px;padding:12px var(--pad) 24px}
  .menu a{padding:10px 0;font-size:18px}
  .menu .btn{margin-top:8px;padding:12px 22px}
  .cabecera.abierta .menu{display:flex}
}

/* Hero */
.hero{position:relative}
.hero .wrap{position:relative;padding-top:clamp(56px,9vw,128px);padding-bottom:clamp(48px,6vw,80px)}
.marca-corte{position:absolute;top:28px;color:#C9C6BF}
.marca-corte.izq{left:var(--pad)}
.marca-corte.der{right:var(--pad)}
.hero-fila{display:flex;flex-wrap:wrap;gap:48px 64px;align-items:flex-end}
.hero-titulo{flex:999 1 640px;min-width:0}
.hero h1{font-size:clamp(46px,7.4vw,112px);line-height:.96;letter-spacing:-.045em;font-weight:700}
.hero-lado{flex:1 1 320px;min-width:0;max-width:420px}
.hero-lado p{font-size:19px;color:var(--texto);margin-bottom:32px}
.botones{display:flex;flex-wrap:wrap;gap:12px}
.barra-color{display:flex;align-items:center;gap:16px}
.barra-color .tiras{display:flex;height:10px}
.barra-color .tiras span{width:28px}
.barra-color .raya{flex:1;height:1px;background:var(--linea)}

/* Pilares */
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px 48px;padding-top:56px}
.pilares h2{font-size:18px;font-weight:700;margin-bottom:10px;letter-spacing:0}
.pilares p{color:var(--gris);font-size:16px}

/* Secciones */
.seccion{padding-top:clamp(72px,10vw,136px)}
.cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}
.cabeza h2,.h2{font-size:clamp(34px,4.6vw,64px);line-height:1.02;letter-spacing:-.035em;font-weight:700}
.cabeza .intro{max-width:380px;color:var(--gris);font-size:16px}

/* Servicios */
.servicios{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));border-top:1px solid var(--tinta)}
.servicio{padding:32px 28px 40px 0;border-bottom:1px solid var(--linea)}
.servicio .letra{font-family:var(--mono);font-size:13px;color:var(--rojo);font-weight:500;margin-bottom:48px}
.servicio h3{font-size:26px;letter-spacing:-.02em;font-weight:700;margin-bottom:14px}
.servicio p{color:var(--gris);font-size:16px;margin-bottom:20px}
.servicio ul{display:flex;flex-direction:column;gap:8px;font-size:15px}

/* Productos */
.productos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:40px 24px}
.producto{text-decoration:none;display:flex;flex-direction:column;gap:14px;color:var(--tinta)}
.producto:hover{color:var(--tinta)}
.foto{aspect-ratio:4/3;background:var(--papel);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.foto .ph{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-2);text-align:center;padding:0 16px}
.foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.producto:hover .foto img{transform:scale(1.03)}
.foto::before,.foto::after{content:"";position:absolute;width:14px;height:14px;z-index:1;pointer-events:none}
.foto::before{top:12px;left:12px;border-top:1px solid #B8B5AD;border-left:1px solid #B8B5AD}
.foto::after{bottom:12px;right:12px;border-bottom:1px solid #B8B5AD;border-right:1px solid #B8B5AD}
.producto-fila{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.producto-nombre{font-size:19px;font-weight:600;letter-spacing:-.01em}
.producto-num{font-family:var(--mono);font-size:12px;color:var(--gris-2)}
.producto-spec{font-size:15px;color:var(--gris);margin-top:-8px}

/* Proceso */
.proceso{margin-top:clamp(72px,10vw,136px);background:var(--tinta);color:#fff}
.proceso .wrap{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}
.proceso .etiqueta{color:#A3A29C}
.proceso .h2{max-width:760px;margin-bottom:64px}
.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px 32px}
.pasos li{border-top:1px solid var(--oscuro-linea);padding-top:24px}
.pasos .n{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--rojo);margin-bottom:20px}
.pasos h3{font-size:21px;font-weight:700;margin-bottom:10px}
.pasos p{color:var(--oscuro-texto);font-size:16px}

/* Estudio */
.estudio{display:flex;flex-wrap:wrap;gap:48px 80px;align-items:center;padding-bottom:clamp(72px,10vw,136px)}
.estudio-foto{flex:1 1 340px;min-width:0;max-width:480px}
.estudio-foto .foto{aspect-ratio:4/5}
.estudio-foto .foto::before{display:none}
.estudio-foto .foto::after{left:0;right:auto;bottom:0;width:6px;height:40%;border:0;background:var(--rojo)}
.estudio-txt{flex:999 1 420px;min-width:0}
.cita{font-size:clamp(28px,3.4vw,46px);line-height:1.15;letter-spacing:-.03em;font-weight:600;margin-bottom:32px}
.firma{display:flex;align-items:center;gap:14px;margin-bottom:40px}
.firma .sep{width:2px;height:40px;background:var(--rojo)}
.firma strong{display:block}
.firma span{color:var(--gris);font-size:15px}
.estudio-txt .texto{max-width:560px;color:var(--texto)}

/* Contacto */
.contacto{background:var(--papel-2);border-top:1px solid var(--linea)}
.contacto .wrap{display:flex;flex-wrap:wrap;gap:56px 80px;padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}
.contacto-info{flex:1 1 340px;min-width:0}
.contacto-info h2{font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.04em;font-weight:700;margin-bottom:24px}
.contacto-info .intro{max-width:400px;color:var(--texto);margin-bottom:40px}
.datos{display:flex;flex-direction:column;gap:18px;font-size:16px}
.datos dt{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-2)}
.datos dd{margin:0;font-weight:600}
.formulario{flex:999 1 480px;min-width:0;background:#fff;border:1px solid var(--linea);padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.campo{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}
.campo.ancho,.formulario .ancho{grid-column:1/-1}
.campo input,.campo select,.campo textarea{font:inherit;font-size:16px;font-weight:400;color:var(--tinta);background:#fff;border:1px solid #CFCCC4;border-radius:0;padding:0 14px;height:48px;width:100%}
.campo textarea{height:auto;padding:12px 14px;resize:vertical;min-height:130px}
.campo select{padding:0 12px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--tinta);outline:none;box-shadow:0 0 0 1px var(--tinta)}
.opcional{font-weight:400;color:var(--gris)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--gris)}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--tinta);flex:none}
.trampa{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.enviar-fila{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.enviar-fila span{font-size:14px;color:var(--gris)}
.aviso{grid-column:1/-1;padding:14px 16px;font-size:15px;border:1px solid}
.aviso[hidden]{display:none}
.aviso.ok{border-color:#1F7A3A;color:#145226;background:#EEF7F0}
.aviso.error{border-color:var(--rojo);color:#9E1806;background:#FDF0EE}

/* Pie */
.pie{background:var(--tinta);color:var(--oscuro-texto)}
.pie .wrap{padding-top:56px;padding-bottom:40px}
.pie-arriba{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--oscuro-linea)}
.pie .logo-txt{color:#fff;font-size:34px}
.pie .logo-sep{height:30px;display:block}
.pie-lema{font-size:14px;line-height:1.4}
.pie nav{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px}
.pie nav a{color:#fff;text-decoration:none}
.pie nav a:hover{color:var(--oscuro-texto)}
.pie-abajo{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;font-size:13px}
.pie-abajo a{color:var(--oscuro-texto)}
.pie-abajo a:hover{color:#fff}
.pie-legal{display:flex;flex-wrap:wrap;gap:20px}

/* Páginas legales */
.legal{max-width:760px;margin:0 auto;padding:clamp(48px,8vw,96px) var(--pad)}
.legal h1{font-size:clamp(34px,4.6vw,56px);letter-spacing:-.035em;line-height:1.05;margin-bottom:12px}
.legal h2{font-size:22px;margin:40px 0 12px;letter-spacing:-.01em}
.legal p,.legal li{color:var(--texto);margin-bottom:12px}
.legal ul{list-style:disc;padding-left:22px}
.legal .act{font-family:var(--mono);font-size:12px;color:var(--gris);letter-spacing:.08em;text-transform:uppercase;margin-bottom:32px}
.legal table{border-collapse:collapse;width:100%;font-size:15px;margin:12px 0 20px}
.legal th,.legal td{border:1px solid var(--linea);padding:10px;text-align:left;vertical-align:top}
@media (max-width:600px){.marca-corte{display:none}}
