:root{color-scheme:dark;--ink:#fff;--muted:#aaa;--line:#666;--paper:#000;--ease:cubic-bezier(.22,.8,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:12px/1.6 'Courier New',Courier,monospace}button,a,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #395a42;outline-offset:5px}button{border:0;background:none}p,h1,h2{margin:0}.skip{position:fixed;left:16px;top:-100px;padding:8px;background:white;z-index:10}.skip:focus{top:12px}.page{max-width:1440px;min-height:100svh;margin:auto;padding:66px 72px 28px;display:flex;flex-direction:column}.masthead{text-align:center}.wordmark{display:inline-block;font-weight:700;font-size:24px;letter-spacing:.17em;position:relative;line-height:1.4}.mark{font-size:9px;vertical-align:top;letter-spacing:0;position:absolute;right:-14px;top:2px}.role{margin-top:5px;letter-spacing:.055em;font-size:11px}.dateline{font-size:10px;margin-top:22px;color:#66685f;letter-spacing:.04em}.dateline span{margin:0 9px}main{margin:auto 0;width:100%;padding-top:57px;padding-bottom:52px}.work-heading{display:flex;justify-content:space-between;margin-bottom:14px;text-transform:uppercase;letter-spacing:.11em;font-size:9px;color:var(--muted)}h1{font-size:inherit;font-weight:normal;color:var(--ink)}.gallery{display:flex;gap:5px;height:clamp(290px,42vh,460px)}.project{position:relative;flex:1;min-width:0;padding:0;overflow:hidden;background:#d6d7cd;text-align:left;transition:flex .65s var(--ease);border-radius:0}.project.active{flex:3.8}.art{display:block;width:100%;height:100%;object-fit:cover}.project .art{filter:saturate(.65) brightness(.88);transition:filter .6s}.project.active .art{filter:saturate(.85) brightness(1)}.art svg{display:block;width:100%;height:100%}.project:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.project-number{position:absolute;top:14px;left:14px;color:white;font-size:10px;text-shadow:0 1px 8px #000;z-index:1}.project-copy{position:absolute;bottom:18px;left:20px;right:15px;z-index:1;color:white;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .4s;white-space:nowrap}.project.active .project-copy{opacity:1;transform:none;transition-delay:.15s}.project-title{font-size:17px;line-height:1.3;font-weight:normal;letter-spacing:-.035em}.project-type{font-size:9px;letter-spacing:.09em;text-transform:uppercase;margin-top:5px}.project-open{display:block;margin-top:18px;font-size:10px}.gallery-bottom{display:flex;justify-content:space-between;margin-top:13px;min-height:20px;font-size:10px}.hint{color:var(--muted);font-size:9px}.hint span{margin:0 7px}.demo-note{text-align:center;font-size:9px;color:#7a7d73;margin-top:21px}.footer-bottom{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:35px;letter-spacing:.025em}nav{display:flex;justify-content:center;gap:35px}nav button{padding:0}nav a,nav button{font-size:12px;line-height:1.5}nav [aria-current]{font-weight:700;border-bottom:1px solid var(--ink)}nav button:hover{border-bottom:1px solid}.footer-bottom span:nth-child(2){color:var(--ink)}dialog{width:min(960px,calc(100% - 48px));max-height:90svh;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(25,26,22,.62);backdrop-filter:blur(5px)}.dialog-inner{padding:25px 32px 35px}.close{display:block;margin-left:auto;padding:0 0 20px;font-size:11px}.close span{font-size:19px;margin-left:8px}.dialog-art{height:340px;position:relative;overflow:hidden;background:#e5e5df}.dialog-art .art{height:100%}.placeholder-banner{position:absolute;bottom:15px;left:15px;padding:5px 9px;background:var(--paper);font-size:10px}.dialog-meta{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding-top:27px}.eyebrow{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.dialog-meta h2{font-size:26px;font-weight:normal;line-height:1.3;letter-spacing:-.04em}.dialog-description{font-size:12px;line-height:1.8;margin-bottom:18px}.detail-label{color:var(--muted);font-size:10px;margin-right:8px}.text-page{padding:35px 20px 70px;max-width:650px;margin:auto}.text-page h2{font-size:36px;font-weight:normal;letter-spacing:-.06em;margin-bottom:25px}.text-page p{margin-bottom:18px;line-height:1.9}.text-page .contact-link{display:inline-block;font-size:clamp(14px,3vw,23px);border-bottom:1px solid;margin-bottom:25px}.draft-tag{color:var(--muted);font-size:10px}.video-frame{width:100%;aspect-ratio:16/9;display:block;border:0;background:#111}.video-link{display:inline-block;border-bottom:1px solid;padding-bottom:3px;margin-top:20px}
.vimeo-stage{width:100%;background:#111}.video-poster{display:block;position:relative;width:100%;padding:0}.video-poster img{display:block;width:100%;height:auto}.video-poster-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 20px;color:#fff;background:rgba(0,0,0,.75);border:1px solid #ffffff80;white-space:nowrap;letter-spacing:.08em}.video-poster:hover .video-poster-play{background:#111}
.project-title,.project-type{display:block}
.project.active:has(.paired-cover){flex:5.8}
@media(max-width:540px){.project.active:has(.paired-cover){flex:none}.project .paired-cover{display:block}.project .paired-cover svg{width:100%;height:100%;aspect-ratio:auto}}
.project-copy,.dialog-meta,#current,.placeholder-banner{ text-transform:uppercase }
dialog:has(.dialog-meta) .close{ text-transform:uppercase }
.about-story{padding-top:15px;padding-bottom:25px}.about-story p:not(.eyebrow){font-size:13px;line-height:1.85}.about-story .story-intro{font-size:15px!important;line-height:1.8!important;margin-bottom:24px}
.campaign-dialog{width:min(1120px,calc(100% - 48px));text-transform:uppercase}
.campaign-meta{padding:0 0 28px;align-items:end;grid-template-columns:1.2fr 1fr}
.campaign-meta h2{font-size:clamp(24px,3vw,34px)}
.campaign-role{font-size:11px;line-height:1.9}
.campaign-role .detail-label{display:block;margin-bottom:3px}
.campaign-hero{display:block;width:100%;height:auto}
.campaign-section{margin-top:45px}
.campaign-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:17px;margin-bottom:24px}
.campaign-section h3,.campaign-section h4{margin:0;font-size:12px;font-weight:normal;letter-spacing:.07em}
.campaign-section-heading p{font-size:9px;color:var(--muted)}
.campaign-carousels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.talent-carousel{min-width:0}
.carousel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.carousel-counter{font-size:10px;color:var(--muted)}
.carousel-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;aspect-ratio:4/5;background:#e8e7e1}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track:focus-visible{outline:2px solid #395a42;outline-offset:4px}
.carousel-slide{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.carousel-slide img{display:block;width:100%;height:auto;aspect-ratio:4/5}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.carousel-arrow{font-size:20px;min-width:36px;min-height:40px;padding:4px;border:1px solid var(--line)}
.carousel-arrow:disabled{opacity:.25;cursor:default}
.carousel-arrow:not(:disabled):hover{background:var(--ink);color:var(--paper)}
.carousel-full{font-size:9px;border-bottom:1px solid var(--line)}
.campaign-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.campaign-stills button{display:block;padding:0;width:100%;cursor:zoom-in}
.campaign-stills button:first-child{grid-column:1/-1}
.campaign-stills img{display:block;width:100%;height:auto}
.image-viewer{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100svh;max-height:none;border:0;padding:0;background:#171815;color:#fff;text-transform:uppercase}
.image-viewer[open]{display:flex;flex-direction:column}
.image-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:14px 24px;border-bottom:1px solid #ffffff26}
.image-viewer-bar p{font-size:10px;letter-spacing:.06em}
.image-viewer-close{flex-shrink:0;color:white;background:#30322d;border:1px solid #ffffff60;padding:12px 16px;min-height:44px;text-transform:uppercase}
.image-viewer-close:focus-visible{outline:2px solid white;outline-offset:3px}
.image-viewer-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:24px;cursor:zoom-out}
.image-viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:default}
.full-carousel-track{flex:1;min-height:0;display:flex;align-items:center;gap:0;overflow-x:auto;overflow-y:hidden;padding:16px var(--side-space,16px);scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-x;user-select:none}
.full-carousel-track::-webkit-scrollbar{display:none}
.full-carousel-track.dragging{cursor:grabbing;scroll-snap-type:none}
.full-carousel-slide{flex:0 0 var(--slide-width,70vw);width:var(--slide-width,70vw);scroll-snap-align:center;scroll-snap-stop:always}
.full-carousel-slide img{display:block;width:100%;height:auto;aspect-ratio:4/5;pointer-events:none}
.full-carousel-controls{display:flex;align-items:center;justify-content:center;gap:32px;flex-shrink:0;padding:14px 24px;border-top:1px solid #ffffff26;text-align:center}
.full-carousel-controls button:disabled{opacity:.3;cursor:default}
.full-carousel-count{font-size:12px;letter-spacing:.1em}
.full-carousel-hint{margin-top:4px;font-size:9px;color:#b5b6af}
@media(max-width:540px){.full-carousel-controls{gap:12px;padding:12px}.full-carousel-controls button{font-size:10px;padding:10px}.full-carousel-hint{font-size:8px}}
@media(max-width:540px){.image-viewer-bar{padding:12px}.image-viewer-bar p{font-size:9px}.image-viewer-stage{padding:12px}}
@media(max-width:700px){.campaign-dialog{width:calc(100% - 24px)}.campaign-meta{grid-template-columns:1fr;gap:14px}.campaign-carousels{grid-template-columns:1fr;gap:32px;max-width:440px;margin:auto}.campaign-section-heading{align-items:start;flex-direction:column;gap:5px}.campaign-section{margin-top:32px}.campaign-stills{grid-template-columns:1fr}.campaign-role{font-size:10px}}
@media(min-height:950px){.page{padding-top:90px;padding-bottom:36px}}
@media(max-width:800px){.page{padding:45px 28px 24px}.wordmark{font-size:21px}main{padding-top:45px;padding-bottom:35px}.gallery{height:380px;gap:4px}.project.active{flex:4.5}.project-copy{left:14px}.project-title{font-size:15px}.hint{display:none}.footer-bottom span:first-child{display:none}.dialog-art{height:280px}}
@media(max-width:540px){.page{padding:38px 20px 22px;min-height:100svh}.wordmark{font-size:18px;letter-spacing:.12em}.role{font-size:9px}.dateline{font-size:9px;margin-top:16px}main{padding-top:38px;padding-bottom:35px}.gallery{height:430px;gap:3px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:8px}.project,.project.active{flex:none;width:78%;scroll-snap-align:start;transition:none}.project .art{filter:none}.project-copy{opacity:1;transform:none;left:18px}.project-title{font-size:18px}.project-number{top:12px}.gallery-bottom{font-size:9px}.demo-note{text-align:left;font-size:8px;margin-top:14px}.footer-bottom{font-size:8px;margin-top:29px}nav{gap:32px}dialog{width:calc(100% - 24px)}.dialog-inner{padding:18px}.dialog-art{height:250px}.dialog-meta{grid-template-columns:1fr;gap:18px}.dialog-meta h2{font-size:24px}.text-page{padding:20px 0 35px}.text-page h2{font-size:29px}}
@media(max-width:540px){.project-title{white-space:normal;overflow-wrap:anywhere;text-wrap:balance}}
/* Dark surfaces and accessible text for elements with explicit light-theme colors. */
/* Equal side columns keep the address centered under the navigation. */
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
.footer-bottom span:first-child{grid-column:1;justify-self:start}
.footer-bottom span:nth-child(2){grid-column:2;justify-self:center;text-align:center}
.footer-bottom span:last-child{grid-column:3;justify-self:end}
.skip{background:var(--paper);color:var(--ink)}
.dateline,.demo-note{color:var(--muted)}
.project,.dialog-art,.carousel-track,.project .paired-cover{background:#111}
.image-viewer{background:var(--paper)}
button:focus-visible,a:focus-visible,.carousel-track:focus-visible{outline-color:#fff}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important;animation:none!important}}
