/* Portrait links preserve the carousel layout and open the complete photograph. */
.who .quote-photo{width:143.055px;height:143.055px}
.who .quote-carousel{min-height:0}
.who .quote-carousel .quote{justify-content:flex-start;padding-bottom:44px}
.who .who-col .tab-panels{min-height:0;padding:30px 36px 24px}
.quote-photo-link{display:block;position:relative;flex-shrink:0;border-radius:50%;color:#fff;line-height:0;cursor:zoom-in}
.quote-photo-link:focus-visible{outline:3px solid #fff;outline-offset:5px}
.quote-photo-link .quote-photo{display:block}
.quote-photo-link::after{content:'+';position:absolute;right:4px;bottom:7px;display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--yellow);border-radius:50%;background:var(--blue);color:var(--yellow);font:500 22px/1 var(--font-head)}
html.portrait-modal-open{overflow:hidden}
.portrait-viewer{width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff30;border-radius:20px;margin:auto;background:#061831;color:#fff;box-shadow:0 24px 90px #0009;overflow:hidden}
.portrait-viewer::backdrop{background:#000d;backdrop-filter:blur(8px)}
.portrait-viewer[open]{display:flex;flex-direction:column}
.portrait-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;flex-shrink:0;border-bottom:1px solid #ffffff20}
.portrait-viewer-name{margin:0;color:#fff;font:600 20px/1.25 var(--font-head)}
.portrait-viewer-role{margin:5px 0 0;color:var(--yellow);font-size:13px}
.portrait-viewer-close{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid #ffffff40;border-radius:50%;background:#173251;color:#fff;cursor:pointer;touch-action:manipulation}
.portrait-viewer-close:hover{background:#24486c}.portrait-viewer-close:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.portrait-viewer-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.portrait-viewer-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 150px);object-fit:contain;min-height:0;padding:12px}
/* Equal columns, matching heading insets, and aligned map/accordion edges. */
.contact .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.contact .contact-card,.contact .useful{min-width:0;display:flex;flex-direction:column}
.contact .useful{padding:42px 44px}
.contact .useful-title{font-size:36px;font-weight:800;line-height:1.2;color:#fff;margin:0 0 24px}
.contact .contact-card h2{line-height:1.2}
.contact .contact-map{height:auto;min-height:260px;flex:1 0 260px}
.contact .useful-acc{flex:1;justify-content:space-between}
.contact .useful-item{flex-shrink:0}
@media(max-width:1024px){
 .contact .contact-grid{grid-template-columns:minmax(0,1fr)}
 .contact .useful{padding:0 44px}
}
@media(max-width:720px){.contact .useful{padding-inline:24px}}
@media(max-width:600px){.portrait-viewer{width:calc(100vw - 20px);border-radius:14px}.portrait-viewer-head{padding:14px}.portrait-viewer-name{font-size:18px}.portrait-viewer-image{padding:8px}}

/* Navigation stays inside the Board card; vertical page scrolling stays native. */
#whoQuotes{touch-action:pan-y pinch-zoom}
.who #whoQuotes .quote{padding-bottom:76px}
#whoQuotes .quote-controls{position:absolute;z-index:2;left:36px;right:36px;bottom:16px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}
#whoQuotes .quote-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff65;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer;touch-action:manipulation;transition:background .2s,color .2s,border-color .2s}
#whoQuotes .quote-arrow:hover{background:var(--yellow);border-color:var(--yellow);color:var(--blue)}
#whoQuotes .quote-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#whoQuotes .quote-dots{position:static;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0}
#whoQuotes .quote-dots button{display:grid;place-items:center;width:28px;height:44px;flex:none;border:0;padding:0;background:transparent;transform:none;touch-action:manipulation}
#whoQuotes .quote-dots button::before{content:'';width:8px;height:8px;border-radius:50%;background:#ffffff70;transition:background .2s,transform .2s}
#whoQuotes .quote-dots button:hover::before{background:#fff}
#whoQuotes .quote-dots button.is-active::before{background:var(--yellow);transform:scale(1.25)}
#whoQuotes .quote-controls button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
#whoQuotes .quote-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:600px){#whoQuotes .quote-controls{left:24px;right:24px}}
@media(prefers-reduced-motion:reduce){#whoQuotes .quote,#whoQuotes .quote-arrow,#whoQuotes .quote-dots button::before{transition:none}}

/* Consistent statistic rows, with explicit year labels for estimates. */
.stats .stat{display:flex;flex-direction:column;align-items:center}
.stats .stat-num{width:100%;flex-shrink:0}
.stats .stat-label{display:flex;align-items:center;justify-content:center;min-height:2.6em;line-height:1.3;max-width:100%}
.stats .stat>p{min-height:3em;margin:0}
.stats .stat-note{display:block;margin-top:8px;color:#5b687c;font-size:11px;line-height:1.45}
