/* Another Vision: shared Geist typography, spacing and component tokens. */
:root{
 --font-sans:Geist,Arial,sans-serif;
 --text-primary:#111;--text-secondary:#62625e;--text-label:#72726e;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;
 --radius-card:12px;--radius-control:8px;--radius-badge:4px;--work-gap:12px;--client-gap:40px;
}
.type-display,h1{text-wrap:balance}
.intro-statement p,.service-page p{text-wrap:pretty}.notice-copy{gap:var(--space-1)}
.work-grid{gap:var(--work-gap)}.work-grid-secondary{margin-top:var(--work-gap)}.case-cover,.intro-video-slot,.system-media{border-radius:var(--radius-card)}.case-logo-tile,.glass-button{border-radius:var(--radius-control)}
.marquee-track .client-row{gap:var(--client-gap);padding-right:var(--client-gap)}
.service-page h2{text-wrap:balance}
@media(max-width:999px){:root{--client-gap:32px}}
@media(max-width:640px){:root{--client-gap:28px}}
.location{font-variant-numeric:tabular-nums}
.service-page p{max-width:65ch;}
.service-page h2{max-width:28ch}.service-hero h1{max-width:18ch}
@media(max-width:640px){}

#hero-heading{max-width:610px}.hero-content{width:610px}.marquee-logo[alt="Handshake"]{width:122px;height:26px}.marquee-logo[alt="Arcway"]{width:114px;height:30px}
.cta-hover-icon{display:inline-block;width:0;opacity:0;overflow:hidden;transform:translateX(-6px);transition:width .2s,opacity .2s,transform .2s,margin .2s;margin-left:0;}.glass-button:hover .cta-hover-icon,.glass-button:focus-visible .cta-hover-icon{width:18px;opacity:1;transform:translateX(0);margin-left:10px}
.case-logo-tile .case-logo.square-profile,.pending-media .case-logo-tile .case-logo.square-profile{width:100%;height:100%;padding:0;object-fit:cover;filter:none;opacity:1}
@media(max-width:640px){.hero-content{width:100%}}
/* Work headings align with the bottom of their request link at all sizes. */
.work-section-heading{align-items:flex-end}
#intro-label,.intro-media-label{color:var(--text-label)}
/* Client strip and image-only cover refinements. */
.logo-window .marquee-logo{transform:scale(.666667);opacity:.38}
.marquee-track.marquee-ready{animation-duration:28s}
.case-cover:not([data-preview-src])>img{transition:transform .5s cubic-bezier(.2,.7,.3,1);transform:scale(1)}
@media(hover:hover) and (pointer:fine){.case-cover:not([data-preview-src]):hover>img{transform:scale(1.045)}}
.case-cover:not([data-preview-src]):focus-visible>img{transform:scale(1.045)}
@media(prefers-reduced-motion:reduce){.case-cover:not([data-preview-src])>img{transition:none;transform:none!important}}

/* Client scale and header placement refinement. */
.logo-window .marquee-logo{transform:scale(.833334)}
.navigation>nav{left:25%}
.notifications{top:var(--notification-top,48px)}
@media(max-width:999px){.navigation>nav{left:auto}}

/* Align fixed cards with the centered 1800px page grid. */
.notifications{top:var(--notification-top,56px);right:max(var(--edge),calc((100vw - 1800px)/2 + var(--edge)))}

/* Shared compact title/subtitle spacing. */
.case-identity h3{margin-bottom:4px}
.notice-copy{gap:2.6667px}
.notifications{top:var(--notification-top,64px)}

.case-cover>.case-hover-image{opacity:0;z-index:1;pointer-events:none;transition:opacity .35s,transform .5s}
@media(hover:hover) and (pointer:fine){.case-cover:hover>.case-hover-image{opacity:1}}
.case-cover:focus-visible>.case-hover-image{opacity:1}

.hero-media{background-image:url('/assets/d5-cover.webp')}
.hero-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:center 53%}
.hero .shade{background:rgba(0,0,0,.33)}
@media(max-width:640px){.hero-cover{object-position:center center}}

.hero-media{background-image:url('/assets/hero-d5-tablet.webp')}
.hero-cover{object-position:center center}
@media(max-width:640px){}

img.review-avatar{object-fit:cover}

.review-logo.review-logo-square{width:40px;height:40px;object-fit:contain;border-radius:6px;filter:none}
