.header-controls{display:flex;align-items:center;gap:9px;flex-shrink:0}
.header-controls .language-switch{margin-left:0}
.theme-toggle{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffff35;border-radius:50%;background:#0004;color:#eee;cursor:pointer}
.theme-toggle[hidden],.theme-toggle .theme-moon,.theme-toggle[aria-pressed="true"] .theme-sun{display:none}
.theme-toggle[aria-pressed="true"] .theme-moon{display:block}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle:hover{background:#ffffff20;border-color:#ffffff70}
.theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(min-width:700px) and (max-width:900px){
 .header-controls{gap:6px}
 .theme-toggle{width:34px;height:34px}
 header .brand-picture>img{width:clamp(126px,18vw,162px)}
}
@media(max-width:699px){.header-controls{grid-column:2;grid-row:1;justify-self:end}}

@property --ruby-theme-radius{
 syntax:"<length>";
 inherits:false;
 initial-value:0px;
}
@media(prefers-reduced-motion:no-preference){
 :root.theme-changing::view-transition{pointer-events:none}
 :root.theme-changing::view-transition-group(root),
 :root.theme-changing::view-transition-old(root){animation:none}
 :root.theme-changing::view-transition-old(root),
 :root.theme-changing::view-transition-new(root){mix-blend-mode:normal}
 :root.theme-changing::view-transition-new(root){
  --ruby-theme-edge:clamp(72px,12vmax,160px);
  mask-image:radial-gradient(circle at var(--ruby-theme-x) var(--ruby-theme-y),#000 calc(var(--ruby-theme-radius) - var(--ruby-theme-edge)),transparent var(--ruby-theme-radius));
  animation:ruby-theme-reveal 720ms cubic-bezier(.42,0,.24,1) both;
 }
 @keyframes ruby-theme-reveal{
  from{--ruby-theme-radius:0px}
  to{--ruby-theme-radius:var(--ruby-theme-end)}
 }
}

:root[data-theme="light"]{
 color-scheme:light;
 --bg:#f3eeeb;
 --white:#211922;
 --muted:#584b57;
 --line:#3c2c3c30;
 --ruby-accent:#842b4b;
 --paper-glow:#fbf5ef;
 --paper-shadow:#65465627;
 --type-halo:0 2px 15px #fff8f2ee,0 0 38px #fff8f2bc;
}

/* Keep the same artwork in the static and animated versions of the scene. */
[data-theme="light"] body #scene,[data-theme="light"] .clients-page #scene.clients-backdrop,
[data-theme="light"] .clients-page #scene.clients-backdrop.is-animated{
 background:radial-gradient(ellipse at 45% 36%,var(--paper-glow),#e4d8db);
}
[data-theme="light"] body #scene::before{
 content:'';position:absolute;inset:0;
 background:url('/assets/portfolio/backdrop.webp') center/cover no-repeat;
 filter:invert(1) hue-rotate(180deg) saturate(.67);
 mix-blend-mode:multiply;opacity:.5;pointer-events:none;
}
[data-theme="light"] #scene canvas{position:relative}
[data-theme="light"].touch-experience body #scene,
[data-theme="light"].touch-experience .clients-page #scene.clients-backdrop{
 background:#efe7e8 url('/assets/portfolio/backdrop-light.webp') center/cover no-repeat;
}
[data-theme="light"].touch-experience body #scene::before{display:none}
[data-theme="light"].touch-experience .screen-title{text-shadow:var(--type-halo)}
[data-theme="light"].touch-experience header nav a{color:var(--white)}
[data-theme="light"].touch-experience header nav a:focus-visible{color:var(--ruby-accent)}
[data-theme="light"] #scene.is-animated::before{opacity:0}
[data-theme="light"] .clients-page #scene.clients-backdrop::after{
 background:linear-gradient(180deg,#f7efed80,transparent 30%,transparent 75%,#e1d6db60);
}
@media(max-width:899px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
 [data-theme="light"] .clients-page #scene.is-animated::before{opacity:.5}
}
[data-theme="light"] .atmosphere{box-shadow:inset 0 0 130px #92697720}
[data-theme="light"] .clients-glow,[data-theme="light"] .portfolio-glow{
 background:radial-gradient(circle,#f8e0dd65,#b74f8554 25%,#b74f8518 49%,transparent 68%);
}
[data-theme="light"] #scene.is-animated+.portfolio-glow{visibility:hidden}
@media(min-width:900px) and (hover:hover) and (pointer:fine){
 [data-theme="light"] #scene.is-animated+.clients-glow{visibility:hidden}
}
[data-theme="light"] body header::before{
 content:'';position:absolute;z-index:-1;inset:-40px -5vw auto;height:122px;pointer-events:none;
 background:linear-gradient(#f5efedfa,#f5efeddb 62%,#f5efed00);
}
[data-theme="light"] .brand-picture>img,[data-theme="light"] .footer-wordmark{filter:brightness(0)}
[data-theme="light"] .theme-toggle,[data-theme="light"] .language-switch{background:#fff8;border-color:var(--line);color:var(--white)}
[data-theme="light"] .theme-toggle:hover{background:#f2dfe7;border-color:var(--ruby-accent)}
[data-theme="light"] .language-switch a{color:var(--muted)}
[data-theme="light"] .language-switch a[aria-current]{background:var(--white);color:var(--bg)}
[data-theme="light"] .language-switch a:focus-visible{outline-color:var(--ruby-accent)}
[data-theme="light"] nav a:hover,[data-theme="light"] .text-link:hover,
[data-theme="light"] .work-history-link:hover,[data-theme="light"] .clients-bottom a:hover{
 color:var(--ruby-accent);border-color:var(--ruby-accent);
}
[data-theme="light"] ::selection{background:#ebc9d9;color:#251a23}

/* Porcelain and graphite surfaces leave room for the scene's colored reflections. */
[data-theme="light"] :is(.eyebrow,.intro-sub,.section-copy>p:last-child,.orbit-caption,.orbit-instruction,
.journey-label,.also a,.screen-title>span,.about-copy>p+p,.capability>span,.capability p,.contact-intro,
.contact-channel,.form-bottom>p,.form-status,.contact-form label>span,.hero-metric dt,.metrics-source,
.metrics-source a,.history-heading>p,.archive-intro-copy p,.clients-heading,.clients-count,
.client-group-label,.client-caption,.clients-bottom,.portfolio-count span,.site-loader>p,footer){
 color:var(--muted);
}
[data-theme="light"] :is(.intro-copy,.section-copy,.orbit-caption,.contact-copy h2,.contact-intro,.portfolio-contact h2,.portfolio-count,.client-prompt){
 text-shadow:var(--type-halo);
}
[data-theme="light"] :is(.hero-metric dd,.metric-count,.client-prompt,.clients-count b,.client-caption a,.clients-bottom span,.portfolio-count,.loader-mark){
 color:var(--white);
}
[data-theme="light"] .metric-count{animation-name:metric-light-day}
@keyframes metric-light-day{0%,100%{color:#211922}50%{color:#61344b}}
[data-theme="light"] .intro-statement:hover{color:var(--ruby-accent);text-shadow:var(--type-halo)}
[data-theme="light"] :is(.metric-trace,.text-link,.work-history-link,.metrics-source a,.client-caption a,.clients-bottom,.client-former-group){
 border-color:var(--line);
}
[data-theme="light"] .metric-trace{
 background:repeating-linear-gradient(90deg,#9e718940 0 1px,transparent 1px 15px);
}
[data-theme="light"] .metric-trace>i{background:linear-gradient(90deg,transparent,#aa507b99,transparent)}
[data-theme="light"] .hero-metric:hover .metric-trace,
[data-theme="light"] .client-caption a:hover{border-color:var(--ruby-accent)}
[data-theme="light"] .screen-link:focus-visible,
[data-theme="light"] .capability:focus-visible,
[data-theme="light"] .client-thumb:focus-visible,
[data-theme="light"] .client-panel:focus-visible{outline-color:var(--ruby-accent)}
[data-theme="light"] .about-copy{background:none;text-shadow:var(--type-halo)}
@media(max-width:699px){
 [data-theme="light"] body header::before{top:-24px;height:130px}
 [data-theme="light"] .about-copy{background:linear-gradient(90deg,#f3eeebea,#f3eeeb70)}
}
[data-theme="light"] .capability{
 background:linear-gradient(145deg,#fffdf8ec,#eadde6b8);border-color:#83617455;
 box-shadow:0 20px 55px var(--paper-shadow),inset 0 1px #fff;
}
[data-theme="light"] .capability:is(:hover,:focus-visible){
 border-color:#9a446b90;box-shadow:0 22px 60px #87567342,inset 0 1px #fff;
}
[data-theme="light"] .capability-field{filter:brightness(.52) saturate(1.4);mix-blend-mode:multiply}
[data-theme="light"] .capability::before{
 background:radial-gradient(ellipse at var(--card-glow-x,50%) var(--card-glow-y,50%),#f7cce884,transparent 70%);
}
[data-theme="light"] .contact-form{
 background:#fcf7f3d4;border-color:var(--line);box-shadow:0 30px 90px var(--paper-shadow);
}
[data-theme="light"] .contact-form:focus-within{
 border-color:#986a8280;box-shadow:0 30px 90px var(--paper-shadow);
}
[data-theme="light"] .contact-form label:focus-within{color:var(--ruby-accent)}
[data-theme="light"] .contact-form :is(input,textarea){
 background:#fffc;border-color:#8d6d824b;color:var(--white);
}
[data-theme="light"] .contact-form :is(input,textarea)::placeholder{color:#6b5b65}
[data-theme="light"] .contact-form :is(input,textarea):focus{
 background:#fff;border-color:var(--ruby-accent);box-shadow:0 0 0 3px #b86a912b;
}
[data-theme="light"] .contact-form :is(input,textarea):user-invalid{border-color:#ad3654}
[data-theme="light"] .contact-form .contact-button{background:var(--white);border-color:var(--white);color:#fff}
[data-theme="light"] .contact-form .contact-button:hover{background:var(--ruby-accent);border-color:var(--ruby-accent)}
[data-theme="light"] .footer-slot footer{background:#eee5e7;border-color:var(--line)}
[data-theme="light"] .site-loader{background:var(--bg)}
[data-theme="light"] .loader-timeline{border-color:var(--line);background:repeating-linear-gradient(90deg,transparent 0 20px,#b1779723 20px 21px)}
[data-theme="light"] .loader-timeline>i{background:#b27b9a5e}
[data-theme="light"] .loader-timeline>b{background:var(--ruby-accent);box-shadow:0 0 10px #b43a6f68}
[data-theme="light"] .client-name::before{
 background:radial-gradient(ellipse closest-side at center,#fff7f1a8,#fff7f14f 62%,transparent);
}
[data-theme="light"] .client-name-canvas{filter:var(--client-particle-muted,grayscale(0)) brightness(.55) saturate(1.22)}
[data-theme="light"] .client-name-fallback{color:#55435a}
[data-theme="light"] .client-name-fallback.is-former{color:#645d64}
[data-theme="light"] .client-thumb.is-active{box-shadow:0 14px 35px #63465764}
[data-theme="light"] .film-screen:focus-visible{outline-color:#f7e9f1}
[data-theme="light"] .film-viewer{color-scheme:dark}
