/* Manrope and three horizontal editorial rails. */
html{--font:'Manrope',Arial,sans-serif}
.intro{padding-block:0;height:0}
.feature-image,.feature-image.tower-feature{width:100%;max-width:none;margin-inline:0;height:calc(100svh - var(--header));min-height:240px;aspect-ratio:auto}
.feature-bottom{min-height:165px}
.feature-caption{max-width:490px}
.feature-selector{align-items:flex-start}
.feature-selector .hero-pause{width:30px;min-width:30px;align-self:center;align-items:center;justify-content:center;font-size:21px;border:0;padding:10px 0;margin-left:6px}
.carousel-track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 30px)/2.2);gap:30px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--ink) var(--line);padding:0 0 25px;scroll-behavior:smooth;align-items:start}
.carousel-track>*{min-width:0;scroll-snap-align:start}
.carousel-track:focus-visible{outline:1px solid var(--ink);outline-offset:8px}
.carousel-track::-webkit-scrollbar{height:3px}.carousel-track::-webkit-scrollbar-track{background:var(--line)}.carousel-track::-webkit-scrollbar-thumb{background:var(--ink)}
.slider-controls{display:flex;gap:9px;flex-shrink:0}
.slider-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;padding:0;line-height:1;transition:background .3s,color .3s,opacity .3s}
.slider-controls svg{display:block;width:22px;height:22px;pointer-events:none}
.slider-prev svg{transform:rotate(180deg)}
.slider-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.slider-controls button:not(:disabled):hover{background:var(--ink);color:white;border-color:var(--ink)}}
.slider-controls button:disabled{opacity:.25;cursor:default}
.project-toolbar{padding-bottom:10px}
.project-grid.carousel-track .card-image{aspect-ratio:4/3}
.project-card[data-id="tower"] img{object-position:75% 22%}
.news-slider-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:30px}
.news-slider-toolbar .text-link{border:0;min-width:0;padding:0}
.home-news-grid.carousel-track{grid-auto-columns:calc((100% - 60px)/2.75)}
.home-news-item{padding:0;border:0}
.home-news-preview{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#eef2f8;border:1px solid var(--line);margin-bottom:18px}
.home-news-preview img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s ease}
.home-news-preview:hover img{transform:scale(1.015)}
.home-news-item>p{border-top:1px solid var(--ink);padding-top:13px;font-size:10px;margin-bottom:12px;min-height:44px}
.home-news-item h3{font-size:clamp(22px,1.8vw,31px);line-height:1.22}
.preview-label{position:absolute;left:10px;bottom:10px;background:#fff;padding:5px 8px;font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.preview-fallback{display:flex;align-items:center;justify-content:center;padding:25px;font-size:28px;text-align:center}
.talks-grid.carousel-track{grid-auto-columns:calc((100% - 30px)/2.2)}
.talk-card h3{font-size:clamp(24px,2.1vw,34px)}
.talks-toolbar{align-items:center}
@media(max-width:1100px){.feature-bottom{gap:20px}.feature-caption{max-width:340px}.feature-selector{gap:12px}.feature-selector button{width:64px}.home-news-grid.carousel-track{grid-auto-columns:calc((100% - 30px)/2.2)}}
@media(max-width:760px){
 .feature-bottom{min-height:220px}.feature-caption{max-width:none;min-height:91px}.feature-caption p{min-height:37px}.feature-selector{margin-top:18px;gap:10px}.feature-selector button{min-width:0;width:auto;font-size:10px}.feature-selector .hero-pause{min-width:24px;max-width:24px;margin-left:0;padding:5px 0}
 .carousel-track,.home-news-grid.carousel-track,.talks-grid.carousel-track{grid-auto-columns:87%;gap:20px;padding-bottom:20px}
 /* One compact control with full-size touch targets on every rail. */
 .slider-controls{position:relative;align-items:center;gap:2px;padding:3px;border:1px solid rgba(0,42,156,.28);border-radius:999px;background:#fff}
 .slider-controls::after{content:"";position:absolute;left:50%;top:50%;width:1px;height:18px;background:var(--line);transform:translate(-50%,-50%);pointer-events:none}
 .slider-controls button{flex:0 0 48px;width:48px;height:44px;border:0;border-radius:999px;appearance:none;-webkit-appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
 .slider-controls svg{width:24px;height:24px}
 .slider-controls button:disabled{opacity:1;color:#9baaca}
 .slider-controls button:not(:disabled):active{background:var(--ink);color:#fff}
 .news-slider-toolbar,.talks-toolbar{gap:12px}
 .news-slider-toolbar .text-link{gap:12px;line-height:1.4}
 .talks-toolbar>p{min-width:0;line-height:1.45}
 .project-toolbar{flex-wrap:wrap;row-gap:0}.filters{gap:20px;width:100%;order:1}.project-toolbar .slider-controls{margin-left:auto;margin-block:10px 0;order:2}.project-toolbar{border:0}.filters{border-bottom:1px solid var(--line)}
 .project-grid.carousel-track .card-image{aspect-ratio:4/3}.card-info h3{font-size:24px}
 .news-slider-toolbar{margin-bottom:24px}.home-news-item h3{font-size:24px}.home-news-item>p{font-size:10px;min-height:42px}
 .talks-toolbar>p{font-size:12px}.talk-card h3{font-size:25px}.talk-watch{font-size:9px;padding:7px;right:10px}.talk-play{width:38px;height:38px;left:12px}
 .section-space{padding-block:60px}.section-heading{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}.home-news-preview img{transition:none}}

@media(max-width:760px){.carousel-track{scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}}

/* Every rail starts at the shared left content edge. */
.carousel-track{--slide-width:calc((100% - 30px)/2.2);display:flex;scroll-snap-type:x proximity}
.carousel-track>*{flex:0 0 var(--slide-width);scroll-snap-align:start}
.carousel-track>:first-child{margin-inline-start:0}
.carousel-track>:last-child{margin-inline-end:0}
.home-news-grid.carousel-track{--slide-width:calc((100% - 60px)/2.75)}
@media(max-width:1100px){.home-news-grid.carousel-track{--slide-width:calc((100% - 30px)/2.2)}}
@media(max-width:760px){.carousel-track,.home-news-grid.carousel-track,.talks-grid.carousel-track{--slide-width:87%}}

/* Keep translated hero names intact on narrow screens. */
@media(max-width:760px){
 .feature-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}
 .feature-selector button{width:auto;min-width:0;max-width:none}
 .feature-selector button>span:last-child{overflow-wrap:normal}
 .feature-selector .hero-pause{justify-self:end;align-self:center}
}
