/* Matched space above and below the hero headline. */
.hero-stage-content{--hero-label-gap:32px}
.hero-stage .hero-topline{margin-top:auto;margin-bottom:var(--hero-label-gap);min-height:44px;align-items:center;flex-shrink:0}
.hero-stage .hero-topline span:last-child{max-width:none;text-align:left}
.hero-stage h1{margin-top:0;padding-top:0;flex-shrink:0}
.hero-stage .hero-stage-bottom{margin-top:var(--hero-label-gap);flex-shrink:0}
/* A native horizontal rail: touch, trackpad, keyboard and button navigation. */
.project-showcase .showcase-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:31%;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 0 14px}
.project-showcase .showcase-grid::-webkit-scrollbar{display:none}
.project-showcase .showcase-card{scroll-snap-align:start}
.project-showcase .showcase-caption{display:block}
.project-showcase .showcase-caption p{text-align:left;margin-top:4px}
.showcase-controls{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:24px}
.showcase-progress{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.showcase-buttons{display:flex;gap:8px}
.showcase-buttons button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:background .2s,opacity .2s}
.showcase-buttons button:hover:not(:disabled){background:var(--soft)}
.showcase-buttons button:disabled{opacity:.3;cursor:default}
.showcase-buttons svg{width:19px;height:19px}
.showcase-buttons [data-case-prev] svg{transform:rotate(180deg)}
.project-showcase .showcase-swipe-note{display:none}
@media(max-width:800px){.project-showcase .showcase-grid{grid-auto-columns:46%;gap:14px}}
@media(max-width:620px){.hero-stage-content{--hero-label-gap:27px}}
@media(max-width:540px){.project-showcase .showcase-grid{grid-auto-columns:82%;gap:14px}.showcase-controls{margin-top:8px}.showcase-buttons button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.showcase-buttons button{transition:none}}
