/* The visual extends out of the content grid; copy never moves with slides. */
.reference-version .hero-slideshow-section{position:relative;isolation:isolate;overflow:hidden;background:#edeeeb}
.hero-slideshow-section .hero-with-slideshow{position:static;min-height:700px;grid-template-columns:1.08fr 1fr;padding:84px 0 100px;gap:60px}
.hero-with-slideshow .hero-copy{position:relative;z-index:3;max-width:620px}
.hero-slideshow-section .hero-visual-slider{position:absolute;left:48%;right:0;top:0;bottom:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end}
.hero-visual-stage{position:absolute;inset:0;overflow:hidden}
.hero-visual-slide:not(.visual-people){mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 75%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 75%,transparent 100%)}
.hero-visual-stage:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,#edeeeb 0%,transparent 23%,transparent 81%,#edeeeb 100%)}
.hero-visual-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity 1.4s ease,visibility 1.4s;overflow:hidden;background:#edeeeb}
.hero-visual-slide.is-current{opacity:1;visibility:visible}
.hero-visual-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual-slide.visual-city img{object-position:52% 46%;filter:saturate(.56) brightness(1.25) contrast(.83)}
.hero-visual-slide.visual-graphs img{object-fit:contain;object-position:center;transform:scale(1.05);mix-blend-mode:multiply}
.hero-visual-slide.visual-people{inset:50% max(56px,calc((100vw - 1328px)/2)) auto auto;width:min(560px,calc(100% - 90px));height:auto;aspect-ratio:1;transform:translateY(-56%);z-index:3;background:transparent}
.hero-visual-slide.visual-people img{object-position:50% 38%;filter:saturate(.72) brightness(1.04) contrast(.98);mask:linear-gradient(#000 0 0) left/ calc(50% - 3px) 100% no-repeat,linear-gradient(#000 0 0) right top/ calc(50% - 3px) calc(50% - 3px) no-repeat,linear-gradient(#000 0 0) right bottom/ calc(50% - 3px) calc(50% - 3px) no-repeat}
.hero-visual-trace{position:absolute;inset:8% 3% 8% 4%;width:93%;height:84%;stroke:#5b7e91;stroke-width:1;opacity:.27;z-index:2;pointer-events:none}
.hero-visual-trace circle{fill:#edeeeb}
.hero-visual-controls{position:relative;z-index:4;display:flex;align-items:center;gap:22px;align-self:center;max-width:95%;padding:10px 18px;margin-bottom:22px;border-top:1px solid #8499a64d;background:#edeeebed;backdrop-filter:blur(8px)}
.hero-visual-controls button{font:16px/1.5 'Source Sans 3',sans-serif;color:#526876;border:0;background:none;padding:8px 0;cursor:pointer;white-space:nowrap;transition:color .25s}
.hero-visual-controls .hero-visual-choice{display:flex;align-items:center;gap:8px;position:relative}
.hero-visual-choice:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#12252f;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.hero-visual-choice[aria-pressed=true]:after{transform:scaleX(1)}
.hero-visual-controls button:hover,.hero-visual-controls button[aria-pressed=true]{color:#101e28}
.visual-index{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}
.hero-visual-controls .hero-visual-play{width:38px;height:38px;display:grid;place-items:center;border:1px solid #8499a64d;border-radius:50%;padding:8px}
.hero-visual-play svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.hero-visual-play .play-symbol,.hero-visual-play.is-paused .pause-symbol{display:none}
.hero-visual-play.is-paused .play-symbol{display:block}
.hero-visual-controls button:focus-visible{outline:2px solid #526876;outline-offset:5px}
.hero-slideshow-section>.hero-contours{opacity:.32}
@media(min-width:1700px){.hero-slideshow-section .hero-with-slideshow{min-height:760px}.hero-slideshow-section .hero-visual-slider{left:49%}}
@media(min-width:801px) and (max-width:1150px){.hero-slideshow-section .hero-with-slideshow{min-height:650px;gap:25px}.hero-visual-controls{gap:12px}.hero-visual-controls button{font-size:13px}.hero-with-slideshow .hero-summary{max-width:440px}}
@media(max-width:800px){
 .hero-slideshow-section .hero-with-slideshow{display:flex;flex-direction:column;min-height:0;padding:42px 0 0;gap:20px}
 .hero-with-slideshow .hero-copy{width:100%;max-width:620px}
 .hero-slideshow-section .hero-visual-slider{position:relative;left:auto;right:auto;top:auto;bottom:auto;flex:none;width:100vw;height:420px;margin:0 calc((100% - 100vw)/2)}
 .hero-visual-stage{inset:0 0 48px}
 .hero-visual-slide:not(.visual-people){mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
 .hero-visual-slide.visual-people{inset:50% auto auto 50%;width:min(340px,calc(100% - 40px),calc(420px - 68px));transform:translate(-50%,-50%)}
 .hero-visual-slide.visual-graphs img{transform:none}
 .hero-visual-controls{margin-bottom:8px;gap:18px;padding:5px 0}
 .hero-visual-controls button{font-size:13px}
 .hero-visual-stage:after{background:linear-gradient(0deg,#edeeeb,transparent 18%,transparent 85%,#edeeeb)}
}
@media(max-width:380px){.hero-slideshow-section .hero-visual-slider{height:345px}.hero-visual-slide.visual-people{width:min(calc(100% - 40px),277px)}.hero-visual-controls{gap:12px}.visual-index{display:none}}
@media(prefers-reduced-motion:reduce){.hero-visual-slide,.hero-visual-choice:after{transition:none}}

/* A shared content grid keeps the portrait aligned with the copy on every slide.
   The two panoramic frames remain anchored to the outer hero. */
@media(min-width:801px){
 .hero-slideshow-section .hero-with-slideshow{grid-template-columns:1.12fr 1fr;grid-template-rows:auto auto;column-gap:65px;row-gap:22px;min-height:0;padding:62px 0 40px}
 .hero-with-slideshow .hero-copy{max-width:650px;align-self:center}
 .hero-slideshow-section .hero-visual-slider,.hero-visual-stage{display:contents}
 .hero-visual-slide:not(.visual-people){inset:0 0 0 48%;z-index:1}
 .hero-visual-stage:after{inset:0 0 0 48%;z-index:2}
 .hero-visual-slide.visual-people{position:relative;inset:auto;grid-column:2;grid-row:1;align-self:center;justify-self:end;width:100%;max-width:560px;aspect-ratio:1 / 1.02;transform:none;z-index:3}
 .hero-visual-trace{left:52%;right:3%;width:45%;opacity:.15;z-index:2}
 .hero-visual-stage:has(.visual-people.is-current) .hero-visual-trace{opacity:0}
 .hero-visual-controls{grid-column:2;grid-row:2;justify-self:end;justify-content:center;width:100%;max-width:560px;margin:0;padding:10px 0;background:transparent;backdrop-filter:none;gap:22px}
}
@media(min-width:801px) and (max-width:1100px){
 .hero-slideshow-section .hero-with-slideshow{column-gap:36px;padding:48px 0 32px}
 .hero-visual-controls{gap:14px}
}
