html{scrollbar-gutter:stable}
:root{color-scheme:light;--surface:#f2f0eb;--foreground:#171817;--secondary:#62635e;--quiet:#777872;--rule:#d8d6d0;--sticky:rgba(242,240,235,.94)}
:root[data-theme="dark"]{--paper:#111211;--ink:#ecebe6;--muted:#9b9c95;--line:#30322f;--blue:#8ac5d8;--surface:#111211;--foreground:#ecebe6;--secondary:#b7b8b0;--quiet:#9b9c95;--rule:#30322f;--sticky:rgba(17,18,17,.94);color-scheme:dark;--surface:#111211;--foreground:#ecebe6;--secondary:#b7b8b0;--quiet:#9b9c95;--rule:#30322f;--sticky:rgba(17,18,17,.94)}
html[data-theme] body{background:var(--surface);color:var(--foreground)}
html[data-theme] .topbar{color:#fff}
html[data-theme] .nav a:not(:hover){color:#ffffffd9}
html[data-theme] .hero-copy,html[data-theme] .about-copy,html[data-theme] .site-footer p,html[data-theme] .site-footer li,html[data-theme] .site-footer address{color:var(--secondary)}
html[data-theme] .site-footer{background:var(--surface);color:var(--foreground);border-color:var(--rule)}
html[data-theme] .site-footer h3,html[data-theme] .site-footer-bottom,html[data-theme] .eyebrow,html[data-theme] .label,html[data-theme] .work-head .filter:not([aria-pressed="true"]),html[data-theme] .view-toggle{color:var(--quiet)}
html[data-theme] .site-footer-bottom,html[data-theme] .site-footer{border-color:var(--rule)}
html[data-theme] #work .work-head{background:var(--surface);border-color:var(--rule)}
html[data-theme] .service-list li+li:before{color:var(--quiet)}
html[data-theme] .client-logos-section{border-color:var(--rule)}
html[data-theme] .client-logo img{filter:brightness(0);opacity:.8}
html[data-theme="dark"] .client-logo img{filter:brightness(0) invert(1);opacity:.8}
.theme-toggle{grid-column:3;justify-self:end;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:currentColor;cursor:pointer}
.theme-toggle svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle:focus-visible{outline:1px solid currentColor;outline-offset:2px}
@media(min-width:810px){.theme-toggle svg{transform:translateX(14px)}}
.project-header .theme-toggle{color:var(--foreground)}
.project-nav{color:var(--secondary)}
.project-nav a,.project-footer,.project-next,.project-kicker,.project-meta,.project-back{color:var(--quiet)}
.project-frame{background:var(--surface)}
.project-next,.project-footer{border-color:var(--rule)}
.project-heading h1{color:var(--foreground)}
.project-main{width:100%;max-width:none;margin:0}
.project-heading.project-wrap,.project-next.project-wrap{width:min(calc(100% - 72px),1280px);margin-inline:auto}@media(max-width:540px){.project-heading.project-wrap,.project-next.project-wrap{width:calc(100% - 32px)}}@media(min-width:1601px){.project-heading.project-wrap,.project-next.project-wrap{width:min(calc(100% - 2 * clamp(8px,1.1vw,18px)),1600px)}}
.project-gallery{--project-edge:clamp(8px,1.1vw,18px);--project-gap:clamp(4px,.55vw,9px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--project-gap);width:calc(100% - var(--project-edge) - var(--project-edge));max-width:1600px;margin:0 auto clamp(36px,6vw,82px)}
.project-gallery .project-frame{aspect-ratio:4 / 5;margin:0;display:grid;place-items:center;overflow:hidden;background:var(--surface)}
.project-gallery .project-frame img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}.project-gallery--commercial{--project-gap:clamp(4px,.55vw,9px);--project-edge:calc(var(--project-gap) + var(--project-gap));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.project-masonry-column{display:flex;flex-direction:column;gap:var(--project-gap);min-width:0}.project-gallery--landscape .project-frame--wide{grid-column:1 / -1}.project-gallery--commercial .project-frame{aspect-ratio:auto;overflow:visible;background:transparent}.project-gallery--commercial .project-frame img{width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain}.project-film{--project-gap:clamp(4px,.55vw,9px);--project-edge:calc(var(--project-gap) + var(--project-gap));width:calc(100% - var(--project-edge) - var(--project-edge));margin:0 auto var(--project-gap);text-align:center}.project-film video{display:block;width:100%;height:auto;max-height:80svh;object-fit:contain;background:var(--surface);margin:0 auto}.project-film.is-portrait video{width:min(58vw,720px)}
@supports (backdrop-filter:blur(12px)){html[data-theme] #work .work-head{background:var(--sticky);backdrop-filter:blur(12px)}}
@media(max-width:800px){.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.topbar .brand{grid-column:1}.topbar .nav{grid-column:2;justify-self:center}.project-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.project-nav{grid-column:2;justify-self:center}}
@media(max-width:520px){.topbar .brand,.topbar .nav a{font-size:8px}.topbar .nav{gap:10px}.project-brand,.project-nav{font-size:8px!important}.project-nav{gap:10px}}
.project-gallery--packed-wide>.project-gallery-segment{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--project-gap);min-width:0}.project-gallery--packed-wide>.project-frame--wide{grid-column:1/-1}.project-gallery--portrait-packed>.project-gallery-portrait-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--project-gap);min-width:0}@media(max-width:760px){.project-gallery--portrait-packed>.project-gallery-portrait-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-gallery--packed-wide>.project-gallery-final-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--project-gap);min-width:0}@media(max-width:760px){.project-gallery--packed-wide>.project-gallery-final-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-gallery--packed-wide>.project-gallery-square-pair{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--project-gap);min-width:0}.project-gallery--packed-wide>.project-gallery-square-pair>.project-frame{width:100%;align-self:start;place-items:start center}
/* Portfolio editor layout overrides: theme.css is loaded after project-page.css. */
.project-gallery.project-gallery--columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-gallery.project-gallery--columns-3>.project-frame--wide,.project-gallery.project-gallery--columns-3>.project-gallery-segment>.project-frame--wide,.project-gallery--packed-wide>.project-frame--wide,.project-gallery--packed-wide>.project-gallery-segment>.project-frame--wide,.project-gallery:not(.project-gallery--commercial)>.project-frame--wide{grid-column:1/-1}
.project-gallery--columns-3>.project-gallery-segment{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-gallery--columns-3>.project-gallery-portrait-row,.project-gallery--columns-3>.project-gallery-final-row{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.project-gallery.project-gallery--columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery--columns-3>.project-gallery-segment{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery--columns-3>.project-gallery-portrait-row,.project-gallery--columns-3>.project-gallery-final-row{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery--columns-3>.project-masonry-column{display:contents}}

@media(min-width:1920px) and (min-height:1200px){body{font-size:14px}.project-brand,.project-nav,.project-kicker,.project-meta,.project-back,.project-footer,.project-footer-links a{font-size:10px}.project-description,.project-info-grid p,.project-info-grid .editorial-role,.project-info-grid .editorial-scope,.project-details dt,.project-details dd{font-size:14.5px}.project-production .production-grid p,.project-production .production-grid li{font-size:13.5px}}

:where(a,button,[role="button"],input[type="button"],input[type="submit"],input[type="range"],select,summary){-webkit-tap-highlight-color:transparent}
@media(hover:none) and (pointer:coarse){:where(a:not(.card),button,[role="button"],input[type="button"],input[type="submit"],input[type="range"],select,summary):active{opacity:.7}}

/* Responsive project navigation shares the home menu behavior without changing the desktop header. */
.project-mobile-nav-strip{display:none}
@media(max-width:809px){
  body.is-project-mobile>.project-header{display:none!important}
  .project-mobile-nav-strip{position:relative;z-index:8;display:flex;flex-direction:column;align-items:stretch;width:min(calc(100% - 72px),1280px);margin:10px auto clamp(12px,3vw,16px);padding:0;color:var(--foreground)}
  .project-mobile-nav-strip .mobile-nav-cluster{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:max-content max-content;align-content:center;align-items:center;row-gap:3px;min-height:44px}
  .project-mobile-nav-strip .project-brand,.project-mobile-nav-strip .mobile-nav-role{grid-column:1;margin:0;font-family:Manrope,Arial,sans-serif;font-size:clamp(7px,2.1vw,9px);letter-spacing:.08em;line-height:normal;text-transform:uppercase;white-space:nowrap}
  .project-mobile-nav-strip .project-brand{grid-row:1;justify-self:start;color:var(--foreground);font-weight:500;text-decoration:none}
  .project-mobile-nav-strip .mobile-nav-role{grid-row:2;justify-self:start;color:var(--quiet);font-weight:400}
  .project-mobile-nav-strip .mobile-nav-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%)}
  .project-mobile-nav-strip .mobile-nav-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--foreground);cursor:pointer}
  .project-mobile-nav-strip .mobile-nav-icon{position:relative;display:block;width:16px;height:8px}
  .project-mobile-nav-strip .mobile-nav-icon{transform:translateX(14px)}
  .project-mobile-nav-strip .mobile-nav-icon i{position:absolute;left:0;width:16px;height:1px;background:currentColor;transition:transform 160ms ease;transform-origin:center}
  .project-mobile-nav-strip .mobile-nav-icon i:first-child{top:0}
  .project-mobile-nav-strip .mobile-nav-icon i:last-child{bottom:0}
  .project-mobile-nav-strip .mobile-nav-toggle[aria-expanded=true] .mobile-nav-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}
  .project-mobile-nav-strip .mobile-nav-toggle[aria-expanded=true] .mobile-nav-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .project-mobile-nav-strip .mobile-nav-toggle:focus-visible{outline:1px solid currentColor;outline-offset:2px}
  .project-mobile-nav-strip .project-nav.mobile-nav-dropdown{position:absolute;top:calc(100% - 1px);left:50%;display:grid!important;grid-template-columns:minmax(0,1fr);visibility:hidden;width:100vw;max-width:100vw;min-width:0;box-sizing:border-box;margin:0;padding:6px clamp(8px,4vw,16px) 32px;opacity:0;transform:translate(-50%,-4px);pointer-events:none;gap:0;border:0;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(22px) saturate(1.16);-webkit-backdrop-filter:blur(22px) saturate(1.16);box-shadow:none;transition:opacity 220ms ease,transform 220ms ease,visibility 0s linear 225ms}
  .project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open{visibility:visible;opacity:1;transform:translate(-50%,0);pointer-events:auto;transition:opacity 220ms ease,transform 220ms ease,visibility 0s}
  html[data-theme] .project-mobile-nav-strip .project-nav.mobile-nav-dropdown a,html[data-theme] .project-mobile-nav-strip .project-nav.mobile-nav-dropdown a:hover{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;padding:0 4px;color:var(--foreground);font-size:9px;font-weight:500;letter-spacing:.11em;line-height:1.2;text-decoration:none;text-transform:uppercase;white-space:nowrap;mix-blend-mode:normal;text-shadow:none;opacity:0;transform:translateY(8px)}
  .project-mobile-nav-strip .project-nav.mobile-nav-dropdown a{transition:opacity 150ms ease,transform 150ms ease}
  .project-mobile-nav-strip .project-nav.mobile-nav-dropdown a:nth-child(1){transition-delay:60ms}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown a:nth-child(2){transition-delay:40ms}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown a:nth-child(3){transition-delay:20ms}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown a:nth-child(4){transition-delay:0ms}
  .project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open a{opacity:1;transform:translateY(0)}
  html[data-theme] .project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open a,html[data-theme] .project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open a:hover{opacity:1;transform:translateY(0)}
  .project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open a:nth-child(1){transition-delay:0ms}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open a:nth-child(2){transition-delay:20ms}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open a:nth-child(3){transition-delay:40ms}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open a:nth-child(4){transition-delay:60ms}
}
@media(max-width:540px){.project-mobile-nav-strip{width:calc(100% - 32px)}}
@media(max-width:600px){.project-mobile-nav-strip .project-brand,.project-mobile-nav-strip .mobile-nav-role{font-size:clamp(6px,2vw,8px);letter-spacing:.025em;line-height:1}}
@media(max-width:809px) and (prefers-reduced-motion:reduce){.project-mobile-nav-strip .mobile-nav-icon i,.project-mobile-nav-strip .project-nav.mobile-nav-dropdown,.project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open,.project-mobile-nav-strip .project-nav.mobile-nav-dropdown a,html[data-theme] .project-mobile-nav-strip .project-nav.mobile-nav-dropdown a:hover{transition:none}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown,.project-mobile-nav-strip .project-nav.mobile-nav-dropdown.is-open{transform:translate(-50%,0)}.project-mobile-nav-strip .project-nav.mobile-nav-dropdown a,html[data-theme] .project-mobile-nav-strip .project-nav.mobile-nav-dropdown a:hover{transform:none}}
