/* PESV composition follows ISO 37001. Global type, palette, links and buttons remain shared. */
.pesv-page{color:var(--udc-text);background:var(--udc-canvas)}
.pesv-page .container{max-width:1180px}
.pesv-page [hidden],.pesv-sticky[hidden]{display:none!important}
.pesv-page p,.pesv-page li{color:var(--udc-muted);line-height:1.55}
.pesv-page h1,.pesv-page h2,.pesv-page h3,.pesv-page h4{color:var(--udc-text)}
.pesv-page .eyebrow{color:var(--udc-orange);font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.pesv-page a:not(.button):not(.udc-pill){color:var(--udc-orange-hover);text-underline-offset:.2em}
.pesv-page :focus-visible{outline:3px solid var(--udc-orange-hover);outline-offset:4px}
.pesv-page .udc-icon{width:38px;height:38px;flex:none;vertical-align:middle;color:var(--udc-orange);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pesv-page .udc-icon--small{width:24px;height:24px;margin-right:.4rem}
.pesv-section{padding:clamp(2rem,2.7vw,2.5rem) 0;scroll-margin-top:110px}
.pesv-section-alt{--udc-section-bg:var(--udc-surface)}
.pesv-section h2{margin:.25rem 0 .85rem;font-size:clamp(1.7rem,2.2vw,2.15rem);line-height:1.15}
.pesv-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1.5rem;align-items:center}
.pesv-hero h1{margin:.5rem 0 1rem;line-height:1.08;letter-spacing:-.035em}
.pesv-hero h1>span{display:block;font-size:clamp(2.7rem,3.4vw,3.35rem)}
.pesv-hero h1>span+span{font-size:clamp(1.25rem,1.65vw,1.55rem);font-weight:600;line-height:1.25;letter-spacing:normal;margin-top:.35rem}
.pesv-hero-grid img{display:block;width:100%;height:310px;object-fit:cover;object-position:center;border-radius:8px}
.pesv-grid{display:grid;gap:.9rem}
.pesv-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pesv-values{padding-top:.65rem;margin-top:1rem}
.pesv-card,.pesv-level-cards>article{min-width:0;padding:1rem 1.1rem;background:var(--udc-card);border:1px solid var(--udc-line);border-radius:9px}
.pesv-card h3,.pesv-level-cards h3{display:flex;align-items:center;gap:.8rem;font-size:1.15rem;line-height:1.3;margin:.1rem 0 .7rem}
.pesv-card p{font-size:.9rem}
.pesv-values .pesv-card p{margin:0}
.pesv-card:focus-within{background:var(--udc-elevated);border-color:var(--udc-orange)}
@media(hover:hover){.pesv-values .pesv-card:hover,.pesv-service:hover{background:var(--udc-elevated);border-color:var(--udc-orange)}}
.pesv-page summary{cursor:pointer;font-weight:700;color:var(--udc-text);line-height:1.4}
.pesv-details{background:var(--udc-card);border:1px solid var(--udc-line);border-radius:8px;padding:.9rem 1.15rem;margin:1rem 0}
.pesv-details[open]>summary{color:var(--udc-orange-hover)}
.pesv-details p{margin:.85rem 0}
.pesv-applicability{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:start}
.pesv-applicability-cards{gap:.75rem;margin-top:.25rem}
.pesv-applicability-cards h3{font-size:1.05rem}
.pesv-applicability-cards .udc-icon{width:29px;height:29px}
.pesv-page .pesv-note{font-size:.85rem}
.pesv-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0;padding:1rem 1.2rem;background:var(--udc-card);border:1px solid var(--udc-line);border-radius:8px}
.pesv-callout p{flex:1 1 300px;margin:0;font-size:1.125rem;font-weight:600}
.pesv-callout .button{min-height:54px;padding:.85rem 1.5rem}
.pesv-callout .button,.pesv-page .pesv-cta{white-space:normal}
.pesv-notice{padding:1rem;border:1px solid var(--udc-line);border-left:4px solid var(--udc-orange);border-radius:8px;background:var(--udc-card)}
.pesv-situations{display:grid;gap:1.1rem;align-items:start}
.pesv-situations>div{min-width:0}
.pesv-enhanced .pesv-situations{grid-template-columns:minmax(240px,.38fr) minmax(0,.62fr)}
.pesv-situation-buttons{display:grid;gap:.5rem}
.pesv-situation-buttons button,.pesv-unsure{width:100%;min-height:49px;text-align:left;font:inherit;font-weight:650;line-height:1.4;color:var(--udc-text);background:var(--udc-card);border:1px solid var(--udc-line);border-radius:7px;padding:.7rem 1rem;cursor:pointer}
.pesv-situation-buttons button{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.pesv-situation-arrow{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pesv-situation-buttons button[aria-expanded=true]{box-shadow:inset 4px 0 0 var(--udc-on-accent);font-weight:800}
.pesv-situation-buttons button[aria-expanded=true],.pesv-unsure[aria-expanded=true]{color:var(--udc-on-accent);background:var(--udc-orange);border-color:var(--udc-orange)}
@media(hover:hover){.pesv-situation-buttons button:hover{border-color:var(--udc-orange)}.pesv-situation-buttons button:not([aria-expanded=true]):hover{background:var(--udc-elevated)}}
.pesv-situation{margin:0 0 .8rem;padding:0;overflow:hidden}
.pesv-enhanced .pesv-situation{border-color:var(--udc-line)}
.pesv-situation>summary{padding:1.4rem;background:linear-gradient(90deg,rgba(27,27,27,.96),rgba(27,27,27,.72)),url('/assets/img/pesv-iso-39001-undernet.webp') center/cover}
.pesv-situation-heading{display:inline-block;width:calc(100% - 1.5rem);vertical-align:top}
.pesv-enhanced .pesv-situation summary{list-style:none}
.pesv-enhanced .pesv-situation summary::-webkit-details-marker{display:none}
.pesv-enhanced .pesv-situation-heading{width:100%}
.pesv-situation-kicker{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--udc-text);margin-bottom:.9rem}
.pesv-situation-title{display:block;font-size:clamp(1.15rem,1.6vw,1.5rem);font-weight:750;line-height:1.3;color:var(--udc-text)}
.pesv-situation-body{padding:1rem 1.4rem 1.4rem}
.pesv-situation-fact{display:flex;align-items:flex-start;gap:1rem;padding:1rem;margin:0 0 .8rem;background:var(--udc-surface);border:1px solid var(--udc-line);border-radius:8px}
.pesv-situation-fact>.udc-icon{width:32px;height:32px;color:var(--udc-muted)}
.pesv-situation-fact>div{min-width:0}
.pesv-situation-fact h4{font-size:.95rem;line-height:1.4;margin:0 0 .4rem}
.pesv-situation-fact p{margin:0;font-size:.9rem}
.pesv-situation-body>.button{display:flex;justify-content:center;width:100%;min-height:54px;margin-top:1rem;padding:.85rem 1.5rem}
.pesv-page .pesv-mobile-select,.pesv-unsure{display:none}
.pesv-services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;margin:1.2rem 0}
.pesv-service{grid-column:span 2;display:flex;flex-direction:column;padding:1.1rem}
.pesv-service:nth-child(-n+2){grid-column:span 3}
.pesv-service h3{align-items:flex-start;font-size:1.13rem}
.pesv-service h3 .udc-icon{width:29px;height:29px}
.pesv-service p{margin:.45rem 0 .8rem}
.pesv-service>.button{margin-top:auto;align-self:center;text-align:center}
.pesv-service>p:last-child{margin:.75rem 0 0;font-size:.85rem}
.pesv-faq-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2rem;align-items:stretch}
.pesv-faq{margin:.25rem 0;padding:.7rem 1rem}
.pesv-final{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem;padding:1.7rem;background:var(--udc-card);border:1px solid var(--udc-line);border-radius:9px;scroll-margin-top:110px}
.pesv-final::before{content:'';height:3px;width:64px;background:var(--udc-orange)}
.pesv-final h2{font-size:1.65rem;margin:0}
.pesv-final p{border-top:1px solid var(--udc-line);padding-top:1.1rem;margin:1rem 0 0;font-size:.9rem}

/* PESV-specific explorer, tool and diagrams. */
.pesv-tabs{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.25rem 0}
.pesv-panel{padding:1.25rem;margin-top:1rem;border:1px solid var(--udc-line);border-radius:var(--udc-radius-md);scroll-margin-top:110px;background:var(--udc-surface);min-width:0}
.pesv-page select,.pesv-page input{width:100%;min-width:0;max-width:100%;background:var(--udc-card);color:var(--udc-text);border:1px solid var(--udc-line);border-radius:var(--udc-radius-sm);font:inherit;padding:.6rem;margin:.4rem 0}
.pesv-page label{display:block;font-weight:700}
.pesv-page label small{display:block;font-weight:400;line-height:1.5;color:var(--udc-muted);font-size:.8rem}
.pesv-level-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.25rem;align-items:start}
.pesv-level-content{min-width:0}
.pesv-level-content>h3:first-child{margin-top:0}
.pesv-level-matrix thead th:not(:first-child){text-align:center}
.pesv-mobile-value{display:none}
.pesv-tool{margin:0;background:var(--udc-card)}
.pesv-tool:hover{background:var(--udc-card)}
.pesv-tool .pesv-grid{grid-template-columns:1fr;gap:.8rem}
.pesv-tool>.button{margin-top:1rem;width:100%}
.pesv-tool [role=status]{margin-top:1.25rem;border-top:1px solid var(--udc-line);padding-top:1rem}
.pesv-tool [role=status] p{font-size:.85rem}
.pesv-table-wrap{max-width:100%;margin:1rem 0}
.pesv-page table{width:100%;border-collapse:collapse;text-align:left}
.pesv-page th,.pesv-page td{border:1px solid var(--udc-line);padding:.75rem;vertical-align:top;line-height:1.5;font-size:.85rem}
.pesv-page th{background:var(--udc-card)}
.pesv-level-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}
.pesv-level-cards h3{font-size:.98rem;align-items:flex-start}.pesv-level-ranges{display:none}
.pesv-level-cards .udc-icon{width:25px;height:25px}
.pesv-level-cards p{font-size:.85rem}
.pesv-phase-flow,.pesv-calendar{display:grid;gap:1rem;padding:0;list-style:none;margin:1.5rem 0}
.pesv-phase-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
.pesv-phase-flow>li{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:.65rem;align-content:start}
.pesv-phase-flow>li>.pesv-step-number{grid-column:1;grid-row:1;margin:0}
.pesv-phase-flow>li>h3{grid-column:2;grid-row:1;margin:0;min-height:3.9em;font-size:1.05rem;line-height:1.3}
.pesv-phase-flow>li>p{grid-column:1/-1}
.pesv-phase-flow>li>.pesv-step-range{border-top:1px solid var(--udc-line);padding-top:.85rem;margin-top:.85rem}
@media(hover:hover){.pesv-phase-flow>li:hover{background:var(--udc-elevated);border-color:var(--udc-orange)}}
.pesv-phase-flow>li,.pesv-calendar>li{position:relative;min-width:0;border:1px solid var(--udc-line);border-radius:var(--udc-radius-md);padding:1rem;background:var(--udc-card)}
.pesv-phase-flow>li:not(:last-child)::after,.pesv-calendar>li:not(:last-child)::after{content:'';position:absolute;top:2rem;left:100%;width:1rem;border-top:2px solid var(--udc-orange)}
.pesv-step-number{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;color:var(--udc-on-accent);background:var(--udc-orange);font-weight:700;margin-bottom:.85rem}
.pesv-page .pesv-step-range{color:var(--udc-orange);font-weight:700}
.pesv-page .pesv-phase-flow p{font-size:.88rem}
.pesv-level-tag{border-top:1px solid var(--udc-line);padding-top:.5rem}
.pesv-level-tag span{display:block;color:var(--udc-orange);font-weight:700}
.pesv-calendar{grid-template-columns:repeat(5,minmax(0,1fr))}
.pesv-calendar .udc-icon{display:block;margin-bottom:.65rem}
.pesv-calendar strong{display:block}
.pesv-page .pesv-calendar p{font-size:.85rem}
.pesv-calendar>li.pesv-calendar-deadline{border-color:var(--udc-orange)}
.pesv-calendar-deadline strong{color:var(--udc-orange)}
.pesv-calendar-audit{border-left:3px solid var(--udc-orange);padding:.8rem 1rem;background:var(--udc-card);margin:1rem 0}
.pesv-articulation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:1.5rem;align-items:center;margin:1.5rem 0}
.pesv-system,.pesv-shared p,.pesv-comparison article{border:1px solid var(--udc-line);border-radius:var(--udc-radius-md);padding:1rem;background:var(--udc-card)}
.pesv-system{text-align:center}
.pesv-system h3{margin-top:.8rem}
.pesv-shared{position:relative}
.pesv-shared::before,.pesv-shared::after{content:'';position:absolute;top:50%;width:1.5rem;border-top:2px solid var(--udc-orange)}
.pesv-shared::before{right:100%}.pesv-shared::after{left:100%}
.pesv-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.pesv-comparison h3{display:flex;align-items:center;gap:.75rem}
.pesv-bridge{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}
.pesv-bridge>div{position:relative;display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem;border:1px solid var(--udc-line);border-radius:var(--udc-radius-md);background:var(--udc-surface)}
.pesv-bridge>div:not(:last-child)::after{content:'';position:absolute;top:50%;left:100%;width:1.5rem;border-top:2px solid var(--udc-orange)}
.pesv-bridge>span{display:none}
.pesv-sticky{position:fixed;bottom:calc(.5rem + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:.5rem;max-width:calc(100% - 2rem);padding:.25rem;background:var(--udc-surface);border:1px solid var(--udc-line);border-radius:var(--udc-radius-sm);max-height:56px}
.pesv-sticky .button{padding:.6rem .75rem;font-size:.9rem}
.pesv-sticky button{color:var(--udc-text);background:transparent;border:0;font-size:1.6rem;cursor:pointer;padding:.5rem}
/* Breakpoints change composition, keeping native controls and no-JS content available. */
@media(min-width:761px){.pesv-topic-select,.pesv-sticky{display:none!important}}
@media(max-width:1023px){
 .pesv-applicability,.pesv-level-layout{grid-template-columns:1fr}
 .pesv-applicability-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pesv-phase-flow,.pesv-calendar{grid-template-columns:1fr}
 .pesv-phase-flow>li:not(:last-child)::after,.pesv-calendar>li:not(:last-child)::after{top:100%;left:2rem;width:0;height:1rem;border-top:0;border-left:2px solid var(--udc-orange)}
}
@media(max-width:800px){
 .pesv-hero-grid{grid-template-columns:1fr}
 .pesv-hero-grid img{height:280px}
 .pesv-services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pesv-service,.pesv-service:nth-child(-n+2){grid-column:auto}
 .pesv-service:last-child{grid-column:1/-1}
}
@media(max-width:760px){
 .pesv-grid-three,.pesv-applicability-cards,.pesv-level-cards,.pesv-faq-layout{grid-template-columns:1fr}
 .pesv-enhanced .pesv-situations{grid-template-columns:1fr}
 .pesv-tabs,.pesv-situation-buttons{display:none!important}
 .pesv-page .pesv-mobile-select{display:block}
 .pesv-unsure{display:block;margin:.65rem 0}
 .pesv-panel{padding:1rem}
 .pesv-page .pesv-level-matrix{display:none}
 .pesv-level-ranges{display:block;margin:.75rem 0}
 .pesv-level-ranges dt{font-weight:700;margin:.75rem 0 .3rem;font-size:.85rem;color:var(--udc-text)}
 .pesv-level-ranges dd{margin:0;color:var(--udc-muted);line-height:1.5}
 .pesv-page table,.pesv-page tbody,.pesv-page tr,.pesv-page td{display:block}.pesv-page thead{display:none}
 .pesv-page tr{border:1px solid var(--udc-line);border-radius:7px;margin-bottom:1rem;overflow:hidden}
 .pesv-page td{border:0;border-bottom:1px solid var(--udc-line)}.pesv-page td:last-child{border-bottom:0}
 .pesv-page td::before{content:attr(data-label);display:block;font-weight:700;color:var(--udc-text);margin-bottom:.3rem}
 .pesv-articulation,.pesv-comparison,.pesv-bridge{grid-template-columns:1fr}
 .pesv-shared::before,.pesv-shared::after{top:auto;left:50%;width:0;height:1.5rem;border-top:0;border-left:2px solid var(--udc-orange)}.pesv-shared::before{bottom:100%}.pesv-shared::after{top:100%}
 .pesv-bridge>div:not(:last-child)::after{top:100%;left:50%;width:0;height:1.5rem;border-top:0;border-left:2px solid var(--udc-orange)}
 .page-pesv:has(.pesv-sticky:not([hidden])){padding-bottom:100px}
}
@media(max-width:580px){
 .pesv-hero h1>span{font-size:clamp(2.15rem,10vw,3.4rem)}
 .pesv-hero-grid img{height:230px}
 .pesv-services{grid-template-columns:1fr}
}
