.graphic-placeholder{background:#e6e2db;display:flex;align-items:center;justify-content:center}
.graphic-placeholder>svg{width:55%;height:70%;transform:rotate(-8deg)}
.case-detail{padding-top:2px}
.project-expanded,.project-expanded>div{min-width:0}
.case-detail h3{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;margin-top:22px;margin-bottom:8px;color:var(--brand-text)}
.case-detail p:last-child{margin-bottom:0}
.article-category{margin-top:40px;color:var(--muted)}
.home-projects .project-card:last-child{display:block}
.client-detail .player-open .play-disc{width:96px;height:96px;background:#17272a90;backdrop-filter:blur(14px)}
.client-detail .player-open .play-disc svg{width:21px;height:25px}
.client-detail .vimeo-wrap{position:absolute;inset:0}
.client-detail .reel-caption{z-index:2;background:#0008;padding:6px 9px;left:14px;bottom:14px}
#client-detail-container{scroll-margin-top:110px}
.client-ticker{position:relative;overflow:hidden;margin-top:30px;padding:22px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);outline:none}
.client-ticker:before,.client-ticker:after{content:"";position:absolute;top:0;bottom:0;width:12%;z-index:2;pointer-events:none}
.client-ticker:before{left:0;background:linear-gradient(90deg,var(--paper),transparent)}
.client-ticker:after{right:0;background:linear-gradient(270deg,var(--paper),transparent)}
.ticker-track{display:flex;width:max-content;animation:client-ticker-scroll 34s linear infinite;will-change:transform}
.ticker-group{display:flex;align-items:center;gap:clamp(58px,8vw,150px);padding-right:clamp(58px,8vw,150px);flex:0 0 auto}
.ticker-client{display:inline-flex;align-items:center;justify-content:center;min-width:max-content;white-space:nowrap;font-size:clamp(22px,2.3vw,34px);line-height:1.02}
.ticker-client.fnf{font-size:clamp(13px,1.15vw,17px);font-weight:400;letter-spacing:-.025em;text-align:left}
.ticker-client.trussell{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}
.client-ticker:hover .ticker-track,.client-ticker:focus .ticker-track,.client-ticker:focus-within .ticker-track{animation-play-state:paused}
@keyframes client-ticker-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.hero-video-local{position:absolute;left:50%;top:50%;z-index:1;width:max(100%,177.78vh);height:max(100%,56.25vw);object-fit:cover;transform:translate(-50%,-50%) scale(1.08);opacity:.94}
.hero-video-fallback{z-index:2;transition:opacity .35s,visibility .35s}
.hero-video-fallback.is-ready{opacity:0;visibility:hidden;pointer-events:none}
.hero-copy,.hero-bottom{text-shadow:0 2px 16px rgba(0,0,0,.52),0 1px 3px rgba(0,0,0,.42)}
.hero-mark,.hero-mark svg,.hero-mark image{opacity:1!important}
.hero-mark{animation-name:mark-settle-solid}
@keyframes mark-settle-solid{from{transform:rotate(-12deg) translateY(20px)}to{transform:rotate(-7deg) translateY(0)}}
.footer-links button{padding:0;text-align:left;font-size:inherit;color:inherit}
.footer-links button:hover{color:white}
.approach .eyebrow{margin-bottom:24px}
.form-status[hidden]{display:none}
.form-status p{font-size:.9375rem;margin-top:12px}
.form-status .text-link{margin-top:18px}
.button:disabled{opacity:.45;transform:none!important}
.button.brand-fill{color:#191714}
.button.brand-fill:hover{color:#fff;background:var(--brand-hover)}
.local-file-label input::file-selector-button{cursor:pointer}
@media(max-width:520px){.header-inner{gap:16px}.page-hero h1{font-size:clamp(50px,15.5vw,65px)}.player-slot{aspect-ratio:auto;min-height:235px;width:100%}.footer-links{max-width:270px}.client-detail .player-open .play-disc{width:70px;height:70px}.client-trigger .image-caption{font-size:7px;letter-spacing:.04em;left:7px;bottom:7px;padding:4px}}
@media(prefers-reduced-motion:reduce){#motion-toggle{display:none}}

/* Hero copy sits at the lower right, clear of the bottom navigation. */
.hero-content{padding-bottom:110px}
.hero-copy{align-self:end;justify-self:end;text-align:right;width:100%;max-width:690px}
.hero-copy h1{font-size:clamp(44px,4.8vw,82px);line-height:1.02;max-width:none}
.hero-copy .hero-tagline{font-size:clamp(18px,1.5vw,24px);line-height:1.35;margin:22px 0 25px}
.hero-copy .button{text-shadow:none}
@media(max-width:800px){.hero-content{padding-bottom:100px}.hero-copy h1{font-size:clamp(34px,5.3vw,48px)}}
@media(max-width:520px){.hero-content{padding-top:65px;padding-bottom:105px;gap:35px}.hero-mark{width:165px}.hero-copy{align-self:flex-end;max-width:100%}.hero-copy h1{font-size:clamp(34px,10vw,49px)}.hero-copy .hero-tagline{font-size:18px;max-width:290px;margin:18px 0 22px auto}}
