:root {
  --font-sans: "Apple SD Gothic Neo", -apple-system, BlinkMacSystemFont, system-ui, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  --viewport-block-size: 100dvh;
  --site-min-inline-size: 320px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-8: 48px;
  --space-10: 64px;
  --space-12: 80px;
  --space-16: 96px;
  --shell-inset-desktop: 40px;
  --shell-inset-block-desktop: 32px;
  --shell-inset-compact: 16px;
  --header-inset-compact: 20px;
  --mobile-page-bottom-space: calc(var(--space-16) + env(safe-area-inset-bottom, 0px));
  --rail-width: 220px;
  --rail-gap: 64px;
  --rail-content-inset: 24px;
  --rail-top: var(--shell-inset-block-desktop);
  --rail-viewport-gap: calc(var(--shell-inset-block-desktop) * 2);
  --rail-field-inline-size: calc(var(--shell-inset-desktop) + var(--rail-width));
  --main-canvas-max: 1400px;
 --touch-target: 44px;
  --utility-height: 56px;
  --utility-control-size: 40px;
  --utility-inline-inset: 20px;
  --desktop-nav-step: 34px;
  --desktop-nav-offset: 48px;
  --desktop-page-block-start: 64px;
 --header-height-compact: 64px;
  --media-radius: 0px;
  --media-book-canvas: #ffffff;
  --media-tight-crop-scale: 1.14;
  --media-aspect-square: 1 / 1;
  --media-aspect-landscape: 3 / 2;
  --media-aspect-video: 16 / 9;
  --media-aspect-portrait: 4 / 5;
  --media-aspect-panorama: 2700 / 746;
  --media-video-letterbox: #000;
  --media-video-edge-trim-scale: 1.002;
  --type-brand-meta: 10px;
  --type-micro: 12px;
  --type-nav: 14px;
  --type-menu: 15px;
  --type-body: 16px;
  --type-lead: 18px;
  --type-title: 24px;
  --type-display: clamp(30px, 3.2vw, 44px);
  --type-display-compact: clamp(28px, 7vw, 36px);
  --type-title-compact: 21px;
  --leading-micro: 16px;
  --leading-nav: 20px;
  --leading-menu: 26px;
  --leading-body: 28px;
  --leading-lead: 32px;
  --leading-title: 32px;
  --leading-display: 1.08;
  --leading-brand: 1.1;
  --leading-title-compact: 34px;
  --tracking-micro: .6px;
  --tracking-nav: .01em;
  --tracking-menu: .025em;
  --tracking-body: -.16px;
  --tracking-title: -.72px;
  --tracking-display: -1.2px;
  --tracking-display-compact: -.8px;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-strong: 650;
  --transition: 150ms ease;
  --motion-reduced-duration: .01ms;
  --skip-hidden-translate: -180%;
  --focus-outline-width: 2px;
  --focus-outline-offset: 3px;
  --icon-size-standard: 18px;
  --icon-size-chevron: 14px;
  --control-inline-gap: 6px;
  --control-hover-canvas: transparent;
  --panel-min-inline-size: 104px;
  --language-trigger-inline-size: auto;
  --language-panel-offset: 8px;
  --language-option-block-size: 32px;
 --chevron-optical-shift: -1px;
  --page-home-content-max: 720px;
  --page-heading-max: 760px;
  --page-copy-max: 640px;
  --about-media-max: 480px;
  --home-landing-max: 1040px;
  --home-landing-gap: clamp(var(--space-8), 7vw, var(--space-16));
  --home-copy-track-max: 440px;
  --type-project: clamp(18px, 1.35vw, 22px);
  --leading-project: 1.18;
  --tracking-project: -.2px;
  --home-media-track-min: 220px;
  --about-media-track-min: 180px;
  --compact-media-max: 440px;
  --art-gallery-max: 860px;
  --development-viewer-max: 1400px;
  --development-viewer-height: min(72vh, 760px);
  --development-viewer-height-compact: min(66vh, 560px);
  --development-viewer-height-small: 58vh;
  --lounge-joystick-size: 118px;
  --lounge-joystick-knob-size: 30px;
  --lounge-orbit-size: 64px;
  --lounge-depth-filter: saturate(0) contrast(.84) brightness(1.1);
  --lounge-depth-card-filter: saturate(0) contrast(.86) brightness(1.06);
  --favicon-blue: #0A84FF;
  --viewer-action-ink: color-mix(in srgb, var(--favicon-blue) 78%, #003d80);
  --liquid-glass-canvas: color-mix(in srgb, var(--surface) 48%, transparent);
  --liquid-glass-highlight: color-mix(in srgb, #ffffff 58%, transparent);
  --liquid-glass-rim: color-mix(in srgb, #ffffff 32%, var(--line));
  --liquid-glass-shadow: 0 10px 28px color-mix(in srgb, #111 8%, transparent), inset 0 1px 0 color-mix(in srgb, #fff 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--ink) 7%, transparent);
  --liquid-key-canvas: color-mix(in srgb, var(--surface) 64%, transparent);
  --work-gallery-max: 860px;
  --work-thumbnail-columns: 2;
  --media-hover-opacity: .88;
  --media-hover-scale: 1.012;
  --home-link-rule-size: 1px;
  --compact-header-blur: 16px;
  --layer-header-content: 1;
  --layer-rail: 20;
  --layer-compact-header: 40;
  --layer-language-menu: 60;
  --layer-compact-language-menu: 70;
  --layer-skip-link: 80;
  --layer-route-loader: 90;
  --route-loader-size: 168px;
  --route-loader-stroke: 1.85px;
  --visually-hidden-size: 1px;
  --visually-hidden-offset: -1px;
  --visually-hidden-clip: inset(50%);
  --control-canvas: transparent;
  --utility-canvas: transparent;
  --utility-ink: var(--ink);
  --utility-ink-soft: var(--ink-soft);
  --canvas: #f1f0ed;
  --rail-canvas: transparent;
  --rail-field: #e6e5e1;
  --header-canvas: var(--canvas);
  --compact-menu-canvas: #f1f0ed;
  --menu-canvas: rgb(245 244 241 / .96);
  --surface: #f4f3f0;
  --ink: #1a1a1a;
  --ink-soft: rgb(26 26 26 / .66);
  --ink-faint: rgb(26 26 26 / .52);
  --line: rgb(26 26 26 / .12);
 --rail-line: rgb(26 26 26 / .075);
  --accent: #2a2a2a;
 --accent-ink: #f1f0ed;
  --menu-shadow: 0 12px 28px rgb(26 26 26 / .08);
  --compact-menu-shadow: 0 12px 20px rgb(26 26 26 / .08);
}

html[data-theme="dark"] {
  --canvas: #0a0a0a;
  --rail-canvas: transparent;
  --rail-field: #1c1c1c;
  --header-canvas: var(--canvas);
  --compact-menu-canvas: #1c1c1c;
  --menu-canvas: rgb(31 31 31 / .98);
  --surface: #171717;
  --ink: #fff;
  --ink-soft: rgb(255 255 255 / .68);
  --ink-faint: rgb(255 255 255 / .5);
  --line: rgb(255 255 255 / .15);
 --rail-line: rgb(255 255 255 / .07);
  --accent: #ededed;
  --accent-ink: #171717;
  --viewer-action-ink: var(--favicon-blue);
  --liquid-glass-canvas: color-mix(in srgb, #2f2f2f 34%, transparent);
  --liquid-glass-highlight: color-mix(in srgb, #ffffff 18%, transparent);
  --liquid-glass-rim: color-mix(in srgb, #ffffff 20%, var(--line));
  --liquid-glass-shadow: 0 10px 28px color-mix(in srgb, #000 30%, transparent), inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent), inset 0 -1px 0 color-mix(in srgb, #000 22%, transparent);
  --liquid-key-canvas: color-mix(in srgb, #ffffff 10%, transparent);
  --menu-shadow: 0 12px 28px rgb(0 0 0 / .34);
  --compact-menu-shadow: 0 12px 20px rgb(0 0 0 / .34);
}

* { box-sizing: border-box; }
html { background: var(--canvas); scrollbar-width: none; scroll-behavior: smooth; }
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.site-header::-webkit-scrollbar { width: 0; height: 0; }
body { min-width: var(--site-min-inline-size); margin: 0; overflow-x: hidden; background: var(--canvas); color: var(--ink); font-family: var(--font-sans); font-size: var(--type-body); line-height: var(--leading-body); text-rendering: optimizeLegibility; transition: background-color var(--transition), color var(--transition); }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
img { display: block; width: 100%; max-width: 100%; }

.skip-link { position: fixed; z-index: var(--layer-skip-link); top: var(--space-3); left: var(--space-3); padding: var(--space-2) var(--space-3); transform: translateY(var(--skip-hidden-translate)); background: var(--accent); color: var(--accent-ink); font-size: var(--type-nav); font-weight: var(--weight-semibold); transition: transform var(--transition); }
:focus-visible { outline: var(--focus-outline-width) solid var(--accent); outline-offset: var(--focus-outline-offset); }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: var(--visually-hidden-size); height: var(--visually-hidden-size); margin: var(--visually-hidden-offset); overflow: hidden; clip-path: var(--visually-hidden-clip); white-space: nowrap; }
.icon { width: var(--icon-size-standard); height: var(--icon-size-standard); }

.route-loader {
  position: fixed;
  inset: 0;
  z-index: var(--layer-route-loader);
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--canvas) 42%, transparent);
  color: var(--ink);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 180ms ease,
    visibility 0s linear 180ms;
  visibility: hidden;
}
.route-loader[hidden] { display: none; }
body.is-route-loading .route-loader {
  opacity: 1;
  transition: opacity 160ms ease;
  visibility: visible;
}
.route-loader__mark {
  display: grid;
  width: var(--route-loader-size);
  height: var(--route-loader-size);
  place-items: center;
  opacity: .92;
}
.route-loader__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.route-loader__ring,
.route-loader__blade,
.route-loader__aperture {
  fill: none;
  stroke: currentColor;
  stroke-width: var(--route-loader-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.route-loader__ring {
  opacity: .82;
}
.route-loader__blade {
  opacity: .78;
}
.route-loader__blades {
  transform-box: view-box;
  transform-origin: 60px 60px;
  animation: route-aperture-blades 1420ms cubic-bezier(.65, 0, .35, 1) infinite;
}
.route-loader__aperture {
  transform-box: view-box;
  transform-origin: 60px 60px;
  opacity: .9;
  animation: route-aperture-core 1420ms cubic-bezier(.65, 0, .35, 1) infinite;
}
.route-loader__aperture-mask {
  transform-box: view-box;
  transform-origin: 60px 60px;
  animation: route-aperture-core 1420ms cubic-bezier(.65, 0, .35, 1) infinite;
}

.site-shell { position: relative; display: grid; min-block-size: var(--viewport-block-size); grid-template-columns: var(--rail-width) minmax(0, var(--main-canvas-max)); column-gap: var(--rail-gap); align-items: start; padding: var(--shell-inset-block-desktop) var(--shell-inset-desktop); }
.site-shell::before { position: absolute; inset: 0 auto 0 0; z-index: 0; width: var(--rail-field-inline-size); background: var(--rail-field); content: ""; pointer-events: none; }
.site-shell > main { position: relative; z-index: var(--layer-header-content); grid-column: 2; grid-row: 1; width: 100%; min-width: 0; max-width: var(--main-canvas-max); }
.site-header { position: sticky; z-index: var(--layer-rail); top: var(--rail-top); display: flex; grid-column: 1; grid-row: 1; width: var(--rail-width); height: calc(var(--viewport-block-size) - var(--rail-viewport-gap)); max-height: calc(var(--viewport-block-size) - var(--rail-viewport-gap)); min-height: 0; flex-direction: column; align-items: flex-start; overflow-y: auto; overscroll-behavior: contain; padding: 0 var(--rail-content-inset); background: var(--rail-canvas); box-shadow: none; }
.site-header > * { position: relative; z-index: var(--layer-header-content); }
.brand { display: inline-flex; flex: 0 0 auto; flex-direction: column; align-items: flex-start; width: max-content; min-width: 48px; color: var(--ink); line-height: var(--leading-brand); white-space: nowrap; transform: translateY(var(--rail-content-inset)); }
.brand strong { font-size: var(--type-body); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-body); }
.brand span { margin-top: var(--space-1); color: var(--ink-faint); font-size: var(--type-brand-meta); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-micro); }
.site-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin-top: var(--desktop-nav-offset); }
.site-nav__link { display: inline-flex; min-height: var(--desktop-nav-step); align-items: center; color: var(--ink-soft); font-size: var(--type-menu); font-weight: var(--weight-medium); letter-spacing: var(--tracking-menu); line-height: var(--leading-menu); transition: color var(--transition); }
.site-nav__link:hover, .site-nav__link:focus-visible, .site-nav__link[aria-current="page"] { color: var(--ink); }
.site-nav__link[aria-current="page"] { font-weight: var(--weight-strong); }
.header-actions { position: static; z-index: var(--layer-compact-language-menu); display: flex; width: 100%; height: auto; align-items: center; justify-content: flex-start; margin-top: auto; padding: 0; background: var(--utility-canvas); }
.header-preferences { display: flex; height: 100%; align-items: center; gap: var(--space-2); }
.theme-button, .mobile-menu-button { display: grid; width: var(--utility-control-size); height: var(--utility-control-size); padding: var(--space-2); place-items: center; border: 0; background: var(--control-canvas); color: var(--utility-ink-soft); transition: color var(--transition); }
.theme-button { justify-items: start; padding-inline: 0; }
.theme-button:hover, .theme-button:focus-visible, .mobile-menu-button:hover, .mobile-menu-button:focus-visible { background: var(--control-hover-canvas); color: var(--utility-ink); }
.mobile-menu-button { display: none; }

.language-menu { position: relative; }
.language-menu__trigger { display: grid; width: var(--language-trigger-inline-size); height: var(--utility-control-size); grid-template-columns: max-content var(--icon-size-chevron); align-items: center; gap: var(--control-inline-gap); padding: 0; border: 0; border-radius: 0; background: var(--control-canvas); color: var(--utility-ink-soft); font-size: var(--type-nav); font-weight: var(--weight-medium); letter-spacing: var(--tracking-nav); line-height: 1; text-align: left; transition: color var(--transition); }
.language-menu__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.language-menu__trigger .icon { width: var(--icon-size-chevron); height: var(--icon-size-chevron); transform: translateY(var(--chevron-optical-shift)); transition: transform var(--transition); }
.language-menu__trigger[aria-expanded="true"] .icon { transform: translateY(var(--chevron-optical-shift)) rotate(180deg); }
.language-menu__trigger:hover, .language-menu__trigger[aria-expanded="true"] { color: var(--utility-ink); background: var(--control-hover-canvas); }
.language-menu__panel { position: absolute; z-index: var(--layer-language-menu); right: auto; bottom: calc(100% + var(--language-panel-offset)); left: 0; display: grid; width: max-content; min-width: var(--panel-min-inline-size); gap: 0; padding: var(--space-2) 0; border: 0; background: var(--menu-canvas); box-shadow: var(--menu-shadow); }
.language-menu__panel[hidden] { display: none; }
.language-menu__option { display: flex; width: 100%; min-height: var(--language-option-block-size); align-items: center; justify-content: space-between; gap: var(--space-4); padding: 0 var(--space-3); border: 0; background: var(--control-canvas); color: var(--utility-ink-soft); font-size: var(--type-nav); letter-spacing: var(--tracking-nav); text-align: left; transition: color var(--transition), background-color var(--transition); }
.language-menu__option:hover, .language-menu__option:focus-visible { background: var(--control-hover-canvas); color: var(--utility-ink); }
.language-menu__option[aria-checked="true"] { color: var(--utility-ink); font-weight: var(--weight-strong); }

.page { width: 100%; min-block-size: calc(var(--viewport-block-size) - (var(--shell-inset-block-desktop) * 2)); padding: var(--desktop-page-block-start) 0 var(--space-12); }
.page--home { display: grid; align-content: center; block-size: calc(var(--viewport-block-size) - (var(--shell-inset-block-desktop) * 2)); min-block-size: calc(var(--viewport-block-size) - (var(--shell-inset-block-desktop) * 2)); padding-block: clamp(var(--space-8), 6vh, var(--space-10)); }
.page--home > :first-child { max-width: none; }
.page--home h1, .page h1 { max-width: var(--page-heading-max); margin: 0; font-size: var(--type-display); font-weight: var(--weight-strong); letter-spacing: var(--tracking-display); line-height: var(--leading-display); word-break: keep-all; line-break: strict; }
.page h2 { margin: 0; font-size: var(--type-title); font-weight: var(--weight-strong); letter-spacing: var(--tracking-title); line-height: var(--leading-title); word-break: keep-all; line-break: strict; }
.page p { max-width: var(--page-copy-max); color: var(--ink-soft); word-break: keep-all; line-break: strict; }
html[lang="ja"] .page h1,
html[lang="ja"] .page h2,
html[lang="ja"] .page p,
html[lang="ja"] .page li {
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
}
html[lang="ja"] .page--home p:not(.section-label) { text-wrap: balance; }
.ja-nowrap { white-space: nowrap; }
.page .eyebrow, .page .section-label, .art-project__meta, .work-record__meta { margin: 0; color: var(--ink-faint); font-size: var(--type-micro); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-micro); line-height: var(--leading-micro); text-transform: uppercase; }
.page--home p { margin: var(--space-5) 0 0; font-size: var(--type-lead); line-height: var(--leading-lead); }
.page--home a:not(.brand), .page__links a { display: inline-flex; min-height: var(--touch-target); align-items: center; margin-top: var(--space-5); color: var(--ink-soft); font-size: var(--type-nav); font-weight: var(--weight-medium); letter-spacing: var(--tracking-nav); transition: color var(--transition), transform var(--transition); }
.page--home a:hover, .page--home a:focus-visible, .page__links a:hover, .page__links a:focus-visible { color: var(--ink); transform: translateX(var(--space-1)); }
.page--about { max-width: none; }
.page--about > * + * { margin-top: var(--space-5); }
.page--art, .page--work, .page--contact { display: grid; gap: var(--space-12); }
.page--empty { min-block-size: calc(var(--viewport-block-size) - (var(--shell-inset-block-desktop) * 2)); padding: 0; }

.home-landing { display: grid; align-self: center; justify-self: center; width: 100%; max-width: var(--home-landing-max); grid-template-columns: minmax(0, var(--home-copy-track-max)) minmax(var(--home-media-track-min), 1fr); align-items: center; gap: calc(var(--space-6) + var(--space-2)); }
.home-landing__copy { transform: translateY(calc(var(--space-4) * -1)); }
.home-landing__lead > span { display: block; }
.home-landing__links { display: grid; gap: var(--space-3); justify-self: end; width: min(100%, 610px); min-width: 0; }
.page--home .home-landing__links .home-preview-link { display: grid; width: 100%; grid-template-columns: 82px minmax(0, 1fr); align-items: center; gap: var(--space-4); min-height: 0; margin-top: 0; color: var(--ink); font-weight: var(--weight-semibold); transform: none; }
.home-preview-link__label { display: inline-flex; align-items: center; white-space: nowrap; }
.home-preview-link__media { display: grid; width: 100%; aspect-ratio: var(--media-aspect-landscape); place-items: center; padding: clamp(var(--space-2), 1.4vw, var(--space-4)); background: var(--rail-field); transition: opacity var(--transition), transform var(--transition); }
.home-preview-link__image-frame { display: block; overflow: hidden; width: 100%; background: transparent; }
.home-preview-link__image-frame--square { aspect-ratio: var(--media-aspect-square); width: min(64%, 300px); min-width: 140px; }
.home-preview-link__image-frame--video { aspect-ratio: var(--media-aspect-video); max-width: 450px; }
.home-preview-link__image-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.page--home .home-landing__links .home-preview-link:hover, .page--home .home-landing__links .home-preview-link:focus-visible { color: var(--ink); transform: none; }
.home-preview-link:hover .home-preview-link__media, .home-preview-link:focus-visible .home-preview-link__media { opacity: var(--media-hover-opacity); transform: scale(var(--media-hover-scale)); }
.home-preview-link:active .home-preview-link__media { transform: scale(1); }
.about-profile { display: grid; max-width: var(--main-canvas-max); grid-template-columns: minmax(180px, 3fr) minmax(0, 9fr); align-items: start; column-gap: clamp(var(--space-8), 7vw, var(--space-16)); }
.about-profile__heading { grid-column: 1; }
.about-profile__content { grid-column: 2; margin-top: 0; }
.about-profile h2 { margin: 0; }
.about-profile__copy { margin-top: var(--space-6); max-width: 68ch; color: var(--ink-soft); }
.about-profile__copy p { margin: 0; word-break: keep-all; line-break: strict; }
.about-profile__copy p + p { margin-top: var(--space-4); }
.about-profile__copy .about-profile__subheading { margin: var(--space-8) 0 var(--space-4); color: var(--ink); font-size: var(--type-body); line-height: var(--leading-tight); }
.about-profile__copy .about-profile__subheading:first-child { margin-top: 0; }
.about-profile__value strong { display: inline-block; min-width: 7.5ch; margin-right: var(--space-2); color: var(--ink); font-weight: 600; }
.about-profile__credit { color: var(--ink); font-size: var(--type-micro); letter-spacing: var(--tracking-micro); }
.page .art-project__meta--stockist { text-transform: none; letter-spacing: var(--tracking-body); }
.page .art-project__credit { text-transform: none; letter-spacing: var(--tracking-body); color: var(--ink-soft); }
.art-project__stockist-heading { margin-top: var(--space-3) !important; color: var(--ink); font-weight: var(--weight-semibold); }
.page-heading { display: grid; gap: var(--space-2); }
.art-project__meta { display: grid; grid-column: 1; align-content: start; gap: var(--space-1); color: var(--ink-soft); }
.art-project__meta p { margin: 0; word-break: keep-all; line-break: strict; }
.work-featured, .work-moving { display: grid; gap: var(--space-8); }
.work-section-heading { display: grid; gap: var(--space-2); }
.work-section-heading h2 { font-size: var(--type-title); }
.portfolio-project { display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0, 9fr); column-gap: clamp(var(--space-8), 7vw, var(--space-16)); row-gap: var(--space-5); align-items: start; }
.portfolio-project + .portfolio-project { padding-top: var(--space-16); }
.portfolio-project__header { display: grid; gap: var(--space-2); }
.portfolio-project__header h3 { margin: 0; font-size: var(--type-project); font-weight: var(--weight-strong); letter-spacing: var(--tracking-project); line-height: var(--leading-project); }
.portfolio-project__media-groups { display: grid; width: 100%; min-width: 0; gap: var(--space-3); }
.portfolio-project__media-row { display: grid; grid-template-columns: repeat(var(--work-thumbnail-columns), minmax(0, 1fr)); gap: var(--space-3); min-width: 0; }
.portfolio-project__media-row--panorama { grid-template-columns: minmax(0, 1fr); }
.portfolio-media { min-width: 0; }
.portfolio-video-project { display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0, 9fr); column-gap: clamp(var(--space-8), 7vw, var(--space-16)); row-gap: var(--space-5); align-items: start; }
.portfolio-video-project + .portfolio-video-project { padding-top: var(--space-16); }
.portfolio-video-project__header { display: grid; gap: var(--space-2); }
.portfolio-video-project__header h3 { margin: 0; color: var(--ink); font-size: var(--type-project); font-weight: var(--weight-strong); letter-spacing: var(--tracking-project); line-height: var(--leading-project); word-break: keep-all; line-break: strict; }
.portfolio-video-project__header h3 a { transition: color var(--transition); }
.portfolio-video-project__header h3 a:hover, .portfolio-video-project__header h3 a:focus-visible { color: var(--ink-soft); }
.portfolio-video-project__media { display: block; width: 100%; }
.portfolio-video-project__media { border: 0; box-shadow: none; }
.portfolio-video-project__media img { border: 0; }
.contact-profile__copy { max-width: 48ch; }
.contact-profile__list { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.contact-profile__list li { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: baseline; column-gap: var(--space-3); color: var(--ink-soft); }
.contact-profile__list strong { color: var(--ink); font-size: var(--type-body); font-weight: var(--weight-strong); line-height: var(--leading-tight); }
.contact-profile__list span { color: var(--ink-soft); font-size: var(--type-nav); line-height: var(--leading-nav); }
.contact-profile__email { margin-top: var(--space-6) !important; }
.contact-profile__email a { display: inline-flex; min-height: var(--touch-target); align-items: center; color: var(--ink-soft); font-size: var(--type-nav); font-weight: var(--weight-medium); letter-spacing: var(--tracking-nav); transition: color var(--transition), transform var(--transition); }
.contact-profile__email a:hover, .contact-profile__email a:focus-visible { color: var(--ink); transform: translateX(var(--space-1)); }

.page--development { display: grid; gap: var(--space-12); }
.development-intro { max-width: var(--page-heading-max); }
.development-card-list { display: grid; width: 100%; gap: 0; }
.development-card { display: grid; width: 100%; grid-template-columns: minmax(180px, 3fr) minmax(0, 9fr); align-items: start; column-gap: clamp(var(--space-8), 7vw, var(--space-16)); row-gap: var(--space-5); color: var(--ink); }
.development-card + .development-card { padding-top: var(--space-16); }
.development-card-list .development-card { width: 100%; }
.development-card__copy { display: grid; gap: var(--space-2); align-content: start; }
.development-card__title { font-size: var(--type-project); font-weight: var(--weight-strong); letter-spacing: var(--tracking-project); line-height: var(--leading-project); }
.development-card__note { max-width: 36ch; color: var(--ink-soft); font-size: var(--type-nav); line-height: var(--leading-nav); }
.development-card__credit { max-width: 36ch; color: var(--ink-soft); font-size: var(--type-micro); font-weight: var(--weight-medium); line-height: var(--leading-micro); letter-spacing: var(--tracking-micro); opacity: .78; }
.development-card__description { max-width: 36ch; color: var(--ink-soft); font-size: var(--type-nav); line-height: var(--leading-nav); }
.development-card__action { position: relative; display: inline-flex; width: max-content; min-height: var(--touch-target); align-items: center; margin-top: var(--space-2); color: var(--viewer-action-ink); font-size: var(--type-nav); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-nav); transition: color var(--transition), transform var(--transition); }
.development-card:hover .development-card__action, .development-card:focus-visible .development-card__action { color: var(--viewer-action-ink); transform: translateX(var(--space-1)); }
.development-card__media { display: grid; aspect-ratio: var(--media-aspect-video); place-items: center; overflow: hidden; background: var(--surface); }
.development-card__media img { width: 100%; height: 100%; object-fit: cover; transition: opacity var(--transition), transform var(--transition); }
.development-card--depth .development-card__media img { filter: var(--lounge-depth-card-filter); }
.development-card:hover .development-card__media img, .development-card:focus-visible .development-card__media img { opacity: var(--media-hover-opacity); transform: scale(var(--media-hover-scale)); }
.gaussian-viewer { display: grid; width: 100%; max-width: var(--development-viewer-max); gap: var(--space-4); }
.gaussian-viewer__header { display: flex; align-items: end; justify-content: space-between; gap: var(--space-5); }
.gaussian-viewer__header h2 { margin: var(--space-2) 0 0; }
.gaussian-viewer__reset { display: inline-flex; min-height: var(--touch-target); align-items: center; padding: 0; border: 0; background: transparent; color: var(--ink-soft); font-size: var(--type-nav); font-weight: var(--weight-medium); letter-spacing: var(--tracking-nav); transition: color var(--transition), transform var(--transition); }
.gaussian-viewer__reset:hover, .gaussian-viewer__reset:focus-visible { color: var(--ink); transform: translateX(var(--space-1)); }
.gaussian-viewer__stage { position: relative; height: var(--development-viewer-height); min-height: 480px; overflow: hidden; border: 1px solid var(--line); background: var(--canvas); }
.gaussian-viewer__canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.gaussian-viewer__canvas:active { cursor: grabbing; }
.gaussian-viewer__cue { position: absolute; bottom: var(--space-4); left: var(--space-4); display: inline-grid; grid-template-columns: 42px max-content; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3) var(--space-2) var(--space-2); border: 1px solid var(--line); background: var(--surface); color: var(--ink-soft); font-size: var(--type-micro); font-weight: var(--weight-semibold); line-height: var(--leading-micro); letter-spacing: var(--tracking-micro); opacity: .92; pointer-events: none; }
.gaussian-viewer__cue-icon { display: block; width: 42px; height: 42px; overflow: visible; }
.gaussian-viewer__cue-icon * { vector-effect: non-scaling-stroke; }
.gaussian-viewer__cue-orbit, .gaussian-viewer__cue-axis, .gaussian-viewer__cue-gesture { fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.gaussian-viewer__cue-orbit { stroke-dasharray: 3 4; opacity: .78; }
.gaussian-viewer__cue-axis { opacity: .52; }
.gaussian-viewer__cue-gesture { opacity: .9; }
.gaussian-viewer__cue-core { fill: currentColor; opacity: .9; }
.gaussian-viewer__progress { position: absolute; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); display: flex; align-items: center; gap: var(--space-3); color: var(--ink-soft); font-size: var(--type-micro); pointer-events: none; }
.gaussian-viewer__progress[hidden] { display: none; }
.gaussian-viewer__progress progress { width: 100%; height: 2px; accent-color: var(--ink); }
.gaussian-viewer__footer { display: grid; align-items: center; }
.gaussian-viewer__hint { margin: 0; color: var(--ink-soft); font-size: var(--type-nav); line-height: var(--leading-nav); }
.lounge-shell { min-block-size: var(--viewport-block-size); background: var(--canvas); color: var(--ink); }
.lounge-page { position: fixed; inset: 0; z-index: 0; width: 100vw; min-block-size: var(--viewport-block-size); padding: 0; overflow: hidden; background: var(--canvas); }
.lounge-viewer, .lounge-viewer__stage { position: absolute; inset: 0; overflow: hidden; background: var(--canvas); }
.lounge-viewer__canvas { display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; }
.lounge-viewer__canvas.is-dragging-look { cursor: grabbing; }
.lounge-viewer--depth .lounge-viewer__canvas { filter: var(--lounge-depth-filter); }
.lounge-viewer--depth .lounge-viewer__stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 45%, transparent 0 34%, color-mix(in srgb, var(--canvas) 5%, transparent) 68%, color-mix(in srgb, var(--canvas) 10%, transparent) 100%); opacity: .46; }
.lounge-viewer__title, .lounge-viewer__info { position: fixed; z-index: 4; top: max(var(--space-5), env(safe-area-inset-top, 0px)); }
.lounge-viewer__title { left: max(var(--space-5), env(safe-area-inset-left, 0px)); color: var(--ink); font-size: var(--type-title); font-weight: var(--weight-strong); letter-spacing: var(--tracking-title); line-height: 1; }
.lounge-viewer__info { right: max(var(--space-5), env(safe-area-inset-right, 0px)); }
.lounge-viewer__info summary { display: inline-flex; min-height: var(--touch-target); align-items: center; padding: 0; color: var(--ink); font-size: var(--type-nav); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-nav); list-style: none; cursor: pointer; }
.lounge-viewer__info summary::-webkit-details-marker { display: none; }
.lounge-viewer__info-panel { position: absolute; top: calc(100% + var(--space-2)); right: 0; display: grid; width: min(300px, calc(100vw - var(--space-10))); gap: var(--space-3); padding: var(--space-4); background: var(--menu-canvas); box-shadow: var(--menu-shadow); }
.lounge-viewer__info-panel p { margin: 0; color: var(--ink-soft); font-size: var(--type-nav); line-height: var(--leading-nav); }
.lounge-viewer__info-panel a { width: max-content; color: var(--ink); font-size: var(--type-nav); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-nav); }
.lounge-viewer__control { position: fixed; z-index: 3; bottom: max(var(--space-5), env(safe-area-inset-bottom, 0px)); left: max(var(--space-5), env(safe-area-inset-left, 0px)); display: inline-flex; align-items: end; gap: var(--space-5); color: var(--ink-soft); font-size: var(--type-micro); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-micro); line-height: var(--leading-micro); pointer-events: none; }
.lounge-viewer__control-group { display: grid; gap: var(--space-2); align-items: end; }
.lounge-viewer__control-label { display: block; color: var(--ink-soft); white-space: nowrap; opacity: .86; }
.lounge-viewer__joystick { --joystick-x: 0px; --joystick-y: 0px; --joystick-distance: 0px; --joystick-angle: 0rad; position: relative; display: block; isolation: isolate; width: var(--lounge-joystick-size); height: var(--lounge-joystick-size); overflow: hidden; border: 1px solid var(--liquid-glass-rim); border-radius: 50%; background: radial-gradient(circle at 32% 18%, color-mix(in srgb, #fff 58%, transparent), transparent 32%), radial-gradient(circle at 72% 82%, color-mix(in srgb, var(--favicon-blue) 22%, transparent), transparent 42%), linear-gradient(145deg, var(--liquid-glass-highlight), transparent 36%), linear-gradient(160deg, var(--liquid-glass-canvas), color-mix(in srgb, var(--surface) 46%, transparent)); box-shadow: var(--liquid-glass-shadow); cursor: grab; pointer-events: auto; touch-action: none; user-select: none; -webkit-user-select: none; backdrop-filter: blur(18px) saturate(1.24); -webkit-backdrop-filter: blur(18px) saturate(1.24); }
.lounge-viewer__joystick.is-active { cursor: grabbing; }
.lounge-viewer__joystick::before { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: inherit; background: radial-gradient(circle at 50% 50%, transparent 0 36%, color-mix(in srgb, var(--ink-soft) 10%, transparent) 37% 38%, transparent 39% 100%); opacity: .74; pointer-events: none; }
.lounge-viewer__joystick-cross::before,
.lounge-viewer__joystick-cross::after { content: ""; position: absolute; top: 50%; left: 50%; width: 68%; border-top: 1px solid color-mix(in srgb, var(--ink-soft) 28%, transparent); transform: translate(-50%, -50%); opacity: .44; }
.lounge-viewer__joystick-cross::after { transform: translate(-50%, -50%) rotate(90deg); }
.lounge-viewer__joystick-ring { position: absolute; inset: var(--space-3); border: 1px solid color-mix(in srgb, var(--ink-soft) 22%, transparent); border-radius: 50%; opacity: .92; pointer-events: none; }
.lounge-viewer__joystick-vector { position: absolute; top: 50%; left: 50%; width: var(--joystick-distance); max-width: 40%; height: 1px; border-radius: 999px; background: color-mix(in srgb, var(--favicon-blue) 64%, var(--ink) 8%); opacity: 0; transform: translateY(-50%) rotate(var(--joystick-angle)); transform-origin: left center; transition: opacity var(--transition-fast); pointer-events: none; }
.lounge-viewer__joystick.is-active .lounge-viewer__joystick-vector { opacity: .72; }
.lounge-viewer__joystick-knob { position: absolute; top: 50%; left: 50%; display: block; width: var(--lounge-joystick-knob-size); height: var(--lounge-joystick-knob-size); border: 1px solid color-mix(in srgb, var(--ink-soft) 20%, transparent); border-radius: 50%; background: radial-gradient(circle at 34% 28%, color-mix(in srgb, #fff 62%, transparent), transparent 34%), color-mix(in srgb, var(--surface) 82%, transparent); box-shadow: 0 10px 28px color-mix(in srgb, var(--ink) 14%, transparent), inset 0 1px 0 color-mix(in srgb, #fff 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--ink) 10%, transparent); transform: translate(calc(-50% + var(--joystick-x)), calc(-50% + var(--joystick-y))); transition: transform var(--transition-fast); pointer-events: none; }
.lounge-viewer__joystick.is-active .lounge-viewer__joystick-knob { transition-duration: 0ms; }
.lounge-viewer__orbit-icon { position: relative; display: block; width: var(--lounge-orbit-size); height: var(--lounge-orbit-size); border: 1px solid var(--line); border-radius: 50%; background: color-mix(in srgb, var(--surface) 90%, transparent); }
.lounge-viewer__orbit-icon::before, .lounge-viewer__orbit-icon::after { content: ""; position: absolute; inset: var(--space-3); border: 1px solid color-mix(in srgb, var(--ink-soft) 34%, transparent); border-radius: 50%; }
.lounge-viewer__orbit-icon::after { inset: 23px; background: currentColor; opacity: .78; }
.lounge-viewer__orbit-ring { position: absolute; inset: var(--space-2); border: 1px dashed color-mix(in srgb, var(--ink-soft) 38%, transparent); border-radius: 50%; }
.lounge-viewer__orbit-trail { position: absolute; inset: var(--space-2); border-top: 1px solid currentColor; border-right: 1px solid currentColor; border-bottom: 1px solid transparent; border-left: 1px solid transparent; border-radius: 50%; opacity: .72; transform: rotate(24deg); }
.lounge-viewer__orbit-knob { position: absolute; top: 11px; right: 14px; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .82; }
.lounge-viewer__progress { z-index: 3; right: var(--space-5); bottom: var(--space-5); left: var(--space-5); }

.art-project { display: grid; grid-template-columns: minmax(180px, 3fr) minmax(0, 9fr); column-gap: clamp(var(--space-8), 7vw, var(--space-16)); row-gap: var(--space-5); align-items: start; width: 100%; }
.art-project + .art-project { padding-top: var(--space-10); }
.art-project__info { display: grid; grid-column: 1; align-content: start; gap: var(--space-5); max-width: var(--page-copy-max); }
.art-project__header { display: grid; gap: var(--space-2); }
.art-project__header p, .work-record__header p { margin: 0; }
.art-gallery, .work-gallery { display: grid; width: min(100%, 1120px); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.art-gallery { grid-column: 2; grid-row: 1 / span 2; width: min(100%, var(--art-gallery-max)); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.art-gallery[data-art-gallery="books"] .media-frame { background: var(--media-book-canvas); }
.art-gallery > .media-frame:only-child { grid-column: 1 / -1; }
.work-gallery { width: min(100%, var(--work-gallery-max)); }
.media-frame { --media-aspect: var(--media-aspect-landscape); min-width: 0; aspect-ratio: var(--media-aspect); margin: 0; overflow: hidden; background: var(--surface); border-radius: var(--media-radius); }
.media-frame--square { --media-aspect: var(--media-aspect-square); }
.media-frame--video { --media-aspect: var(--media-aspect-video); }
.media-frame--video-contain { background: var(--media-video-letterbox); }
.media-frame--portrait { --media-aspect: var(--media-aspect-portrait); }
.media-frame--panorama { --media-aspect: var(--media-aspect-panorama); }
.media-frame img { width: 100%; height: 100%; object-fit: cover; transition: opacity var(--transition), transform var(--transition); }
.media-frame--tight-crop img { transform: scale(var(--media-tight-crop-scale)); }
a.media-frame:hover img, a.media-frame:focus-visible img { opacity: var(--media-hover-opacity); transform: scale(var(--media-hover-scale)); }
a.media-frame--tight-crop:hover img, a.media-frame--tight-crop:focus-visible img { transform: scale(var(--media-tight-crop-scale)) scale(var(--media-hover-scale)); }
.portfolio-video-project__media:not(.media-frame--video-contain) img { transform: scale(var(--media-video-edge-trim-scale)); }
.portfolio-video-project__media:not(.media-frame--video-contain):hover img, .portfolio-video-project__media:not(.media-frame--video-contain):focus-visible img { transform: scale(var(--media-video-edge-trim-scale)) scale(var(--media-hover-scale)); }
.media-frame--video-contain img { object-fit: contain; transform: none; }

@keyframes route-aperture-blades {
  0%, 10% { transform: rotate(-4deg) scale(1); }
  45%, 58% { transform: rotate(24deg) scale(.985); }
  100% { transform: rotate(-4deg) scale(1); }
}

@keyframes route-aperture-core {
  0%, 10% { transform: rotate(0deg) scale(.74); }
  45%, 58% { transform: rotate(-18deg) scale(1.36); }
  100% { transform: rotate(0deg) scale(.74); }
}

@keyframes route-aperture-pulse {
  0%, 100% { opacity: .58; }
  50% { opacity: .96; }
}

@media (min-width: 769px) and (max-width: 1180px) {
  .page--home { padding-block: clamp(var(--space-6), 5vh, var(--space-8)); }
  .home-landing { max-width: min(100%, 620px); grid-template-columns: minmax(170px, .9fr) minmax(220px, 1.1fr); align-items: center; gap: var(--space-5); }
  .home-landing__copy { transform: translateY(calc(var(--space-5) * -1)); }
  .home-landing__lead > span:last-child { max-width: 23ch; }
  .home-landing__links { width: 100%; justify-self: stretch; gap: var(--space-3); }
  .page--home .home-landing__links .home-preview-link { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .home-preview-link__media { padding: clamp(var(--space-2), 1.2vw, var(--space-3)); }
  .home-preview-link__image-frame--square { width: min(64%, 220px); min-width: 0; }
  .home-preview-link__image-frame--video { max-width: 320px; }
}

@media (max-width: 768px) {
  .site-shell { display: block; min-block-size: 0; padding: 0; }
  .site-shell::before { display: none; }
  .site-shell > main { width: 100%; max-width: none; padding: var(--header-height-compact) var(--shell-inset-compact) var(--mobile-page-bottom-space); }
  .site-header { position: fixed; z-index: var(--layer-compact-header); top: 0; right: 0; left: 0; display: flex; width: auto; height: var(--header-height-compact); max-height: none; min-height: var(--header-height-compact); flex-direction: row; justify-content: space-between; align-items: center; overflow: visible; padding: 0 var(--header-inset-compact); background: var(--header-canvas); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .brand { min-width: 60px; transform: none; }
  .brand strong { font-size: 17px; letter-spacing: 0; }
 .site-header > .site-nav { position: absolute; top: var(--header-height-compact); right: 0; left: 0; display: none; align-items: stretch; gap: 0; margin: 0; padding: var(--space-2) var(--header-inset-compact) var(--space-4); background: var(--compact-menu-canvas); box-shadow: var(--compact-menu-shadow); backdrop-filter: blur(var(--compact-header-blur)); -webkit-backdrop-filter: blur(var(--compact-header-blur)); }
 .site-header.is-menu-open > .site-nav { display: grid; }
  .site-nav__link { width: 100%; min-height: var(--touch-target); }
  .header-actions { position: fixed; top: 0; right: 0; width: auto; align-self: auto; height: var(--header-height-compact); margin-top: 0; padding: 0 var(--space-3); background: var(--utility-canvas); }
  .theme-button, .mobile-menu-button { width: var(--touch-target); height: var(--touch-target); }
  .theme-button { justify-items: center; padding-inline: var(--space-2); }
  .language-menu__trigger { height: var(--touch-target); }
  .language-menu__option { min-height: var(--touch-target); }
  .mobile-menu-button { display: grid; }
  .language-menu__panel { position: absolute; z-index: var(--layer-compact-language-menu); top: calc(100% + var(--space-1)); right: 0; bottom: auto; left: auto; margin-top: 0; }
  .page { min-block-size: calc(var(--viewport-block-size) - var(--header-height-compact) - var(--mobile-page-bottom-space)); padding: var(--space-8) 0 0; }
  .page--home { block-size: auto; min-block-size: calc(var(--viewport-block-size) - var(--header-height-compact) - var(--mobile-page-bottom-space)); align-content: center; padding-block: var(--space-6) 0; }
  .page--empty { min-block-size: calc(var(--viewport-block-size) - var(--header-height-compact) - var(--mobile-page-bottom-space)); padding: 0; }
  .page h1, .page--home h1 { font-size: var(--type-display-compact); letter-spacing: var(--tracking-display-compact); }
  .page h2 { font-size: var(--type-title-compact); line-height: var(--leading-title-compact); }
  .page--home p { font-size: var(--type-body); line-height: var(--leading-body); }
  .home-landing__lead > span:last-child { white-space: nowrap; font-size: 13.5px; letter-spacing: -0.02em; }
  .page--art, .page--work { gap: var(--space-12); }
  .gaussian-viewer__stage { height: var(--development-viewer-height-compact); min-height: 400px; }
  .gaussian-viewer__header { align-items: start; flex-direction: column; gap: var(--space-2); }
  .development-card { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .development-card + .development-card { padding-top: var(--space-12); }
  .art-project + .art-project { padding-top: var(--space-10); }
  .home-landing, .about-profile { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-landing__copy { transform: none; }
  .home-landing__links { justify-self: start; width: min(100%, var(--compact-media-max)); }
  .page--home .home-landing__links .home-preview-link { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .home-preview-link__image-frame--square { width: min(64%, 200px); }
  .about-profile__heading, .about-profile__content { grid-column: 1; }
  .about-profile__content { margin-top: 0; }
  .art-project { grid-template-columns: minmax(0, 1fr); }
  .art-project__info, .art-project__header, .art-project__meta, .art-gallery { grid-column: 1; grid-row: auto; }
  .portfolio-project, .portfolio-video-project { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .portfolio-project + .portfolio-project, .portfolio-video-project + .portfolio-video-project { padding-top: var(--space-12); }
  .portfolio-project__media-groups { width: 100%; }
  .portfolio-project__media-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
  .portfolio-project__media-row--panorama { grid-template-columns: minmax(0, 1fr); }
  .contact-profile__list { gap: var(--space-4); }
}

@media (max-width: 420px) {
  .site-header { padding-inline: var(--shell-inset-compact); }
  .header-preferences { gap: 0; }
  .page { padding-top: var(--space-6); }
  .about-profile__copy p { overflow-wrap: break-word; word-break: keep-all; }
  .art-gallery, .work-gallery { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .gaussian-viewer__stage { height: var(--development-viewer-height-small); min-height: 320px; }
  .lounge-viewer__title, .lounge-viewer__info { top: var(--space-4); }
  .lounge-viewer__title { left: var(--space-4); font-size: var(--type-title-compact); }
  .lounge-viewer__info { right: var(--space-4); }
  .lounge-viewer__control { bottom: var(--space-4); left: var(--space-4); }
  .lounge-viewer__pointer { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: var(--motion-reduced-duration) !important; animation-duration: var(--motion-reduced-duration) !important; }
  .route-loader__blades,
  .route-loader__aperture-mask,
  .route-loader__aperture {
    animation: none !important;
    transform: none !important;
  }
  body.is-route-loading .route-loader__mark {
    animation: route-aperture-pulse 1200ms ease-in-out infinite !important;
  }
}
