/* Service objects introduce PRISM without people or portraits. */
.about-page { background:#000; }
.ab-story { overflow:clip; }
.ab-intro { padding:0 var(--edge); }
.ab-intro-pin { min-height:calc(100svh - var(--header)); padding:24px 0 14px; display:flex; flex-direction:column; justify-content:center; gap:14px; }
.ab-intro-copy { position:relative; text-align:center; z-index:1; }
.ab-intro h1 { margin:0; font:800 clamp(48px,min(8.5vw,10.5svh),116px)/.94 var(--body); letter-spacing:-.075em; text-transform:uppercase; }
.ab-intro h1 em,.ab-close h2 em { color:var(--orange); font-style:normal; }
.ab-object-window { overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; padding:20px 0 18px; }
.ab-object-track { display:flex; width:max-content; min-width:100%; justify-content:center; gap:clamp(8px,1.4vw,22px); }
.ab-service-card { margin:0; width:clamp(110px,min(16vw,22svh),220px); flex:0 0 clamp(110px,min(16vw,22svh),220px); }
.ab-object { position:relative; overflow:hidden; aspect-ratio:3/5; background:#17171a; }
.ab-object img { display:block; width:100%; max-width:100%; height:100%; object-fit:cover; }
.ab-object--atlas img { width:500%; max-width:none; object-fit:fill; transform:translateX(calc(var(--ab-cell,0) * -20%)); }
.ab-service-card figcaption { margin-top:13px; font-size:clamp(10px,.9vw,13px); color:#c2caca; white-space:nowrap; }
.ab-who { padding:0 var(--edge); }
.ab-who-pin { min-height:calc(100svh - var(--header)); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(68px,10svh,120px) 0; max-width:1080px; margin:auto; }
.ab-who h2 { margin:0 0 clamp(24px,4vw,52px); font:750 clamp(40px,6vw,86px)/1 var(--body); letter-spacing:-.065em; }
.ab-statement { margin:0; font:500 clamp(27px,3.5vw,51px)/1.32 var(--body); letter-spacing:-.04em; text-wrap:pretty; }
.ab-method { padding:0 var(--edge); }
.ab-method-pin { max-width:1300px; margin:auto; }
.ab-scene { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(35px,7vw,110px); min-height:calc(100svh - var(--header)); padding:44px 0; }
.ab-scene-art { display:flex; justify-content:center; }
.ab-scene-art .ab-object { width:min(100%,370px); }
.ab-scene-copy { position:relative; }
.ab-scene-copy h2 { margin:0 0 24px; font:750 clamp(36px,4.8vw,70px)/1.03 var(--body); letter-spacing:-.065em; max-width:490px; text-wrap:balance; }
.ab-scene-copy p { font-size:clamp(16px,1.5vw,21px); line-height:1.6; color:#b2bebe; max-width:360px; margin:0; }
.ab-scene--blue { --ab-tone:#529bd8; }
.ab-scene--grey { --ab-tone:#afb3b6; }
.ab-scene-word { display:block; color:var(--ab-tone,var(--orange)); margin-top:36px; font-size:11px; letter-spacing:.08em; }
.ab-recognition { max-width:1440px; margin:auto; padding:clamp(72px,10vw,140px) var(--edge); }
.ab-recognition-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:clamp(40px,7vw,90px); }
.ab-recognition-heading h2 { font:750 clamp(39px,6.2vw,86px)/1.04 var(--body); letter-spacing:-.065em; margin:0; }
.ab-recognition-heading h2 em { font-style:normal; color:#afb3b6; }
.ab-laurel { color:var(--orange); width:clamp(62px,10vw,120px); flex:none; }
.ab-recognition-item { display:grid; grid-template-columns:minmax(76px,.5fr) minmax(0,3fr) auto; align-items:start; gap:clamp(20px,4vw,64px); padding:clamp(28px,4vw,52px) 0; border-top:1px solid var(--line-strong); }
.ab-recognition-year { color:var(--orange); font:500 clamp(20px,2.8vw,38px)/1.25 var(--body); letter-spacing:-.04em; }
.ab-recognition-item--blue .ab-recognition-year { color:#529bd8; }
.ab-recognition-item--grey .ab-recognition-year { color:#afb3b6; }
.ab-recognition-copy h3 { font:550 clamp(23px,3.1vw,42px)/1.15 var(--body); letter-spacing:-.045em; margin:0; text-wrap:balance; }
.ab-recognition-copy p { margin:14px 0 0; color:var(--muted); font-size:clamp(12px,1.1vw,15px); line-height:1.6; }
.ab-recognition-kind { font-size:11px; color:var(--muted); padding-top:8px; }
.ab-close { padding:clamp(80px,12vw,180px) var(--edge); max-width:1500px; margin:auto; }
.ab-close-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.ab-close h2 { margin:0; font:750 clamp(38px,5.7vw,82px)/1.06 var(--body); letter-spacing:-.065em; }
.ab-close-heading > p { margin:0 0 3px; font-size:14px; line-height:1.7; color:var(--muted); }
.ab-capabilities { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; margin-top:70px; }
.ab-capabilities a { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; padding:16px 0; border-bottom:1px solid var(--line-strong); }

.ab-capabilities a:hover,.ab-work-link:hover { color:var(--orange); }
.ab-next { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:85px; }
.ab-next > p { flex:1 1 100%; margin:0 0 6px; font:500 clamp(21px,2.8vw,35px)/1.2 var(--body); letter-spacing:-.035em; }
.ab-work-link { font-size:12px; display:inline-flex; gap:24px; align-items:center; padding:12px 0; }
@media(prefers-reduced-motion:no-preference) {
 .ab-enhanced .ab-intro { height:175svh; }
 .ab-enhanced .ab-intro-pin { position:sticky; top:var(--header); height:calc(100svh - var(--header)); min-height:0; }
 .ab-enhanced .ab-intro-copy { transform:translate3d(0,var(--ab-title-y,0px),0); opacity:var(--ab-title-opacity,1); }
 .ab-enhanced .ab-object-window { overflow:hidden; }
 .ab-enhanced .ab-object-track { transform:translate3d(var(--ab-track-x,0px),0,0); will-change:transform; }
 .ab-enhanced .ab-service-card { transform:translate3d(0,var(--ab-lift,0px),0); will-change:transform; }
 .ab-enhanced .ab-who { height:180svh; }
 .ab-enhanced .ab-who-pin { position:sticky; top:var(--header); height:calc(100svh - var(--header)); min-height:0; padding-block:40px; }
 .ab-enhanced [data-ab-word] { opacity:var(--ab-word-opacity,1); }
 .ab-enhanced .ab-method { height:330svh; }
 .ab-enhanced .ab-method-pin { position:sticky; top:var(--header); height:calc(100svh - var(--header)); overflow:hidden; }
 .ab-enhanced .ab-scene { position:absolute; inset:0; min-height:0; padding-block:28px; transform:translate3d(0,var(--ab-scene-y,0px),0); will-change:transform; }
 .ab-enhanced .ab-scene-art .ab-object { max-height:calc(100svh - var(--header) - 70px); width:auto; max-width:100%; height:calc(100svh - var(--header) - 70px); }
 .ab-enhanced .ab-recognition-item { opacity:var(--ab-award-opacity,1); transform:translate3d(0,var(--ab-award-y,0px),0); }
}
@media(max-width:760px) {
 .ab-intro-pin { padding-top:28px; gap:20px; }
.ab-intro h1 { font-size:clamp(42px,min(12.8vw,10.5svh),86px); }
 .ab-object-track { justify-content:flex-start; }
 .ab-object-window { padding-top:24px; }
.ab-service-card { width:clamp(124px,min(27vw,22svh),190px); flex-basis:clamp(124px,min(27vw,22svh),190px); }
 .ab-service-card figcaption { font-size:9px; }
 .ab-who h2 { font-size:clamp(39px,9vw,64px); }
 .ab-statement { font-size:clamp(25px,5.4vw,39px); }
 .ab-scene { grid-template-columns:1fr; align-content:center; gap:25px; padding-block:40px; }
 .ab-scene-art .ab-object { width:min(50vw,260px); }
 .ab-scene-copy h2 { font-size:clamp(34px,7vw,50px); margin-bottom:14px; }
 .ab-scene-copy p { font-size:15px; max-width:360px; }
 .ab-scene-word { margin-top:18px; font-size:10px; }
 .ab-enhanced .ab-scene-art .ab-object { height:calc((100svh - var(--header)) * .48); width:auto; max-height:none; }
 .ab-enhanced .ab-scene { padding-block:16px; }
 .ab-close-heading { align-items:flex-start; flex-direction:column; gap:28px; }
 .ab-recognition-item { grid-template-columns:58px minmax(0,1fr); gap:10px 22px; }
 .ab-recognition-year { grid-row:1 / 3; font-size:21px; }
 .ab-recognition-kind { grid-column:2; padding-top:0; }
 .ab-recognition-copy h3 { font-size:clamp(24px,4.8vw,34px); }
 .ab-recognition-heading { gap:20px; }
 .ab-capabilities { grid-template-columns:1fr 1fr; gap:4px 24px; margin-top:40px; }
 .ab-capabilities a { font-size:11px; }
 .ab-next { margin-top:60px; gap:22px; }
 .ab-next > p { font-size:23px; }
}
@media(max-height:630px) and (min-width:761px) {
 .ab-intro-pin { gap:14px; padding-top:18px; }
 .ab-intro h1 { font-size:clamp(48px,6vw,82px); }
 .ab-object-window { padding-top:15px; }
 .ab-service-card { width:clamp(100px,11.5vw,150px); flex-basis:clamp(100px,11.5vw,150px); }
 .ab-service-card figcaption { margin-top:8px; font-size:9px; }
}
@media(max-height:500px) {
 .ab-enhanced .ab-intro,.ab-enhanced .ab-who,.ab-enhanced .ab-method { height:auto; }
 .ab-enhanced .ab-intro-pin,.ab-enhanced .ab-who-pin,.ab-enhanced .ab-method-pin { position:relative; top:auto; height:auto; min-height:0; padding-block:48px; overflow:visible; }
 .ab-enhanced .ab-object-window { overflow-x:auto; }
 .ab-enhanced .ab-intro-copy,.ab-enhanced .ab-object-track,.ab-enhanced .ab-service-card { transform:none; opacity:1; }
 .ab-enhanced [data-ab-word] { opacity:1; }
 .ab-enhanced .ab-scene { position:relative; inset:auto; transform:none; padding-block:35px; }
 .ab-enhanced .ab-scene-art .ab-object { height:260px; width:auto; }
 .ab-enhanced .ab-recognition-item { opacity:1; transform:none; }
}
