:root {
  color-scheme: dark;
  --canvas: #111312;
  --paper: #eeefeb;
  --muted: #a4a5a0;
  --line: #393b37;
  --acid: #d0f46a;
  --cyan: #82c7cf;
  --gutter: clamp(1.25rem, 4.7vw, 5rem);
  --header-height: 4.375rem;
  --max: 100rem;
  --ease: cubic-bezier(.22, 1, .36, 1);
  background: var(--canvas);
  color: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: var(--header-height); scrollbar-gutter: stable; }
body { margin: 0; overflow-x: clip; background: var(--canvas); -webkit-font-smoothing: antialiased; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
em { font: inherit; color: var(--muted); }
.hero h1 em, .photura h2 em, .closing-cta h2 em { color: var(--acid); }
.circa h2 em { color: var(--cyan); }
.ui-icon { display: inline-block; flex: 0 0 auto; width: 20px; height: 20px; background: currentColor; mask: var(--icon) center / contain no-repeat; -webkit-mask: var(--icon) center / contain no-repeat; vertical-align: middle; }
.ui-icon-arrow-up-right { --icon: url('/assets/icons/arrow-up-right.svg'); }
.ui-icon-arrow-down { --icon: url('/assets/icons/untitled-ui/arrow-down.svg'); }
.ui-icon-pause { --icon: url('/assets/icons/untitled-ui/pause-circle.svg'); }
.ui-icon-play { --icon: url('/assets/icons/untitled-ui/play-circle.svg'); }
.ui-icon-menu { --icon: url('/assets/icons/untitled-ui/menu-01.svg'); }
[aria-expanded="true"] .ui-icon-menu { --icon: url('/assets/icons/untitled-ui/x-close.svg'); }
.ui-icon-check-circle { --icon: url('/assets/icons/untitled-ui/check-circle.svg'); }
::selection { color: var(--canvas); background: var(--acid); }
:is(a, button, input, textarea):focus-visible { outline: 2px solid var(--acid); outline-offset: 5px; }
.skip-link { position: fixed; top: 1rem; left: var(--gutter); z-index: 50; padding: .8rem 1rem; transform: translateY(calc(-100% - 2rem)); background: var(--acid); color: #080909; font-weight: 650; }
.skip-link:focus { transform: translateY(0); }
.studio-header { position: sticky; top: 0; z-index: 20; isolation: isolate; display: grid; width: min(calc(100% - var(--gutter) * 2), var(--max)); min-height: var(--header-height); margin: auto; grid-template-columns: auto minmax(3rem, 1fr) auto; gap: clamp(1.25rem, 3vw, 3rem); align-items: center; }
.studio-header::before { position: absolute; inset: 0 calc(50% - 50vw); z-index: -1; background: rgb(17 19 18 / 88%); backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15); content: ""; }
.studio-wordmark { font-size: 1.4rem; font-weight: 710; letter-spacing: -.045em; }
.studio-wordmark img { width: 110px; height: auto; filter: invert(1); }
.header-rule { position: relative; min-width: 0; height: 1px; overflow: hidden; }
.header-rule::before, .header-rule span { position: absolute; inset: 0; background: var(--acid); transform-origin: left center; content: ""; }
.header-rule::before { opacity: .28; transform: scaleX(0); animation: header-rule-draw 1200ms var(--ease) 120ms both; }
.header-rule span { opacity: .82; transform: scaleX(var(--header-progress, .045)); transition: opacity 180ms ease, filter 180ms ease; }
.studio-header:has(.studio-nav a:is(:hover, :focus-visible)) .header-rule span { opacity: 1; filter: brightness(1.18); }
.studio-nav { display: flex; gap: clamp(1.3rem, 2.6vw, 2.75rem); font-size: .9rem; }
.studio-nav a { padding-block: .8rem; transition: color 160ms ease; }
.studio-nav a:is(:hover, :focus-visible) { color: var(--acid); }
.menu-toggle { display: none; min-height: 44px; border: 0; padding: .75rem 0; background: transparent; color: var(--paper); align-items: center; gap: .65rem; }
.hero { position: relative; display: grid; width: min(calc(100% - var(--gutter) * 2), var(--max)); min-height: min(64rem, calc(100svh - var(--header-height))); margin: auto; padding: clamp(3.25rem, 7vh, 6.5rem) 0 1.5rem; grid-template-rows: 1fr auto; align-items: start; }
.hero-copy { min-width: 0; }
.hero-eyebrow { margin: 0 0 clamp(2rem, 4vh, 3.5rem); color: var(--muted); font-size: .75rem; letter-spacing: .045em; animation: hero-support-in 700ms var(--ease) 140ms both; }
.hero h1 { max-width: 11ch; margin: 0; font-size: clamp(4.75rem, 10.5vw, 10.5rem); font-weight: 500; letter-spacing: -.055em; line-height: .91; }
.headline-mask { display: block; padding: .08em .05em .14em 0; margin: -.08em 0 -.14em; }
.headline-mask > span { display: block; animation: headline-reveal 1900ms var(--ease) 200ms both; will-change: clip-path, filter, transform; }
.hero-second > span { animation-delay: 650ms; }
.hero-intro { max-width: 42rem; margin-top: clamp(2.5rem, 5vh, 4.5rem); animation: hero-support-in 1000ms var(--ease) 2100ms both; }
.hero-intro > p { max-width: 42rem; margin: 0; color: var(--muted); font-size: clamp(1.05rem, 1.45vw, 1.35rem); letter-spacing: -.012em; line-height: 1.5; }
.hero-actions { display: flex; margin-top: 1.8rem; gap: 2.5rem; }
.text-action { display: inline-flex; width: fit-content; min-height: 2.8rem; align-items: center; gap: 1.25rem; color: var(--muted); font-size: clamp(.95rem, 1.2vw, 1.15rem); transition: color 160ms ease; }
.text-action span { transition: transform 250ms var(--ease); }
.text-action-primary, .text-action-accent { color: var(--paper); }
.text-action-accent { color: var(--acid); }
.text-action-cyan { color: var(--paper); }
.text-action:hover { color: var(--paper); }
.text-action:hover span { transform: translate(3px, -3px); }
.hero-actions .text-action-primary:hover span { transform: translateY(4px); }
.hero-marker { position: absolute; top: 50%; right: 0; margin: 0; color: var(--muted); font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); animation: hero-marker-in 760ms var(--ease) 2400ms both; }
.hero-foot { display: flex; justify-content: flex-end; align-items: center; min-height: 5rem; margin-top: 2rem; color: var(--muted); font-size: .75rem; animation: hero-support-in 760ms var(--ease) 2650ms both; }
.hero-foot a { display: flex; min-height: 44px; gap: 1.5rem; align-items: center; }
.identity-transition { position: relative; overflow: clip; padding: clamp(11rem, 19vw, 20rem) max(var(--gutter), calc((100% - var(--max)) / 2)) clamp(2rem, 4vw, 4rem); background: #0d0f0e; isolation: isolate; }
.transition-word { position: absolute; top: -.06em; right: -3vw; z-index: 0; color: rgb(238 239 235 / 6%); font-size: clamp(8rem, 21vw, 23rem); font-weight: 720; letter-spacing: -.085em; line-height: .72; white-space: nowrap; transform: translate3d(var(--scroll-shift, 0), 0, 0); }
.hero-study { position: relative; z-index: 1; width: min(78%, 78rem); margin: 0 0 0 auto; }
.study-frame { position: relative; overflow: hidden; border-radius: .2rem; background: var(--canvas); }
.study-frame video { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; opacity: .84; filter: saturate(.78) contrast(.92); }
.hero-study figcaption { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; color: var(--muted); font-size: .65rem; }
.hero-study.reveal-pending figcaption { opacity: 0; transform: translateY(.5rem); }
.hero-study figcaption { transition: opacity 360ms var(--ease) 100ms, transform 360ms var(--ease) 100ms; }
.chapter { scroll-margin-top: 2rem; }
.section-rail { display: flex; width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: auto; padding: 3rem 0; justify-content: space-between; gap: 1.5rem; align-items: center; color: var(--muted); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.section-rail i { display: none; }
.section-rail strong { color: var(--acid); font-size: 1.1rem; font-weight: 450; letter-spacing: -.03em; }
.section-rail-cyan strong { color: var(--paper); font-size: inherit; }
.photura-layout { display: grid; width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: auto; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); grid-template-areas: "media copy"; gap: 6%; align-items: center; }
.chapter-copy { min-width: 0; padding: clamp(2rem, 4vw, 4rem) 0; }
.photura .chapter-copy { grid-area: copy; }
.project-name { margin: 0 0 2rem; font-size: 1.15rem; font-weight: 550; letter-spacing: -.025em; }
.chapter h2 { margin: 0; font-size: clamp(2.4rem, 3.5vw, 4.2rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.14; }
.chapter-summary { max-width: 32rem; margin: 1.8rem 0 0; color: var(--muted); font-size: clamp(1rem, 1.3vw, 1.25rem); line-height: 1.5; letter-spacing: -.015em; }
.discipline-list {
  --pill-accent: var(--acid);
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 2rem 0 1.3rem;
  padding: 0;
  color: #c9cbc5;
  font-size: .68rem;
  font-weight: 560;
  letter-spacing: .015em;
  line-height: 1.2;
  list-style: none;
}
.discipline-list li {
  display: inline-flex;
  min-height: 1.8rem;
  padding: .38rem .72rem;
  border-radius: 999px;
  align-items: center;
  background: color-mix(in srgb, var(--pill-accent) 10%, #1a1d1b);
}
.circa .discipline-list { --pill-accent: var(--cyan); }
.project-media { position: relative; display: block; min-width: 0; overflow: hidden; padding: clamp(1rem, 2vw, 2rem); border-radius: .65rem; background: #191d1b; transition: transform 320ms var(--ease); }
.project-visual { display: block; overflow: hidden; aspect-ratio: 1435 / 1096; border-radius: .35rem; background: #111312; }
.project-visual > :is(img, video) { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms var(--ease); }
.photura-media { grid-area: media; }
.photura-media img { object-position: center 48%; }
.project-open { position: relative; display: flex; width: fit-content; min-height: 44px; margin: 1rem 0 0 auto; padding: .65rem 1rem; align-items: center; gap: .8rem; border: 1px solid #ffffff25; border-radius: 3rem; color: #fff; background: #171a18e8; font-size: .75rem; opacity: 0; transform: translateY(.4rem); transition: opacity 180ms ease, transform 180ms var(--ease), background 180ms ease; }
.project-open .ui-icon { width: 18px; height: 18px; transition: transform 220ms var(--ease); }
.project-media:is(:hover, :focus-visible) { transform: translateY(-4px); }
.project-media:is(:hover, :focus-visible) .project-visual > :is(img, video) { transform: scale(1.02); }
.project-media:is(:hover, :focus-visible) .project-open { background: #313832; opacity: 1; transform: translateY(0); }
.project-media:is(:hover, :focus-visible) .project-open .ui-icon { transform: translate(2px, -2px); }
.circa { width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: clamp(5rem, 10vw, 10rem) auto; }
.circa-lead { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: 6%; align-items: center; }
.circa .section-rail { width: 100%; padding-top: 0; }
.circa-media video { object-position: center 52%; }
.omniplay { width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: 0 auto; padding-bottom: clamp(5rem, 10vw, 10rem); }
.omniplay .section-rail { width: 100%; padding-top: 0; }
.omniplay-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 6%; align-items: center; }
.omniplay h2 em { color: var(--acid); }
.project-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.8rem; }
.omniplay-media img { object-fit: contain; }
.practice { padding: clamp(4rem, 7vw, 7rem) max(var(--gutter), calc((100% - var(--max)) / 2)); background: #e8eae4; color: var(--canvas); }
.practice em { color: #62685e; }
.practice .section-rail, .studio-statement .section-rail { width: 100%; padding: 0 0 3rem; }
.practice .section-rail { color: #54564f; }
.practice h2 { max-width: 23ch; margin: 0 0 0 14%; font-size: clamp(2.5rem, 4vw, 4.5rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.18; }
.practice-list { display: grid; margin: clamp(3rem, 6vw, 6rem) 0 0 14%; }
.practice-list a { position: relative; isolation: isolate; display: grid; min-height: 5.5rem; padding: 1.2rem 0; grid-template-columns: 2rem 1fr auto; align-items: center; gap: 1.5rem; font-size: clamp(1.3rem, 2vw, 2rem); letter-spacing: -.02em; }
.practice-list a + a { border-top: 1px solid rgb(17 19 18 / 18%); }
.practice-list a::before { position: absolute; inset: 0 -1rem; z-index: -1; background: color-mix(in srgb, var(--acid) 35%, #e8eae4); transform: scaleY(0); transform-origin: bottom; transition: transform 200ms var(--ease); content: ""; }
.practice-list a:is(:hover, :focus-visible)::before { transform: scaleY(1); }
.practice-list small { font-size: .65rem; letter-spacing: 0; }
.practice-list a span:last-child { transition: transform 300ms var(--ease); }
.practice-list a:is(:hover, :focus-visible) span:last-child { transform: translate(2px, -2px); }
.practice a:focus-visible { outline-color: #293710; }
.studio-statement, .closing-cta { width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: auto; }
.studio-statement { padding: clamp(5rem, 10vw, 10rem) 0; scroll-margin-top: 2rem; }
.statement-grid { display: grid; grid-template-columns: 1.1fr .85fr; gap: 10%; align-items: end; }
.statement-grid h2 { margin: 0; font-size: clamp(2.8rem, 4.5vw, 5rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.statement-grid p { max-width: 37rem; margin: 0; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.3rem); line-height: 1.5; }
.closing-cta { display: grid; padding: clamp(3.5rem, 6vw, 6rem) 0; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; }
.closing-cta h2 { margin: 0; color: var(--paper); font-size: clamp(2.8rem, 4.5vw, 5rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.studio-footer { display: flex; width: min(calc(100% - var(--gutter) * 2), var(--max)); min-height: 7rem; margin: auto; align-items: center; justify-content: space-between; gap: 2rem; color: #b3b3b1; font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; }
/* Contact shares the same typography, navigation and interaction language. */
.studio-contact-page { min-height: 100svh; }
.studio-contact-main { min-height: calc(100svh - var(--header-height) - 7rem); }
.studio-contact-layout { display: grid; width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: auto; padding: clamp(4rem, 8vw, 8rem) 0; grid-template-columns: .85fr 1fr; gap: clamp(4rem, 9vw, 9rem); align-items: start; }
.section-label { margin: 0 0 2rem; color: var(--acid); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; }
.contact-intro h1 { margin: 0; font-size: clamp(3rem, 5vw, 5.5rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.contact-intro > p:last-child { max-width: 31rem; margin: 2.25rem 0 0; color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.45; }
.studio-contact-form { display: grid; gap: 2rem; padding-top: 3rem; border-top: 1px solid var(--acid); }
.studio-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.studio-contact-form label { display: grid; gap: .75rem; }
.studio-contact-form label > span { color: #aaa; font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; }
.studio-contact-form :is(input, textarea) { width: 100%; border: 0; border-bottom: 1px solid #555; border-radius: 0; padding: .9rem 0; background: transparent; color: var(--paper); font-size: 1.05rem; line-height: 1.5; transition: border-color 180ms ease; }
.studio-contact-form textarea { min-height: 11rem; resize: vertical; }
.studio-contact-form :is(input, textarea):focus { border-color: var(--acid); }
.studio-form-action { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.studio-form-action button { display: inline-flex; min-height: 3.25rem; border: 0; border-bottom: 1px solid var(--acid); padding: 0; align-items: center; gap: .75rem; background: transparent; color: var(--paper); font-size: 1.1rem; font-weight: 600; }
.studio-form-action button:disabled { opacity: .62; }
.studio-form-action p { max-width: 18rem; margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.4; text-align: right; }
.submit-spinner { width: 1rem; height: 1rem; border: 1.5px solid #555; border-top-color: var(--acid); border-radius: 50%; animation: spin 700ms linear infinite; }
.studio-error { display: grid; min-height: calc(100svh - var(--header-height) - 7rem); width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: auto; padding: clamp(4rem, 9vw, 9rem) 0; align-content: center; }
.studio-error-code { margin: 0 0 1rem; color: var(--acid); font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; }
.studio-error h1 { max-width: 12ch; margin: 0; font-size: clamp(3rem, 7vw, 7rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.studio-error p { max-width: 34rem; margin: 2rem 0 0; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.25rem); line-height: 1.5; }
.studio-error .text-action { margin-top: 2rem; }
[data-reveal] {
  --reveal-delay: 0ms;
  transition: opacity 820ms var(--ease) var(--reveal-delay), transform 940ms var(--ease) var(--reveal-delay), clip-path 940ms var(--ease) var(--reveal-delay);
}
[data-reveal-order="1"] { --reveal-delay: 180ms; }
[data-reveal="rail"] { transition-duration: 520ms; }
[data-reveal^="media-"] { clip-path: inset(0 round .65rem); }
[data-reveal="rail"].reveal-pending { opacity: 0; transform: translateY(.45rem); }
[data-reveal="word"].reveal-pending { opacity: 0; }
[data-reveal=""].reveal-pending,
[data-reveal="copy-up"].reveal-pending,
[data-reveal="group-up"].reveal-pending { opacity: 0; transform: translateY(1.5rem); }
[data-reveal="copy-left"].reveal-pending { opacity: 0; transform: translateX(-2.5rem); }
[data-reveal="copy-right"].reveal-pending { opacity: 0; transform: translateX(2.5rem); }
[data-reveal="study"].reveal-pending { opacity: 0; transform: translateX(3rem); }
[data-reveal="media-left"].reveal-pending { opacity: .04; clip-path: inset(0 14% 0 0 round .65rem); transform: translateX(-3rem); }
[data-reveal="media-right"].reveal-pending { opacity: .04; clip-path: inset(0 0 0 14% round .65rem); transform: translateX(3rem); }
[data-reveal="media-scale"].reveal-pending { opacity: .04; clip-path: inset(6% round .65rem); transform: scale(.94); }
[data-reveal].reveal-pending { will-change: opacity, transform, clip-path; }
.project-media.reveal-complete { transition: transform 320ms var(--ease); }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes header-rule-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes headline-reveal { 0% { clip-path: inset(0 100% 0 0); filter: blur(14px); transform: translateY(.08em); } 56% { filter: blur(5px); } 100% { clip-path: inset(-18% -3% -24% 0); filter: blur(0); transform: translateY(0); } }
@keyframes hero-support-in { from { opacity: 0; transform: translateY(.65rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-marker-in { from { opacity: 0; } to { opacity: 1; } }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; }
.motion-paused [data-reveal] { opacity: 1; transform: none; transition: none; }
.motion-paused [data-scroll-shift] { --scroll-shift: 0px !important; }
.motion-paused .headline-mask > span { animation: none; clip-path: none; filter: none; transform: none; }
.text-action:active span, .studio-nav a:active { opacity: .65; }
@media (max-width: 1000px) {
  .hero-actions { gap: 1.5rem; }
  .chapter h2 { font-size: clamp(2.3rem, 3.8vw, 3.5rem); }
  .studio-contact-layout { grid-template-columns: 1fr; gap: 4rem; }
}
@media (max-width: 760px) {
  :root { --header-height: 3.325rem; }
  .studio-header { gap: .9rem; }
  .studio-wordmark img { width: 95px; }
  .header-rule { min-width: 1rem; }
  .menu-toggle { display: flex; }
  .studio-nav { position: absolute; top: calc(100% - .25rem); right: 0; display: grid; min-width: 12rem; gap: 0; padding: .75rem; transform: translateY(-.5rem); background: #20221d; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 160ms ease, transform 240ms var(--ease), visibility 0s linear 240ms; }
  .studio-nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
  .studio-nav a { min-height: 44px; display: flex; align-items: center; padding-inline: .75rem; }
  .hero { min-height: calc(100svh - var(--header-height)); padding-top: clamp(2.5rem, 7vh, 4rem); }
  .hero h1 { max-width: 10.5ch; font-size: clamp(3.45rem, 15vw, 5.8rem); letter-spacing: -.05em; line-height: .92; }
  .hero-intro > p { max-width: 30rem; font-size: 1.15rem; }
  .hero-actions { flex-wrap: wrap; }
  .hero-marker { display: none; }
  .hero-foot { min-height: 4.5rem; }
  .identity-transition { padding: 7rem var(--gutter) 2rem; }
  .hero-study { grid-column: auto; grid-row: auto; width: 100%; max-width: none; }
  .study-frame video { aspect-ratio: 16 / 10; }
  .transition-word { right: -1rem; font-size: 36vw; }
  .hero-foot { font-size: .62rem; }
  .hero-foot a { gap: .6rem; white-space: nowrap; }
  .section-rail { padding: 2rem 0; font-size: .58rem; gap: .75rem; }
  .photura-layout { grid-template-columns: 1fr; grid-template-areas: "copy" "media"; gap: 2rem; }
  .photura .chapter-copy { padding: 0; }
  .chapter h2 { max-width: 15ch; font-size: clamp(2.3rem, 9vw, 4rem); }
  .project-name { margin-bottom: 1.5rem; }
  .project-media, .project-media:is(:hover, :focus-visible) { transform: none; }
  .project-media:is(:hover, :focus-visible) .project-visual > :is(img, video) { transform: none; }
  .project-open { padding: .65rem .85rem; font-size: .7rem; opacity: 1; transform: none; }
  .project-visual { aspect-ratio: 1; }
  .circa { margin-block: 5rem; }
  .circa-lead { display: flex; flex-direction: column; gap: 2rem; align-items: stretch; }
  .circa .chapter-copy { padding: 0; }
  .omniplay-layout { display: flex; flex-direction: column-reverse; gap: 2rem; align-items: stretch; }
  .omniplay .chapter-copy { padding: 0; }
  .chapter .section-rail > span:last-child { max-width: 9rem; text-align: right; }
  [data-reveal="copy-left"].reveal-pending,
  [data-reveal="copy-right"].reveal-pending,
  [data-reveal="media-left"].reveal-pending,
  [data-reveal="media-right"].reveal-pending,
  [data-reveal="study"].reveal-pending { transform: translateY(1rem); }
  .practice h2 { max-width: none; margin-left: 0; font-size: clamp(2rem, 9vw, 4.5rem); }
  .practice-list { margin-left: 0; }
  .practice-list a { min-height: 5rem; gap: .75rem; grid-template-columns: 1.25rem 1fr auto; font-size: 1.35rem; }
  .statement-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .statement-grid h2 { font-size: 10vw; }
  .closing-cta { grid-template-columns: 1fr; align-items: start; }
  .closing-cta h2 { font-size: 10vw; }
  .studio-footer { min-height: 6rem; font-size: .5rem; letter-spacing: .1em; }
  .contact-intro h1 { font-size: 12vw; }
  .studio-field-row { grid-template-columns: 1fr; }
  .studio-form-action { display: grid; }
  .studio-form-action p { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal].reveal-pending { opacity: 1; transform: none; }
  [data-reveal="media-left"].reveal-pending,
  [data-reveal="media-right"].reveal-pending,
  [data-reveal="media-scale"].reveal-pending { clip-path: none; }
  .header-rule::before { transform: scaleX(1); }
  .header-rule span { transition: none; }
  .headline-mask > span { clip-path: none; filter: none; transform: none !important; }
  .hero-eyebrow, .hero-intro, .hero-marker, .hero-foot { animation: none; opacity: 1; transform: none; }
  .hero-marker { transform: translateY(-50%) rotate(180deg); }
  .project-media, .project-media:is(:hover, :focus-visible), .project-media:is(:hover, :focus-visible) .project-visual > :is(img, video) { transform: none !important; }
  .project-open { opacity: 1; transform: none; }
}
@media print { [data-reveal].reveal-pending { opacity: 1; transform: none; } }
