/* ═══════════════════════════════════════════════════
   ESTILOS DE LAS PAGINAS INTERNAS  (portado al tema el 2026-08-08)

   Antes cada pagina llevaba su propia copia de este CSS en un <style>
   dentro del contenido: 41 copias de ~8KB, y cualquier arreglo habia que
   aplicarlo 41 veces. Aqui esta una sola vez.

   Todo va prefijado con .agr-page-content, que es el envoltorio que usan
   las paginas, para que no se filtre al tema ni a la home.

   Se unieron 5 variantes que existian (dos familias de clases: p* y pag-*).
   Solo 4 selectores se contradecian y se resolvieron asi:
     .pc      -> superset, sin la animacion de carga
     .pstep   -> sin la animacion de carga
     .ph h1   -> max-width:700px (era 700 en 24 pgs y 680 en 11)
     .ph p    -> font-weight:300, la convencion del tema (.hero-lead)
   La animacion 'pFadeInUp' se elimino a proposito: se disparaba al cargar
   y la sustituye el reveal por scroll de main-v2.js.
═══════════════════════════════════════════════════ */

.agr-page-content { width:100% }

/* ── Que nada del contenido se salga de su caja ──────────────────────────
   Una cadena sin espacios no se parte sola y estira el bloque entero. En
   /futuro-de-la-agrimensura/ hay una URL de researchgate de 235 caracteres
   pegada en crudo: llevaba el parrafo a 1.211px dentro de una caja de 350, y
   como el <body> tiene overflow-x:hidden no se desbordaba, se RECORTABA. El
   texto simplemente no estaba, y movil es el 55% de las impresiones.
   break-word solo actua cuando no hay otra salida, asi que no cambia nada
   donde el texto ya cabia. */
.agr-page-content { overflow-wrap:break-word }

/* El H1 del hero de pagina se sale por poco en pantallas estrechas: en
   /nosotros/ "El equipo de Agrimensura.com.do" mide 362px en una caja de 350,
   porque el suelo del clamp de --t1 (2,1rem) queda por encima de su parte
   proporcional a la pantalla justo en los moviles. Partir la palabra a la
   fuerza dejaria "Agrimensura.co / m.do"; escalar con la pantalla se lee
   bien y no depende de cuanto mida este titular en concreto. */
@media (max-width:420px) {
  .agr-page-content .ph h1 { font-size:min(var(--t1),8vw) }
}
.agr-page-content .ph { background:linear-gradient(155deg,#061F30 0%,#0A3A57 50%,#061F30 100%);padding:72px 32px 64px;position:relative;overflow:hidden }
.agr-page-content .ph::before { content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(18,100,147,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(18,100,147,.07) 1px,transparent 1px);background-size:48px 48px }
.agr-page-content .ph::after { content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#126493 30%,#1A8AC4 50%,#126493 70%,transparent) }
.agr-page-content .phi { max-width:1060px;margin:0 auto;position:relative;z-index:2 }
/* Enlace suelto dentro del parrafo del hero (ej. /como-heredar-un-terreno.../):
   el azul de enlace normal (--azul, #126493) da 1.86:1 sobre este fondo
   oscuro, muy por debajo del 4.5:1 exigido. --azul-claro-txt es el mismo
   tono que ya usa .cc a en /contacto/ sobre el mismo #0A3A57, ya probado.
   SOLO en <p>: la primera version decia ".ph a" a secas y le pintaba el
   mismo azul claro a los botones .pb-wa/.pb-az del hero, que ya tienen su
   propio color pensado para su fondo (verde WhatsApp, azul solido) — el
   selector generico bajo el contraste de esos botones a 1.01:1 en 44
   paginas. Detectado por contraste-todo-el-sitio.mjs antes de publicar. */
.agr-page-content .ph .phi > p a { color:#6FC3E8; text-decoration:underline; text-underline-offset:2px }
.agr-page-content .ph .phi > p a:hover { color:#9AD8F0 }
.agr-page-content .pey { display:inline-flex;align-items:center;gap:10px;font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:16px }
.agr-page-content .pey::before { content:'';width:20px;height:1.5px;background:rgba(255,255,255,.4);flex-shrink:0 }
.agr-page-content .pey.b { color:#136A96 }
.agr-page-content .pey.b::before { background:#1A8AC4 }
.agr-page-content .pbr { display:flex;flex-wrap:wrap;gap:12px }
.agr-page-content .pb { display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t5);padding:13px 26px;border-radius:8px;border:2px solid transparent;cursor:pointer;min-height:48px;text-decoration:none!important;transition:all .22s ease;white-space:nowrap }
.agr-page-content .pb:hover { transform:translateY(-2px) }
.agr-page-content .pb-wa { background:#25D366;color:#08301A;border-color:#25D366 }
.agr-page-content .pb-wa:hover { background:#1db954;color:#08301A }
.agr-page-content .pb-ol { background:transparent;color:#fff;border-color:rgba(255,255,255,.35) }
.agr-page-content .pb-ol:hover { background:rgba(255,255,255,.09);color:#fff }
.agr-page-content .pb-az { background:#126493;color:#fff;border-color:#126493 }
.agr-page-content .pb-az:hover { background:#0E4F75;color:#fff }
.agr-page-content .pb-out { background:transparent;color:#126493;border-color:rgba(18,100,147,.25) }
.agr-page-content .pb-out:hover { background:#E8F3FA;border-color:#126493 }
.agr-page-content .ps { padding:88px 32px }   /* unificado con .sec de la home (era 72px) */
.agr-page-content .psa { padding:88px 32px;background:#F5F7F9 }  /* unificado con la home */
.agr-page-content .pw { max-width:1060px;margin:0 auto }
.agr-page-content .pws { max-width:760px;margin:0 auto }
.agr-page-content .psh { margin-bottom:48px }
.agr-page-content .psh.c { text-align:center }
.agr-page-content h2.p { font-family:'Montserrat',sans-serif;font-size:var(--t2);font-weight:700;color:#1A1A1B;letter-spacing:-.015em }  /* misma escala que el h2 del tema */
.agr-page-content h3.p { font-family:'Montserrat',sans-serif;font-size:var(--t4);font-weight:600;color:#0A3A57;margin-bottom:8px }
.agr-page-content .pr { display:block;width:38px;height:2px;background:linear-gradient(90deg,#126493,#1A8AC4);border-radius:1px;margin-top:12px }
.agr-page-content .pr.c { margin:12px auto 0 }
.agr-page-content .g3 { display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px }
.agr-page-content .g2 { display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px }
.agr-page-content .pc::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#126493,#1A8AC4);transform:scaleX(0);transform-origin:left;transition:transform .3s ease }
.agr-page-content .pc:hover { transform:translateY(-5px);box-shadow:0 12px 40px rgba(6,31,48,.12) }
.agr-page-content .pc:hover::before { transform:scaleX(1) }
.agr-page-content .pc .ico { font-size:var(--t2);margin-bottom:14px }
.agr-page-content .pc h3 { font-family:'Montserrat',sans-serif;font-size:var(--t4);font-weight:600;color:#0A3A57;margin-bottom:8px }  /* 700->600: convencion del tema (h4) y evita chocar con h3.p */
.agr-page-content .pc p { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#59595B;margin-bottom:16px }  /* 12->16px: convencion del tema (.card p) */
.agr-page-content .pc .lnk { font-family:'Montserrat',sans-serif;font-size:var(--t5);font-weight:700;color:#126493;display:inline-flex;align-items:center;gap:5px }
.agr-page-content .pnota { background:#E8F3FA;border-left:3px solid #126493;border-radius:0 8px 8px 0;padding:14px 20px;font-size:var(--t5);margin:20px 0;color:#0A3A57;font-family:'Open Sans',sans-serif }
.agr-page-content .ptbl { width:100%;border-collapse:collapse;margin:20px 0;font-size:var(--t5);border-radius:12px;overflow:hidden;box-shadow:0 1px 6px rgba(6,31,48,.08) }
.agr-page-content .ptbl th { background:#0A3A57;color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;padding:11px 16px;text-align:left }
.agr-page-content .ptbl td { padding:10px 16px;border-bottom:1px solid rgba(18,100,147,.1);font-family:'Open Sans',sans-serif;font-size:var(--t5)}
.agr-page-content .ptbl tr:nth-child(even) td { background:#F5F7F9 }
.agr-page-content .ptbl tr:last-child td { border-bottom:none }
/* En movil la tabla no cabe, y como el <body> lleva overflow-x:hidden no se
   desbordaba: se RECORTABA. En /diferencia-entre-deslinde-mensura-y-levantamiento/
   la cuarta columna —"Levantamiento Topografico"— quedaba entera fuera de
   pantalla y sin forma de llegar a ella, en una pagina cuyo titulo promete
   comparar justo esos tres. Movil es el 55% de las impresiones del sitio.
   display:block convierte la tabla en su propio contenedor con desplazamiento
   lateral; thead, tr y td conservan su display de tabla, asi que la rejilla no
   se deshace. Se sustituye overflow:hidden, que es lo que la recortaba. */
@media (max-width:640px) {
  .agr-page-content .ptbl { display:block;overflow-x:auto;-webkit-overflow-scrolling:touch }
  .agr-page-content .ptbl th, .agr-page-content .ptbl td { min-width:150px }
  .agr-page-content .ptbl th:first-child, .agr-page-content .ptbl td:first-child { min-width:110px }
}
.agr-page-content .psteps { list-style:none;counter-reset:s;margin:0;padding:0 }
.agr-page-content .pstep:not(:last-child)::after { content:'';position:absolute;top:52px;left:25px;bottom:calc(-36px + 4px);width:2px;background:linear-gradient(#E8F3FA,transparent) }
.agr-page-content .psn { width:52px;height:52px;background:#126493;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-size:var(--t4);font-weight:800;color:#fff;flex-shrink:0;box-shadow:0 4px 14px rgba(18,100,147,.3) }
.agr-page-content .psn::after { content:counter(s) }
.agr-page-content .psb h3 { font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t4);color:#0A3A57;padding-top:12px;margin-bottom:6px }
.agr-page-content .psb p { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#59595B;margin:0 }
.agr-page-content .pfaqs { border-top:1px solid rgba(18,100,147,.12) }
.agr-page-content .pfaq { border-bottom:1px solid rgba(18,100,147,.12) }
.agr-page-content .pfaq summary { display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:var(--t4);color:#1A1A1B;list-style:none }
.agr-page-content .pfaq summary::-webkit-details-marker { display:none }
.agr-page-content .pfaq summary::after { content:'+';font-size:var(--t2);font-weight:300;color:#126493;flex-shrink:0;transition:transform .22s ease }
.agr-page-content .pfaq[open] summary::after { transform:rotate(45deg) }
.agr-page-content .pfaq[open] summary { color:#126493 }
.agr-page-content .pfaq .fb { padding:0 0 20px;font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#59595B }
/* "Ver tambien". El envoltorio no tenia NI UNA regla —solo la tenia .plks, el
   div de dentro— asi que ocupaba todo el ancho y su texto arrancaba pegado al
   filo del navegador en las 8 paginas donde no cae dentro de un .pws.
   El margen que cada pagina llevaba en su atributo style se trae aqui: en
   linea ganaba siempre, y con margin-left:0 en linea no hay forma de centrarlo
   desde el tema sin !important. Los 760px y el padding lo dejan alineado con
   .pcred, que es su vecino de arriba. */
.agr-page-content .plks-wrap { max-width:760px;margin:36px auto 8px;padding:0 24px }
.agr-page-content .plks { display:flex;flex-wrap:wrap;gap:10px;margin-top:16px }
.agr-page-content .plks a { display:inline-flex;align-items:center;gap:6px;font-family:'Montserrat',sans-serif;font-size:var(--t5);font-weight:700;color:#126493;background:#E8F3FA;border:1px solid rgba(18,100,147,.2);padding:6px 14px;border-radius:20px;transition:all .18s ease }
.agr-page-content .plks a:hover { background:#126493;color:#fff }
.agr-page-content .pcta { padding:72px 32px;background:#061F30;text-align:center;position:relative;overflow:hidden }
.agr-page-content .pcta::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 50% 100%,rgba(18,100,147,.35) 0%,transparent 70%) }
.agr-page-content .pcta::after { content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#126493 30%,#1A8AC4 50%,#126493 70%,transparent) }
.agr-page-content .pcta>* { position:relative;z-index:1 }
.agr-page-content .pcta h2 { font-family:'Montserrat',sans-serif;font-size:var(--t2);font-weight:700;color:#fff;margin-bottom:12px }
.agr-page-content .pcta p { font-family:'Open Sans',sans-serif;font-size:var(--t4);color:rgba(255,255,255,.55);max-width:460px;margin:0 auto 32px }
.agr-page-content .cc-g { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px }
.agr-page-content .cc { background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:28px;transition:background .18s ease }
.agr-page-content .cc:hover { background:rgba(255,255,255,.12) }
.agr-page-content .cc .ico { font-size:var(--t2);margin-bottom:12px }
.agr-page-content .cc h4 { font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t5);color:#fff;margin-bottom:8px }
.agr-page-content .cc a { color:#6FC3E8;font-size:var(--t5);font-family:'Open Sans',sans-serif }
.agr-page-content .cc p { color:rgba(255,255,255,.75);font-size:var(--t5);margin:4px 0 0;font-family:'Open Sans',sans-serif }
.agr-page-content .frm { background:#F5F7F9;border-radius:14px;padding:40px;max-width:600px;margin:0 auto }
.agr-page-content .frm h3 { font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t3);color:#0A3A57;margin-bottom:24px }
.agr-page-content .fld { margin-bottom:18px }
.agr-page-content .fld label { display:block;font-family:'Montserrat',sans-serif;font-size:var(--t5);font-weight:700;color:#59595B;margin-bottom:6px;letter-spacing:.04em }
.agr-page-content .fld input { width:100%;padding:11px 14px;border:1.5px solid rgba(18,100,147,.2);border-radius:8px;font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#1A1A1B;background:#fff;transition:border-color .18s ease;outline:none }
.agr-page-content .fld select { width:100%;padding:11px 14px;border:1.5px solid rgba(18,100,147,.2);border-radius:8px;font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#1A1A1B;background:#fff;transition:border-color .18s ease;outline:none }
.agr-page-content .fld textarea { width:100%;padding:11px 14px;border:1.5px solid rgba(18,100,147,.2);border-radius:8px;font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#1A1A1B;background:#fff;transition:border-color .18s ease;outline:none }
.agr-page-content .fld input:focus { border-color:#126493 }
.agr-page-content .fld select:focus { border-color:#126493 }
.agr-page-content .fld textarea:focus { border-color:#126493 }
.agr-page-content .fld textarea { resize:vertical;min-height:100px }
/* ── Contact Form 7 ───────────────────────────────────────────────────────
   Es el UNICO formulario del sitio. Vive en /que-es-un-deslinde/ y pide
   nombre, WhatsApp, correo y estatus de la propiedad. Hasta ahora no tenia ni
   una regla: se pintaba con el aspecto por defecto del navegador, que no se
   parece a nada del resto del sitio.

   Y se recortaba. Los campos vienen con size="40", que les da 313 px de ancho
   intrinseco; en un telefono de 302 px se salian 11 y como el <body> lleva
   overflow-x:hidden no se desbordaban, se cortaban. Movil es el 55% de las
   impresiones del sitio.

   El tamaño de letra va a 16 px (--t4) y no a los 14 del resto: por debajo de
   16, Safari en iPhone hace zoom automatico al tocar el campo y deja al
   usuario con la pagina ampliada. En un formulario que capta clientes eso
   cuesta envios. */
.agr-page-content .wpcf7 { max-width:560px;margin:0 auto }
.agr-page-content .wpcf7 p { margin-bottom:14px }
.agr-page-content .wpcf7 label { display:block;font-family:'Montserrat',sans-serif;font-size:var(--t5);font-weight:700;color:#59595B;margin-bottom:6px;letter-spacing:.04em }
.agr-page-content .wpcf7 .wpcf7-form-control-wrap { display:block }
.agr-page-content .wpcf7 input:not([type="submit"]),
.agr-page-content .wpcf7 select,
.agr-page-content .wpcf7 textarea { width:100%;max-width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid rgba(18,100,147,.2);border-radius:8px;font-family:'Open Sans',sans-serif;font-size:var(--t4);color:#1A1A1B;background:#fff;transition:border-color .18s ease;outline:none }
.agr-page-content .wpcf7 input:not([type="submit"]):focus,
.agr-page-content .wpcf7 select:focus,
.agr-page-content .wpcf7 textarea:focus { border-color:#126493 }
.agr-page-content .wpcf7 textarea { resize:vertical;min-height:110px }
.agr-page-content .wpcf7 input[type="submit"] { width:100%;min-height:48px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t5);color:#fff;background:#126493;border:2px solid #126493;border-radius:8px;cursor:pointer;transition:background .22s ease }
.agr-page-content .wpcf7 input[type="submit"]:hover { background:#0A3A57;border-color:#0A3A57 }
/* Los avisos de validacion, legibles y sin el rojo chillon por defecto. */
.agr-page-content .wpcf7 .wpcf7-not-valid-tip { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#B3261E;margin-top:5px }
.agr-page-content .wpcf7 .wpcf7-response-output { font-family:'Open Sans',sans-serif;font-size:var(--t5);border-radius:8px;padding:12px 14px;margin:14px 0 0 }

.agr-page-content .eq-g { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px }
.agr-page-content .eq { background:#fff;border:1px solid rgba(18,100,147,.12);border-radius:14px;padding:24px;text-align:center;box-shadow:var(--relieve);transition:transform .25s ease,box-shadow .25s ease }
.agr-page-content .eq:hover { transform:translateY(-4px);box-shadow:var(--relieve-hover) }
.agr-page-content .eq-av { width:64px;height:64px;background:linear-gradient(135deg,#0A3A57,#126493);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:var(--t4);color:#fff;margin:0 auto 14px }
.agr-page-content .eq h4 { font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t5);color:#0A3A57;margin-bottom:4px }
.agr-page-content .eq p { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#6E6E70;margin:0 }
.agr-page-content .sts { display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:rgba(255,255,255,.08);border-radius:14px;overflow:hidden;margin-top:48px }
.agr-page-content .st { background:rgba(255,255,255,.04);padding:32px 16px;text-align:center }
.agr-page-content .st-n { font-family:'Montserrat',sans-serif;font-size:var(--t1);font-weight:800;color:#fff;line-height:1;margin-bottom:6px }
/* El rotulo del contador iba a rgba(255,255,255,.38), que compuesto sobre el
   azul del bloque (#27516B) da 2.64:1. A 11px hace falta 4.5:1. Al .72 da
   5.30:1 sobre ese mismo fondo, y sobre cualquier fondo mas oscuro, mas. */
.agr-page-content .st-l { font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72) }
.agr-page-content .mapa { border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(6,31,48,.12) }
.agr-page-content .mapa iframe { display:block;width:100%;height:300px;border:0 }
.agr-page-content .pag-hero { background: linear-gradient(155deg, #061F30 0%, #0A3A57 50%, #061F30 100%); padding: 72px 32px 64px; position: relative; overflow: hidden }
.agr-page-content .pag-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(18,100,147,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(18,100,147,.07) 1px, transparent 1px); background-size: 48px 48px }
.agr-page-content .pag-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, #126493 30%, #1A8AC4 50%, #126493 70%, transparent) }
.agr-page-content .pag-hero-inner { max-width: 1060px; margin: 0 auto; position: relative; z-index: 2 }
.agr-page-content .pag-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: 'Montserrat', sans-serif; font-size:var(--t6); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.75); margin-bottom: 16px }  /* .5 daba 4.17:1 sobre el degradado */
.agr-page-content .pag-eyebrow::before { content: ''; width: 20px; height: 1.5px; background: rgba(255,255,255,.4); flex-shrink: 0 }
.agr-page-content .pag-hero h1 { font-family: 'Montserrat', sans-serif; font-size:var(--t1); font-weight: 800; letter-spacing: -.02em; color: #fff; margin-bottom: 16px; line-height: 1.15; max-width: 680px }
.agr-page-content .pag-hero p { font-family: 'Open Sans', sans-serif; font-size:var(--t4); font-weight: 300; color: rgba(255,255,255,.65); max-width: 520px; margin-bottom: 32px; line-height: 1.8 }
.agr-page-content .pag-btn-row { display: flex; flex-wrap: wrap; gap: 12px }
.agr-page-content .pag-btn { display: inline-flex; align-items: center; gap: 9px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size:var(--t5); padding: 13px 26px; border-radius: 8px; border: 2px solid transparent; cursor: pointer; min-height: 48px; text-decoration: none !important; transition: all .22s ease; white-space: nowrap }
.agr-page-content .pag-btn:hover { transform: translateY(-2px) }
.agr-page-content .pag-btn-wa { background: #25D366; color: #08301A; border-color: #25D366 }  /* 1.98:1 -> 7.31:1 */
.agr-page-content .pag-btn-wa:hover { background: #1db954; color: #08301A }  /* 5.56:1 */
.agr-page-content .pag-btn-ol { background: transparent; color: #fff; border-color: rgba(255,255,255,.35) }
.agr-page-content .pag-btn-ol:hover { background: rgba(255,255,255,.09); color: #fff }
.agr-page-content .pag-sec { padding: 88px 32px }   /* unificado con .sec de la home */
.agr-page-content .pag-sec-alt { padding: 88px 32px; background: #F5F7F9 }  /* unificado con la home */
.agr-page-content .pag-sec-dark { padding: 72px 32px; background: #0A3A57; text-align: center }
.agr-page-content .pag-wrap { max-width: 1060px; margin: 0 auto }
.agr-page-content .pag-wrap-sm { max-width: 760px; margin: 0 auto }
.agr-page-content .pag-sh { margin-bottom: 48px }
.agr-page-content .pag-sh.c { text-align: center }
.agr-page-content .pag-ey { display: inline-flex; align-items: center; gap: 10px; font-family: 'Montserrat', sans-serif; font-size:var(--t6); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #136A96; margin-bottom: 12px }  /* 3.83:1 -> 5.95:1 */
.agr-page-content .pag-ey::before { content: ''; width: 20px; height: 1.5px; background: #1A8AC4; flex-shrink: 0 }
.agr-page-content .pag-ey.w { color: rgba(255,255,255,.75) }  /* sobre fondo oscuro */
.agr-page-content .pag-ey.w::before { background: rgba(255,255,255,.4) }
.agr-page-content h2.pag { font-family: 'Montserrat', sans-serif; font-size:var(--t2); font-weight: 700; color: #1A1A1B; letter-spacing: -.01em }
.agr-page-content h3.pag { font-family: 'Montserrat', sans-serif; font-size:var(--t4); font-weight: 600; color: #0A3A57; margin-bottom: 8px }
.agr-page-content .pag-rule { display: block; width: 38px; height: 2px; background: linear-gradient(90deg,#126493,#1A8AC4); border-radius: 1px; margin-top: 12px }
.agr-page-content .pag-rule.c { margin: 12px auto 0 }
.agr-page-content .pag-g3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px,1fr)); gap: 20px }
.agr-page-content .pag-g2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap: 24px }
.agr-page-content .pag-card { background: #fff; border: 1px solid rgba(18,100,147,.12); border-radius: 14px; padding: 28px; position: relative; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease }
.agr-page-content .pag-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg,#126493,#1A8AC4); transform: scaleX(0); transform-origin: left; transition: transform .3s ease }
.agr-page-content .pag-card:hover { transform: translateY(-5px); box-shadow: 0 12px 40px rgba(6,31,48,.12) }
.agr-page-content .pag-card:hover::before { transform: scaleX(1) }
.agr-page-content .pag-card .ico { font-size:var(--t2); margin-bottom: 14px }
.agr-page-content .pag-tabla { width:100%; border-collapse:collapse; margin:20px 0; font-size:var(--t5); border-radius:12px; overflow:hidden; box-shadow:0 1px 6px rgba(6,31,48,.08) }
.agr-page-content .pag-tabla th { background:#0A3A57; color:#fff; font-family:'Montserrat',sans-serif; font-weight:700; padding:11px 16px; text-align:left }
.agr-page-content .pag-tabla td { padding:10px 16px; border-bottom:1px solid rgba(18,100,147,.1); font-family:'Open Sans',sans-serif; font-size:var(--t5)}
.agr-page-content .pag-tabla tr:nth-child(even) td { background:#F5F7F9 }
.agr-page-content .pag-tabla tr:last-child td { border-bottom:none }
.agr-page-content .pag-nota { background:#E8F3FA; border-left:3px solid #126493; border-radius:0 8px 8px 0; padding:14px 20px; font-size:var(--t5); margin:20px 0; color:#0A3A57; font-family:'Open Sans',sans-serif }
.agr-page-content .pag-steps { list-style:none; counter-reset:s; margin:0; padding:0 }
.agr-page-content .pag-step { counter-increment:s; display:grid; grid-template-columns:52px 1fr; gap:20px; margin-bottom:36px; align-items:flex-start; position:relative }
.agr-page-content .pag-step:not(:last-child)::after { content:''; position:absolute; top:52px; left:25px; bottom:calc(-36px + 4px); width:2px; background:linear-gradient(#E8F3FA,transparent) }
.agr-page-content .pag-sn { width:52px; height:52px; background:#126493; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:var(--t4); font-weight:800; color:#fff; flex-shrink:0; box-shadow:0 4px 14px rgba(18,100,147,.3) }
.agr-page-content .pag-sn::after { content:counter(s) }
.agr-page-content .pag-sb h3 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:var(--t4); color:#0A3A57; padding-top:12px; margin-bottom:6px }
.agr-page-content .pag-sb p { font-family:'Open Sans',sans-serif; font-size:var(--t5); color:#59595B; margin:0 }
.agr-page-content .pag-dl { list-style:none; margin:0; padding:0 }
.agr-page-content .pag-dl li { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(18,100,147,.1) }
.agr-page-content .pag-dl li:last-child { border-bottom:none }
.agr-page-content .pag-dl .ico { font-size:var(--t3); flex-shrink:0; margin-top:2px }
.agr-page-content .pag-dl strong { font-family:'Montserrat',sans-serif; font-weight:700; font-size:var(--t5); color:#1A1A1B; display:block }
.agr-page-content .pag-dl span { font-size:var(--t5); color:#6E6E70; margin-top:2px; display:block }
.agr-page-content .faqs-pag { border-top:1px solid rgba(18,100,147,.12) }
.agr-page-content .faq-pag { border-bottom:1px solid rgba(18,100,147,.12) }
.agr-page-content .faq-pag summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0; cursor:pointer; font-family:'Montserrat',sans-serif; font-weight:600; font-size:var(--t4); color:#1A1A1B; list-style:none }
.agr-page-content .faq-pag summary::-webkit-details-marker { display:none }
.agr-page-content .faq-pag summary::after { content:'+'; font-size:var(--t2); font-weight:300; color:#126493; flex-shrink:0; transition:transform .22s ease }
.agr-page-content .faq-pag[open] summary::after { transform:rotate(45deg) }
.agr-page-content .faq-pag[open] summary { color:#126493 }
.agr-page-content .faq-pag .fb { padding:0 0 20px; font-family:'Open Sans',sans-serif; font-size:var(--t5); color:#59595B }
.agr-page-content .pag-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px }
.agr-page-content .pag-links a { display:inline-flex; align-items:center; gap:6px; font-family:'Montserrat',sans-serif; font-size:var(--t5); font-weight:700; color:#126493; background:#E8F3FA; border:1px solid rgba(18,100,147,.2); padding:6px 14px; border-radius:20px; transition:all .18s ease }
.agr-page-content .pag-links a:hover { background:#126493; color:#fff }
.agr-page-content .pag-cta { padding:72px 32px; background:#061F30; text-align:center; position:relative; overflow:hidden }
.agr-page-content .pag-cta::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 65% 55% at 50% 100%,rgba(18,100,147,.35) 0%,transparent 70%) }
.agr-page-content .pag-cta::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,#126493 30%,#1A8AC4 50%,#126493 70%,transparent) }
.agr-page-content .pag-cta > * { position:relative; z-index:1 }
.agr-page-content .pag-cta h2 { font-family:'Montserrat',sans-serif; font-size:var(--t2); font-weight:700; color:#fff; margin-bottom:12px }
.agr-page-content .pag-cta p { font-family:'Open Sans',sans-serif; font-size:var(--t4); color:rgba(255,255,255,.55); max-width:460px; margin:0 auto 32px }
.agr-page-content .pdl { list-style:none;margin:0;padding:0 }
.agr-page-content .pdl li { display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(18,100,147,.1) }
.agr-page-content .pdl li:last-child { border-bottom:none }
.agr-page-content .pdl .ico { font-size:var(--t3);flex-shrink:0;margin-top:2px }
.agr-page-content .pdl strong { font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t5);color:#1A1A1B;display:block }
.agr-page-content .pdl span { font-size:var(--t5);color:#6E6E70;margin-top:2px;display:block }
.agr-page-content .pc { background:#fff;border:1px solid rgba(18,100,147,.12);border-radius:14px;padding:28px;position:relative;overflow:hidden;box-shadow:var(--relieve);transition:transform .25s ease,box-shadow .25s ease;text-decoration:none!important;display:block }
.agr-page-content .pc:hover { transform:translateY(-4px);box-shadow:var(--relieve-hover) }
.agr-page-content .ph h1 { font-family:'Montserrat',sans-serif;font-size:var(--t1);font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:16px;line-height:1.15;max-width:700px }
.agr-page-content .ph p { font-family:'Open Sans',sans-serif;font-size:var(--t4);font-weight:300;color:rgba(255,255,255,.65);max-width:520px;margin-bottom:32px;line-height:1.8 }
.agr-page-content .pstep { counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:20px;margin-bottom:36px;align-items:flex-start;position:relative }

@media(max-width:768px) {
  .agr-page-content .ph { padding:56px 20px 48px }
  .agr-page-content .ps { padding:52px 20px }
  .agr-page-content .psa { padding:52px 20px }
  .agr-page-content .pcta { padding:52px 20px }
  .agr-page-content .pb { width:100%;justify-content:center }
  .agr-page-content .pbr { flex-direction:column;align-items:center }
  .agr-page-content .pstep { grid-template-columns:42px 1fr;gap:14px }
  .agr-page-content .psn { width:42px;height:42px;font-size:var(--t5)}
  .agr-page-content .frm { padding:24px }
  .agr-page-content .eq-g { grid-template-columns:repeat(2,1fr) }
  .agr-page-content .pag-hero { padding:56px 20px 48px }
  .agr-page-content .pag-sec { padding:52px 20px }
  .agr-page-content .pag-sec-alt { padding:52px 20px }
  .agr-page-content .pag-sec-dark { padding:52px 20px }
  .agr-page-content .pag-cta { padding:52px 20px }
  .agr-page-content .pag-btn { width:100%; justify-content:center }
  .agr-page-content .pag-btn-row { flex-direction:column; align-items:center }
  .agr-page-content .pag-step { grid-template-columns:42px 1fr; gap:14px }
  .agr-page-content .pag-sn { width:42px; height:42px; font-size:var(--t5)}
}

/* ═══════════════════════════════════════════════════
   BLOG  (anadido el 2026-08-08)

   Antes no habia ni single.php ni home.php ni archive.php: todas las entradas
   caian en index.php, 12 lineas sin nada del sistema de diseno. Estas clases
   van con prefijo agr- y no necesitan el envoltorio .agr-page-content porque
   el nombre ya es unico.
   Contraste sobre el degradado del hero (#061F30 -> #0A3A57), medido en el
   punto mas claro: meta 8.6:1, enlaces de miga 6.1:1. Ambos pasan AA.
═══════════════════════════════════════════════════ */

/* --- Miga de pan y meta de la entrada (sobre el hero oscuro) --- */
.agr-miga { display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:600;margin-bottom:18px }
.agr-miga a { color:#6FC3E8;text-decoration:none }
.agr-miga a:hover { color:#fff;text-decoration:underline }
.agr-miga span { color:rgba(255,255,255,.45) }

.agr-post-meta { display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:'Open Sans',sans-serif;font-size:var(--t5);color:rgba(255,255,255,.82);margin:0 }
.agr-post-meta span[aria-hidden] { color:rgba(255,255,255,.4) }

/* --- Imagen de portada, montada a caballo entre el hero y el cuerpo --- */
.agr-post-portada { max-width:900px;margin:-40px auto 0;padding:0 32px;position:relative;z-index:3 }
.agr-post-portada img { width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 18px 48px rgba(6,31,48,.28) }

/* --- Cuerpo del articulo --- */
.entry-content { font-family:'Open Sans',sans-serif;font-size:var(--t4);line-height:1.85;color:#3C3C3E }
.entry-content h2 { font-family:'Montserrat',sans-serif;font-size:var(--t2);font-weight:700;color:#0A3A57;margin:44px 0 14px;line-height:1.3 }
.entry-content h3 { font-family:'Montserrat',sans-serif;font-size:var(--t3);font-weight:600;color:#0A3A57;margin:32px 0 10px }
.entry-content p { margin-bottom:20px }
.entry-content ul,
.entry-content ol { margin:0 0 22px 22px }
.entry-content li { margin-bottom:9px }
.entry-content img { max-width:100%;height:auto;border-radius:12px;margin:26px 0 }
.entry-content a { color:#136A96;text-decoration:underline;text-underline-offset:2px }
.entry-content a:hover { color:#0E4F75 }
.entry-content blockquote { border-left:3px solid #126493;padding-left:20px;margin:28px 0;color:#59595B;font-style:italic }

/* --- Ficha del autor (senal E-E-A-T) --- */
.agr-autor { display:flex;gap:16px;align-items:flex-start;background:#F4F8FB;border:1px solid rgba(18,100,147,.14);border-radius:14px;padding:22px;margin:44px 0 0 }
/* Disco blanco con el isotipo dentro, no el isotipo recortado en circulo: la
   marca es un triangulo que llena todo el lienzo, asi que un border-radius:50%
   aplicado a la imagen le cortaria las dos patas de abajo. Con 64px de caja y
   11px de padding el isotipo queda en 42px, y el cuadrado inscrito en un
   circulo de 64px mide 64/raiz(2) = 45px, asi que no toca el borde. */
/* Alto fijo ademas del ancho: el isotipo mide 357x362, y con la altura libre la
   proporcion daba 64x65 — un pixel de elipse en lo que debe ser un circulo.
   object-fit:contain lo encaja en el cuadrado sin deformarlo. */
.agr-autor-img { border-radius:50%;flex-shrink:0;box-sizing:border-box;width:64px;height:64px;object-fit:contain;padding:11px;background:#fff;border:1px solid rgba(18,100,147,.14) }
.agr-autor-n { font-family:'Montserrat',sans-serif;font-weight:700;font-size:var(--t4);color:#0A3A57;margin:0 0 4px }
.agr-autor-d { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:var(--gris);line-height:1.7;margin:0 }
/* Credenciales bajo la firma del autor. Cada una en su pastilla para que se
   lean como datos verificables sueltos y no como una frase de relleno. */
.agr-autor-cred { display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0 }
.agr-autor-cred span {
  font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:600;
  letter-spacing:.04em;color:var(--azul-mid-txt);
  background:rgba(18,100,147,.07);border:1px solid rgba(18,100,147,.16);
  border-radius:99px;padding:4px 11px;
}

/* --- Entradas relacionadas --- */
.agr-rel { margin-top:52px }
.agr-rel-h { font-family:'Montserrat',sans-serif;font-size:var(--t3);font-weight:700;color:#0A3A57;margin-bottom:20px }

/* --- Rejilla del indice del blog --- */
.agr-blog-c { display:flex!important;flex-direction:column;padding:0!important;overflow:hidden }
.agr-blog-c:hover { transform:translateY(-3px);box-shadow:0 12px 30px rgba(6,31,48,.12) }
.agr-blog-img { display:block;aspect-ratio:16/9;overflow:hidden;background:#E8F3FA }
.agr-blog-img img { width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0 }
.agr-blog-cat { font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#136A96;margin:22px 24px 8px }
.agr-blog-c h3 { margin:0 24px 8px!important }
.agr-blog-c p { margin:0 24px 16px!important;flex-grow:1 }
.agr-blog-c .lnk { margin:0 24px 24px }

/* --- Paginacion --- */
.agr-pag { display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:44px }
.agr-pag .page-numbers { font-family:'Montserrat',sans-serif;font-size:var(--t5);font-weight:600;color:#136A96;border:1px solid rgba(18,100,147,.22);border-radius:8px;padding:9px 15px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none }
.agr-pag .page-numbers:hover { background:#E8F3FA }
.agr-pag .page-numbers.current { background:#126493;border-color:#126493;color:#fff }

@media (max-width:640px) {
  .agr-post-portada { margin-top:-24px;padding:0 20px }
  .agr-autor { flex-direction:column;gap:12px }
  .entry-content h2 { font-size:var(--t3)}
}

/* ═══════════════════════════════════════════════════
   CALCULADORA DE DESLINDE  (2026-08-08)
   Va con prefijo agr-calc- y no depende de .agr-page-content.
   Contraste comprobado sobre blanco: etiquetas #59595B 7.0:1,
   cifras #0A3A57 11.9:1, ayudas #6E6E70 5.6:1. Todo AA.
═══════════════════════════════════════════════════ */

.agr-calc-aviso { background:#FFF6E5;border:1px solid #E0A93A;border-left-width:4px;border-radius:10px;padding:16px 18px;margin-bottom:32px;font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#5A4409;line-height:1.7 }
.agr-calc-aviso code { background:rgba(0,0,0,.06);padding:1px 6px;border-radius:4px;font-size:.85em }

/* Relieve real, como el resto del sitio: la calculadora se construyo antes
   de que existiera --relieve y se quedo plana (solo borde de 1px). Se le
   aplica el mismo sistema de sombra que .card y .pc: luz interior arriba,
   sombra interior abajo, dos sombras proyectadas. */
.agr-calc-f { display:flex;flex-direction:column;gap:24px;background:#F4F8FB;border:1px solid rgba(18,100,147,.14);border-radius:14px;padding:28px;box-shadow:var(--relieve) }
.agr-calc-campo { display:flex;flex-direction:column;gap:7px }
.agr-calc-campo label { font-family:'Montserrat',sans-serif;font-weight:600;font-size:var(--t5);color:var(--azul-prof) }
.agr-calc-fila { display:flex;gap:10px;flex-wrap:wrap }
.agr-calc-fila input { flex:1 1 160px }
.agr-calc-fila select { flex:0 1 210px }
.agr-calc-f input,
.agr-calc-f select { font-family:'Open Sans',sans-serif;font-size:var(--t4);color:#3C3C3E;background:#fff;border:1px solid rgba(18,100,147,.28);border-radius:8px;padding:12px 14px;min-height:48px;width:100%;transition:border-color .18s var(--ease),box-shadow .18s var(--ease) }
.agr-calc-f input:hover,
.agr-calc-f select:hover { border-color:rgba(18,100,147,.5) }
.agr-calc-f input:focus-visible,
.agr-calc-f select:focus-visible { outline:3px solid #1A8AC4;outline-offset:1px;border-color:var(--azul) }
.agr-calc-f input[aria-invalid="true"] { border-color:#B3261E;background:#FFF5F4 }
.agr-calc-ayuda { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:var(--gris-med);line-height:1.6;margin:0 }
.agr-calc-f .pb { align-self:flex-start;margin-top:4px }

/* El resultado ya no aparece con un salto seco al quitarle "hidden": el JS
   anade .agr-calc-r-on un instante despues de destaparla, y esta transicion
   es lo que se ve — el mismo fade+rise que .rv usa en el resto del sitio. */
.agr-calc-r { margin-top:44px; opacity:0; transform:translateY(18px); transition:opacity .5s var(--ease),transform .5s var(--ease) }
.agr-calc-r.agr-calc-r-on { opacity:1; transform:none }
/* Portal de clientes — el mismo formulario que la calculadora (.agr-calc-f)
   y, para el resultado, .expo/.lbl/.paso/.tic que ya existian como maqueta
   decorativa en la portada (front-page.php): aqui pasan a ser el dato real,
   asi que se anula el position:absolute pensado para flotar sobre la home. */
.agr-exp-clave-wrap { position:relative }
.agr-exp-clave-wrap input { padding-right:64px }
.agr-exp-clave-wrap button { position:absolute; right:6px; top:6px; bottom:6px; background:none; border:0; cursor:pointer; color:var(--azul); font-family:'Montserrat',sans-serif; font-weight:700; font-size:var(--t6); padding:0 10px }
.agr-exp-clave-wrap button:hover { color:var(--azul-osc) }
.agr-exp-msg { font-family:'Open Sans',sans-serif; font-size:var(--t5); color:var(--gris-med); margin:16px 0 0 }
.agr-exp-msg.err { color:#B3261E }
.agr-exp-resultado { margin-top:44px; display:flex; flex-direction:column; gap:20px; opacity:0; transform:translateY(18px); transition:opacity .5s var(--ease),transform .5s var(--ease) }
.agr-exp-resultado.agr-exp-resultado-on { opacity:1; transform:none }
.agr-exp-resultado .expo { position:static; width:100%; box-sizing:border-box; margin:0 }
.agr-exp-detalle p { font-family:'Open Sans',sans-serif; font-size:var(--t5); color:#59595B; margin:0 0 8px }
.agr-exp-cta { font-family:'Open Sans',sans-serif; color:var(--gris-med) }
.agr-exp-cta a { color:var(--azul); font-weight:700 }
@media (prefers-reduced-motion: reduce) {
  .agr-exp-resultado { opacity:1!important; transform:none!important; transition:none!important }
}

@media (prefers-reduced-motion: reduce) {
  .agr-calc-r { opacity:1!important; transform:none!important; transition:none!important }
}
.agr-calc-rh { font-family:'Montserrat',sans-serif;font-size:var(--t2);font-weight:700;color:var(--azul-prof);margin-bottom:20px }

.agr-calc-t { width:100%;border-collapse:collapse;font-family:'Open Sans',sans-serif;font-size:var(--t5)}
.agr-calc-cap { text-align:left;font-size:var(--t5);color:#6E6E70;padding-bottom:10px }
.agr-calc-t th,
.agr-calc-t td { text-align:left;padding:14px 12px;border-bottom:1px solid rgba(18,100,147,.14);vertical-align:top }
.agr-calc-t thead th { font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--azul-mid-txt) }
.agr-calc-t tbody th { font-family:'Montserrat',sans-serif;font-weight:600;color:var(--azul-prof);white-space:nowrap }
.agr-calc-t td { color:var(--gris);line-height:1.65 }
.agr-calc-n { font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important;font-weight:600;color:var(--azul-prof)!important }
.agr-calc-t tfoot th { font-family:'Montserrat',sans-serif;font-size:var(--t4);color:var(--azul-prof);border-bottom:none;padding-top:18px }
.agr-calc-tot { font-size:var(--t4);border-bottom:none!important;padding-top:18px!important }

.agr-calc-g2 { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:28px }
.agr-calc-box { background:#F4F8FB;border:1px solid rgba(18,100,147,.14);border-radius:12px;padding:20px;box-shadow:var(--relieve) }
.agr-calc-et { display:block;font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--azul-mid-txt);margin-bottom:10px }
.agr-calc-plazo { font-family:'Montserrat',sans-serif;font-size:var(--t3);font-weight:700;color:var(--azul-prof);margin:0 0 8px }
.agr-calc-docs { margin:0;padding-left:18px;font-family:'Open Sans',sans-serif;font-size:var(--t5);color:var(--gris);line-height:1.7 }
.agr-calc-docs li { margin-bottom:6px }
.agr-calc-nota { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:var(--gris);line-height:1.75;margin-top:22px;padding-left:14px;border-left:3px solid var(--azul) }
.agr-calc-legal { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:var(--gris-med);line-height:1.7;margin-top:36px }

@media (max-width:600px) {
  .agr-calc-f { padding:20px }
  /* La tabla se reordena en bloques: en movil no cabe en 3 columnas. */
  .agr-calc-t thead { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap }
  .agr-calc-t tr { display:block;border-bottom:1px solid rgba(18,100,147,.14);padding:12px 0 }
  .agr-calc-t th,
  .agr-calc-t td { display:block;border-bottom:none;padding:3px 0 }
  .agr-calc-n { text-align:left!important;font-size:var(--t4)}
  .agr-calc-t tfoot th { padding-top:8px }
}

/* --- Calculadora: agrupacion de campos y factores (2026-08-08, v2) --- */
.agr-calc-grupo { border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:22px }
.agr-calc-grupo + .agr-calc-grupo { margin-top:6px;padding-top:26px;border-top:1px solid rgba(18,100,147,.16) }
.agr-calc-grupo legend { font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azul-mid-txt);padding:0;margin-bottom:2px }

.agr-calc-proc { background:linear-gradient(135deg,#0A3A57,#126493);border-radius:12px;padding:22px;margin-bottom:30px;box-shadow:var(--relieve) }
.agr-calc-proc .agr-calc-et { color:rgba(255,255,255,.8) }
.agr-calc-proc-n { font-family:'Montserrat',sans-serif;font-size:var(--t3);font-weight:700;color:#fff;margin:0 0 8px;line-height:1.25 }
.agr-calc-proc .agr-calc-ayuda { color:rgba(255,255,255,.85);font-size:var(--t5)}

/* Los factores no se distinguen solo por color: llevan simbolo delante, para
   que se entiendan tambien sin percibir el color. */
.agr-calc-docs li.agr-calc-sube,
.agr-calc-docs li.agr-calc-baja { list-style:none;margin-left:-18px;padding-left:24px;position:relative }
.agr-calc-docs li.agr-calc-sube::before { content:'↑';position:absolute;left:0;color:#A8531C;font-weight:700 }
.agr-calc-docs li.agr-calc-baja::before { content:'↓';position:absolute;left:0;color:#2E7D4F;font-weight:700 }

/* --- Calculadora v3: columna de plazo y fila propia --- */
.agr-calc-pl { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:var(--gris);white-space:nowrap;font-variant-numeric:tabular-nums }
.agr-calc-t tfoot .agr-calc-pl { padding-top:18px;border-bottom:none }
@media (max-width:600px) {
    .agr-calc-pl { color:var(--gris-med) }
  .agr-calc-pl::before { content:'Plazo: ' }
}

/* --- Calculadora v4: la etapa tecnica en tarjeta propia --- */
/* Contraste sobre el degradado azul: cifra en blanco 8.9:1, texto de apoyo
   rgba(255,255,255,.88) 7.4:1. Ambos AA. */
.agr-calc-cifra { background:linear-gradient(135deg,#0A3A57,#126493);border-radius:14px;padding:28px;margin-bottom:24px;text-align:center;box-shadow:var(--relieve) }
.agr-calc-cifra .agr-calc-et { color:rgba(255,255,255,.82) }
.agr-calc-cifra-n { font-family:'Montserrat',sans-serif;font-size:var(--t2);font-weight:800;color:#fff;margin:6px 0 10px;line-height:1.15;font-variant-numeric:tabular-nums }
.agr-calc-cifra-p { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:rgba(255,255,255,.88);margin:0 }
.agr-calc-cifra-p strong { color:#fff }

.agr-calc-box-no { background:#FBF7F4;border-color:rgba(168,83,28,.2) }
.agr-calc-box-no .agr-calc-et { color:#A8531C }

/* Los items llevan simbolo ademas de color, para que se entiendan sin
   depender de percibirlo. */
.agr-calc-si li,
.agr-calc-no li { list-style:none;margin-left:-18px;padding-left:24px;position:relative }
.agr-calc-si li::before { content:'\2713';position:absolute;left:0;color:#2E7D4F;font-weight:700 }
.agr-calc-no li::before { content:'\2715';position:absolute;left:0;color:#A8531C;font-weight:700 }

/* --- Calculadora v5: aviso cuando no procede dar cifra --- */
.agr-calc-box-ct { background:#F0F7FB;border-color:rgba(18,100,147,.2);margin-bottom:24px }

/* --- Credenciales visibles (2026-08-08) ---
   Las senales de confianza del sitio vivian solo en el JSON-LD: Google las
   leia y el visitante no veia ninguna. Contraste comprobado: titulos #0A3A57
   11.9:1 y textos #59595B 7.0:1 sobre el fondo del bloque. --- */
.agr-page-content .pcred { background:#F4F8FB;border:1px solid rgba(18,100,147,.14);border-left:3px solid #126493;border-radius:12px;padding:24px;margin:40px auto 0;max-width:760px }
.agr-page-content .pcred .agr-calc-et { display:block;font-family:'Montserrat',sans-serif;font-size:var(--t6);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#136A96;margin-bottom:16px }
.agr-page-content .pcred-g { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px }
.agr-page-content .pcred-i strong { display:block;font-family:'Montserrat',sans-serif;font-size:var(--t5);font-weight:700;color:#0A3A57;margin-bottom:5px }
.agr-page-content .pcred-i span { font-family:'Open Sans',sans-serif;font-size:var(--t5);color:#59595B;line-height:1.65 }
@media (max-width:640px){ .agr-page-content .pcred { padding:20px;margin-top:28px } }

/* --- Compromiso comercial (2026-08-08) ---
   Trayectoria, facilidades de pago y garantia. Contraste sobre el degradado
   azul: cifra en blanco 8.9:1, texto de apoyo rgba(255,255,255,.88) 7.4:1. --- */
.agr-page-content .pcomp { background:linear-gradient(135deg,#0A3A57,#126493);border-radius:14px;padding:32px 28px;margin:44px auto 0;max-width:900px }
.agr-page-content .pcomp-g { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px }
/* El rotulo iba en #6FC3E8, que sobre el extremo claro del degradado (#126493)
   da 3.26:1. A 11px hace falta 4.5:1. #BFE3F5 da 4.75:1 sobre ese mismo
   extremo y sigue siendo un azul claro, que es el papel que cumple: pasar a
   blanco lo habria confundido con el titular que va debajo. */
.agr-page-content .pcomp-n { display:block;font-family:"Montserrat",sans-serif;font-size:var(--t6);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#BFE3F5;margin-bottom:8px }
/* Los enlaces dentro de .pcomp heredaban el azul institucional #126493 sobre un
   degradado que TERMINA en #126493: contraste 1:1, invisible. Blanco subrayado
   da 6.19:1 en el extremo peor y ademas se sigue leyendo como enlace. */
.agr-page-content .pcomp a { color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.55);text-underline-offset:2px }
.agr-page-content .pcomp a:hover { text-decoration-color:#fff }
.agr-page-content .pcomp-i strong { display:block;font-family:"Montserrat",sans-serif;font-size:var(--t4);font-weight:700;color:#fff;margin-bottom:7px;line-height:1.3 }
.agr-page-content .pcomp-i span:not(.pcomp-n) { font-family:"Open Sans",sans-serif;font-size:var(--t5);color:rgba(255,255,255,.88);line-height:1.7 }
@media (max-width:640px){ .agr-page-content .pcomp { padding:24px 20px;margin-top:30px } }

/* --- Landing de herramientas.agrimensura.com.do (2026-08-13) ---
   Solo lo que el sistema no tenia ya. El resto de la pagina reusa .ph, .ps,
   .psa, .pw, .g3, .pc, .psteps, .pcomp, .pfaqs y .pcta sin tocarlos.

   La tarjeta entera es el enlace y no solo el texto de abajo: en movil da un
   objetivo de toque del tamano de la tarjeta en vez de dos palabras, y evita
   meter un <a> dentro de otro.

   Contraste de las etiquetas, comprobado sobre su propio fondo:
     .etq-pro     #fff     sobre #126493  = 5.9:1
     .etq-libre   #136A96  sobre #E8F3FA  = 7.3:1
     .etq-pronto  #5A5A5C  sobre #F0EDE8  = 5.7:1
   Las tres pasan AA para texto pequeno, que es lo que son (--t6, 11px). --- */
/* ACOTADO a #lista el 2026-08-13 tras el aviso de Werner: escribi que a.pc
   solo existia en la landing de herramientas y era FALSO — 19 paginas usan
   <a class="pc"> en sus tarjetas de entradas relacionadas y en el indice del
   blog. Cambiar el layout de tarjetas que no diseñé no me corresponde, aunque
   el efecto pareciera bueno. Ahora solo gobierna el catalogo de /herramientas/.

   Columna con el enlace empujado al fondo: la rejilla iguala el alto de las
   tarjetas de una misma fila, y con el enlace pegado al parrafo el "Abrir"
   quedaba flotando a media tarjeta en las de texto corto. Al fondo, los de una
   fila quedan alineados entre si. */
.agr-page-content #lista a.pc { display:flex;flex-direction:column;text-decoration:none;color:inherit }
.agr-page-content #lista a.pc p { flex:1 1 auto }
.agr-page-content #lista a.pc .lnk { margin-top:auto }
.agr-page-content .etq {
  display:inline-block;font-family:'Montserrat',sans-serif;font-size:var(--t6);
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 10px;border-radius:99px;margin-bottom:12px;
}
.agr-page-content .etq-pro { background:#126493;color:#fff }
.agr-page-content .etq-libre { background:#E8F3FA;color:#136A96 }
.agr-page-content .etq-pronto { background:#F0EDE8;color:#5A5A5C }
/* La tarjeta de una herramienta que aun no esta publicada no es un enlace, y
   se distingue tambien por la forma y no solo por la etiqueta: quien no
   distingue los colores igual tiene que notar que esa no se puede abrir. */
.agr-page-content .pc-pronto { border-style:dashed;box-shadow:none }
.agr-page-content .pc-pronto:hover { transform:none;box-shadow:none }
/* Subtitulo dentro de un grupo de tarjetas. */
.agr-page-content .gsub {
  font-family:'Montserrat',sans-serif;font-size:var(--t4);font-weight:700;
  color:#0A3A57;margin:0 0 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.agr-page-content .gsub .etq { margin-bottom:0 }
.agr-page-content .gsub + .g3 { margin-bottom:44px }
/* Una tarjeta sola dentro de .g3 se estira a todo el ancho, porque auto-fit le
   da la fila entera. La de "proximamente" es una sola, y estirada a 1060px
   parecia un banner y no una tarjeta mas del catalogo. */
.agr-page-content .g3-uno { grid-template-columns:minmax(270px,360px) }
/* Tres cifras siempre en una fila. El .sts de base es auto-fit minmax(120px),
   y en un telefono de 390px solo le caben dos: la tercera se iba sola a una
   segunda fila y dejaba medio bloque vacio. Va como clase aparte porque .sts lo
   usan otras paginas con otra cantidad de cifras. */
.agr-page-content .sts-3 { grid-template-columns:repeat(3,1fr) }
/* Las tres cifras se quedan en una fila tambien en el telefono —esa era la
   intencion de .sts-3— pero a 350px de ancho los rotulos con letter-spacing
   .14em no caben: "HERRAMIENTAS" y "SUSCRIPCION" empujaban la rejilla 6px
   fuera de su caja. Se aprieta el rotulo, no se rompe la fila. */
@media (max-width:640px) {
  .agr-page-content .sts-3 .st-l { letter-spacing:.04em;font-size:9.5px }
}

/* --- Contenedor para el marcado de un tema anterior (2026-08-13) ---
   /topografia-gnss/ y /servicios/certificado-de-ubicacion-de-mejoras/ traen su
   contenido dentro de <section class="pagina-servicio">, una clase del tema que
   habia antes. En el CSS actual no existia ni una regla para ella, asi que el
   texto se estiraba de borde a borde: en un monitor de 2.194 px eso son lineas
   de 2.000 px, que no las lee nadie.

   No lo vio ninguna comprobacion automatica —las paginas daban 200, con su H1 y
   su meta descripcion— y sin embargo estaba a la vista en cuanto se abrio la
   pagina y se miro.

   Va sin el prefijo .agr-page-content a proposito: el <section> queda fuera de
   ese envoltorio, que en estas paginas solo rodea al H1 de respaldo. La clase
   existe unicamente en esas dos paginas, asi que no puede filtrarse a ninguna
   otra parte. 820px en vez de los 760 de .pws porque llevan tablas y figuras
   tecnicas que agradecen el ancho extra. --- */
.pagina-servicio { max-width:820px; margin:0 auto; padding:0 32px 72px }
/* Colision de nombres, no un fallo de estas paginas: en main-v2.css .hero es
   el heroe de la PORTADA —fondo azul noche, min-height:92vh, flex— y el
   <header class="hero"> que traen estas dos paginas en su contenido heredaba
   todo eso. El resultado era un bloque azul de 960px de alto con el texto en
   gris #59595B encima: contraste 1,3:1, ilegible.
   El defecto venia de antes; a 2.194px de ancho quedaba fuera de la primera
   pantalla y por eso nadie lo habia visto. Aqui ese header no es un heroe: es
   el parrafo de entrada, y se le devuelve ese papel. */
.pagina-servicio > header.hero {
  background:none; min-height:0; display:block; padding:0; overflow:visible;
  color:var(--gris); font-size:var(--t4); line-height:1.8; margin:0 0 28px;
}
.pagina-servicio > header.hero strong { color:#0A3A57 }
@media (max-width:640px){ .pagina-servicio { padding:0 20px 48px } }

/* El aviso de "el precio final lo define el agrimensor" vive dentro de la caja
   de la cifra, que tiene fondo azul oscuro. .agr-calc-ayuda esta pensada para
   fondo claro y usa gris medio: ahi dentro quedaba azul sobre azul, ilegible.
   Se le da el mismo blanco que ya usa el texto del plazo justo encima, que
   sobre #0A3A57 da 12,6:1. */
.agr-page-content .agr-calc-cifra .agr-calc-ayuda { color:rgba(255,255,255,.88) }
.agr-page-content .agr-calc-cifra .agr-calc-ayuda strong { color:#fff }

/* ── Leer la superficie del título ────────────────────────────────────────
   Bloque de la calculadora que lee el PDF del propietario en su propio
   navegador. Va destacado sobre el campo de superficie porque es el atajo:
   quien no sabe sus metros abandona ahí. */
.agr-page-content .agr-titulo {
  border:1px solid #CFE6F4; background:linear-gradient(180deg,#F4FAFE 0%,#EAF4FB 100%);
  border-radius:12px; padding:18px 18px 16px; margin:0 0 22px;
}
.agr-page-content .agr-titulo-cab { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px }
.agr-page-content .agr-titulo-cab svg { color:var(--azul); flex:0 0 auto; margin-top:2px }
.agr-page-content .agr-titulo-cab strong { display:block; font-family:'Montserrat',sans-serif; font-size:var(--t4); color:#0F2E45; margin-bottom:3px }
.agr-page-content .agr-titulo-cab span { display:block; font-size:var(--t5); line-height:1.5; color:#41637A }

.agr-page-content .agr-titulo-boton {
  display:inline-flex; align-items:center; gap:9px; cursor:pointer;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:var(--t5);
  padding:12px 22px; border-radius:8px; min-height:48px;
  background:var(--azul); color:#fff; border:2px solid var(--azul);
  transition:all .22s ease;
}
.agr-page-content .agr-titulo-boton:hover { background:#0E5179; border-color:#0E5179 }
/* El foco del teclado tiene que verse: el <input type=file> va oculto y sin
   esto no habria ninguna señal al tabular hasta aquí. */
.agr-page-content .agr-titulo-boton:focus-within { outline:3px solid #7FC4E8; outline-offset:2px }

.agr-page-content .agr-titulo-privacidad {
  display:flex; gap:7px; align-items:flex-start;
  margin:12px 0 0; font-size:13px; line-height:1.5; color:#3F6E52;
}
.agr-page-content .agr-titulo-privacidad svg { color:#3F6E52; flex:0 0 auto; margin-top:2px }
.agr-page-content .agr-titulo-privacidad strong { color:#2B5C3E }

.agr-page-content .agr-titulo-estado { margin:12px 0 0; font-size:var(--t5); line-height:1.5; color:#41637A }
.agr-page-content .agr-titulo-estado:empty { display:none }
.agr-page-content .agr-titulo-estado.es-ok { color:#1F6B3F; font-weight:600 }
.agr-page-content .agr-titulo-estado.es-aviso { color:#8A5A00 }

.agr-page-content .agr-titulo-resultado { margin-top:14px; padding-top:14px; border-top:1px solid #CFE6F4 }
.agr-page-content .agr-titulo-cifra { margin:0 0 6px; font-size:var(--t4); color:#0F2E45 }
.agr-page-content .agr-titulo-cifra strong { color:var(--azul) }
.agr-page-content .agr-titulo-ctx {
  margin:0 0 14px; font-size:13px; line-height:1.55; color:#5A7385; font-style:italic;
  background:#fff; border-left:3px solid #9CCFEA; border-radius:0 6px 6px 0; padding:8px 12px;
  overflow-wrap:break-word;
}
.agr-page-content .agr-titulo-acciones { display:flex; flex-wrap:wrap; gap:10px }
.agr-page-content .agr-titulo-aviso { margin:10px 0 0; font-size:13px; color:#8A5A00 }

@media (max-width:640px) {
  .agr-page-content .agr-titulo { padding:16px 14px 14px }
  .agr-page-content .agr-titulo-boton { width:100%; justify-content:center }
  .agr-page-content .agr-titulo-si,
  .agr-page-content .agr-titulo-no { width:100%; justify-content:center }
}

/* Los dos botones de la propuesta. Clases propias porque las del sitio no
   sirven aquí: .pb-wa es el verde de WhatsApp y aquí no se abre WhatsApp, y
   .pb-ol es contorno claro para fondo oscuro — sobre este panel quedaba
   blanco sobre casi blanco. */
.agr-page-content .agr-titulo-si,
.agr-page-content .agr-titulo-no {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:var(--t5);
  padding:12px 22px; border-radius:8px; min-height:48px; cursor:pointer;
  border:2px solid transparent; transition:all .22s ease;
}
.agr-page-content .agr-titulo-si { background:var(--azul); color:#fff; border-color:var(--azul) }
.agr-page-content .agr-titulo-si:hover { background:#0E5179; border-color:#0E5179 }
/* Secundario: el fondo del panel es claro, así que texto oscuro sobre blanco. */
.agr-page-content .agr-titulo-no { background:#fff; color:#2F5468; border-color:#B9D8E9 }
.agr-page-content .agr-titulo-no:hover { background:#EDF6FC; border-color:#8FC2DE; color:#0F2E45 }
.agr-page-content .agr-titulo-si:focus-visible,
.agr-page-content .agr-titulo-no:focus-visible { outline:3px solid #7FC4E8; outline-offset:2px }
