/* 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}}
