/* COM032: recorridos claros, retícula compartida y lectura editorial. */
:root{--pc32-line:#b5b2aa;--pc32-muted:#535858;--pc32-rose:#f7b6be}
h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}
.hero .lead{max-width:48ch}
.hero-grid{align-items:center}
.hero-detail p{max-width:78ch}
.photo-frame img[src*="gestion-consultas"]{object-position:43% center}
.photo-frame img[src*="ingenieria-instalaciones"]{object-position:40% center}
.photo-frame img[src*="empresa-tecnica"]{object-position:55% center}
.photo-frame img[src*="centro-profesional"]{object-position:52% center}
.pc32-diagram{margin:36px 0 44px;padding:32px;background:#fff;border:1px solid var(--pc32-line);border-radius:16px;box-shadow:0 8px 24px #20242505;color:var(--ink)}
.pc32-diagram>figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--pc32-line);font-size:20px;font-weight:650;line-height:1.4}
.pc32-diagram>figcaption span{font-weight:400;font-size:14px;color:var(--pc32-muted)}
.pc32-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:32px 0 0;gap:36px;counter-reset:none}
.pc32-steps>li{position:relative;margin:0;padding:0;min-width:0}
.pc32-steps>li:before,.pc32-steps>li:after{content:none}
.pc32-step-top{display:flex;align-items:center;gap:12px;height:52px;margin-bottom:20px}
.pc32-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;background:var(--blush);color:var(--red);border-radius:50%;border:1px solid #dec3c6}
.pc32-icon svg{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pc32-number{font-size:13px;line-height:1;font-weight:650;color:var(--pc32-muted);font-variant-numeric:tabular-nums}
.pc32-steps h3{font-size:22px;line-height:1.2;margin:0 0 12px;text-wrap:initial}
.pc32-steps p{font-size:16px;line-height:1.6;margin:0}
.pc32-connector{position:absolute;right:-30px;top:25px;width:42px;height:2px;background:var(--red)}
.pc32-connector:after{content:'';position:absolute;right:0;top:-3px;width:8px;height:8px;border-top:2px solid var(--red);border-right:2px solid var(--red);transform:rotate(45deg)}
.pc32-steps>li:last-child .pc32-icon{background:var(--ink);border-color:var(--ink);color:white}
.pc32-diagram-note{margin:28px 0 0!important;padding-top:22px;border-top:1px solid var(--pc32-line);font-size:15px!important;line-height:1.6;color:var(--pc32-muted)}
.pc32-diagram-note strong{color:var(--ink)}
.pc32-process-section .editorial-rows{margin-top:36px}
.pc32-process-section .editorial-rows article{border-top:2px solid var(--red);padding-top:24px}
.pc32-process-section .editorial-rows h3{font-size:24px}
.dark .pc32-steps{gap:40px}
.dark .pc32-icon{color:var(--pc32-rose);background:#333839;border-color:#6b7779}
.dark .pc32-number{color:#d4d6d3}
.dark .pc32-connector{background:var(--pc32-rose)}
.dark .pc32-connector:after{border-color:var(--pc32-rose)}
.dark .pc32-steps>li:last-child .pc32-icon{background:var(--pc32-rose);border-color:var(--pc32-rose);color:var(--ink)}
.dark .pc32-steps h3{color:white}
.dark .pc32-steps p{color:#f7f5f0}
.pc32-inline-flow{padding:0;list-style:none;counter-reset:compact}
.pc32-inline-flow li{position:relative;padding:0 0 26px 48px;min-height:52px;margin:0;counter-increment:compact;flex:none}
.pc32-inline-flow li:before{content:counter(compact,decimal-leading-zero);position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--red);border-radius:50%;font-size:12px;color:var(--red);font-weight:700;background:white}
.pc32-inline-flow li:not(:last-child):after{content:'↓';position:absolute;left:11px;bottom:0;color:var(--red);font-size:18px}
.pc32-inline-flow li:last-child{padding-bottom:0}
.pc18-visual .pc32-inline-flow{display:block;margin:0}
.pc18-visual .pc18-note{margin-bottom:0}
.process-line{gap:32px;margin-bottom:24px}
.process-line>li{position:relative;padding-top:0}
.process-line>li:before{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--red);border-radius:50%;margin:0 0 20px;font-size:13px;background:white;color:var(--red)}
.process-line>li:not(:last-child):after{content:'→';position:absolute;top:4px;right:0;color:var(--red);font-size:22px;line-height:1}
.dark .process-line>li:before{background:var(--ink);color:white;border-color:var(--pc32-rose)}
.dark .process-line>li:after{color:var(--pc32-rose)}
.process-line strong{font-size:20px;line-height:1.4;display:block}
.process-line p{font-size:16px;margin:12px 0 0}
.pc32-measure{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:28px 0;margin:32px 0 0;border-top:1px solid var(--pc32-line);border-bottom:1px solid var(--pc32-line)}
.pc32-measure li{margin:0;min-width:0;position:relative;padding-right:20px}
.pc32-measure li:not(:last-child):after{content:'→';position:absolute;right:0;top:0;color:var(--red)}
.pc32-measure strong{display:block;font-size:18px;margin-bottom:8px}
.pc32-measure span{font-size:14px;color:var(--pc32-muted);line-height:1.5;display:block}
.pc32-callout{border-left:3px solid var(--red);padding:18px 24px;background:var(--blush);margin:24px 0}
.profile-page .document-rows,.profile-page .deliverables{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-page .document-rows article,.profile-page .deliverables article{padding:28px 24px;border-top:2px solid var(--red);border-radius:0;background:white}
.profile-page .document-rows h3,.profile-page .deliverables h3{font-size:24px}
.pc31-entry:last-child:nth-child(odd){grid-column:1/-1}
.profile-page .dark .container>p{max-width:75ch}
.profile-page .pc32-profile-flow .pc32-diagram{margin-bottom:0}
.pc32-profile-flow .pc32-diagram>figcaption{font-size:18px}
.pc32-contact-note{font-size:14px;margin-top:12px}
.sector-body .reader-section.pc32-sector-flow{padding:32px 0;background:transparent;border-radius:0;margin:0}
.sector-body .pc32-sector-flow .pc32-diagram{margin-bottom:0}
.pc30-data-note{max-width:85ch}
.pc30-scale{position:relative;display:block}
.pc30-scale span{position:absolute;left:0;line-height:1}
.pc30-scale span:first-child{top:0;transform:translateY(-50%)}
.pc30-scale span:nth-child(2){top:50%;transform:translateY(-50%)}
.pc30-scale span:last-child{bottom:0;transform:translateY(50%)}
.pc19-index article p{max-width:60ch}
.pc19-index h3{text-wrap:balance}
figure.pc19{margin:32px 0}
.pc19-scale{display:flex;justify-content:space-between;padding:0 24px;font-variant-numeric:tabular-nums}
.pc19-bars{margin-top:8px}
.pc19-bars>li{margin:0 0 24px}
.pc19-bars>li:last-child{margin-bottom:0}
.pc19-barname{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:8px}
.pc19-barname strong{font-size:22px;font-variant-numeric:tabular-nums}
.pc19-path.pc32-inline-flow{padding:24px}
.pc19-path.pc32-inline-flow .pc19-boundary{margin:0;padding:0 0 0 48px;background:none;border-radius:0}
.pc19-related ul{columns:2;column-gap:32px}
.pc19-related li{break-inside:avoid;margin-bottom:14px}
@media(max-width:1099px){
 .pc32-steps{grid-template-columns:1fr;gap:0;margin-top:28px}
 .pc32-steps>li{padding:0 0 32px 78px;min-height:100px}
 .pc32-step-top{position:absolute;left:0;top:0;display:block;height:auto;margin:0}
 .pc32-number{display:block;text-align:center;margin-top:8px}
 .pc32-steps h3{padding-top:4px;margin-bottom:10px}
 .pc32-connector{left:25px;right:auto;top:82px;bottom:10px;width:2px;height:auto;min-height:10px}
 .pc32-connector:after{top:auto;bottom:0;right:-3px;transform:rotate(135deg)}
 .pc32-steps>li:last-child{padding-bottom:0;min-height:75px}
 .dark .pc32-steps{gap:0}
 .profile-page .document-rows,.profile-page .deliverables{grid-template-columns:1fr}
}
@media(min-width:768px) and (max-width:1099px){
 .pc32-diagram{padding:32px 40px}
 .pc32-steps p{max-width:65ch}
 .process-line{grid-template-columns:1fr 1fr}
 .process-line>li:nth-child(2):after{content:none}
}
@media(max-width:767px){
 .pc32-diagram{padding:24px 20px;margin:28px 0 32px;border-radius:12px}
 .pc32-diagram>figcaption{display:block;font-size:18px;padding-bottom:20px}
 .pc32-diagram>figcaption span{display:block;margin-top:8px;font-size:13px}
 .pc32-steps>li{padding-left:62px;padding-bottom:28px}
 .pc32-icon{width:42px;height:42px;min-width:42px}
 .pc32-icon svg{width:23px;height:23px}
 .pc32-number{font-size:12px}
 .pc32-connector{left:20px;top:71px;bottom:7px}
 .pc32-steps h3{font-size:20px;padding-top:0}
 .pc32-steps p{font-size:16px;line-height:1.55}
 .pc32-diagram-note{font-size:14px!important;margin-top:24px!important;padding-top:20px}
 .process-line>li{padding:0 0 24px 58px}
 .process-line>li:before{position:absolute;left:0;top:0;margin:0}
 .process-line>li:not(:last-child):after{content:'↓';left:13px;right:auto;top:50px;bottom:auto}
 .process-line>li:last-child{padding-bottom:0}
 .pc32-measure{grid-template-columns:1fr;gap:0;padding:24px 0}
 .pc32-measure li{padding:0 0 28px 28px}
 .pc32-measure li:not(:last-child):after{content:'↓';left:0;top:0;right:auto}
 .pc32-measure li:last-child{padding-bottom:0}
 .pc32-measure li:last-child:before{content:'•';position:absolute;left:0;color:var(--red)}
 .pc19-related ul{columns:1}
 .pc32-callout{padding:16px 20px}
}
