/* Páginas internas — mismo estilo que el home rediseñado (2026-11-05): crema, líneas finas, mono 12 px, {n}, hover teal.
   Se carga después de pages.css / estilos de página, solo sobrescribe. */
:root{--hair:rgba(7,30,34,.16)}
.crumbs{font-size:.75rem;letter-spacing:.1em;margin-bottom:24px}
.crumbs a{text-decoration-color:var(--hair)}
.svc-hero{padding:clamp(48px,8vw,96px) 0 clamp(40px,6vw,72px);border-bottom:1px solid var(--hair)}
.svc-hero .hero-kicker{font-size:.75rem}
.svc-hero h1{font-size:clamp(2.5rem,7vw,4.75rem);margin-bottom:24px}
.svc-hero .proof{font-size:.75rem;margin-top:32px;padding-top:16px;border-top:1px solid var(--hair);max-width:40rem}
.svc-sec{padding:clamp(48px,7vw,88px) 0;border-bottom:1px solid var(--hair)}
.svc-sec .eyebrow,.svc-cta .eyebrow,.contact-lead .eyebrow{font-size:.75rem;color:var(--accent-text)}
.read p:not(.eyebrow),.read li{color:rgba(7,30,34,.84)}
.read a:not(.btn),.cov a{text-underline-offset:6px}
@media (min-width:960px){
.svc-sec>.read{width:min(1180px,92%);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:64px;row-gap:0}
.svc-sec>.read>*{grid-column:2}
.svc-sec>.read>.eyebrow{grid-column:1;grid-row:1/span 60;align-self:start;margin:0}
.svc-sec>.read>.sec-h{grid-column:1;grid-row:1/span 60;align-self:start;margin:36px 0 0;position:sticky;top:96px}
}
/* tarjetas: como las figuras del home */
.cov-grid{background:none;border:0;gap:16px}
.cov{background:var(--bone);border:1px solid var(--hair);padding:24px;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.cov p{color:rgba(7,30,34,.72);font-size:1rem}
.cov .cov-link{font-size:.75rem;border-top-color:var(--hair);padding-top:16px}
.cov .cov-link::after{content:" \2192"}
@media (hover:hover) and (pointer:fine){
.cov:hover,.cov:focus-within{background:var(--teal);border-color:var(--teal)}
.cov:hover h3,.cov:hover a,.cov:focus-within h3,.cov:focus-within a{color:var(--bone)}
.cov:hover p,.cov:focus-within p{color:rgba(246,243,238,.82)}
.cov:hover .cov-link,.cov:focus-within .cov-link{border-top-color:rgba(246,243,238,.3)}
}
/* listas numeradas {n} */
.steps-ol{border-top:1px solid var(--hair)}
.steps-ol li{border-bottom:1px solid var(--hair);padding:16px 0!important}
.steps-ol .n{font-size:.75rem}
.steps-ol .n::before{content:"{"}
.steps-ol .n::after{content:"}"}
.steps-ol.tl li{grid-template-columns:7rem 1fr}
.related,.related li{border-color:var(--hair)}
.related li a::after{content:" \2192"}
@media (hover:hover) and (pointer:fine){.steps-ol li{transition:background-color .35s var(--ease),padding .35s var(--ease)}.steps-ol li:hover{background:rgba(7,30,34,.04);padding-left:8px!important}}
/* cierre */
.svc-cta{border-top:1px solid var(--hair);padding-top:clamp(48px,8vw,96px)}
.svc-cta .cta-block{width:min(1180px,92%);text-align:left;padding:0 0 32px}
.svc-cta .cta-block .eyebrow{display:block}
.svc-cta .cta-block h2{font-size:clamp(2.25rem,7vw,4.5rem);max-width:20ch}
.svc-cta .cta-block p:not(.eyebrow){margin:0;max-width:30rem}
.svc-cta .actions{width:min(1180px,92%);margin:0 auto;justify-content:flex-start}
/* proyectos */
.pj-jump a{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-family:"IBM Plex Mono",ui-monospace,monospace;border-color:var(--hair);background:none;min-height:48px}
.pj-jump span{font-size:.75rem}
.pj{border-top-color:var(--hair)}
.pj-years{font-size:.75rem}
.pj-pic{background:#ece7de}
.pj .jobs li{border-left-color:var(--hair)}
.job-d{font-size:.875rem}
@media (hover:hover) and (pointer:fine){.pj{transition:background-color .35s var(--ease)}.pj:hover{background:rgba(7,30,34,.03)}.pj-pic img{transition:transform .6s var(--ease)}.pj:hover .pj-pic img{transform:scale(1.04)}}
/* contacto */
.contact-lead .cform input[type=text],.contact-lead .cform input[type=email],.contact-lead .cform textarea{font-size:1rem;min-height:48px;border:1px solid rgba(7,30,34,.3);border-radius:0;background:transparent}
.contact-lead .cform input:focus-visible,.contact-lead .cform textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* nosotros */
.rod-fig{background:#ece7de}
.contact-lead .cform label,.contact-lead .cform .lbl,.contact-lead .consent,.contact-lead .proof{font-size:.75rem}
/* tablas, nota destacada y preguntas */
.read table{background:none;font-size:1rem;border-top:1px solid var(--hair)}
.read th{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--accent-text);padding:12px 16px 12px 0;border-bottom:1px solid var(--hair)}
.read td{padding:16px 16px 16px 0;vertical-align:top;border:0;border-bottom:1px solid var(--hair);color:rgba(7,30,34,.84)}
.read td:first-child{font-weight:500;color:var(--ink);width:34%}
@media (hover:hover) and (pointer:fine){.read tbody tr{transition:background-color .35s var(--ease)}.read tbody tr:hover{background:rgba(7,30,34,.04)}}
.callout{background:none;border:1px solid var(--hair);border-left:2px solid var(--accent);padding:16px 24px}
.callout p{color:rgba(7,30,34,.84);font-size:1rem}
.faq{counter-reset:q}
.faq h3{counter-increment:q;margin:0;padding:24px 0 8px;border-top:1px solid var(--hair);font-size:1.25rem;letter-spacing:-.02em}
.faq h3::before{content:"{" counter(q,decimal-leading-zero) "}";display:block;margin-bottom:8px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;letter-spacing:.1em;color:var(--accent-text)}
.faq h3:first-of-type{margin-top:0}
@media (max-width:719px){.read table,.read thead,.read tbody,.read tr,.read th,.read td{display:block;width:100%}.read thead{display:none}.read td:first-child{width:100%;padding-bottom:0;border-bottom:0}.read td{padding-right:0}}
/* Hero con ilustración isométrica (ref. Opero): copia a la izquierda, torre + hojas conectadas a la derecha */
.svc-art{margin-top:32px}
.h-svg{display:block;width:100%;height:auto;overflow:visible}
.h-svg path,.h-svg circle{vector-effect:non-scaling-stroke}
.h-grid{fill:none;stroke:rgba(7,30,34,.28);stroke-width:1;stroke-dasharray:3 5}
.h-r{fill:#e0dacf}.h-l{fill:#ece7de}.h-t{fill:var(--bone)}
.h-tower path,.h-card,.h-box{stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.h-tower .h-f{fill:none;stroke:rgba(7,30,34,.4);stroke-width:1}
.h-card{fill:var(--bone)}
.h-box{fill:#e0dacf}
.h-thin{fill:none;stroke:rgba(7,30,34,.5);stroke-width:1;stroke-linecap:round}
.h-dot{fill:var(--ink)}
.h-wire{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.h-wire--acc,.h-acc{stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h-node{fill:var(--bone);stroke:var(--ink);stroke-width:1.5}
@media (prefers-reduced-motion:no-preference){
.h-wire{stroke-dasharray:1;stroke-dashoffset:1;animation:h-draw 1.6s var(--ease) .5s forwards}
.h-wire--acc{animation-delay:1.1s}
.h-svg .h-wire{vector-effect:none}
.h-float{animation:h-bob 6s ease-in-out infinite;animation-delay:var(--d,0s)}
.h-tower{animation:h-rise 1.4s var(--ease) both;transform-box:fill-box;transform-origin:50% 100%}
}
@keyframes h-draw{to{stroke-dashoffset:0}}
@keyframes h-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes h-rise{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@media (min-width:960px){
.svc-hero .wrap.has-art{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:48px;align-items:center}
.has-art>*{grid-column:1}
.has-art>.svc-art{grid-column:2;grid-row:1/span 8;margin:0}
}
.svc-hero .hero-kicker{justify-content:flex-start;text-align:left}.svc-hero .wrap{text-align:left}
.h-tree{fill:var(--bone);stroke:var(--ink);stroke-width:1.5}
/* Hero ilustrado: nuevas clases por tema */
.h-face{stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.h-top{fill:var(--bone);stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.h-plate{fill:#ece7de;stroke:rgba(7,30,34,.4);stroke-width:1;stroke-dasharray:4 4}
.h-f{fill:none;stroke:rgba(7,30,34,.4);stroke-width:1}
.h-bar{fill:#e0dacf;stroke:var(--ink);stroke-width:1}
.h-col{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.h-ghost{fill:none;stroke:rgba(7,30,34,.5);stroke-width:1.2;stroke-dasharray:4 4}
.h-fillacc{fill:var(--accent);stroke:var(--ink);stroke-width:1.2;stroke-linejoin:round}
.h-pin{fill:var(--accent);stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.h-ring{fill:none;stroke:var(--accent);stroke-width:1.5}
.h-svg .h-tower .h-face,.h-svg .h-tower .h-top,.h-svg .h-tower .h-f,.h-svg .h-tower .h-col,.h-svg .h-tower .h-ghost,.h-svg .h-tower .h-pin{vector-effect:non-scaling-stroke}
.contact-lead .svc-art{max-width:460px}
@media (min-width:960px){
.contact-lead .wrap.has-art{width:min(1180px,92%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;align-items:center}
.contact-lead .has-art>*{grid-column:1}
.contact-lead .has-art>.svc-art{grid-column:2;grid-row:1/span 6;margin:0 0 0 auto}
}
.h-svg .h-ghost{fill:none;stroke:rgba(7,30,34,.5);stroke-width:1.2;stroke-dasharray:4 4}
.h-svg .h-thin{fill:none;stroke:rgba(7,30,34,.5);stroke-width:1}
.h-svg .h-col{fill:none;stroke:var(--ink);stroke-width:2}
.h-svg .h-f{fill:none;stroke:rgba(7,30,34,.4);stroke-width:1}
.h-svg .h-top{fill:var(--bone);stroke:var(--ink);stroke-width:1.5}
.h-svg .h-pin,.h-svg .h-fillacc{fill:var(--accent);stroke:var(--ink);stroke-width:1.3}
.h-svg .h-box,.h-svg .h-bar{stroke:var(--ink);stroke-width:1}
/* Cierres (call to action) centrados, como el hero del home */
.svc-cta .cta-block{width:min(820px,92%);margin:0 auto;text-align:center}
.svc-cta .cta-block .eyebrow{display:flex;justify-content:center}
.svc-cta .cta-block h2{max-width:16ch;margin-left:auto;margin-right:auto}
.svc-cta .cta-block p:not(.eyebrow){margin-left:auto;margin-right:auto}
.svc-cta .actions{width:min(820px,92%);justify-content:center}
.h-svg .h-sign{fill:var(--ink);stroke:var(--ink);stroke-width:1.5}
.h-svg .h-year{fill:var(--bone);font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:500;vector-effect:none}
.h-svg .h-pinc{fill:var(--accent);stroke:var(--ink);stroke-width:1.5}
.svc-hero .hero-cta{justify-content:flex-start}
/* Proyectos: acordeón por obra */
.pj{position:relative}
.pj h3{margin:0 0 12px}
.pj-toggle{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;cursor:pointer;font:inherit;color:inherit}
.pj-toggle::after{content:"";position:absolute;inset:0}
.pj-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.pj-chev{position:relative;flex:none;width:32px;height:32px;border:1px solid var(--hair);transition:background-color .35s var(--ease),border-color .35s var(--ease)}
.pj-chev::before,.pj-chev::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.pj-chev::after{transform:translate(-50%,-50%) rotate(90deg)}
.pj.is-open .pj-chev::after{transform:translate(-50%,-50%) rotate(0)}
.pj.is-open .pj-chev{background:var(--ink)}
.pj.is-open .pj-chev::before,.pj.is-open .pj-chev::after{background:var(--bone)}
.pj.is-open{background:rgba(7,30,34,.03)}

.pj-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.pj.is-open .pj-more{grid-template-rows:1fr}
.pj-more-in{min-height:0;overflow:hidden;display:grid;gap:24px}
.pj-info{padding-top:8px}
.pj-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px;padding:16px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.pj-facts dt,.pj-sub{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);margin:0 0 4px}
.pj-facts dd{margin:0;font-size:1rem;font-weight:500}
.pj-sub{margin:0 0 8px}
.pj-jobs2{margin:0 0 24px}
.pj-jobs2>div{display:grid;grid-template-columns:1fr;gap:2px;padding:12px 0;border-bottom:1px solid var(--hair)}
.pj-jobs2 dt{font-weight:500}
.pj-jobs2 dd{margin:0;font-size:.875rem;color:rgba(7,30,34,.72)}
.pj-ask{display:inline-flex;align-items:center;min-height:48px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:8px}
.pj-ask::after{content:" →"}
.pj-big{margin:0;max-width:640px}
.pj-big picture,.pj-big img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#ece7de;border:1px solid var(--hair)}
@media (min-width:960px){.pj-more-in{grid-template-columns:minmax(0,1fr);align-items:start}}
@media (hover:hover) and (pointer:fine){.pj:not(.is-open):hover .pj-chev{border-color:var(--ink)}}
@media (prefers-reduced-motion:reduce){.pj-more,.pj-chev::before,.pj-chev::after{transition:none}}
@media (max-width:959px){.contact-lead .svc-art{display:none}}
/* Título de las páginas internas: en dos columnas (desde 960 px) se mide por la columna y no por la pantalla, para que no pase de 3 líneas; líneas equilibradas en todo tamaño */
.svc-hero h1{text-wrap:balance}@media (min-width:960px){.svc-hero .has-art h1{font-size:min(4.75rem,calc(5.9vw - 4px))}}
/* Interventoría: el hero es una lámina de plano (IT-01, corte) del mismo sistema de Énfasis; lo naranja son las 3 verificaciones */
.it-sheet{margin:0}.it-plan{aspect-ratio:520/440;--it-t:10px}.it-plan text,.it-plan .sheet{font-size:var(--it-t)}.it-plan .it-or{fill:var(--accent-text)}.it-plan.is-hl .ln.or{animation-delay:calc((var(--d,1.6s) - 1.6s) * .45)}@media (max-width:959px){.svc-hero .it-art{max-width:560px}}@media (max-width:600px){.it-plan{--it-t:11px}}@media (max-width:440px){.it-plan{--it-t:13.6px}}
/* Interventoría: hero foto | plano (como el del home). La capa del plano se recorta desde --x; las marcas naranjas viven en esa capa */
.it-split{margin:0;--x:50%}.it-stack{position:relative;aspect-ratio:700/760;overflow:hidden;touch-action:pan-y;cursor:ew-resize;background:var(--bone);outline-offset:4px}.it-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none;user-select:none;-webkit-user-drag:none}.it-layer{position:absolute;inset:0;clip-path:inset(0 0 0 var(--x))}.it-marks{position:absolute;inset:0}.it-marks svg{display:block;width:100%;height:100%}.it-marks .ln.or{stroke-width:2.2}.it-marks .it-bg{fill:var(--bone);stroke:none}.it-marks text{font-family:"IBM Plex Mono",ui-monospace,monospace;fill:var(--accent-text)}.it-marks .it-n{font-size:13px;font-weight:600}.it-marks .it-note{font-size:15px;letter-spacing:.1em}.it-marks.is-hl .ln.or{animation-delay:calc(var(--d,0s) * .45)}.it-line{position:absolute;top:0;bottom:0;left:var(--x);width:1px;background:var(--accent);pointer-events:none}.it-tag{position:absolute;top:7%;left:var(--x);transform:translate(-50%,-50%);display:flex;gap:8px;align-items:center;padding:6px 10px;background:var(--bone);border:1px solid var(--accent);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);white-space:nowrap;pointer-events:none}.it-tag i{font-style:normal;color:var(--accent-text)}.it-split .ct-rotulo{margin-top:12px}@media (max-width:600px){.it-marks .it-n{font-size:17px}.it-marks .it-note{font-size:20px}}
/* Interventoría: página sin líneas entre secciones, cajetín de §01, frentes de §02, obras, pasos con «Queda por escrito» y cierre del home */
.it-page .svc-hero{border-bottom:0}
.it-page .svc-sec{border-bottom:0;padding:clamp(2.5rem,6vw,4.5rem) 0}
.it-page .svc-sec .sec-h{text-wrap:balance}
.it-page .proof{max-width:44rem;text-wrap:balance}
.it-ledger{border-top:1px solid var(--hair);margin:1.4rem 0 0}
.it-ledger-head,.it-ledger-row{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem}
.it-ledger-head{padding:.55rem 0;border-bottom:1px solid var(--hair);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.it-ledger-row{border-bottom:1px solid var(--hair)}
.it-page .it-ledger-cell{margin:0;padding:.85rem 0;font-size:.95rem;line-height:1.45;color:var(--mute)}
.it-ledger-tag{display:none}
.it-page .it-more .it-ledger-text{color:var(--ink);font-weight:500}
.it-page .it-more .it-ledger-text::before{content:"";display:inline-block;width:1.2rem;height:1px;background:var(--accent);vertical-align:.3em;margin-right:.65rem}
@media (max-width:599px){
.it-ledger-head{display:none}
.it-ledger-row{grid-template-columns:1fr}
.it-ledger-cell + .it-ledger-cell{border-top:1px solid var(--hair);padding-top:.8rem}
.it-ledger-tag{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 .35rem}
}
.it-fronts{width:min(1180px,92%);margin:2rem auto 0;display:grid;grid-template-columns:1fr;gap:2.5rem 2rem}
.it-front .how-ic{grid-row:auto;width:40px;height:40px;margin:0 0 1.1rem}
.it-front h3{font-size:1.05rem;font-weight:500;letter-spacing:-.02em;line-height:1.25;margin:0 0 .35rem;color:var(--ink)}
.it-front p{margin:0;font-size:.92rem;line-height:1.5;color:var(--mute)}
@media (min-width:600px){.it-fronts{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.it-fronts{grid-template-columns:repeat(3,1fr)}}
.it-page .it-close{margin-top:2rem}
.it-page #obras .sec-lead{max-width:46rem}
.it-page .it-also{margin:1.4rem 0 0;color:var(--mute);font-size:.95rem;max-width:54rem}
.it-page .it-quote{margin:2rem 0 0;font-size:clamp(1.35rem,2.6vw,1.9rem);font-weight:500;letter-spacing:-.03em;line-height:1.2;color:var(--ink);max-width:34rem}
.it-page .it-quote::before{content:"";display:block;width:1.6rem;height:1px;background:var(--accent);margin:0 0 1.1rem}
.it-page .it-quote.is-center{margin:2.6rem auto 0;text-align:center}
.it-page .it-quote.is-center::before{margin-left:auto;margin-right:auto}
.it-page .it-under{margin:1.2rem 0 0;font-size:.88rem;line-height:1.5;color:var(--mute)}
.it-page .it-action{margin:1.6rem 0 0}
.it-page #para-quien .btn{min-height:48px;padding:.7rem 1.5rem;font-size:.68rem}
.it-page #como-funciona .how{width:min(1180px,92%);margin:2rem auto 0}
.it-page .how-step .it-doc{margin:.55rem 0 0;font-size:.85rem;line-height:1.45;color:var(--ink)}
.it-page .how-step .it-doc span{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 .15rem}
.it-page .it-note{width:min(760px,92%);margin:1.4rem auto 0;color:var(--mute);font-size:.92rem;text-align:center}
.it-ct{scroll-margin-top:3.5rem}
.it-ct .rm-copy h2{text-wrap:balance}
.it-page .read .btn{color:var(--bone);text-decoration:none}
.it-page .read .btn:hover{color:var(--bone)}
.it-page .svc-sec{scroll-margin-top:3.5rem}
.it-page #obras .track::after{content:"";display:block;flex:0 0 calc(100% - min(78vw,380px));scroll-snap-align:none;pointer-events:none}
