/* Equal categories. The selected photograph is shown without cropping. */
.solutions-intro { padding-top:52px; padding-bottom:52px; }
.solutions-back { margin-bottom:26px; }
.solutions-intro h1 { max-width:none; font-size:clamp(4rem,8vw,6rem); line-height:.95; }
.solution-card { aspect-ratio:16/10; }
.solution-card img { filter:saturate(.9) brightness(.91); }
.solution-card::before { background:linear-gradient(180deg,transparent 45%,rgba(2,10,18,.85)); }
.solution-card-copy { gap:12px; bottom:26px; }
.solution-card-copy strong { max-width:none; font-size:clamp(2.8rem,4.6vw,4.8rem); line-height:1; }
#wayfinding img { object-position:50% 64%; }
#screens img { object-position:50% 40%; }
.solution-card:focus-visible { outline:3px solid var(--cyan); outline-offset:-5px; }
.solution-dialog { inset:3vh 3vw; margin:auto; width:min(1400px,94vw); height:94dvh; max-height:94dvh; transform:translateY(16px); transition:opacity 220ms ease,transform 220ms var(--ease-out); }
.solution-dialog.is-closing { transform:translateY(12px); }
.solution-dialog-panel { display:block; height:100%; overflow:auto; padding:36px clamp(20px,3.2vw,48px) 28px; scrollbar-color:var(--brand-sky) var(--ink); }
.solution-dialog-close { top:16px; right:16px; width:48px; height:48px; }
.archive-heading { padding-right:56px; margin-bottom:26px; display:grid; grid-template-columns:.85fr 1.15fr; gap:30px; align-items:center; }
.archive-heading h2 { margin:0; font:400 clamp(3rem,5.5vw,5rem)/1 var(--display); text-transform:uppercase; }
.archive-heading p { margin:0; max-width:52ch; font-size:.9rem; line-height:1.65; color:#becbd5; }
.archive-gallery { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:32px; align-items:start; }
.archive-stage { min-width:0; }
.archive-photo { margin:0; }
.archive-photo > img { width:100%; height:clamp(310px,54dvh,670px); object-fit:contain; background:#020a12; }
.archive-photo figcaption { min-height:66px; display:grid; gap:7px; padding-top:18px; }
.archive-photo figcaption strong { font-size:1.06rem; font-weight:600; }
.archive-photo figcaption span { color:#becbd5; font-size:.8rem; line-height:1.5; }
.archive-selection-title { margin:0 0 14px; color:#becbd5; font-size:.77rem; }
.solution-dialog-thumbs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; margin:0; }
.solution-thumb { aspect-ratio:auto; background:transparent; opacity:1; border:0; text-align:left; color:var(--white); overflow:visible; }
.solution-thumb img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border:2px solid transparent; opacity:.7; transition:opacity 180ms ease; }
.solution-thumb span { display:block; padding:8px 2px 0; font-size:.73rem; line-height:1.5; color:#becbd5; }
.solution-thumb[aria-pressed="true"] img { border-color:var(--cyan); opacity:1; }
.solution-thumb[aria-pressed="true"] span { color:var(--cyan-soft); }
.solution-thumb:hover img { opacity:1; }
.archive-controls { display:flex; align-items:center; gap:10px; padding-top:18px; margin-top:14px; border-top:1px solid var(--line-dark); }
.archive-controls button { width:44px; height:44px; background:transparent; border:1px solid #526777; color:var(--white); font-size:1.3rem; cursor:pointer; }
.archive-controls > span { min-width:48px; text-align:center; color:#becbd5; font-size:.8rem; font-variant-numeric:tabular-nums; }
.archive-controls a { margin-left:auto; font-size:.77rem; color:var(--cyan-soft); padding:12px 0; }
.archive-controls a[hidden] { display:none; }
.solution-dialog :focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.solutions-close { padding-block:70px; }
.solutions-close h2 { font-size:clamp(3rem,6vw,5rem); }
@media (max-width:1000px) {
 .archive-gallery { grid-template-columns:minmax(0,1fr) 240px; gap:22px; }
 .archive-heading { grid-template-columns:1fr; gap:12px; }
}
@media (max-width:700px) {
 .solution-dialog { inset:0; width:100%; height:100dvh; max-height:100dvh; }
 .solution-dialog-panel { padding:28px 20px 36px; }
 .archive-heading { padding-right:48px; margin-bottom:22px; }
 .archive-heading h2 { font-size:clamp(2.7rem,10vw,4rem); overflow-wrap:anywhere; }
 .archive-heading p { font-size:.8rem; }
 .archive-gallery { grid-template-columns:1fr; gap:28px; }
 .archive-photo > img { height:43dvh; min-height:230px; }
 .solution-dialog-thumbs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
 .archive-controls { flex-wrap:wrap; }
 .archive-controls a { font-size:.7rem; }
 .solution-card-copy strong { font-size:clamp(2.6rem,10vw,4rem); }
 .solutions-intro { padding-block:38px; }
}
@media (prefers-reduced-motion:reduce) { .solution-dialog, .solution-dialog::backdrop, .solution-thumb img { transition:none; } }
