/* Pure black and pure white are structural surfaces; artwork keeps its colour. */
:root{color:#fff;background:#000;--muted:#a3a3a3;--line:#444;--bar:46px}html,body{background:#000;color:#fff}::selection{background:#fff;color:#000}.reviewbar{background:#000;border-color:#444;color:#fff}.proposal-label,.notes-toggle{color:#fff}.reviewbar nav a[aria-current=page]{color:#fff;border-color:#fff}.site-nav .wordmark{color:#fff;white-space:nowrap}.site-nav nav>a:hover,.site-nav nav>a.active,.site-nav .contact-link{color:#fff}.name-nowrap,.wordmark{white-space:nowrap}.ribbon-home .hero-section{margin:10px 0 68px;--hero-ink:#fff;--hero-muted:#999}.hero-ribbon .hero-stage{height:clamp(520px,70svh,760px);min-height:520px;background:transparent;color:#fff;border-radius:0}.ribbon-identity{top:30px;left:35px;right:35px}.ribbon-identity h1{color:#fff;white-space:nowrap;font-size:clamp(105px,12.9vw,195px);font-weight:500}.ribbon-identity p{color:#fff}.ribbon-identity .hero-eyebrow,.ribbon-identity p>span{color:#aaa}.ribbon-space{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}.ribbon-space.dragging{cursor:grabbing}.ribbon-piece{border:0;outline:0;background:#000;border-radius:0;box-shadow:0 13px 28px #0002;transition:box-shadow .35s cubic-bezier(.16,1,.3,1)}.ribbon-art{background:#000}.ribbon-art img,.ribbon-art video{width:100%;height:100%;object-fit:contain;display:block}.ribbon-art .hero-preview{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .3s}.ribbon-art .hero-preview.is-playing{opacity:1}.ribbon-piece .piece-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;padding:8px 10px;background:#000;color:#fff;font-size:9px;line-height:1.2}.ribbon-piece .piece-caption>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ribbon-piece[aria-pressed=true]{border-color:#000;box-shadow:0 19px 38px #0004}.ribbon-piece[aria-pressed=true]:hover{box-shadow:0 22px 44px #0005}.ribbon-open-hint{position:absolute;right:10px;bottom:39px;background:#fff;color:#000;padding:7px 9px;border-radius:2px;font-size:8px;line-height:1;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1);pointer-events:none}.ribbon-piece[aria-pressed=true] .ribbon-open-hint{opacity:1;transform:translateY(0)}.ribbon-controls{color:#555}.ribbon-controls button{color:#000;border-color:#777;background:#fff;min-width:38px;min-height:38px;cursor:pointer}.ribbon-controls button:hover{background:#000;color:#fff;border-color:#000}.ribbon-controls button:active{transform:scale(.94)}.ribbon-counter{color:#000;font-variant-numeric:tabular-nums;min-width:53px}.ribbon-drag-note{color:#555}.hero-bottom{border-color:#444;min-height:85px;color:#fff}.hero-help p,.hero-active-category{color:#aaa}.hero-active-link,.hero-scroll{color:#fff}.hero-live-dot{background:#fff;box-shadow:none}.hero-active-name{color:#fff}.hero-scroll>span{display:inline-block;transition:transform .4s cubic-bezier(.16,1,.3,1)}.hero-scroll:hover>span{transform:translateY(5px)}.ribbon-space:focus-visible{outline:0}.ribbon-piece:focus-visible{outline:0}.ribbon-piece [hidden]{display:none!important}
.ribbon-selected-panel{background:#000;color:#fff;width:100vw;margin-inline:calc(50% - 50vw);scroll-margin-top:var(--bar)}.ribbon-reading-inner{max-width:1680px;margin:auto;padding:65px var(--gutter) 55px}.ribbon-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:40px}.ribbon-section-heading .micro{color:#999;font-size:8px}.ribbon-section-heading h2{font-size:clamp(48px,6.7vw,96px);font-weight:450;line-height:.98;letter-spacing:-.055em;margin-top:20px}.ribbon-section-heading h2>span{font-size:11px;line-height:1;letter-spacing:0;display:inline-block;vertical-align:top;margin:7px 0 0 18px;color:#999}.ribbon-section-heading>p{font-size:12px;line-height:1.5;color:#aaa;padding-bottom:5px}.ribbon-selected-panel .project-stage{background:#000;border-radius:0}.ribbon-selected-panel .card-caption h2,.ribbon-selected-panel .card-arrow{color:#fff}.ribbon-selected-panel .card-caption p{color:#999}.ribbon-selected-panel .more-link{border-color:#444;color:#fff;margin-top:50px}.ribbon-selected-panel .motion-badge{background:#000;color:#fff;border-color:#777}.ribbon-home .direct-practice{margin-top:95px;border-color:#444}.ribbon-home .direct-practice h2,.ribbon-home .direct-practice-links a{color:#fff}.ribbon-home .direct-practice>div>p{color:#ccc}.ribbon-home .contact-block{margin-top:95px}.contact-line h2,.contact-line a{color:#fff}.project-stage,.media-stage,.film-cover{background:#000}.catalog-controls,.case-contents{background:#000;backdrop-filter:none}.filter-group button[aria-pressed=true],.layout-control button[aria-pressed=true],.case-contents button[aria-current=location]{background:#fff;color:#000}.filter-group button,.case-contents button{border-color:#555}.case-contents button:hover:not([aria-current=location]){color:#fff}.cv-cover,.cv-sheet{background:#fff;color:#000}.cv-cover:after,.cv-sheet:after{display:none}.cv-cover .micro{color:#555}.back-top{background:#fff;color:#000;border-color:#000}.reader-progress>i{background:#fff}.amicro-modal,.review-notes{background:#000;color:#fff}.amicro-view-trigger,.amicro-view-menu{background:#000;color:#fff}.amicro-view-menu a[aria-current=page]{background:#fff;color:#000}
@media(max-width:950px){.ribbon-identity{left:26px;right:26px}.ribbon-identity p{font-size:14px}.ribbon-section-heading>p{max-width:230px;font-size:11px}.hero-bottom{gap:18px}}
@media(max-width:680px){:root{--bar:56px}.ribbon-home .hero-section{margin-top:8px;margin-bottom:45px}.hero-ribbon .hero-stage{height:590px;min-height:590px;border-radius:0}.ribbon-identity{top:23px;left:23px;right:23px;display:block}.ribbon-identity .hero-eyebrow{font-size:7px}.ribbon-identity h1{font-size:clamp(80px,25vw,115px);margin-top:17px;line-height:.88;letter-spacing:-.075em}.ribbon-identity p{font-size:11px;line-height:1.25;margin-top:17px;padding:0}.ribbon-identity p>span{font-size:8px;margin-top:9px}.ribbon-space{inset:31% 0 70px;perspective:850px}.ribbon-piece .piece-caption{min-height:27px;font-size:8px}.ribbon-open-hint{font-size:7px;padding:6px 7px;bottom:36px}.ribbon-controls{left:18px;right:18px;bottom:18px;gap:15px}.ribbon-controls button{width:36px;height:36px;min-width:36px;min-height:36px;font-size:17px}.ribbon-counter{font-size:10px}.ribbon-drag-note{font-size:6px;letter-spacing:.07em}.hero-bottom{grid-template-columns:1fr auto;gap:15px;padding:19px 0;min-height:115px}.hero-help{grid-column:1/-1}.ribbon-reading-inner{padding:38px 20px 34px}.ribbon-section-heading{display:block;padding-bottom:29px}.ribbon-section-heading h2{font-size:53px;margin-top:18px;letter-spacing:-.055em}.ribbon-section-heading h2>span{font-size:8px;margin:5px 0 0 10px}.ribbon-section-heading>p{font-size:11px;max-width:none;margin-top:20px}.ribbon-selected-panel .more-link{margin-top:32px}.ribbon-home .direct-practice{margin-top:60px}.ribbon-home .contact-block{margin-top:65px}}
#review-notes.amicro-modal,.amicro-dropdown{background:#000;color:#fff}.amicro-dropdown>button[aria-checked=true]{background:#fff;color:#000}.amicro-dropdown>button:hover:not([aria-checked=true]){background:#000;color:#fff;box-shadow:inset 0 0 0 1px #fff}.ribbon-art .hero-preview{background:#000}
.ribbon-home.page{max-width:none}.case-hero,.media-stage video[data-loop]{background:#000}.hero-ribbon .ribbon-space:focus-visible{outline:0;background:transparent}
.ribbon-card-cta{display:none;white-space:nowrap;font-size:8px;color:#fff}.ribbon-piece[aria-pressed=true] .ribbon-card-cta{display:inline-block}.ribbon-piece .piece-caption>span:last-child{font-variant-numeric:tabular-nums;color:#aaa}.hero-ribbon .hero-preview{background:#000}
@media(max-width:680px){.ribbon-card-cta{font-size:7px}}
/* The transparent carousel plane must not intercept recessed 3D card faces. */
.ribbon-space{pointer-events:none}.ribbon-piece{pointer-events:auto}.ribbon-hit-plane{position:absolute;inset:0;display:block;transform:translateZ(-600px);pointer-events:auto;background:transparent;backface-visibility:hidden}
.ribbon-hit-plane{inset:-50%}
/* Home, project selection and the following narrative share one black surface. */
body.is-home-route{background:#000;color:#fff}
.is-home-route .reviewbar{background:#000;color:#fff;border-color:#333}
.is-home-route .proposal-label,.is-home-route .notes-toggle{color:#fff}
.is-home-route .proposal-label>span,.is-home-route .reviewbar nav a{color:#999}
.is-home-route .reviewbar nav a[aria-current=page]{color:#fff;border-color:#fff}
.is-home-route .site-nav .wordmark,.is-home-route .site-nav nav>a,.is-home-route .site-nav .contact-link{color:#fff}
.is-home-route .site-nav .contact-link{border-color:#666}
.is-home-route .hero-bottom{color:#fff;border:0;background:transparent}
.is-home-route .hero-active-category{color:#999}
.is-home-route .hero-active-link,.is-home-route .hero-active-name{color:#fff}
.is-home-route .hero-stage{border:0;outline:0;box-shadow:none;border-radius:0;background:transparent}
.is-home-route .direct-practice{border-color:#333}
.is-home-route .direct-practice h2,.is-home-route .direct-practice-links a{color:#fff}
.is-home-route .direct-practice>div>p{color:#aaa}
.is-home-route .contact-line h2,.is-home-route .contact-line a{color:#fff}
.is-home-route .contact-block,.is-home-route .footer-bottom{border-color:#333}
.is-home-route .footer-bottom,.is-home-route .footer-links,.is-home-route .draft-label{color:#999}
.is-home-route .footer-links a{color:#fff}
.is-home-route .contact-block>.micro{color:#999}
.is-home-route .back-top{background:#fff;color:#000;border:0}
.is-home-route .reader-progress>i{background:#fff}
.is-home-route .amicro-view-trigger,.is-home-route .amicro-dropdown,.is-home-route #review-notes.amicro-modal{background:#111;color:#fff;border:0}
.is-home-route .amicro-dropdown>button{color:#aaa}
.is-home-route .amicro-dropdown>button[aria-checked=true]{background:#fff;color:#000}
.is-home-route .amicro-dropdown>button:hover:not([aria-checked=true]){background:#222;color:#fff;box-shadow:none}
.is-home-route .amicro-modal-close{color:#fff;border:0;background:#222}
.is-home-route #review-notes h2{color:#fff}
/* Filled keyboard state remains dark after the final image-surface policy is applied. */
#app .ribbon-selected-panel .project-card:focus-visible .card-caption{background:#222!important;color:#fff!important}
