/* Monalisa / Form × Feeling. Dependency-free. Native-scroll by design. */
@layer reset, tokens, base, components, pages, motion, responsive, access;
/* Local Latin subsets sourced from Google Fonts; see SOURCES.md. */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/manrope-latin-400-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
    U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
    U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Instrument Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/instrument-serif-latin-normal-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
    U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
    U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Instrument Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/instrument-serif-latin-italic-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC,
    U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
    U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  html,body{margin:0;padding:0}
  h1,h2,h3,p,figure{margin:0}
  button,input,textarea,select{font:inherit}
  button,a{-webkit-tap-highlight-color:transparent}
  button{color:inherit;cursor:pointer}
  a{color:inherit;text-decoration:none}
  svg,img{display:block;max-width:100%}
  img{height:auto}
  button{border:0}
  [hidden]{display:none!important}
}
@layer tokens {
  :root{--paper:#f6f1eb;--ink:#481329;--muted:#735d66;--red:#b9235a;--acid:#edc7dd;--line:#d1bac4;--soft:#eedfe5;--sand:#e6dfd0;--rose:#e8d9d2;--blue:#dce4e7;--sage:#dfe4d4;--yellow:#eae9be;--gutter:clamp(20px,3.3vw,64px);--sans:"Manrope",Arial,"Helvetica Neue",sans-serif;--serif:"Instrument Serif",Georgia,serif;--ease:cubic-bezier(.22,1,.36,1);--fast:180ms;--medium:420ms;--slow:700ms;color-scheme:light}
}
@layer base {
  html{scroll-padding-top:100px;scrollbar-gutter:stable}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
  html.menu-open{overflow:hidden;scroll-behavior:auto}
  html.menu-open body{position:fixed;top:var(--menu-scroll-y,0px);left:0;right:0;overflow:hidden}
  ::selection{background:var(--acid);color:var(--ink)}
  main{min-height:60vh}
  h1,h2,h3{font-weight:400;line-height:1.02;letter-spacing:-.065em}
  h1{font-size:clamp(64px,8.5vw,156px)}
  h2{font-size:clamp(40px,4.3vw,76px)}
  h3{font-size:24px;letter-spacing:-.035em}
  em{font-family:var(--serif);font-weight:400;letter-spacing:-.067em}
  p{text-wrap:pretty}
  a,button{touch-action:manipulation}
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}
  input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
  button:disabled{cursor:not-allowed;opacity:.6}
  .page-gutter{padding-inline:var(--gutter)}
  .section-space{padding-block:110px}
  .eyebrow{font-size:12px;font-weight:500;letter-spacing:.065em;line-height:1.5}
  .arrow-icon{width:24px;height:24px;flex-shrink:0}
  .arrow-down{transform:rotate(90deg)}
  .text-link{display:inline-flex;gap:16px;align-items:center;width:fit-content;min-height:44px;font-size:14px;position:relative;line-height:1.4}
  .text-link::after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:1px;transform:scaleX(0);transform-origin:left;background:currentColor;transition:transform var(--fast) ease-out}
  .text-link:hover::after,.text-link:focus-visible::after{transform:scaleX(1)}
  .text-link .arrow-icon{width:20px;height:20px;transition:translate var(--fast) ease-out}
  .text-link:hover .arrow-icon{translate:2px -2px}
  .pill-button{display:inline-flex;min-height:54px;align-items:center;justify-content:space-between;gap:34px;padding:15px 25px;border-radius:80px;background:var(--ink);color:var(--paper);font-size:14px;line-height:1.4;transition:background var(--fast),color var(--fast),transform var(--fast)}
  .pill-button:hover{background:var(--red)}
  .pill-button:active{transform:scale(.98)}
  .spark{width:80px;height:80px;display:inline-block;vertical-align:middle;color:var(--red)}
  .js-only{display:none}
  .js-ready .js-only{display:inline-flex}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:14px 20px;background:var(--ink);color:var(--paper);border-radius:4px}
  .skip-link:focus{transform:translateY(0)}
}
@layer components {
  .site-header{height:106px;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper)}
  .brand{display:flex;flex-direction:column;width:180px;align-items:flex-start;line-height:1}
  .wordmark{font-family:var(--serif);font-size:38px;letter-spacing:-2.9px;line-height:.86;white-space:nowrap}
  .logo-dot{font-family:var(--sans);font-size:22px;vertical-align:top;margin-left:3px;letter-spacing:0;color:var(--red)}
  .logo-subtitle{font-size:12px;letter-spacing:.24em;margin-top:9px}
  .desktop-nav{display:flex;align-items:center;gap:32px;font-size:13px}
  .desktop-nav a{position:relative;display:flex;align-items:center;min-height:44px;gap:4px}
  .desktop-nav a::after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform var(--fast) ease-out}
  .desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform:scaleX(1)}
  sup{font-size:12px;letter-spacing:0;align-self:flex-start;margin-top:8px}
  .header-contact{display:flex;gap:36px;align-items:center;background:var(--acid);border-radius:30px;min-height:46px;padding:11px 18px;font-size:13px;transition:background var(--fast)}
  .header-contact:hover{background:var(--ink);color:var(--paper)}
  .header-contact svg{width:20px;height:20px}
  .menu-trigger{display:none}
  .mobile-menu{position:fixed;inset:0;z-index:100;max-width:100%;max-height:none;width:100%;height:100vh;height:100dvh;margin:0;padding:max(24px,env(safe-area-inset-top)) max(var(--gutter),env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left));background:var(--ink);color:var(--paper);border:0;overflow-y:auto;overflow-x:clip;overscroll-behavior:contain;touch-action:pan-y}
  .mobile-menu::backdrop{background:#48132980}
  .menu-top{display:flex;align-items:center;justify-content:space-between}
  .round-button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff50;border-radius:50%;background:none;font-size:30px}
  .mobile-menu nav{margin-top:8vh;display:grid}
  .mobile-menu nav a{display:flex;align-items:center;gap:20px;padding-block:18px;border-bottom:1px solid #ffffff30;font-size:clamp(30px,7.5vw,64px);letter-spacing:-.06em}
  .mobile-menu nav sup{font-size:12px;letter-spacing:0;align-self:center;margin:0 3px 0 0}
  .mobile-menu nav svg{margin-left:auto;width:30px;height:30px}
  .menu-bottom{display:grid;gap:9px;margin-top:44px;font-size:14px;overflow-wrap:anywhere}
  .menu-bottom a{padding-block:10px}
  .menu-bottom span{font-size:12px;color:#dbc8d0}
  .nojs-nav{display:flex;flex-wrap:wrap;gap:16px}
  .site-footer{padding:65px var(--gutter) 24px;background:var(--ink);color:var(--paper);overflow:clip}
  .footer-invitation{display:flex;justify-content:space-between;align-items:center;padding-bottom:70px}
  .footer-invitation .eyebrow{display:block;margin-bottom:35px;text-transform:uppercase;font-size:12px}
  .footer-invitation h2{font-size:clamp(68px,9.5vw,164px);line-height:.93}
  .footer-invitation h2 em{color:var(--acid)}
  .footer-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:210px;aspect-ratio:1;border:1px solid #d9dfcc70;border-radius:50%;transition:background var(--medium),color var(--medium),rotate var(--medium)}
  .footer-cta svg{width:70px;height:70px}
  .footer-cta span{text-align:center;font-size:12px;letter-spacing:.06em;line-height:1.5}
  .footer-cta:hover{background:var(--acid);color:var(--ink);rotate:5deg}
  .footer-middle{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:28px;border-block:1px solid #ffffff36}
  .footer-email{display:inline-flex;align-items:center;gap:22px;font-size:clamp(14px,2.2vw,32px);letter-spacing:-.025em;min-height:44px;overflow-wrap:anywhere}
  .footer-socials{display:flex;gap:30px;font-size:12px}
  .footer-socials a{display:flex;align-items:center;gap:8px;min-height:44px}
  .footer-socials svg{width:15px;height:15px}
  .footer-wordmark{font-family:var(--serif);font-size:20.5vw;letter-spacing:-1.75vw;line-height:.9;padding-block:35px 42px;white-space:nowrap;user-select:none}
  .footer-wordmark span{font-family:var(--sans);font-size:10.5vw;vertical-align:top;display:inline-block;margin:2.6vw 0 0 1vw;letter-spacing:0;color:var(--acid)}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #ffffff36;padding-top:15px;font-size:12px}
  .footer-bottom>div{display:flex;gap:24px;align-items:center}
  .footer-bottom a,.motion-toggle{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
  .motion-toggle{background:none;padding:6px 0;gap:7px}
  .motion-toggle::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid)}
  .motion-toggle[aria-pressed="true"]::before{background:currentColor;opacity:.6}
  .kinetic-object{position:relative;aspect-ratio:1;color:var(--ink);width:100%;max-width:560px;isolation:isolate}
  .rosette{width:100%;height:auto;transform-origin:center}
  .orbit-lines{transform-origin:260px 260px}
  .object-registration{position:absolute;inset:15px 5px auto;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em}
  .shape-switch{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;min-height:44px;white-space:nowrap;background:transparent;border-bottom:1px solid var(--line);padding:3px 10px}
  .shape-icon{font-size:18px;line-height:1}
  .kinetic-object[data-shape="1"]{color:var(--red)}
  .kinetic-object[data-shape="1"] .rosette-heart{fill:var(--ink)}
  .kinetic-object[data-shape="2"]{color:var(--ink)}
  .section-heading{display:grid;grid-template-columns:1fr 2.3fr 1fr;align-items:start;gap:30px;margin-bottom:52px}
  .section-heading>.eyebrow{padding-top:9px}
  .section-heading>.text-link{justify-self:end;align-self:end}
  .project-grid{display:grid;grid-template-columns:1.08fr 1fr;column-gap:36px;row-gap:54px}
  .selected-work .project-card:nth-child(2){margin-top:100px}
  .selected-work .project-card:nth-child(3){margin-top:-35px}
  .selected-work .project-card:nth-child(4){margin-top:70px}
  .project-card{min-width:0}
  .project-image-link{display:block}
  .project-image{position:relative;aspect-ratio:1.2;overflow:clip;isolation:isolate}
  .project-art{width:100%;height:100%;object-fit:cover;transition:transform 650ms var(--ease)}
  .project-image-link:hover .project-art{transform:scale(1.035)}
  .tone-sand{background:var(--sand)}
  .tone-blue{background:var(--blue)}
  .tone-rose{background:var(--rose)}
  .tone-sage{background:var(--sage)}
  .tone-yellow{background:var(--yellow)}
  .project-round-arrow{position:absolute;right:20px;bottom:20px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink);transition:background var(--fast),rotate var(--medium)}
  .project-image-link:hover .project-round-arrow{background:var(--acid);rotate:45deg}
  .source-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:32px;border:1px solid #48132925}
  .source-card-label{font-size:12px;letter-spacing:.07em;line-height:1.5}
  .source-card-name{font-family:var(--serif);font-size:clamp(30px,3.1vw,50px);line-height:1.04;letter-spacing:-.045em;margin-top:auto;max-width:92%}
  .source-card-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:18px;max-width:75%}
  .source-card-id{font-size:12px;letter-spacing:.04em;margin-top:32px}
  .project-caption{display:flex;flex-direction:column;gap:6px;justify-content:space-between;padding-top:18px}
  .project-caption>div{display:flex;align-items:baseline;gap:14px}
  .project-caption h3{font-size:19px;letter-spacing:-.025em;line-height:1.3}
  .project-number{font-size:12px}
  .project-discipline{font-size:12px;color:var(--muted);margin-left:28px;line-height:1.5}
  .ai-badge{position:absolute;left:16px;bottom:18px;padding:6px 10px;background:var(--ink);color:var(--paper);border-radius:30px;font-size:12px;letter-spacing:.05em}
  .source-only .ai-badge{bottom:auto;top:51px;left:30px}
  .service-list{border-top:1px solid var(--line)}
  .service{border-bottom:1px solid var(--line)}
  .service summary{display:grid;grid-template-columns:1fr 3.3fr 36px;align-items:center;gap:30px;list-style:none;cursor:pointer;padding-block:25px;min-height:84px}
  .service summary::-webkit-details-marker{display:none}
  .service-num{font-size:12px}
  .service h3{font-size:clamp(22px,3vw,43px);letter-spacing:-.055em}
  .service-plus{font-size:30px;font-weight:400;line-height:1;justify-self:end;transition:rotate var(--medium) var(--ease)}
  .service[open] .service-plus{rotate:45deg}
  .service-body{display:grid;grid-template-columns:1fr 3.3fr 36px;gap:30px}
  .service-detail{grid-column:2;padding:0 0 28px;max-width:580px}
  .service-detail p{font-size:15px;line-height:1.65;color:var(--muted);max-width:530px}
  .service-tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 8px}
  .service-tags span{font-size:12px;border:1px solid var(--line);padding:5px 12px;border-radius:20px}
}
@layer pages {
  .hero{padding-top:25px}
  .hero-kicker{display:flex;justify-content:space-between;gap:30px}
  .hero-kicker>span:first-child{display:flex;align-items:center;gap:8px}
  .status-dot{width:6px;height:6px;display:inline-block;flex-shrink:0;border-radius:50%;background:var(--red)}
  .hero-stage{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:0;padding:55px 0 50px;position:relative}
  .hero-copy{position:relative;z-index:2;min-width:0}
  .hero h1{font-size:clamp(76px,9.15vw,171px);line-height:.94;letter-spacing:-.076em}
  .hero-line{display:block}
  .hero-serif{color:var(--red);line-height:1.07;font-size:1.02em}
  .hero-description{display:flex;gap:20px;max-width:405px;margin-top:33px;padding-left:5px}
  .hero-description p{font-size:14px;line-height:1.6;max-width:335px}
  .tiny-marker{font-size:29px;line-height:1}
  .hero-sculpture{width:100%;max-width:550px;justify-self:end;position:relative;margin-top:22px}
  .sculpture-caption{display:block;font-size:12px;text-align:center;margin-top:33px;letter-spacing:.08em}
  .hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-block:1px solid var(--line);padding-block:11px}
  .hero-scroll-note{display:flex;align-items:center;gap:40px;font-size:12px;letter-spacing:.06em}
  .hero-scroll-note>span{font-size:22px}
  .studio-statement{background:var(--acid);position:relative;padding-block:80px}
  .statement-inner{display:grid;grid-template-columns:1fr 3.2fr;gap:30px;position:relative}
  .statement-inner>.eyebrow{margin-top:12px}
  .statement-inner h2{font-size:clamp(72px,9vw,144px);line-height:.98;letter-spacing:-.074em}
  .statement-inner h2 em{font-size:1.03em}
  .statement-spark{width:clamp(65px,8vw,120px);height:auto;margin-left:25px;color:var(--ink)}
  .statement-copy{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;margin-top:48px;align-items:end}
  .statement-copy p{max-width:350px;font-size:16px;line-height:1.5}
  .statement-copy .text-link{justify-self:center}
  .statement-side{position:absolute;top:0;right:var(--gutter);writing-mode:vertical-rl;letter-spacing:.09em;font-size:12px}
  .quiet-invite{display:flex;align-items:center;gap:50px;justify-content:space-between;margin:10px var(--gutter) 110px;padding:40px 0;border-block:1px solid var(--line)}
  .quiet-mark{position:relative;font-family:var(--serif);font-size:100px;line-height:1;letter-spacing:-.1em;color:var(--red)}
  .quiet-mark span{font-family:var(--sans);font-size:35px;vertical-align:top;letter-spacing:0;margin:10px 0 0 5px;display:inline-block}
  .quiet-invite p{font-size:clamp(28px,3.5vw,50px);line-height:1.1;letter-spacing:-.04em;margin-right:auto}
  .interior-hero{padding-top:65px;padding-bottom:75px}
  .interior-hero>.eyebrow{display:block;margin-bottom:36px}
  .interior-hero h1{line-height:1;max-width:1100px}
  .interior-hero h1 em{color:var(--red)}
  .interior-hero .spark{width:9vw;min-width:55px;height:auto;margin-left:25px}
  .interior-description{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:40px}
  .interior-description p{font-size:16px;line-height:1.5}
  .work-index{padding-bottom:95px}
  .js-ready .work-tools{display:flex!important}
  .work-tools{gap:30px;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding:16px 0;margin-bottom:36px}
  .filter-group{display:flex;gap:9px;flex-wrap:wrap}
  .filter{display:flex;gap:5px;min-height:44px;align-items:center;justify-content:center;padding:10px 17px;font-size:12px;line-height:1.4;background:transparent;border:1px solid transparent;border-radius:30px;transition:background var(--fast),color var(--fast)}
  .filter:hover{border-color:var(--ink)}
  .filter[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
  .filter sup{font-size:12px;align-self:flex-start;margin:0}
  .view-toggle{display:flex;gap:3px;flex-shrink:0}
  .view-toggle button{width:44px;height:44px;background:transparent;padding:12px;border-radius:50%;opacity:.5}
  .view-toggle svg{width:20px;height:20px}
  .view-toggle button[aria-pressed="true"]{background:var(--soft);opacity:1}
  .all-projects{row-gap:50px}
  .all-projects[data-view="index"]{display:flex;flex-direction:column;gap:0}
  .all-projects[data-view="index"] .project-card{display:grid;grid-template-columns:150px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:20px 0;align-items:center}
  .all-projects[data-view="index"] .project-image{aspect-ratio:1.5}
  .all-projects[data-view="index"] .project-caption{padding:0;gap:12px}
  .all-projects[data-view="index"] .project-caption h3{font-size:28px}
  .all-projects[data-view="index"] .source-card{padding:15px;justify-content:center}
  .all-projects[data-view="index"] .source-card-label,.all-projects[data-view="index"] .source-card-note,.all-projects[data-view="index"] .source-card-id,.all-projects[data-view="index"] .project-round-arrow,.all-projects[data-view="index"] .ai-badge{display:none}
  .all-projects[data-view="index"] .source-card-name{font-size:20px;margin:0}
  .work-provenance{font-size:12px;line-height:1.6;max-width:570px;color:var(--muted);margin-top:50px}
  .studio-page-hero{padding-bottom:55px}
  .studio-page-hero h1{font-size:clamp(62px,8.1vw,144px)}
  .studio-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:40px}
  .studio-hero-bottom p{font-size:18px;max-width:425px}
  .studio-canvas{position:relative;display:flex;justify-content:center;background:var(--acid);padding:70px var(--gutter) 100px;min-height:530px;overflow:clip}
  .studio-object{max-width:540px}
  .studio-object .shape-switch{border-color:var(--ink)}
  .canvas-caption{position:absolute;bottom:24px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.05em}
  .studio-details{display:grid;grid-template-columns:1fr 2fr;gap:40px}
  .studio-details p{font-size:17px;line-height:1.65;max-width:610px;margin-top:30px}
  .studio-details .text-link{margin-top:25px}
  .shop-note{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:var(--soft);padding-block:65px;margin-bottom:90px}
  .shop-note h2{margin-top:25px}
  .shop-note>div:last-child{align-self:end;max-width:400px}
  .shop-note p{font-size:17px;line-height:1.55;margin-bottom:25px}
  .shop-caption{display:block;font-size:12px;color:var(--muted);margin-top:14px}
  .capabilities-full{padding-bottom:10px}
  .brief-starter>h2{margin-top:30px;max-width:1000px}
  .brief-prompts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-block:55px 40px}
  .brief-prompts>div{border-top:1px solid var(--line);padding-top:15px}
  .brief-prompts span{font-size:12px}
  .brief-prompts h3{font-size:23px;margin-top:35px;line-height:1.2;letter-spacing:-.045em}
  .brief-prompts p{font-size:14px;color:var(--muted);margin-top:16px;line-height:1.6}
  .case-hero{padding-top:25px;padding-bottom:50px}
  .back-link{display:flex;gap:15px;align-items:center;font-size:12px;min-height:44px;width:fit-content}
  .case-category{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:50px}
  .case-hero h1{font-size:clamp(56px,8.1vw,138px);margin-top:25px;max-width:1200px;line-height:1;letter-spacing:-.067em}
  .case-name{font-size:18px;margin-top:35px}
  .ai-label{padding:4px 10px;border:1px solid var(--ink);border-radius:20px;font-size:12px}
  .case-cover{overflow:clip;view-transition-name:project-image}
  .case-cover img{width:100%;height:auto;max-height:none;object-fit:contain}
  .artwork-pending{min-height:420px;padding:55px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #48132920}
  .artwork-pending h2{margin-top:30px;font-size:76px}
  .artwork-pending p{font-size:14px;line-height:1.6;max-width:410px;margin-top:25px}
  .artwork-pending .pill-button{margin-top:25px}
  .case-context{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}
  .case-context h2{margin-top:30px;font-size:56px}
  .case-summary{font-size:25px;line-height:1.4;letter-spacing:-.02em}
  .project-facts{margin:35px 0 0}
  .project-facts>div{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:18px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.65}
  .project-facts dt{font-size:12px;color:var(--muted);padding-top:3px}
  .project-facts dd{margin:0}
  .project-facts .text-link{font-size:13px;min-height:30px}
  .case-gallery{display:grid;gap:45px}
  .case-gallery figure img{margin-inline:auto;max-height:none;max-width:100%;width:auto}
  .case-gallery figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px}
  .case-attribution{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding-block:45px 75px}
  .case-attribution p,.case-attribution li{font-size:12px;color:var(--muted);line-height:1.7;max-width:550px}
  .case-attribution .text-link{font-size:12px;margin-top:8px}
  .next-project{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:50px;background:var(--soft)}
  .next-project h2{font-size:clamp(30px,3.8vw,60px);line-height:1.1;margin-top:25px}
  .next-project>.arrow-icon{width:70px;height:70px}
  .next-project:hover{background:var(--acid)}
  .contact-hero{padding-bottom:60px}
  .contact-hero h1{position:relative;max-width:none}
  .contact-hero h1>.spark{position:absolute;right:4%;top:20px;width:clamp(100px,15vw,240px);margin:0}
  .contact-intro{display:flex;justify-content:space-between;gap:50px;align-items:flex-start;margin-top:50px}
  .contact-intro p{font-size:16px;line-height:1.6}
  .contact-intro>div{max-width:55%;min-width:0}
  .contact-email{display:flex;align-items:center;gap:15px;font-size:clamp(14px,2vw,29px);letter-spacing:-.03em;min-height:44px;overflow-wrap:anywhere}
  .copy-email{background:transparent;padding:5px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px}
  .contact-section{display:grid;grid-template-columns:1fr 1.65fr;gap:70px;padding-bottom:100px;border-top:1px solid var(--line);padding-top:45px}
  .contact-section aside p{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin-top:30px}
  .contact-section aside .text-link{font-size:12px;margin-top:25px}
  #brief-form{min-width:0}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
  .field{display:flex;flex-direction:column;gap:13px;margin-bottom:30px}
  .field label,legend{font-size:12px;line-height:1.5}
  .field label>span,legend>span{font-size:12px;color:var(--muted)}
  .field input,.field textarea{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:15px 0;font-size:16px;color:var(--ink);resize:vertical;line-height:1.5;min-height:52px}
  .field textarea{min-height:150px;max-height:500px;field-sizing:content}
  input::placeholder,textarea::placeholder{color:#6b7268;opacity:1;font-size:13px}
  input:user-invalid,textarea:user-invalid{border-color:var(--red)}
  .field-hint{font-size:12px;color:var(--muted)}
  .interest-options{border:0;padding:15px 0 0;margin:0 0 35px;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
  .interest-options legend{padding:0;margin-bottom:5px;float:left;width:100%}
  .interest-options label{position:relative;display:inline-flex}
  .interest-options input{position:absolute;width:1px;height:1px;opacity:0;inset:50%}
  .interest-options label>span{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:30px;padding:10px 17px;font-size:12px;line-height:1.4;cursor:pointer;transition:background var(--fast),color var(--fast)}
  .interest-options input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .interest-options input:focus-visible+span{outline:2px solid var(--red);outline-offset:4px}
  .form-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
  .text-button{min-height:44px;background:transparent;font-size:12px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
  .form-disclosure{font-size:12px;color:var(--muted);line-height:1.7;margin-top:20px;max-width:550px}
  .form-status{font-size:13px;margin-top:15px;line-height:1.5;overflow-wrap:anywhere}
  .legal-copy{padding-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:65px}
  .legal-copy h2{font-size:32px;letter-spacing:-.045em;margin-bottom:25px}
  .legal-copy p{font-size:14px;line-height:1.7;margin-block:15px;color:var(--muted)}
  .source-register{margin-top:20px;display:grid}
  .source-register a{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:12px;border-bottom:1px solid var(--line);min-height:48px;padding-block:12px}
  .source-register svg{width:17px;height:17px}
  .not-found{padding-bottom:100px}
  .not-found p{font-size:17px;line-height:1.6;margin-top:30px}
  .not-found .pill-button{margin-top:25px}
}
@layer motion {
  @view-transition{navigation:none}
  ::view-transition-old(root){animation:page-out 130ms ease-out both}
  ::view-transition-new(root){animation:page-in 220ms ease-out both}
  ::view-transition-group(project-image){animation-duration:420ms;animation-timing-function:var(--ease)}
  @keyframes page-out{to{opacity:0}}
  @keyframes page-in{from{opacity:0}}
  @keyframes menu-in{from{opacity:0}to{opacity:1}}
  @keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
  @keyframes orbit-turn{to{transform:rotate(180deg)}}
  @keyframes spark-turn{to{rotate:90deg}}
  @keyframes underline-grow{from{transform:scaleX(.3)}to{transform:scaleX(1)}}
  @keyframes scroll-turn{from{rotate:-12deg}to{rotate:70deg}}
  @media (prefers-reduced-motion:no-preference){
    html:not([data-motion="off"]){scroll-behavior:smooth}
    html:not([data-motion="off"]) .js-ready [data-reveal].revealed{animation:reveal 750ms var(--ease) both}
    html:not([data-motion="off"]) .hero-line:nth-child(2){animation-delay:65ms!important}
    html:not([data-motion="off"]) .hero-line:nth-child(3){animation-delay:125ms!important}
    html:not([data-motion="off"]) .kinetic-object.is-visible .orbit-lines{animation:orbit-turn 38s linear infinite}
    html:not([data-motion="off"]) .service::details-content{interpolate-size:allow-keywords;transition:height 280ms var(--ease),content-visibility 280ms allow-discrete;height:0;overflow:clip}
    html:not([data-motion="off"]) .service[open]::details-content{height:auto}
    html:not([data-motion="off"]) .mobile-menu[open]{animation:menu-in 160ms ease-out both}
    @supports(animation-timeline:view()){
      @media (min-width:900px) and (hover:hover) and (pointer:fine){
        html:not([data-motion="off"]) .statement-spark{animation:scroll-turn linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
      }
    }
  }
  .is-page-hidden *{animation-play-state:paused!important}
}
@layer responsive {
  @media(min-width:1700px){.hero-stage{padding-block:85px}.hero-sculpture{max-width:660px}.kinetic-object{max-width:660px}.source-card-name{font-size:54px}.footer-wordmark{font-size:20.8vw}}
  @media(max-width:1050px){
    .desktop-nav{gap:20px}.hero h1{font-size:9.6vw}.hero-description{max-width:340px}.hero-description p{font-size:13px}.hero-stage{grid-template-columns:1.2fr 1fr}.section-heading{grid-template-columns:1fr 2.7fr}.section-heading>.text-link{grid-column:2;justify-self:start;margin-top:-15px}.section-heading{row-gap:25px}.service summary,.service-body{grid-template-columns:.4fr 3.3fr 25px}.project-grid{gap:30px}.contact-section{gap:35px;grid-template-columns:1fr 1.8fr}.contact-intro{gap:30px}.footer-cta{width:170px}.footer-email{font-size:22px}.footer-socials{gap:18px}.source-card{padding:25px}.source-card-name{font-size:34px}.source-card-label{font-size:12px}.quiet-invite{gap:30px}.footer-wordmark{font-size:20vw}.footer-location{display:none}
  }
  @media(max-width:700px){
    html{scroll-padding-top:25px;scrollbar-gutter:auto}
    .site-header{height:82px;padding-block:20px;gap:15px;flex-wrap:wrap}
    .brand{width:140px}.wordmark{font-size:31px;letter-spacing:-2.5px}.logo-dot{font-size:18px}.logo-subtitle{font-size:12px;margin-top:8px;letter-spacing:.17em}
    .desktop-nav,.header-contact{display:none}
    .js-ready .menu-trigger{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-width:80px;min-height:44px;padding:8px 0 8px 8px;background:transparent;font-size:12px}
    .menu-lines{width:20px;height:10px;position:relative;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:inline-block}
    .nojs-nav{font-size:12px;margin-top:15px;width:100%}.site-header:has(.nojs-nav){height:auto;min-height:82px}
    .hero{padding-top:18px}.hero-kicker{font-size:12px;line-height:1.7;gap:10px}.hero-kicker>span:first-child{max-width:225px;align-items:flex-start;gap:6px}.hero-kicker>span:last-child{white-space:nowrap;font-size:12px}.hero-kicker .status-dot{width:4px;height:4px;margin-top:5px}
    .hero-stage{display:block;padding:38px 0 38px;min-height:0}
    .hero h1{font-size:18.7vw;line-height:.99;letter-spacing:-.075em}
    .hero-serif{font-size:1.02em;line-height:1.08}
    .hero-description{width:57%;gap:10px;margin-top:30px;padding:0;min-height:138px;align-items:flex-start}
    .hero-description p{font-size:12px;line-height:1.6}.tiny-marker{font-size:19px;line-height:1.4;display:none}
    .hero-sculpture{position:absolute;z-index:3;right:-7px;bottom:56px;width:45%;max-width:185px;margin:0}
    .sculpture-caption{display:none}.object-registration{display:none}.shape-switch{font-size:12px;gap:4px;padding:0 5px;bottom:-25px;min-height:44px}.shape-icon{font-size:16px}.rosette{transform:none!important}
    .hero-bottom{padding-block:10px;gap:15px}.hero-bottom>.text-link{font-size:12px;gap:12px}.hero-scroll-note{font-size:0;gap:0}.hero-scroll-note span{font-size:21px}
    .section-space{padding-block:65px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.section-heading>.eyebrow{padding-top:0}.section-heading>.text-link{grid-column:1;margin:0;justify-self:start;align-self:start;font-size:12px}.section-heading h2{font-size:clamp(38px,10.3vw,57px);line-height:1.07;letter-spacing:-.063em}
    .eyebrow{font-size:12px}.text-link{font-size:12px;gap:12px}.text-link .arrow-icon{width:19px;height:19px}.pill-button{font-size:12px;min-height:50px;padding:13px 20px;gap:30px}
    .project-grid{grid-template-columns:1fr;gap:33px}.selected-work .project-card:nth-child(n){margin-top:0}.project-image{aspect-ratio:1.18}.project-caption{padding-top:13px;gap:4px}.project-caption h3{font-size:16px;line-height:1.35}.project-caption>div{gap:12px}.project-number{font-size:12px}.project-discipline{font-size:12px;margin-left:24px}.project-round-arrow{width:44px;height:44px;right:15px;bottom:15px}.project-round-arrow svg{width:20px;height:20px}.source-card{padding:23px}.source-card-name{font-size:33px;line-height:1.04}.source-card-label{font-size:12px}.source-card-note{font-size:12px;line-height:1.5;margin-top:14px}.source-card-id{font-size:12px;margin-top:24px}.source-only .ai-badge{left:22px;top:45px}.ai-badge{font-size:12px}
    .studio-statement{padding-block:45px}.statement-inner{grid-template-columns:1fr;gap:30px}.statement-inner>.eyebrow{margin:0}.statement-inner h2{font-size:18vw;line-height:1.01;letter-spacing:-.073em}.statement-spark{width:17vw;margin-left:14px}.statement-copy{grid-template-columns:1fr;gap:20px;margin-top:28px}.statement-copy p{font-size:13px;max-width:280px;line-height:1.65}.statement-copy>.text-link{justify-self:start;font-size:12px}.statement-side{font-size:12px;top:0}
    .service summary{grid-template-columns:20px 1fr 20px;gap:12px;padding-block:22px;min-height:76px}.service h3{font-size:25px;letter-spacing:-.055em;line-height:1.08}.service-num{font-size:12px}.service-plus{font-size:24px}.service-body{grid-template-columns:20px 1fr 20px;gap:12px}.service-detail{padding-bottom:24px}.service-detail p{font-size:12px;line-height:1.65}.service-tags{margin-top:17px}.service-tags span{font-size:12px;padding:5px 10px}.service-detail .text-link{font-size:12px}
    .quiet-invite{display:grid;grid-template-columns:65px 1fr;gap:22px;margin:0 var(--gutter) 65px;padding-block:30px}.quiet-mark{font-size:68px;align-self:start}.quiet-mark span{position:absolute;top:4px;left:51px;font-size:22px;margin:0}.quiet-invite p{font-size:28px;line-height:1.1}.quiet-invite>.pill-button{grid-column:2;justify-self:start;font-size:12px;padding:12px 16px;gap:15px;min-height:48px}
    .site-footer{padding-top:40px;padding-bottom:18px}.footer-invitation{gap:15px;align-items:end;padding-bottom:38px}.footer-invitation .eyebrow{font-size:12px;max-width:225px;margin-bottom:27px}.footer-invitation h2{font-size:17vw;line-height:.98;letter-spacing:-.065em}.footer-cta{width:80px;min-width:80px;gap:0;margin-bottom:8px}.footer-cta svg{width:38px;height:38px}.footer-cta span{display:none}.footer-middle{flex-direction:column;align-items:flex-start;gap:12px;padding-block:20px}.footer-email{font-size:clamp(14px,4vw,19px);gap:12px;letter-spacing:-.02em}.footer-email svg{width:18px;height:18px}.footer-socials{gap:30px;font-size:12px}.footer-wordmark{font-size:19.6vw;letter-spacing:-1.8vw;padding-block:25px 28px}.footer-wordmark span{font-size:10vw;margin-top:2.3vw}.footer-bottom{flex-wrap:wrap;align-items:center;gap:2px;font-size:12px;padding-top:14px}.footer-bottom>span{width:100%}.footer-bottom>div{justify-content:space-between;width:100%;gap:20px}.footer-bottom a,.motion-toggle{font-size:12px;min-height:44px}
    .interior-hero{padding-top:38px;padding-bottom:40px}.interior-hero>.eyebrow{margin-bottom:30px}.interior-hero h1{font-size:17vw;line-height:1.02;letter-spacing:-.07em}.interior-hero .spark{width:12vw;min-width:38px;margin-left:6px}.interior-description{flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px}.interior-description p{font-size:13px;line-height:1.6}
    .work-index{padding-bottom:60px}.work-tools{flex-wrap:wrap;gap:10px;padding-block:13px;margin-bottom:26px}.filter-group{gap:4px;flex:1 1 100%}.filter{padding:10px 13px;font-size:12px;min-height:44px}.view-toggle{margin-left:auto}.view-toggle button{width:44px;height:44px}.all-projects[data-view="index"] .project-card{grid-template-columns:85px 1fr;gap:15px;padding-block:18px}.all-projects[data-view="index"] .project-caption h3{font-size:16px;line-height:1.35}.all-projects[data-view="index"] .project-caption{gap:4px}.all-projects[data-view="index"] .project-caption>div{gap:7px}.all-projects[data-view="index"] .project-discipline{margin-left:20px;font-size:12px}.all-projects[data-view="index"] .source-card-name{font-size:13px;line-height:1.1}.all-projects[data-view="index"] .source-card{padding:8px}.all-projects[data-view="index"] .project-image{aspect-ratio:1.05}.work-provenance{font-size:12px;margin-top:32px}
    .studio-page-hero h1{font-size:14.3vw;line-height:1.1}.studio-hero-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-top:28px}.studio-hero-bottom p{font-size:15px;line-height:1.65;max-width:290px}.studio-canvas{padding:32px 10px 60px;min-height:0}.studio-object{max-width:360px}.studio-object .shape-switch{bottom:1px;font-size:12px}.canvas-caption{font-size:12px;bottom:15px;gap:10px}.studio-details{grid-template-columns:1fr;gap:25px}.studio-details h2{font-size:39px;line-height:1.07}.studio-details p{font-size:14px;line-height:1.65;margin-top:25px}.studio-details .text-link{margin-top:15px}.shop-note{grid-template-columns:1fr;gap:30px;padding-block:40px;margin-bottom:55px}.shop-note h2{font-size:51px}.shop-note p{font-size:14px;margin-bottom:20px}.shop-caption{font-size:12px}
    .brief-starter>h2{font-size:40px;line-height:1.1;margin-top:25px}.brief-prompts{grid-template-columns:1fr;gap:30px;margin-block:35px}.brief-prompts h3{font-size:24px;margin-top:16px}.brief-prompts p{font-size:13px;margin-top:12px;max-width:320px}
    .case-hero{padding-top:14px;padding-bottom:35px}.case-category{margin-top:30px;font-size:12px;gap:10px}.case-hero h1{font-size:15.5vw;line-height:1.03;margin-top:22px;letter-spacing:-.065em}.case-name{font-size:15px;line-height:1.5;margin-top:26px}.artwork-pending{min-height:390px;padding:33px 22px}.artwork-pending h2{font-size:57px;line-height:1.02;margin-top:28px}.artwork-pending p{font-size:12px;line-height:1.7;margin-top:24px}.artwork-pending .pill-button{font-size:12px;gap:20px;padding:13px 19px}.case-context{grid-template-columns:1fr;gap:28px;padding-block:50px}.case-context h2{font-size:42px;margin-top:20px}.case-summary{font-size:21px;line-height:1.45}.project-facts{margin-top:30px}.project-facts>div{grid-template-columns:1fr 1.9fr;gap:15px;font-size:12px;line-height:1.7;padding-block:15px}.project-facts dt{font-size:12px}.project-facts .text-link{font-size:12px;gap:6px}.project-facts .text-link svg{width:16px;height:16px}.case-gallery{gap:26px}.case-gallery figcaption{font-size:12px}.case-attribution{grid-template-columns:1fr;gap:18px;padding-block:30px 45px}.case-attribution p,.case-attribution li{font-size:12px}.case-attribution .text-link{font-size:12px}.next-project{padding-block:35px;gap:20px}.next-project h2{font-size:29px;line-height:1.12;margin-top:18px}.next-project>.arrow-icon{width:42px;height:42px}
    .contact-hero h1{font-size:18vw}.contact-hero h1>.spark{width:19vw;min-width:0;right:0;top:0}.contact-intro{flex-direction:column;gap:25px;margin-top:30px}.contact-intro p{font-size:13px;line-height:1.7}.contact-intro>div{max-width:100%}.contact-email{font-size:4.45vw;gap:10px}.contact-email svg{width:20px;height:20px}.copy-email{font-size:12px}.contact-section{grid-template-columns:1fr;gap:35px;padding-top:27px;padding-bottom:65px}.contact-section aside{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.contact-section aside>.eyebrow{width:100%}.contact-section aside p{font-size:20px;margin-top:10px}.contact-section aside .text-link{font-size:12px;margin-top:10px}.form-row{grid-template-columns:1fr;gap:0}.field{gap:8px;margin-bottom:26px}.field label,legend{font-size:12px}.field label>span,legend>span{font-size:12px}.field input,.field textarea{font-size:16px}.field input::placeholder,.field textarea::placeholder{font-size:12px}.interest-options{gap:7px}.interest-options label>span{font-size:12px;min-height:44px;padding:10px 14px}.form-submit-row{gap:16px}.text-button{font-size:12px}.form-disclosure{font-size:12px;line-height:1.7}.form-status{font-size:12px}
    .legal-copy{grid-template-columns:1fr;gap:45px;padding-bottom:55px}.legal-copy h2{font-size:28px;margin-bottom:20px}.legal-copy p{font-size:13px;line-height:1.7}.source-register a{font-size:12px;line-height:1.5}.not-found p{font-size:14px;line-height:1.6}
    /* Mobile motion is a separate system: short, finite, no parallax, pinning or mouse listeners. */
    html:not([data-motion="off"]) .js-ready [data-reveal].revealed{animation-duration:380ms;animation-delay:0ms!important}
    html:not([data-motion="off"]) .kinetic-object.is-visible .orbit-lines{animation:none}
    .project-art,.project-round-arrow{transition:none}.project-image-link:hover .project-art{transform:none}.project-image-link:hover .project-round-arrow{rotate:0deg}.footer-cta:hover{rotate:0deg}
    ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
  }
  @media(max-width:374px){.hero-kicker{font-size:12px}.hero-kicker>span:last-child{font-size:12px}.hero-description p{font-size:12px;line-height:1.7}.hero-description{min-height:133px}.hero-sculpture{bottom:59px}.service h3{font-size:23px}.service summary,.service-body{grid-template-columns:17px 1fr 18px;gap:9px}.source-card-name{font-size:29px}.footer-cta{width:65px;min-width:65px}.footer-cta svg{width:30px;height:30px}.filter{padding-inline:11px}.interest-options label>span{font-size:12px;padding-inline:12px}}
}
@layer access {
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto!important}
    *,*::before,*::after{animation:none!important;transition:none!important}
    ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
    .rosette{transform:none!important}
  }
  html[data-motion="off"]{scroll-behavior:auto!important}
  html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}
  html[data-motion="off"]::view-transition-group(*),html[data-motion="off"]::view-transition-old(*),html[data-motion="off"]::view-transition-new(*){animation:none!important}
  html[data-motion="off"] .rosette{transform:none!important}
  @media(forced-colors:active){.pill-button,.header-contact,.filter,.interest-options label>span{border:1px solid ButtonText}.project-round-arrow{border:1px solid CanvasText}.spark{color:CanvasText}.status-dot{background:CanvasText}.source-card{border:1px solid CanvasText}}
}

@layer access { body:not(.js-ready) .js-only{display:none!important} }

@layer components { .artwork-credit { font-size:12px;line-height:1.6;padding-block:12px;overflow-wrap:anywhere; } .artwork-credit a { text-decoration:underline;text-underline-offset:3px; } }

/* Final artwork and readability pass. */
@layer access {
 .hero-description p,.service-detail p,.statement-copy p,.interior-description p,.shop-note p,.brief-prompts p,.studio-details p,.contact-intro p,.legal-copy p{font-size:16px;line-height:1.65}
 .desktop-nav,.header-contact,.menu-trigger,.shape-switch,.project-discipline,.filter,.footer-socials,.text-link,.pill-button,.text-button,.field label,legend,.interest-options label>span{font-size:14px}
 .project-art{object-fit:contain;max-height:100%;background:var(--soft)}
 .project-image{aspect-ratio:1; background:var(--soft)}
 .selected-work .project-card:nth-child(2) .project-image{aspect-ratio:.85}
 .case-cover{max-width:1000px;margin-inline:auto}
 .case-cover img{max-height:1000px;object-fit:contain;background:var(--soft)}
 .artwork-credit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--muted);line-height:1.6;padding-block:18px}
 .artwork-credit a{text-decoration:underline;text-underline-offset:4px;min-height:32px;display:inline-flex;align-items:center}
 .studio-art-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;background:var(--ink);padding:60px var(--gutter);align-items:center;overflow:clip}
 .studio-art-grid figure:last-child{padding:50px 0}
 .studio-art-grid img{width:100%;height:auto;max-height:750px;object-fit:contain}
 .studio-art-grid figcaption{color:var(--paper);font-size:12px;letter-spacing:.05em;margin-top:16px;text-transform:uppercase}
 .motion-band{overflow:clip;border-block:1px solid var(--line);padding-block:22px;margin-top:0}
 .motion-band-track{display:flex;width:max-content;font-size:clamp(28px,4vw,58px);letter-spacing:-.04em;gap:0;will-change:transform}
 .motion-band-track span{padding-inline:30px;white-space:nowrap}
 @keyframes band-move{to{transform:translateX(-50%)}}
 @media(prefers-reduced-motion:no-preference){html:not([data-motion="off"]) .motion-band.is-visible .motion-band-track{animation:band-move 38s linear infinite}}
 @media(max-width:700px){
  .hero-description{width:100%;min-height:0;margin-top:26px;max-width:none}
  .hero-description p{max-width:none;width:100%;font-size:16px;line-height:1.6}
  .hero-sculpture{position:relative;right:auto;bottom:auto;z-index:auto;width:62%;max-width:260px;margin:25px auto 20px;justify-self:auto}
  .hero-stage{padding-bottom:35px}
  .hero-kicker{flex-wrap:wrap;font-size:12px}.hero-kicker>span:first-child{max-width:270px}.hero-kicker>span:last-child{font-size:12px}.hero-kicker .status-dot{width:5px;height:5px;margin-top:7px}
  .hero h1{font-size:18.2vw;letter-spacing:-.07em}
  .hero-serif em{letter-spacing:-.04em}
  .hero-bottom>.text-link{font-size:14px}.hero-bottom{gap:10px}
  .shape-switch{bottom:-22px;font-size:12px}
  .project-discipline{font-size:14px;line-height:1.5;margin-left:0}.project-caption h3{font-size:20px}
  .project-image,.selected-work .project-card:nth-child(2) .project-image{aspect-ratio:1}
  .service-detail .text-link,.section-heading>.text-link,.statement-copy>.text-link{font-size:14px}
  .service-tags span{font-size:12px}.service summary,.service-body{grid-template-columns:18px 1fr 20px;gap:10px}
  .project-facts>div{font-size:14px}.project-facts .text-link{font-size:14px}.case-attribution p,.case-attribution li{font-size:14px}
  .contact-section aside .text-link,.copy-email{font-size:14px}
  .field input::placeholder,.field textarea::placeholder{font-size:16px}
  .form-disclosure,.form-status{font-size:14px}
  .studio-art-grid{gap:16px;padding:30px var(--gutter);grid-template-columns:1fr 1fr}.studio-art-grid figure:last-child{padding:30px 0}
  .studio-art-grid figcaption{font-size:12px;line-height:1.5}
  .contact-email{font-size:clamp(14px,4.25vw,19px)}
  .hero-scroll-note{font-size:0}
  .all-projects[data-view="index"] .project-discipline{font-size:12px;margin-left:0}
  .footer-bottom a,.motion-toggle{font-size:12px}
  .motion-band{padding-block:15px}.motion-band-track{font-size:28px}
  html:not([data-motion="off"]) .motion-band.is-visible .motion-band-track{animation-duration:50s}
 }
}

@layer access {
 .site-header{position:sticky;top:0}
 @media(max-width:700px){html{scroll-padding-top:100px}.hero-bottom{scroll-margin-top:100px}}
}

@layer access {
 .mobile-menu :focus-visible,.site-footer :focus-visible{outline-color:var(--paper)}
}

/* MONALISA / Make your mark. Original kinetic identity, September 2026. */
@layer v2 {
:root{--paper:#eae9e1;--ink:#191a18;--muted:#62645c;--red:#ed432b;--acid:#ef4930;--line:#c7c8bc;--soft:#deded4;--gutter:clamp(22px,4vw,80px);--chrome:#d8dad5;--ease-out:cubic-bezier(.16,1,.3,1)}
body{background:var(--paper)}
.site-header{height:86px;background:var(--ink);color:var(--paper);border-color:#ffffff23;padding-block:17px;transition:height .35s,background .35s}
.brand{width:175px}.wordmark{font-family:var(--sans);font-weight:700;font-size:37px;letter-spacing:-2.6px;line-height:.9}.logo-dot{font-size:38px;margin:0;color:var(--red);vertical-align:baseline}.logo-subtitle{font-size:9px;letter-spacing:.29em;margin-top:7px}
.desktop-nav{font-size:12px;gap:40px;text-transform:uppercase;letter-spacing:.035em}.desktop-nav a::after{background:var(--paper)}
.header-contact{background:var(--paper);color:var(--ink);border-radius:0;font-size:12px;text-transform:uppercase;padding:12px 18px;min-height:44px;gap:32px}.header-contact:hover{background:var(--red);color:var(--ink)}
.menu-trigger{color:var(--paper)}.menu-lines,.menu-lines::before,.menu-lines::after{border-color:var(--paper)}
.mobile-menu{background:var(--red);color:var(--ink)}.mobile-menu::backdrop{background:var(--ink)}.mobile-menu nav{margin-top:5vh}.mobile-menu nav a{font-size:clamp(38px,7vw,78px);font-weight:500;letter-spacing:-.065em;border-color:#191a1840;animation:menu-link-in .65s var(--ease-out) both}.mobile-menu nav a:nth-child(2){animation-delay:.05s}.mobile-menu nav a:nth-child(3){animation-delay:.1s}.mobile-menu nav a:nth-child(4){animation-delay:.15s}.mobile-menu nav a:nth-child(5){animation-delay:.2s}.menu-bottom span{color:#272720}.mobile-menu :focus-visible{outline-color:var(--ink)}.round-button{border-color:#191a1860}
@keyframes menu-link-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
.avant-hero{position:relative;color:var(--paper);background:var(--ink);overflow:clip;isolation:isolate;min-height:calc(100svh - 86px)}
.hero-meta{display:flex;justify-content:space-between;position:relative;z-index:4;padding-top:24px;font-size:10px;letter-spacing:.1em}
.avant-stage{position:relative;min-height:650px;height:calc(100svh - 255px);max-height:900px}
.avant-title{position:absolute;z-index:3;left:var(--gutter);top:50%;transform:translateY(-52%);font-size:clamp(100px,12.5vw,220px);font-weight:500;letter-spacing:-.088em;line-height:.91;pointer-events:none}
.title-row{display:block;overflow:clip;padding:0 .1em .11em 0}.title-row>span{display:block;animation:hero-type-in 1.2s .1s var(--ease-out) both}.mark-row>span{animation-delay:.22s}.mark-row{font-family:var(--serif);font-style:italic;font-size:1.35em;font-weight:400;letter-spacing:-.065em;line-height:.88;padding-bottom:.1em}.title-period{color:var(--red)}
@keyframes hero-type-in{from{transform:translateY(115%) rotate(3deg)}to{transform:none}}
.sculpture-stage{position:absolute;z-index:2;width:61%;height:117%;right:-4%;top:-7%;pointer-events:none;isolation:isolate}
.sculpture-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1s}.sculpture-stage[data-webgl="ready"] canvas,.sculpture-stage.is-ready canvas{opacity:1}
.sculpture-fallback{position:absolute;inset:20%;display:grid;place-items:center;color:var(--chrome);opacity:.72;transform:rotate(-18deg);transition:opacity .5s}.sculpture-fallback svg{width:100%;filter:drop-shadow(12px 24px 0 #0006)}
.sculpture-stage[data-webgl="ready"] .sculpture-fallback,.sculpture-stage.is-ready .sculpture-fallback{opacity:0}
.sculpture-caption-v2{position:absolute;right:13%;bottom:15%;font-size:9px;letter-spacing:.14em;writing-mode:vertical-rl;color:#b4b8ac}
.hero-side-note{position:absolute;right:var(--gutter);top:30px;display:flex;gap:12px;font-size:11px;line-height:1.6;z-index:4}.live-dot{width:6px;height:6px;background:var(--red);border-radius:100%;margin-top:7px;box-shadow:0 0 0 4px #ed432b20}
.avant-bottom{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:18px 26px;border-top:1px solid #ffffff28;margin-top:0;font-size:12px}.avant-bottom p{font-size:14px;line-height:1.5;max-width:275px}.hero-coordinate{text-align:right;font-size:10px;line-height:1.8;letter-spacing:.045em}
.round-link{display:flex;align-items:center;gap:16px;font-size:12px}.round-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid #ffffff65;border-radius:50%;transition:background .3s,transform .5s var(--ease-out)}.round-link:hover .round-icon{background:var(--red);transform:rotate(45deg)}
.manifesto{padding-block:50px 80px;min-height:850px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);color:var(--ink);position:relative}
.manifesto-label{display:flex;justify-content:space-between;gap:25px}.manifesto h2{font-size:clamp(70px,9.7vw,165px);line-height:1;letter-spacing:-.07em;font-weight:500;margin-block:100px 85px;max-width:1400px}.manifesto h2>span{display:block;color:#b6b8ab;background:linear-gradient(90deg,var(--ink) 0%,var(--ink) var(--fill,100%),#b6b8ab var(--fill,100%),#b6b8ab 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.manifesto h2 em{font-size:1.17em}.manifesto-bottom{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:end;gap:40px}.mini-mark{width:80px;color:var(--red)}.manifesto-bottom p{max-width:420px;font-size:17px;line-height:1.65}.manifesto-bottom>.text-link{justify-self:end}
.exhibition{padding:90px var(--gutter) 100px;background:var(--ink);color:var(--paper);overflow:clip}.exhibition-heading{padding:0;display:grid;grid-template-columns:.8fr 2.2fr 1fr;gap:35px;align-items:end;margin-bottom:70px}.exhibition-heading>.eyebrow{align-self:start}.exhibition-heading h2{font-size:clamp(45px,5vw,90px);line-height:1.08}.exhibition-heading p{font-size:13px;line-height:1.6;color:#b4b8ac;max-width:240px;justify-self:end}
.exhibition-studies{display:grid;grid-template-columns:1fr 1fr;gap:70px 30px}.study{min-width:0;position:relative}.study-identity{grid-column:1 / -1}.study-caption{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-top:23px}.study-caption span{font-size:10px;letter-spacing:.06em}.study-caption h3{font-size:clamp(22px,2.1vw,34px);font-weight:400;letter-spacing:-.04em;margin-top:7px}.study-caption p{color:#b4b8ac;font-size:11px;text-align:right;max-width:200px}
.identity-board,.type-board,.editorial-board{position:relative;overflow:hidden;isolation:isolate;padding:25px;min-height:500px;aspect-ratio:1.12;transform:translateZ(0)}
.identity-board{background:var(--red);color:var(--ink);aspect-ratio:1.95;min-height:570px}.board-registration{position:absolute;inset:24px 26px auto;display:flex;justify-content:space-between;gap:20px;z-index:5;font-size:9px;letter-spacing:.08em}.identity-form{position:absolute;inset:8% 0 13%;perspective:1000px;display:grid;place-items:center;transform:rotate(-18deg)}.identity-layer{position:absolute;width:38%;color:var(--ink);transform:translate3d(calc((var(--i) - 3)*24px),calc((var(--i) - 3)*-13px),calc(var(--i)*-20px));opacity:calc(1 - var(--i)*.04)}.identity-layer svg{width:100%;overflow:visible}.identity-layer:nth-child(even){color:var(--paper)}.is-inview .identity-layer{animation:identity-breathe 7s cubic-bezier(.55,0,.45,1) infinite;animation-delay:calc(var(--i)*-130ms)}
@keyframes identity-breathe{0%,100%{transform:translate3d(calc((var(--i) - 3)*24px),calc((var(--i) - 3)*-13px),calc(var(--i)*-20px)) rotateY(-16deg)}50%{transform:translate3d(calc((var(--i) - 3)*48px),calc((var(--i) - 3)*13px),calc(var(--i)*-10px)) rotateY(20deg)}}
.board-wordmark{position:absolute;bottom:11%;left:5%;font-size:clamp(65px,13vw,230px);font-weight:700;letter-spacing:-.09em;line-height:.8;z-index:4;mix-blend-mode:normal}.board-wordmark>span{display:inline-block}.is-inview .board-wordmark>span{animation:letter-squeeze 7s ease-in-out infinite}@keyframes letter-squeeze{50%{transform:scaleX(.45)}}
.board-bottom{position:absolute;inset:auto 26px 24px;display:flex;align-items:end;justify-content:space-between;z-index:5;gap:25px;font-size:9px;line-height:1.6;letter-spacing:.02em}.board-bottom>span:last-child{text-align:right}
.type-board{background:#d4ef54;color:var(--ink);aspect-ratio:.92;min-height:0}.type-stack{position:absolute;inset:13% 0 10%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-8deg)}.type-stack-line{font-size:clamp(62px,9vw,158px);font-weight:700;line-height:.84;letter-spacing:-.075em;white-space:nowrap;position:relative;z-index:2}.type-stack-line:nth-child(2){color:#d4ef54;-webkit-text-stroke:1px var(--ink);z-index:4}.type-stack-line:nth-child(3){color:var(--red)}.type-stack-line>span{display:inline-block}.is-inview .type-stack-line>span{animation:type-wave 4.8s var(--ease-out) infinite;animation-delay:calc(var(--i)*-.6s + var(--j)*-.2s)}@keyframes type-wave{0%,70%,100%{transform:translateY(0) scaleY(1)}28%{transform:translateY(-.09em) scaleY(1.18)}}
.type-orbit{position:absolute;width:60%;aspect-ratio:1;right:-22%;top:22%;z-index:0}.type-orbit i{position:absolute;inset:0;border:30px solid #191a18;border-radius:50%;transform:rotateY(50deg) rotateZ(30deg)}.type-orbit i:nth-child(2){transform:rotateY(50deg) rotateZ(90deg);border-color:#ed432b}.type-orbit i:nth-child(3){transform:rotateY(50deg) rotateZ(150deg)}.is-inview .type-orbit{animation:type-orbit 24s linear infinite}@keyframes type-orbit{to{transform:rotate(360deg)}}
.editorial-board{background:#b2c6bf;color:var(--ink);aspect-ratio:.92;min-height:0}.editorial-scene{position:absolute;inset:15% 7% 10%;perspective:900px}.editorial-sheet{position:absolute;width:61%;height:85%;padding:20px;box-shadow:15px 24px 25px #1a2b2330;overflow:hidden}.editorial-sheet>span{font-size:7px;letter-spacing:.08em;line-height:1.6;position:relative;z-index:2}.sheet-one{background:var(--paper);z-index:3;left:0;top:9%;transform:rotate(-11deg) rotateY(10deg)}.sheet-two{background:var(--ink);color:var(--paper);right:0;top:0;transform:rotate(12deg) rotateY(-10deg)}.editorial-sheet strong{display:block;font-size:clamp(35px,4.8vw,86px);font-weight:500;letter-spacing:-.07em;line-height:.92;position:absolute;left:20px;bottom:50px;z-index:2}.editorial-sheet strong em{font-size:1.2em}.editorial-sheet small{position:absolute;left:20px;bottom:18px;font-size:6px;letter-spacing:.08em}.sheet-two b{display:block;font-weight:400;font-family:var(--serif);font-size:clamp(45px,6vw,100px);line-height:.85;letter-spacing:-.055em;margin-top:20px}.sheet-disc{position:absolute;width:90%;aspect-ratio:1;background:var(--red);border-radius:50%;right:-35%;bottom:10%;box-shadow:-12px 0 #eae9e1,-24px 0 #ed432b,-36px 0 #eae9e1}.cutout{position:absolute;right:-5%;top:17%;width:65%;aspect-ratio:1;transform:rotate(-23deg)}.cutout i{position:absolute;inset:0;background:var(--red);border-radius:70% 30% 60% 40%;transform:translateX(calc(var(--n,0)*7px));mix-blend-mode:multiply}.cutout i:nth-child(2){transform:rotate(36deg)}.cutout i:nth-child(3){transform:rotate(72deg)}.cutout i:nth-child(4){transform:rotate(108deg)}.cutout i:nth-child(5){transform:rotate(144deg)}
.is-inview .sheet-one{animation:sheet-one 8s ease-in-out infinite}.is-inview .sheet-two{animation:sheet-two 8s ease-in-out infinite}@keyframes sheet-one{50%{transform:rotate(-4deg) rotateY(-8deg) translateY(-12px)}}@keyframes sheet-two{50%{transform:rotate(17deg) rotateY(8deg) translateY(8px)}}
.kinetic-message{background:var(--red);color:var(--ink);overflow:clip;padding-block:35px}.kinetic-message-track{display:flex;width:max-content;will-change:transform}.kinetic-message-track>span{font-size:clamp(70px,11.5vw,190px);font-weight:500;letter-spacing:-.065em;line-height:1.1;display:flex;gap:60px;align-items:center;white-space:nowrap;padding-right:60px}.kinetic-message-track svg{width:1em;height:.8em}.kinetic-message.is-inview .kinetic-message-track{animation:kinetic-marquee 24s linear infinite}@keyframes kinetic-marquee{to{transform:translateX(-50%)}}
.archive-heading{display:grid;grid-template-columns:.8fr 2.2fr 1fr;gap:35px;align-items:end;margin-bottom:60px}.archive-heading>.eyebrow{align-self:start}.archive-heading h2{font-size:clamp(50px,6vw,105px)}.archive-heading p{margin-top:24px;font-size:15px;line-height:1.6}.archive-heading>.text-link{justify-self:end}.archive-grid{border-top:1px solid var(--line)}.archive-row{border-bottom:1px solid var(--line)}.archive-row>a{display:grid;grid-template-columns:60px 1fr 150px 40px;align-items:center;gap:24px;padding-block:32px;position:relative;isolation:isolate;transition:padding-inline .5s var(--ease-out),color .35s}.archive-row>a::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease-out)}.archive-row>a:hover::before,.archive-row>a:focus-visible::before{transform:scaleY(1)}.archive-row>a:hover{padding-inline:22px}.archive-no,.archive-category{font-size:11px}.archive-row h3{font-size:clamp(24px,2.7vw,47px);font-weight:400;letter-spacing:-.045em;line-height:1.15}.archive-summary{display:block;font-size:12px;margin-top:8px;color:var(--muted)}.archive-row>a:hover .archive-summary{color:var(--ink)}.archive-row .arrow-icon{width:32px;height:32px;transition:rotate .5s}.archive-row>a:hover .arrow-icon{rotate:45deg}.archive-section{padding-block:100px}
.practice-section{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;border-top:1px solid var(--line)}.practice-heading h2{font-size:clamp(48px,5.5vw,100px);margin-top:50px}.practice-intro{font-size:clamp(24px,2.5vw,40px);line-height:1.2;letter-spacing:-.035em;margin-bottom:50px}.practice-content .service summary,.practice-content .service-body{grid-template-columns:30px 1fr 24px;gap:20px}.practice-content .service h3{font-size:26px}.practice-content .service-detail{grid-column:2}.service[open] .service-body{animation:service-open .4s var(--ease-out)}@keyframes service-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.site-footer{background:var(--red);color:var(--ink);padding-top:70px}.footer-invitation h2{font-size:clamp(80px,11vw,190px);font-weight:500;letter-spacing:-.075em}.footer-invitation h2 em{color:var(--ink)}.footer-cta{border-color:#191a1870}.footer-cta:hover{background:var(--ink);color:var(--paper)}.footer-middle,.footer-bottom{border-color:#191a1855}.footer-wordmark{font-family:var(--sans);font-weight:700;font-size:20.8vw;letter-spacing:-1.9vw;padding-block:48px 25px}.footer-wordmark span{font-size:1em;letter-spacing:inherit;vertical-align:baseline;margin:0;color:var(--ink)}.footer-bottom{font-size:11px}.motion-toggle::before{background:var(--ink)}.site-footer :focus-visible{outline-color:var(--ink)}
.interior-hero{padding-top:65px}.interior-hero h1{font-weight:500}.v2-interior{padding-block:70px 90px}.v2-interior h1{font-size:clamp(70px,8.5vw,155px);line-height:1.03}.studio-original-art{padding:0 var(--gutter)}.studio-original-art .identity-board{aspect-ratio:1.9}.studio-details{padding-block:120px}.studio-details h2{font-size:clamp(60px,7vw,115px)}.shop-note{background:var(--ink);color:var(--paper);padding-block:80px}.shop-note .pill-button{background:var(--red);color:var(--ink)}.case-hero h1{font-weight:500}.case-cover{max-width:900px}.case-cover img{background:#d9dad0}.contact-hero h1>.spark{color:var(--red)}.pill-button{border-radius:0;background:var(--ink);color:var(--paper)}.filter{border-radius:0}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper)}.work-tools{border-color:var(--line)}
/* Pause every continuous scene when it is outside the viewport or page is hidden. */
[data-animate]:not(.is-inview) *,body.is-page-hidden [data-animate] *{animation-play-state:paused!important}
html[data-motion=off] [data-word]{--fill:100%!important}html[data-motion=off] .title-row>span{transform:none}html[data-motion=off] .identity-layer{animation:none!important}
@media(min-width:1100px){.avant-hero{--hero-shift:0px}.avant-title{translate:0 var(--hero-shift)}.study-motion{margin-top:0}.study-editorial{margin-top:120px}.exhibition-studies{column-gap:50px}}
@media(max-width:1099px){.avant-stage{min-height:580px}.avant-title{font-size:13vw}.sculpture-stage{width:69%;right:-10%;top:-2%;height:105%}.hero-side-note{top:20px}.exhibition-heading,.archive-heading{grid-template-columns:1fr 2fr}.exhibition-heading p,.archive-heading>.text-link{grid-column:2;justify-self:start}.identity-board{min-height:430px}.board-wordmark{font-size:14vw}.manifesto{min-height:750px}.practice-section{gap:5%}.practice-content .service h3{font-size:23px}}
@media(max-width:700px){
:root{--gutter:22px}.site-header{height:75px;padding-block:14px}.brand{width:140px}.wordmark{font-size:31px;letter-spacing:-2.2px}.logo-dot{font-size:31px}.logo-subtitle{font-size:8px;margin-top:5px;letter-spacing:.25em}.menu-trigger{font-size:12px;gap:12px}.menu-lines{width:22px}.mobile-menu nav a{font-size:44px;padding-block:17px}.mobile-menu nav{margin-top:4vh}.mobile-menu .eyebrow{font-size:10px}
.avant-hero{min-height:calc(100svh - 75px)}.hero-meta{font-size:8px;letter-spacing:.08em;padding-top:18px;gap:25px}.hero-meta>span:last-child{max-width:135px;text-align:right}.avant-stage{min-height:510px;height:calc(100svh - 233px);max-height:720px}.avant-title{left:20px;top:33px;transform:none;font-size:14.9vw;line-height:1;letter-spacing:-.072em;z-index:3;width:calc(100% - 40px)}.title-row{padding-bottom:.05em}.mark-row{font-size:2.05em;letter-spacing:-.073em;position:absolute;top:300px;left:-2px;line-height:.95}.sculpture-stage{width:110%;height:425px;left:-5%;right:auto;top:44px;z-index:2}.sculpture-caption-v2{font-size:7px;right:8%;bottom:34%;color:#959b8a}.sculpture-fallback{inset:15% 20% 20%}.hero-side-note{left:22px;right:auto;top:auto;bottom:6px;font-size:10px;line-height:1.5}.hero-side-note .live-dot{margin-top:4px;width:5px;height:5px}.hero-side-note br{display:none}.hero-side-note span:last-child{display:flex;gap:4px}.avant-bottom{padding-block:18px 21px;gap:20px;align-items:center}.round-icon{width:38px;height:38px}.round-icon svg{width:19px;height:19px}.round-link{font-size:11px;gap:9px}.avant-bottom p{font-size:11px;line-height:1.5;width:49%;max-width:180px}.hero-coordinate{display:none}
.manifesto{min-height:0;padding-block:35px 60px}.manifesto-label{gap:15px}.manifesto-label .eyebrow{font-size:8px;max-width:160px}.manifesto-label .eyebrow:last-child{text-align:right;max-width:100px}.manifesto h2{font-size:12.8vw;line-height:1.07;letter-spacing:-.065em;margin-block:70px 55px}.manifesto-bottom{grid-template-columns:46px 1fr;gap:25px}.mini-mark{width:43px;align-self:start;margin-top:5px}.manifesto-bottom p{font-size:15px;line-height:1.6}.manifesto-bottom>.text-link{grid-column:2;justify-self:start;margin-top:2px}
.exhibition{padding-block:55px 60px}.exhibition-heading{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.exhibition-heading>.eyebrow{font-size:9px}.exhibition-heading h2{font-size:10vw;line-height:1.07;letter-spacing:-.055em}.exhibition-heading p{grid-column:auto;justify-self:start;font-size:12px}.exhibition-studies{grid-template-columns:1fr;gap:45px}.study-identity{grid-column:auto}.identity-board{aspect-ratio:.86;min-height:0;padding:18px}.board-registration{inset:16px 16px auto;font-size:6px;letter-spacing:.04em;gap:10px}.identity-form{inset:14% -30% 20%}.identity-layer{width:43%}.board-wordmark{font-size:16vw;left:5%;bottom:18%;letter-spacing:-.085em}.board-bottom{inset:auto 16px 16px;font-size:7px;gap:12px}.study-caption{padding-top:16px;display:block}.study-caption span{font-size:8px}.study-caption h3{font-size:24px;line-height:1.1;margin-top:8px}.study-caption p{font-size:11px;margin-top:9px;text-align:left;max-width:none}.type-board,.editorial-board{aspect-ratio:.91;padding:18px}.type-stack-line{font-size:19vw;line-height:.84}.type-orbit i{border-width:19px}.editorial-sheet{padding:12px}.editorial-sheet>span{font-size:5px}.editorial-sheet strong{left:12px;bottom:38px;font-size:10vw}.editorial-sheet small{left:12px;bottom:13px;font-size:4px}.sheet-two b{font-size:12vw;margin-top:20px}.sheet-disc{box-shadow:-8px 0 #eae9e1,-16px 0 #ed432b,-24px 0 #eae9e1}.editorial-scene{inset:17% 7% 9%}
.kinetic-message{padding-block:22px}.kinetic-message-track>span{font-size:17vw;gap:25px;padding-right:25px}.kinetic-message.is-inview .kinetic-message-track{animation-duration:30s}
.home-archive{padding-block:60px}.archive-heading{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.archive-heading>.eyebrow{font-size:9px}.archive-heading h2{font-size:14vw}.archive-heading p{font-size:14px;margin-top:22px}.archive-heading>.text-link{grid-column:auto;justify-self:start}.archive-row>a{grid-template-columns:23px 1fr 25px;gap:11px;padding-block:24px}.archive-row h3{font-size:24px;line-height:1.12;letter-spacing:-.045em}.archive-no{font-size:9px;align-self:start;margin-top:5px}.archive-summary{font-size:11px;margin-top:8px;line-height:1.5}.archive-category{display:none}.archive-row .arrow-icon{width:22px;height:22px}.archive-row>a:hover{padding-inline:0}.archive-section{padding-block:60px}.work-tools{margin-bottom:20px}.filter{font-size:12px;padding:11px}
.practice-section{grid-template-columns:1fr;gap:38px;padding-block:60px}.practice-heading .eyebrow{font-size:9px}.practice-heading h2{font-size:14vw;margin-top:28px}.practice-intro{font-size:25px;line-height:1.25;margin-bottom:33px}.practice-content .service summary,.practice-content .service-body{grid-template-columns:18px 1fr 18px;gap:11px}.practice-content .service h3{font-size:24px}.service-detail p{font-size:15px}
.site-footer{padding-top:42px}.footer-invitation{align-items:end;padding-bottom:35px;gap:10px}.footer-invitation .eyebrow{font-size:9px}.footer-invitation h2{font-size:18vw;line-height:.94}.footer-cta{width:65px;min-width:65px}.footer-cta svg{width:30px;height:30px}.footer-wordmark{font-size:20.4vw;letter-spacing:-1.85vw;padding-block:35px 28px}.footer-wordmark span{font-size:1em}.footer-email{font-size:clamp(14px,4.15vw,18px)}.footer-socials{font-size:12px}.footer-bottom{font-size:10px}.footer-bottom a,.motion-toggle{font-size:11px}
.v2-interior{padding-block:43px 55px}.v2-interior h1{font-size:15.5vw;line-height:1.04;letter-spacing:-.065em}.v2-interior>.eyebrow{font-size:9px;margin-bottom:30px}.studio-original-art{padding-inline:var(--gutter)}.studio-original-art .identity-board{aspect-ratio:.86}.studio-details{padding-block:65px}.studio-details h2{font-size:14vw}.studio-details p{font-size:16px}.shop-note{padding-block:45px;margin-bottom:0}.contact-hero h1>.spark{width:17vw}.contact-intro p{font-size:16px}.case-hero{padding-top:22px}.case-hero h1{font-size:14vw}.case-category{font-size:10px}.interior-description p{font-size:16px}.case-attribution p{font-size:14px}.source-register a{min-height:44px}
}
@media(max-width:374px){.avant-stage{min-height:475px}.mark-row{top:280px}.sculpture-stage{top:36px;height:395px}.hero-meta{font-size:7px}.avant-bottom{gap:10px}.round-link{font-size:10px}.avant-bottom p{font-size:10px}.archive-row h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.manifesto h2>span{--fill:100%!important}.title-row>span{transform:none}.avant-title{translate:none!important}.identity-layer{animation:none!important}}
}
@layer v2 {
.identity-board{background:var(--board-bg,var(--red));color:var(--board-ink,var(--ink));transition:background .7s,color .7s}
.identity-layer{color:var(--board-ink,var(--ink))}.identity-layer:nth-child(even){color:var(--board-paper,var(--paper))}
.identity-controls{position:absolute;z-index:6;right:24px;bottom:85px;display:flex;gap:5px;padding:5px;border:1px solid currentColor;border-radius:50px;background:var(--board-paper,var(--paper));color:var(--board-ink,var(--ink))}
.identity-controls button{width:32px;height:32px;border-radius:50%;background:var(--swatch);border:4px solid transparent;background-clip:padding-box;position:relative}
.identity-controls button[aria-pressed=true]{outline:1px solid currentColor;outline-offset:-1px}.identity-controls button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.route-cut{position:fixed;inset:0;pointer-events:none;display:grid;grid-template-columns:repeat(4,1fr);z-index:1000;visibility:hidden}.route-cut i{background:var(--red);transform:translateY(101%);transition:transform .28s cubic-bezier(.7,0,.2,1);margin-left:-1px}.route-cut i:nth-child(2){transition-delay:20ms}.route-cut i:nth-child(3){transition-delay:40ms}.route-cut i:nth-child(4){transition-delay:60ms}.route-cut.is-cutting{visibility:visible}.route-cut.is-cutting i{transform:translateY(0)}
@media(max-width:700px){.identity-controls{right:14px;bottom:71px;padding:3px;gap:2px}.identity-controls button{width:36px;height:36px;border-width:7px}.route-cut i{transition-duration:.22s}}
}
@layer v2 {
:root{--ink:#171816}
.sculpture-stage[data-kinetic-ready="true"] canvas{opacity:1}
.sculpture-stage[data-kinetic-ready="true"] .sculpture-fallback{opacity:0;visibility:hidden}
}
@layer v2 {
.manifesto h2>span{padding-bottom:.13em;margin-bottom:-.04em;line-height:1.03}
.identity-form{inset:-8% 0 28%}
.board-wordmark{font-size:11vw;bottom:14%}
@media(max-width:700px){.identity-form{inset:-2% -30% 35%}.board-wordmark{font-size:15.8vw;bottom:18%}}
}
@layer v2 {
@media(hover:hover) and (pointer:fine) and (min-width:900px){.sculpture-stage{pointer-events:auto}}
}
@layer v2 {
.archive-row>a:focus-visible .archive-summary{color:var(--ink)}
.identity-controls{bottom:24px}.identity-board .board-bottom>span:last-child{visibility:hidden}
@media(max-width:700px){.identity-controls{bottom:16px;right:14px}.hero-side-note{font-size:11px;bottom:12px}.hero-side-note br{display:block}.hero-side-note span:last-child{display:block}.hero-meta{font-size:9px}.avant-bottom p{font-size:12px}.round-link{font-size:12px}.mark-row{top:345px}.sculpture-stage{top:37px;height:395px}}
@media(max-width:374px){.mark-row{top:315px}.sculpture-stage{top:40px;height:360px}.hero-meta{font-size:8px}.avant-bottom p,.round-link{font-size:11px}}
}
@layer v2 {
.contact-mark{position:absolute;right:2%;top:15%;width:12vw;max-width:220px;color:var(--red);transform:rotate(-12deg)}
@media(max-width:700px){.contact-mark{width:18vw;right:0;top:15%}}
}
@layer v2 {@media(max-width:700px){.identity-controls button{width:44px;height:44px;border-width:10px}.identity-controls{padding:2px;gap:0}}}
@layer v2 {.work-archive-v2{padding-bottom:110px}.work-archive-v2 .work-tools{margin-bottom:0;border-bottom:0}@media(max-width:700px){.work-archive-v2{padding-bottom:65px}}}
@layer v2 {.studio-original-art .identity-board{width:100%;min-height:0}}

/* A single motion language carried through the entire studio. */
@layer v2 {
.motion-word{display:inline-block;overflow:clip;vertical-align:top;padding:.035em .035em .18em;margin:-.035em -.035em -.18em;line-height:inherit}
.motion-word-inner{display:inline-block;transform-origin:0 100%;line-height:inherit}
.case-image-stage{position:relative;overflow:hidden}.case-image-stage picture,.case-image-stage>a{display:block}
.case-image-matte{position:absolute;inset:0;background:var(--red);transform:scaleY(0);transform-origin:50% 0;pointer-events:none}
.motion-rule{position:relative}.motion-rule::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:currentColor;opacity:.22;pointer-events:none;transform-origin:0 50%}
.rule-arrived::before{animation:rule-draw .9s var(--ease-out) both}@keyframes rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.archive-hero{position:relative}.archive-signal{position:absolute;right:var(--gutter);top:75px;width:24vw;max-width:385px;aspect-ratio:1;display:grid;place-items:center;color:var(--red);isolation:isolate}
.archive-signal svg{position:absolute;width:65%;opacity:.14;transform:rotate(-15deg)}.archive-signal strong{font-size:clamp(90px,15vw,250px);letter-spacing:-.095em;font-weight:500;line-height:.9}.archive-signal small{font-size:9px;letter-spacing:.13em;position:absolute;bottom:8%;color:var(--ink)}
.archive-signal.is-inview svg{animation:archive-mark 12s ease-in-out infinite}@keyframes archive-mark{50%{transform:rotate(15deg) scale(1.15)}}
.archive-hero h1{max-width:70%}
.next-project{position:relative;overflow:hidden;isolation:isolate;transition:color .25s}.next-project::before{content:"";position:absolute;inset:0;background:var(--red);z-index:-1;transform:translateY(101%);transition:transform .4s var(--ease-out)}.next-project:hover::before,.next-project:focus-visible::before{transform:translateY(0)}.next-project:hover{background:var(--soft)}.next-project>.arrow-icon{transition:transform .4s var(--ease-out)}.next-project:hover>.arrow-icon{transform:translate(8px,-8px)}
.field input,.field textarea{background-image:linear-gradient(var(--red),var(--red));background-repeat:no-repeat;background-position:0 100%;background-size:0% 2px;transition:background-size .28s var(--ease-out)}.field input:focus,.field textarea:focus{background-size:100% 2px}
.interest-options label>span{border-radius:0;transition:background .22s,color .22s,transform .22s var(--ease-out)}.interest-options input:checked+span{animation:chip-select .25s var(--ease-out)}@keyframes chip-select{50%{transform:scale(.96)}}
[data-copy-email][data-copied=true]::after{content:" ✓";display:inline-block;animation:copied-check .3s var(--ease-out)}@keyframes copied-check{from{transform:translateY(5px) scale(.6);opacity:0}to{transform:none;opacity:1}}
.pill-button,.header-contact,.text-button{transition:background .2s,color .2s,transform .2s var(--ease-out)}.pill-button:active,.header-contact:active{transform:scale(.98)}
.filter-group{position:relative}.filter{position:relative;transition:background .18s,color .18s}.filter::after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:0 50%;transition:transform .28s var(--ease-out)}.filter[aria-pressed=true]::after{transform:scaleX(1)}
@media(max-width:900px){.archive-signal{top:55px;width:25vw}.archive-signal strong{font-size:17vw}.archive-hero h1{max-width:74%}}
@media(max-width:700px){.archive-signal{position:relative;top:auto;right:auto;width:100%;max-width:none;aspect-ratio:auto;height:125px;display:flex;justify-content:space-between;margin-top:30px;border-top:1px solid var(--line)}.archive-signal strong{font-size:92px;letter-spacing:-.09em}.archive-signal svg{width:80px;right:30px;opacity:.8}.archive-signal small{position:static;margin:auto auto 25px 24px;max-width:120px;font-size:9px;line-height:1.5}.archive-hero h1{max-width:none}.archive-hero{padding-bottom:25px}.next-project>.arrow-icon{width:42px;min-width:42px;height:42px}.rule-arrived::before{animation-duration:.45s}}
html[data-motion=off] .motion-word-inner,html[data-motion=off] .footer-brand-signature{transform:none!important}
html[data-motion=off] .case-image-matte{transform:scaleY(0)!important}
html[data-motion=off] .archive-signal svg,html[data-motion=off] .rule-arrived::before,html[data-motion=off] .interest-options input:checked+span{animation:none!important}
@media(prefers-reduced-motion:reduce){.motion-word-inner,.footer-brand-signature{transform:none!important}.case-image-matte{transform:scaleY(0)!important}.archive-signal svg,.rule-arrived::before,.interest-options input:checked+span{animation:none!important}}
}
@layer v2 {
.capability-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.5fr);gap:8%;align-items:start;padding-bottom:70px}
.capability-layout .capability-instrument{position:sticky;top:110px;max-width:none;width:100%}
.capability-layout .service summary,.capability-layout .service-body{grid-template-columns:35px minmax(0,1fr) 25px;gap:20px}.capability-layout .service-detail{grid-column:2;max-width:none}.capability-layout .service h3{font-size:clamp(25px,2.8vw,46px)}
@media(max-width:700px){.capability-layout{grid-template-columns:1fr;gap:32px;padding-bottom:30px}.capability-layout .capability-instrument{position:relative;top:0;max-width:none}.capability-layout .service summary,.capability-layout .service-body{grid-template-columns:20px minmax(0,1fr) 20px;gap:10px}.capability-layout .service h3{font-size:24px}}
}
@layer v2 {
.capability-layout .capability-instrument--inline{display:none}
@media(max-width:700px){.capability-layout.has-inline-instruments>.capability-instrument{display:none}.capability-layout .capability-instrument--inline{display:block;margin-top:24px;position:relative;top:0;width:100%;aspect-ratio:1.1}.capability-instrument--inline .capability-instrument__caption{grid-template-columns:1fr;font-size:9px;padding:11px}.capability-instrument--inline .capability-instrument__index{display:none}}
}

@layer v2 {
.capability-instrument{
  --ci-carbon:#171816;
  --ci-porcelain:#eae9e1;
  --ci-vermilion:#ed432b;
  --ci-acid:#d4ef54;
  position:relative;
  width:min(100%,400px);
  aspect-ratio:5/6;
  margin:0;
  overflow:hidden;
  background:var(--ci-carbon);
  color:var(--ci-porcelain);
  isolation:isolate;
}
.capability-instrument__art,
.capability-instrument__art svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.capability-instrument__art svg{overflow:hidden}
.ci-ground{fill:var(--ci-carbon)}
.ci-registration{fill:none;stroke:rgba(234,233,225,.42);stroke-width:1}
.ci-registration text{fill:rgba(234,233,225,.58);stroke:none;font:600 7px/1 Manrope,Arial,sans-serif;letter-spacing:1.15px}
.ci-state{
  opacity:0;
  transform:translate3d(0,14px,0) scale(.97);
  transform-origin:200px 240px;
  transition:opacity 300ms ease,transform 460ms cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
[data-capability-instrument][data-mode="0"] .ci-state--identity,
[data-capability-instrument][data-mode="1"] .ci-state--campaign,
[data-capability-instrument][data-mode="2"] .ci-state--experience,
[data-capability-instrument][data-mode="3"] .ci-state--digital{opacity:1;transform:none}
.ci-state-note{fill:var(--ci-porcelain);font:650 8px/1 Manrope,Arial,sans-serif;letter-spacing:1.8px}

/* 01 — a layered M assembled from distinct but interlocking planes. */
.ci-identity-shadow{fill:none;stroke:rgba(234,233,225,.2);stroke-width:1;transform:translate(9px,9px)}
.ci-m-outline{fill:var(--ci-porcelain)}
.ci-m-left{fill:var(--ci-vermilion)}
.ci-m-right{fill:var(--ci-porcelain)}
.ci-m-cut{fill:var(--ci-carbon)}
.ci-live--identity circle{fill:var(--ci-acid)}
.ci-live--identity path{fill:none;stroke:var(--ci-carbon);stroke-width:1.5}

/* 02 — one message moves through a skewed campaign sheet. */
.ci-campaign-sheet{transform-origin:200px 235px}
.ci-campaign-red{fill:var(--ci-vermilion)}
.ci-campaign-paper{fill:var(--ci-porcelain)}
.ci-type{font:800 52px/.8 Manrope,Arial,sans-serif;letter-spacing:-3px}
.ci-type--dark{fill:var(--ci-carbon)}
.ci-type--light{fill:var(--ci-porcelain)}
.ci-type--matter{font-size:42px;letter-spacing:-2.5px}
.ci-campaign-target{fill:none;stroke:var(--ci-acid);stroke-width:2;transform-origin:323px 330px}
.ci-campaign-target circle:first-child{stroke-dasharray:14 8}

/* 03 — physical panels part to create an experience at the centre. */
.ci-frame-field{fill:var(--ci-vermilion)}
.ci-frame-left,.ci-frame-right{fill:var(--ci-carbon)}
.ci-frame-line{fill:none;stroke:var(--ci-porcelain);stroke-width:1}
.ci-frame-sun{fill:var(--ci-acid)}
.ci-frame-cross{fill:none;stroke:var(--ci-carbon);stroke-width:1}
.ci-frame-word{fill:var(--ci-carbon);font:800 13px/1 Manrope,Arial,sans-serif;letter-spacing:2.2px}

/* 04 — modular screen panels snap to a shared system. */
.ci-digital-grid{transform-origin:200px 229px}
.ci-panel--a{fill:var(--ci-vermilion)}
.ci-panel--b{fill:var(--ci-porcelain)}
.ci-panel--c{fill:var(--ci-porcelain)}
.ci-panel--d{fill:var(--ci-acid)}
.ci-panel-mark{fill:var(--ci-carbon)}
.ci-panel-orbit{fill:none;stroke:var(--ci-carbon);stroke-width:8;stroke-dasharray:34 12}
.ci-panel-copy{fill:var(--ci-carbon)}
.ci-panel-axis{fill:none;stroke:var(--ci-carbon);stroke-width:5}
.ci-digital-route{fill:none;stroke:rgba(234,233,225,.38);stroke-width:1;stroke-dasharray:3 7}
.ci-digital-cursor{fill:var(--ci-vermilion);stroke:var(--ci-carbon);stroke-width:2;transform-origin:334px 332px}

.capability-instrument__caption{
  position:absolute;
  z-index:2;
  inset:auto 0 0;
  min-height:58px;
  display:grid;
  grid-template-columns:52px 1fr;
  align-items:center;
  gap:14px;
  padding:12px 18px;
  border-top:1px solid rgba(234,233,225,.24);
  background:rgba(23,24,22,.94);
  color:var(--ci-porcelain);
  font:650 11px/1.35 Manrope,Arial,sans-serif;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.capability-instrument__index{color:rgba(234,233,225,.58)}
.capability-instrument__index::before{content:"01 "}
[data-mode="1"] .capability-instrument__index::before{content:"02 "}
[data-mode="2"] .capability-instrument__index::before{content:"03 "}
[data-mode="3"] .capability-instrument__index::before{content:"04 "}

/* Ambient motion is modest, and only the visible active study is allowed to run. */
.is-inview[data-mode="0"] .ci-live--identity{animation:ci-register 3.8s ease-in-out infinite}
.is-inview[data-mode="1"] .ci-live--campaign{animation:ci-target 4.8s linear infinite}
.is-inview[data-mode="2"] .ci-live--experience{animation:ci-open 4.5s ease-in-out infinite}
.is-inview[data-mode="3"] .ci-live--digital{animation:ci-cursor 3.4s ease-in-out infinite}
@keyframes ci-register{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes ci-target{to{transform:rotate(360deg)}}
@keyframes ci-open{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.94)}}
@keyframes ci-cursor{0%,65%,100%{transform:translate(0,0)}35%{transform:translate(-12px,-10px)}}

@media (max-width:700px){
  .capability-instrument{width:100%;max-width:346px;aspect-ratio:346/300}
  .capability-instrument__art svg{inset:-1px 0 0;height:calc(100% + 2px)}
  .ci-registration text{display:none}
  .ci-state-note{font-size:9px}
  .capability-instrument__caption{min-height:52px;grid-template-columns:42px 1fr;padding:9px 14px;font-size:10px}
}

html[data-motion="off"] .capability-instrument .ci-state,
html[data-motion="off"] .capability-instrument .ci-live{transition:none!important;animation:none!important}
@media (prefers-reduced-motion:reduce){
  .capability-instrument .ci-state,
  .capability-instrument .ci-live{transition:none!important;animation:none!important}
}
/* The instrument uses Monalisa's own rounded M, continuous with the master identity. */
.ci-rounded-m path{fill:none;stroke-width:26;stroke-linecap:square}
.ci-rounded-m .ci-identity-shadow{stroke:#eae9e1;opacity:.85;transform:translate(5px,6px)}
.ci-rounded-m .ci-identity-mark{stroke:#ed432b}
.is-inview[data-mode="0"] .ci-rounded-m .ci-identity-shadow{animation:ci-m-depth 7s ease-in-out infinite}
@keyframes ci-m-depth{50%{transform:translate(11px,11px)}}
@media(max-width:700px){.ci-state-note{display:none}}
html[data-motion="off"] .ci-rounded-m *{animation:none!important}
@media(prefers-reduced-motion:reduce){.ci-rounded-m *{animation:none!important}}

}

@layer v2 {
  .case-study{overflow:clip}
  .case-artwork{position:relative}
  .case-cover{max-width:1180px;margin-inline:auto;overflow:visible;view-transition-name:project-image}
  .case-media{min-width:0;margin:0;scroll-margin-top:45px}
  .case-media img,.case-media video{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#d9dad0}
  .case-media video{max-height:88vh;background:var(--ink)}
  .case-media-open{display:block;position:relative;cursor:zoom-in;overflow:clip}
  .case-media-open::after{content:"VIEW";position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:56px;aspect-ratio:1;border-radius:50%;background:var(--paper);color:var(--ink);font-size:9px;letter-spacing:.08em;opacity:0;transform:translateY(9px);transition:opacity .25s,transform .35s var(--ease-out),background .25s}
  .case-media-open:hover::after,.case-media-open:focus-visible::after{opacity:1;transform:none}
  .case-media-open:hover::after{background:var(--red)}
  .case-media figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 20px;margin-top:13px;font-size:11px;line-height:1.55;color:var(--muted)}
  .case-media figcaption a{text-decoration:underline;text-underline-offset:4px;min-height:30px;display:inline-flex;align-items:center}
  .case-cover figcaption{padding-bottom:0}
  .case-overview{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(430px,1.25fr);gap:clamp(50px,9vw,150px);align-items:start;border-bottom:1px solid var(--line)}
  .case-overview-title{position:sticky;top:30px}
  .case-overview-title h2{margin-top:28px;font-size:clamp(55px,6vw,104px)}
  .case-overview-copy>p{font-size:16px;line-height:1.75;max-width:720px;color:var(--muted);margin-top:23px}
  .case-overview-copy>.case-summary{font-size:clamp(25px,2.2vw,38px);line-height:1.3;letter-spacing:-.035em;color:var(--ink);margin-top:0}
  .case-editorial{display:grid;grid-template-columns:minmax(145px,.25fr) minmax(0,1fr);gap:clamp(35px,6vw,95px);padding-block:95px 120px}
  .case-editorial--no-index{grid-template-columns:minmax(0,1fr)}
  .case-media-overview{padding-block:65px}
  .case-media-overview .case-media-index{position:static;max-width:250px;max-height:none;overflow:visible}
  .case-media-index{position:sticky;top:30px;align-self:start;max-height:calc(100vh - 60px);overflow:auto;padding-right:12px}
  .case-media-tally{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .case-media-tally>span{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:10px}
  .case-media-tally small{font-size:8px;line-height:1.35;letter-spacing:.06em;color:var(--muted)}
  .case-media-tally strong{font-size:28px;line-height:1;font-weight:500;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
  .case-media-index ol{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
  .case-media-index li{border-bottom:1px solid var(--line)}
  .case-media-index a{display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:start;padding:12px 0;font-size:10px;line-height:1.45;color:var(--muted);transition:color .2s}
  .case-media-index a span{color:var(--ink);font-variant-numeric:tabular-nums}
  .case-media-index a:hover,.case-media-index a:focus-visible{color:var(--ink)}
  .case-story{display:grid;gap:clamp(70px,9vw,145px);min-width:0}
  .case-media-index + .case-story{grid-column:2}
  .case-media-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.5vw,42px);align-items:start}
  .case-media-pair .case-media:nth-child(even){margin-top:clamp(50px,9vw,145px)}
  .case-media-sequence{display:grid;gap:32px}
  .case-media-sequence--single .case-media{width:min(100%,1040px)}
  .case-media-sequence--single .case-media--portrait{width:min(67%,700px);margin-inline:auto}
  .case-story-copy{display:grid;grid-template-columns:minmax(120px,.38fr) minmax(300px,1fr);gap:40px;padding-block:28px;border-block:1px solid var(--line)}
  .case-story-copy>div{max-width:760px}
  .case-story-copy h2{font-size:clamp(38px,4.2vw,72px);margin-bottom:26px}
  .case-story-copy p{font-size:clamp(18px,1.65vw,27px);line-height:1.55;letter-spacing:-.018em;margin-top:17px}
  .case-story-copy--context{background:var(--soft);padding-inline:clamp(22px,4vw,60px);margin-inline:calc(var(--gutter) * -1)}
  .case-inline-sources{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:28px}
  .case-inline-sources a{display:inline-flex;align-items:center;gap:8px;font-size:11px;text-decoration:underline;text-underline-offset:4px;min-height:38px}
  .case-inline-sources svg{width:16px;height:16px}
  .case-presentation-archive{padding-block:0 110px}
  .case-presentation-archive details{border-block:1px solid var(--line)}
  .case-presentation-archive summary{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:112px;padding-block:24px;cursor:pointer;list-style:none}
  .case-presentation-archive summary::-webkit-details-marker{display:none}
  .case-presentation-archive summary>span:first-child{display:grid;gap:12px}
  .case-presentation-archive summary strong{font-size:clamp(24px,3vw,46px);font-weight:500;letter-spacing:-.045em;line-height:1.1}
  .archive-toggle{display:grid;place-items:center;width:48px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;font-size:25px;line-height:1;transition:rotate .3s var(--ease-out),background .2s}
  .case-presentation-archive details[open] .archive-toggle{rotate:45deg;background:var(--red);border-color:var(--red)}
  .case-archive-intro{display:grid;grid-template-columns:1fr 2fr;padding:12px 0 42px}
  .case-archive-intro p{grid-column:2;max-width:630px;font-size:14px;line-height:1.65;color:var(--muted)}
  .case-archive-group{padding-bottom:65px}
  .case-archive-group h3{font-size:12px;line-height:1.5;letter-spacing:.04em;margin-bottom:18px}
  .case-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 18px}
  .case-media--archive .case-media-open{display:grid;place-items:center;aspect-ratio:1;background:var(--soft)}
  .case-media--archive img{width:100%;height:100%;max-height:100%;object-fit:contain;background:transparent}
  .case-media--archive .case-media-open::after{width:40px;right:9px;bottom:9px;font-size:8px}
  .case-media--archive figcaption{display:grid;justify-content:stretch;gap:3px;margin-top:9px;font-size:9px;line-height:1.45}
  .case-media--archive figcaption a{font-size:9px;min-height:28px}
  .case-external-context{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(420px,1.25fr);gap:clamp(40px,9vw,145px);padding-block:95px;background:var(--ink);color:var(--paper)}
  .case-external-context h2{font-size:clamp(48px,6vw,100px);margin-bottom:35px}
  .case-external-context p{max-width:760px;font-size:17px;line-height:1.75;color:#d7d7cf;margin-top:18px}
  .case-external-context .case-inline-sources a{color:var(--paper)}
  .case-attribution{border-top:1px solid var(--line)}
  .case-source-links{display:grid;margin-top:25px;border-top:1px solid var(--line)}
  .case-source-links a{display:grid;grid-template-columns:1fr 22px;align-items:center;gap:20px;min-height:62px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.45}
  .case-source-links a>span{display:grid;gap:4px}
  .case-source-links small{text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:var(--muted)}
  .case-source-links svg{width:19px;height:19px}
  html.case-viewer-open{overflow:hidden;scroll-behavior:auto}
  html.case-viewer-open body{position:fixed;top:var(--case-viewer-scroll-y,0);left:0;right:0;overflow:hidden}
  .case-viewer:not([open]){display:none}
  .case-viewer{position:fixed;inset:0;z-index:120;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border:0;background:var(--ink);color:var(--paper);overflow:hidden}
  .case-viewer::backdrop{background:var(--ink)}
  .case-viewer-bar{display:flex;justify-content:space-between;align-items:center;height:42px;border-bottom:1px solid #ffffff42;font-size:11px;letter-spacing:.05em}
  .case-viewer-bar button{min-height:42px;padding:5px 0 5px 20px;background:transparent;color:inherit;font-size:12px}
  .case-viewer-stage{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;height:calc(100% - 74px);gap:16px}
  .case-viewer-stage figure{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;height:100%;min-width:0;min-height:0;padding-block:16px 8px}
  .case-viewer-stage img{display:block;max-width:100%;max-height:100%;min-height:0;width:auto;height:auto;object-fit:contain}
  .case-viewer-stage figcaption{justify-self:start;max-width:820px;font-size:11px;line-height:1.45;color:#c5c6be;margin-top:8px}
  .case-viewer-nav{width:54px;aspect-ratio:1;border:1px solid #ffffff55;border-radius:50%;background:transparent;color:inherit;font-size:21px;transition:background .2s,color .2s}
  .case-viewer-nav:hover{background:var(--red);color:var(--ink)}
  .case-viewer-nav[disabled]{visibility:hidden}
  .case-viewer-project{display:block;height:30px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#bcbdb5}
}

@layer v2 {
  @media(max-width:900px){
    .case-overview{grid-template-columns:1fr;gap:35px}
    .case-overview-title{position:static}
    .case-story-copy,.case-external-context{grid-template-columns:minmax(0,1fr);gap:28px}
  }
  @media(max-width:700px){
    .case-cover{max-width:none}
    .case-media-open::after{display:none}
    .case-media figcaption{font-size:11px;line-height:1.55;margin-top:10px;gap:2px 12px}
    .case-overview{grid-template-columns:1fr;gap:28px;padding-block:58px}
    .case-overview-title{position:static}
    .case-overview-title h2{font-size:14vw;margin-top:18px}
    .case-overview-copy>.case-summary{font-size:23px;line-height:1.35}
    .case-overview-copy>p{font-size:14px;line-height:1.7;margin-top:19px}
    .case-editorial{display:block;padding-block:60px 70px}
    .case-media-index{position:static;max-height:none;padding:0;margin-bottom:55px}
    .case-media-tally{max-width:240px}
    .case-media-index ol{display:flex;overflow-x:auto;scrollbar-width:none;gap:7px;border:0;margin-top:15px;padding-bottom:5px}
    .case-media-index ol::-webkit-scrollbar{display:none}
    .case-media-index li{border:0;flex:0 0 auto}
    .case-media-index a{display:flex;gap:6px;align-items:center;border:1px solid var(--line);padding:9px 12px;max-width:190px;min-height:42px}
    .case-story{gap:75px}
    .case-media-pair{grid-template-columns:1fr;gap:52px}
    .case-media-pair .case-media:nth-child(even){margin-top:0}
    .case-media-sequence{gap:52px}
    .case-media-sequence--single .case-media,.case-media-sequence--single .case-media--portrait{width:100%;margin-inline:0}
    .case-story-copy{grid-template-columns:1fr;gap:20px;padding-block:25px}
    .case-story-copy h2{font-size:11vw;margin-bottom:19px}
    .case-story-copy p{font-size:18px;line-height:1.55;margin-top:14px}
    .case-story-copy--context{margin-inline:0;padding-inline:20px}
    .case-presentation-archive{padding-bottom:70px}
    .case-presentation-archive summary{min-height:96px;gap:18px}
    .case-presentation-archive summary strong{font-size:25px}
    .archive-toggle{width:44px;flex:0 0 44px}
    .case-archive-intro{display:block;padding:8px 0 32px}
    .case-archive-intro p{font-size:12px;line-height:1.65}
    .case-archive-group{padding-bottom:45px}
    .case-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
    .case-external-context{grid-template-columns:1fr;gap:25px;padding-block:60px}
    .case-external-context h2{font-size:13vw;margin-bottom:26px}
    .case-external-context p{font-size:14px;line-height:1.7}
    .case-attribution{padding-block:50px}
    .case-viewer{padding-inline:max(12px,env(safe-area-inset-left));overflow:auto}
    .case-viewer-stage{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 44px;gap:4px 12px;height:calc(100% - 74px)}
    .case-viewer-stage figure{grid-column:1/-1;grid-row:1;padding-block:10px 6px}
    .case-viewer-stage img{max-height:100%;touch-action:pan-y pinch-zoom;user-select:none}
    .case-viewer-nav{grid-row:2;width:44px;font-size:17px}
    .case-viewer-prev{grid-column:1;justify-self:start}.case-viewer-next{grid-column:2;justify-self:end}
    .case-viewer-stage figcaption{font-size:10px;max-height:24dvh;overflow:auto;overscroll-behavior:contain}
    .case-viewer-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .case-viewer-stage figure::after{content:'SWIPE TO EXPLORE';position:absolute;bottom:max(57px,calc(env(safe-area-inset-bottom) + 41px));left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.12em;color:#bcbdb5;pointer-events:none}
  }
}

@layer access {
  @media(prefers-reduced-motion:no-preference){
    html:not([data-motion="off"]) .case-viewer[open]{animation:case-viewer-in .22s ease-out both}
    html:not([data-motion="off"]) .case-viewer[open] .case-viewer-stage figure{animation:case-viewer-image-in .38s var(--ease-out) both}
    @keyframes case-viewer-in{from{opacity:0}to{opacity:1}}
    @keyframes case-viewer-image-in{from{opacity:.25;transform:scale(.985)}to{opacity:1;transform:none}}
  }
}

/* Supplied Monalisa identity. The logo artwork itself is always fixed and undistorted. */
@layer brandIdentity {
  .brand {
    display: block;
    width: auto;
    flex: 0 0 auto;
    line-height: 0;
    padding: 4px 6px;
    background: transparent;
  }

  .brand-lockup {
    width: auto;
    height: 46.5px;
    max-width: none;
  }

  .footer-brand-signature {
    padding-block: clamp(38px, 4vw, 64px) clamp(24px, 2.5vw, 40px);
    line-height: 0;
    user-select: none;
  }

  .footer-brand-wordmark {
    width: 100%;
    height: auto;
  }

  .brand-identity-board {
    min-height: 570px;
    aspect-ratio: 1.95;
    background: #ed432b;
    color: #141414;
  }

  .brand-identity-board .board-bottom>span:last-child { display: block; visibility: visible; }

  .brand-board-art {
    position: absolute;
    inset: 12% 5% 24%;
    isolation: isolate;
  }

  .brand-board-mark-plate {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 23%;
    width: min(35%, 400px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    background: #f4f0e8;
    transform: translate(-50%, -50%);
  }

  .brand-board-mark {
    width: 64%;
    height: auto;
  }

  .brand-registration-frame {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 23%;
    width: min(37%, 424px);
    aspect-ratio: 1;
    border: 1px solid currentColor;
    opacity: .24;
    transform: translate(-50%, -50%);
    transform-origin: center;
  }

  .frame-a { margin: -22px 0 0 -22px; }
  .frame-b { margin: 18px 0 0 24px; }
  .frame-c { width: min(42%, 480px); opacity: .13; }

  .brand-board-period {
    width: 100%;
    height: auto;
  }

  .brand-board-wordmark {
    position: absolute;
    z-index: 5;
    left: 43%;
    right: 5%;
    top: 47%;
    transform: translateY(-50%);
  }

  .brand-registration-cross {
    position: absolute;
    z-index: 2;
    width: 11px;
    height: 11px;
    opacity: .52;
  }

  .brand-registration-cross::before,
  .brand-registration-cross::after {
    content: '';
    position: absolute;
    background: currentColor;
  }

  .brand-registration-cross::before { width: 11px; height: 1px; top: 5px; left: 0; }
  .brand-registration-cross::after { width: 1px; height: 11px; top: 0; left: 5px; }
  .cross-a { left: 3%; top: 8%; }
  .cross-b { right: 1%; bottom: 2%; }

  .brand-identity-board.is-inview .frame-a { animation: registration-a 9s ease-in-out infinite; }
  .brand-identity-board.is-inview .frame-b { animation: registration-b 11s ease-in-out infinite; }
  .brand-identity-board.is-inview .frame-c { animation: registration-c 13s ease-in-out infinite; }

  @keyframes registration-a {
    50% { transform: translate(calc(-50% + 8px), calc(-50% - 5px)); }
  }
  @keyframes registration-b {
    50% { transform: translate(calc(-50% - 7px), calc(-50% + 8px)); }
  }
  @keyframes registration-c {
    50% { transform: translate(calc(-50% + 4px), calc(-50% + 5px)); }
  }

  html[data-motion=off] .brand-registration-frame { animation: none !important; }

  @media (max-width: 700px) {
    .brand-lockup { height: 40px; }

    .brand-identity-board {
      min-height: 0;
      aspect-ratio: .86;
    }

    .brand-board-art { inset: 12% 5% 35%; }

    .brand-board-mark-plate {
      top: 45%;
      left: 50%;
      width: 67%;
    }

    .brand-registration-frame {
      top: 45%;
      left: 50%;
      width: 72%;
    }

    .frame-c { width: 82%; }

    .brand-board-wordmark {
      top: auto;
      bottom: 20%;
      left: 8%;
      right: 8%;
      transform: none;
    }

    .footer-brand-signature { padding-block: 34px 27px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .brand-registration-frame { animation: none !important; }
  }
}

@layer mobile-experience {
  .mobile-pocket-studio,
  .mobile-story-compass { display: none; }

  @media (max-width: 700px) {
    .mobile-pocket-studio {
      display: grid;
      gap: 27px;
      padding-block: 56px 66px;
      background: var(--ink);
      color: var(--paper);
      overflow: clip;
      isolation: isolate;
    }
    .mobile-pocket-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding-bottom: 11px;
      border-bottom: 1px solid #f6f1eb45;
    }
    .mobile-pocket-heading .eyebrow,
    .mobile-pocket-coordinate {
      font-size: 8px;
      line-height: 1.4;
      letter-spacing: .09em;
      font-variant-numeric: tabular-nums;
    }
    .mobile-pocket-coordinate { color: #f6f1eb9e; }
    .mobile-pocket-copy { display: grid; gap: 21px; }
    .mobile-pocket-copy h2 {
      max-width: 9ch;
      font-size: clamp(51px, 15vw, 76px);
      line-height: .91;
      letter-spacing: -.075em;
    }
    .mobile-pocket-copy h2 em { color: var(--acid); }
    .mobile-pocket-copy p {
      max-width: 30ch;
      margin-left: auto;
      font-size: 12px;
      line-height: 1.65;
      color: #f6f1ebbd;
    }
    .mobile-pocket-board {
      position: relative;
      border: 1px solid #f6f1eb55;
      background: var(--paper);
      color: var(--ink);
      box-shadow: 9px 9px 0 var(--red);
    }
    .mobile-pocket-canvas {
      position: relative;
      overflow: hidden;
      touch-action: pan-y pinch-zoom;
      user-select: none;
      -webkit-user-select: none;
      cursor: ew-resize;
    }
    .mobile-pocket-canvas:focus-visible {
      outline: 2px solid var(--acid);
      outline-offset: 5px;
    }
    .mobile-pocket-canvas svg { width: 100%; height: auto; }
    .mobile-pocket-paper { fill: var(--paper); }
    .mobile-pocket-grid { fill: none; stroke: var(--line); stroke-width: .6; opacity: .55; }
    .mobile-pocket-orbit { fill: none; stroke: var(--ink); stroke-width: .85; stroke-dasharray: 2.5 6; opacity: .42; }
    .mobile-pocket-orbit--inner { stroke: var(--red); stroke-dasharray: none; opacity: .42; }
    .mobile-pocket-type {
      fill: var(--ink);
      font: 700 53px/1 var(--sans);
      letter-spacing: -.075em;
    }
    .mobile-pocket-type--bottom { font-family: var(--serif); font-style: italic; font-weight: 400; fill: var(--red); }
    .mobile-pocket-index { fill: var(--muted); font: 500 7px/1 var(--sans); letter-spacing: .085em; }
    .mobile-pocket-lines path {
      stroke: var(--ink);
      stroke-width: 1.3;
      vector-effect: non-scaling-stroke;
    }
    .mobile-pocket-lines path:nth-child(2) { stroke: var(--red); stroke-width: 2.2; }
    .mobile-pocket-lines path:nth-child(3) { stroke-dasharray: 3 5; }
    .mobile-pocket-disc circle { fill: var(--acid); stroke: var(--ink); stroke-width: 1; }
    .mobile-pocket-disc path { fill: none; stroke: var(--ink); stroke-width: .7; opacity: .55; }
    .mobile-pocket-sight circle:first-child { fill: var(--red); stroke: var(--ink); stroke-width: 1; }
    .mobile-pocket-sight circle:nth-child(2) { fill: var(--paper); }
    .mobile-pocket-sight path { fill: none; stroke: var(--ink); stroke-width: 1; }
    .mobile-pocket-instruction {
      position: absolute;
      right: 13px;
      top: 49%;
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 7px 9px;
      background: var(--ink);
      color: var(--paper);
      font-size: 7px;
      letter-spacing: .08em;
      pointer-events: none;
      transform: rotate(-90deg) translateX(50%);
      transform-origin: right center;
    }
    .mobile-pocket-instruction i { width: 18px; height: 1px; background: currentColor; position: relative; }
    .mobile-pocket-instruction i::after { content: ""; position: absolute; right: 0; top: -2px; width: 5px; height: 5px; border-top: 1px solid; border-right: 1px solid; transform: rotate(45deg); }
    .mobile-pocket-remix {
      width: 100%;
      min-height: 67px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 12px 14px;
      border-top: 1px solid var(--line);
      background: var(--paper);
      color: var(--ink);
      text-align: left;
    }
    .mobile-pocket-remix > span:first-child { display: grid; gap: 2px; }
    .mobile-pocket-remix small { font-size: 7px; letter-spacing: .1em; color: var(--muted); }
    .mobile-pocket-remix strong { font-size: 15px; font-weight: 500; letter-spacing: -.025em; }
    .mobile-pocket-remix-icon {
      width: 43px;
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--red);
      color: var(--paper);
      font-size: 20px;
      transition: transform 540ms var(--ease-out, cubic-bezier(.22,1,.36,1));
    }
    .mobile-pocket-board.is-remixing .mobile-pocket-remix-icon { transform: rotate(210deg) scale(.9); }
    .mobile-pocket-board.is-remixing { animation: mobile-pocket-nudge 620ms var(--ease-out, cubic-bezier(.22,1,.36,1)) both; }
    .mobile-pocket-board.is-dragging .mobile-pocket-sight circle:first-child { fill: var(--ink); }
    .mobile-pocket-board.has-landed .mobile-pocket-sight { animation: mobile-pocket-land 360ms var(--ease-out, cubic-bezier(.22,1,.36,1)); }

    .mobile-story-compass {
      --mobile-story-progress: 0;
      position: fixed;
      z-index: 82;
      right: max(13px, env(safe-area-inset-right));
      bottom: max(13px, calc(env(safe-area-inset-bottom) + 8px));
      display: grid;
      width: min(286px, calc(100vw - 26px));
      pointer-events: none;
      opacity: 0;
      transform: translate3d(0, 22px, 0) scale(.96);
      transform-origin: right bottom;
      transition: opacity 240ms ease, transform 520ms var(--ease-out, cubic-bezier(.22,1,.36,1));
      filter: drop-shadow(0 12px 22px #17181635);
    }
    .mobile-story-compass.is-visible {
      pointer-events: auto;
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }
    html.menu-open .mobile-story-compass,
    html.case-viewer-open .mobile-story-compass { opacity: 0; pointer-events: none; }
    .mobile-compass-trigger {
      position: relative;
      z-index: 2;
      min-height: 68px;
      display: grid;
      grid-template-columns: 46px minmax(0,1fr) auto;
      align-items: center;
      gap: 10px;
      width: 100%;
      padding: 9px 13px 9px 10px;
      background: var(--ink);
      color: var(--paper);
      border: 1px solid #f6f1eb34;
      text-align: left;
    }
    .mobile-compass-ring { width: 44px; height: 44px; transform: rotate(-90deg); }
    .mobile-compass-ring circle { fill: none; stroke-width: 1.6; }
    .mobile-compass-ring-track { stroke: #f6f1eb35; }
    .mobile-compass-ring-progress {
      stroke: var(--red);
      stroke-dasharray: 100;
      stroke-dashoffset: calc(100 - var(--mobile-story-progress));
      stroke-linecap: round;
      transition: stroke-dashoffset 180ms linear;
    }
    .mobile-compass-ring path { fill: none; stroke: var(--paper); stroke-width: 1.5; transform-origin: 22px 22px; transform: rotate(90deg); transition: transform 420ms var(--ease-out, cubic-bezier(.22,1,.36,1)); }
    .mobile-story-compass.is-open .mobile-compass-ring path { transform: rotate(270deg); }
    .mobile-compass-copy { min-width: 0; display: grid; gap: 1px; }
    .mobile-compass-copy small { font-size: 7px; line-height: 1.4; letter-spacing: .1em; color: #f6f1eb9b; font-variant-numeric: tabular-nums; }
    .mobile-compass-copy strong { overflow: hidden; text-overflow: ellipsis; font-size: 14px; line-height: 1.2; font-weight: 500; white-space: nowrap; }
    .mobile-compass-open { font-size: 7px; letter-spacing: .1em; color: #f6f1ebad; }
    .mobile-compass-panel {
      position: absolute;
      left: 0;
      right: 0;
      bottom: calc(100% - 1px);
      z-index: 1;
      max-height: min(58dvh, 460px);
      overflow-y: auto;
      overscroll-behavior: contain;
      padding: 15px 13px 11px;
      background: var(--paper);
      color: var(--ink);
      border: 1px solid var(--ink);
      border-bottom: 0;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(16px) scaleY(.92);
      transform-origin: bottom;
      transition: opacity 180ms ease, transform 420ms var(--ease-out, cubic-bezier(.22,1,.36,1)), visibility 0s linear 420ms;
    }
    .mobile-story-compass.is-open .mobile-compass-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
    .mobile-compass-panel-label { display: block; margin-bottom: 9px; font-size: 7px; letter-spacing: .09em; color: var(--muted); }
    .mobile-compass-panel nav { border-top: 1px solid var(--line); }
    .mobile-compass-link {
      min-height: 45px;
      display: grid;
      grid-template-columns: 29px 1fr;
      align-items: center;
      border-bottom: 1px solid var(--line);
      font-size: 11px;
      line-height: 1.3;
    }
    .mobile-compass-link span { font-size: 8px; color: var(--muted); font-variant-numeric: tabular-nums; }
    .mobile-compass-link strong { font-weight: 500; }
    .mobile-compass-link[aria-current="location"] { color: var(--red); }
    .mobile-compass-link[aria-current="location"] strong::after { content: " — HERE"; font-size: 7px; letter-spacing: .08em; vertical-align: middle; }
    .case-study section.mobile-chapter-focus:focus { outline: 1px solid var(--red); outline-offset: 6px; }

    .archive-row > a { overflow: hidden; }
    .archive-row > a::after {
      content: "";
      position: absolute;
      z-index: -1;
      left: var(--mobile-touch-x, 50%);
      top: 50%;
      width: 34vw;
      aspect-ratio: 1;
      border-radius: 50%;
      background: var(--red);
      opacity: 0;
      transform: translate(-50%,-50%) scale(.05);
      transition: transform 480ms var(--ease-out, cubic-bezier(.22,1,.36,1)), opacity 360ms ease;
      pointer-events: none;
    }
    .archive-row > a.mobile-touch-active::after { opacity: 1; transform: translate(-50%,-50%) scale(3.4); }
    .archive-row > a.mobile-touch-active .arrow-icon { rotate: 45deg; }
    .archive-row > a.mobile-touch-active .archive-summary { color: var(--ink); }
    .filter { transform-origin: center; }
    .filter.mobile-touch-active { transform: scale(.94); }
    .filter.mobile-filter-pulse { animation: mobile-filter-pulse 440ms var(--ease-out, cubic-bezier(.22,1,.36,1)); }

    @media (hover: none) {
      .archive-row > a:hover::before { transform: scaleY(0); }
      .archive-row > a:hover { padding-inline: 0; }
    }

    @keyframes mobile-pocket-nudge {
      0%,100% { transform: rotate(0); }
      35% { transform: rotate(-.6deg) translateY(-3px); }
      68% { transform: rotate(.35deg) translateY(0); }
    }
    @keyframes mobile-pocket-land {
      0%,100% { scale: 1; }
      45% { scale: 1.32; }
    }
    @keyframes mobile-filter-pulse {
      0%,100% { box-shadow: 0 0 0 0 transparent; }
      42% { box-shadow: 0 0 0 5px var(--acid); }
    }
  }

  @media (max-width: 374px) {
    .mobile-pocket-studio { padding-block: 48px 58px; }
    .mobile-pocket-copy h2 { font-size: 14.5vw; }
    .mobile-story-compass { width: calc(100vw - 22px); right: 11px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-pocket-lines path,
    .mobile-pocket-disc,
    .mobile-pocket-sight,
    .mobile-pocket-board,
    .mobile-pocket-remix-icon,
    .mobile-story-compass,
    .mobile-compass-panel,
    .mobile-compass-ring path,
    .mobile-compass-ring-progress,
    .archive-row > a::after,
    .filter,
    .filter.mobile-filter-pulse { transition: none !important; animation: none !important; }
  }

  html[data-motion="off"] .mobile-pocket-lines path,
  html[data-motion="off"] .mobile-pocket-disc,
  html[data-motion="off"] .mobile-pocket-sight,
  html[data-motion="off"] .mobile-pocket-board,
  html[data-motion="off"] .mobile-pocket-remix-icon,
  html[data-motion="off"] .mobile-story-compass,
  html[data-motion="off"] .mobile-compass-panel,
  html[data-motion="off"] .mobile-compass-ring path,
  html[data-motion="off"] .mobile-compass-ring-progress,
  html[data-motion="off"] .archive-row > a::after,
  html[data-motion="off"] .filter,
  html[data-motion="off"] .filter.mobile-filter-pulse {
    transition: none !important;
    animation: none !important;
  }
}

/* Fictional identity series. Uses the existing Monalisa type, spacing and motion language. */
@layer v2 {
.concept-series{border-top:1px solid var(--line);overflow:clip}
.concept-series-heading{display:grid;grid-template-columns:.8fr 2.2fr 1fr;gap:35px;align-items:end;margin-bottom:65px}
.concept-series-heading>.eyebrow{align-self:start;max-width:180px;line-height:1.7}
.concept-series-heading h2{font-size:clamp(50px,6vw,105px);line-height:1.04;letter-spacing:-.055em}
.concept-series-heading p{font-size:15px;line-height:1.65;margin-top:26px}
.concept-series-heading>.text-link,.concept-series-count{justify-self:end}
.concept-series-count{font:italic 96px/.8 var(--serif);color:var(--muted);letter-spacing:-.06em}
.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 32px}
.concept-card{min-width:0}
.concept-card-link{display:block}
.concept-card-media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--soft)}
.concept-card-media>img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease-out)}
.concept-card-link:hover .concept-card-media>img{transform:scale(1.025)}
.concept-card-arrow{position:absolute;right:20px;bottom:20px;width:48px;height:48px;display:grid;place-items:center;color:var(--ink);background:var(--paper);border-radius:50%;transition:background .3s,rotate .3s}
.concept-card-link:hover .concept-card-arrow{background:var(--red);rotate:45deg}
.concept-card-caption{display:grid;grid-template-columns:25px 1fr auto;gap:15px;padding-top:22px;align-items:start}
.concept-card-number{font-size:10px;padding-top:9px}
.concept-card-caption h3{font-size:clamp(27px,2.6vw,44px);line-height:1.1;font-weight:400;letter-spacing:-.05em}
.concept-card-caption p{font-size:12px;margin-top:10px;color:var(--muted)}
.concept-card-scope{font-size:10px;line-height:1.65;text-align:right;padding-top:8px;max-width:130px}
.concept-series-note{font-size:12px;line-height:1.6;margin-top:42px;color:var(--muted)}
.concept-series-footer{display:flex;align-items:baseline;justify-content:space-between;gap:25px}.concept-series-footer>.text-link{font-size:12px;min-height:44px}
.concept-hero h1{max-width:none;font-size:clamp(80px,10.5vw,180px);line-height:.97;letter-spacing:-.065em}
.concept-hero-bottom{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-top:40px}
.concept-hero-bottom p{font-size:clamp(21px,2.6vw,38px);max-width:660px;line-height:1.25;letter-spacing:-.025em}
.concept-hero-bottom>span{font-size:10px;line-height:1.8;letter-spacing:.045em;text-align:right;flex-shrink:0}
.concept-hero-art .concept-cover{max-width:none;margin:0}
.concept-hero-art .concept-cover img{width:100%;height:auto;max-height:none;object-fit:contain;background:var(--soft)}
.concept-brief{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-bottom:1px solid var(--line)}
.concept-brief h2{font-size:clamp(42px,4.8vw,76px);line-height:1.08;letter-spacing:-.04em;max-width:560px;margin-top:35px}
.concept-brief>div>p{font-size:17px;line-height:1.7;max-width:690px;margin-top:20px}
.concept-brief>div>.concept-lead{font-size:clamp(23px,2.4vw,35px);line-height:1.36;letter-spacing:-.02em;margin-top:0}
.concept-brief dl{margin-top:40px}
.concept-brief dl>div{display:grid;grid-template-columns:120px 1fr;gap:25px;padding-block:17px;border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.concept-brief dt{color:var(--muted)}
.concept-section{padding-block:70px 25px}
.concept-body.case-editorial{display:block;padding:0}
.concept-case + .case-viewer .case-viewer-stage img{background:var(--paper)}
.concept-section-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:35px;margin-bottom:38px}
.concept-section-heading>.eyebrow{padding-top:8px;line-height:1.7}
.concept-section-heading h2{font-size:clamp(38px,4.2vw,67px);line-height:1.08;letter-spacing:-.045em}
.concept-section-heading p{font-size:17px;line-height:1.7;max-width:700px;margin-top:22px}
.concept-artwork-layout{display:grid;gap:28px;align-items:start}
.concept-artwork-layout--pair,.concept-artwork-layout--gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.concept-artwork-layout--gallery .concept-figure:last-child:nth-child(odd){grid-column:1/-1}
.concept-figure{margin:0;min-width:0}
.concept-figure img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.concept-figure figcaption{margin-top:13px;font-size:11px;line-height:1.65;color:var(--muted)}
.concept-artwork-link{position:relative;display:block;overflow:hidden;background:var(--soft)}
.concept-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:34px;height:34px;background:var(--paper);color:var(--ink);opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.concept-artwork-link:hover .concept-zoom,.concept-artwork-link:focus-visible .concept-zoom{opacity:1;transform:none}
.concept-zoom svg{width:19px;height:19px}
.concept-board{width:min(100%,880px);margin-inline:auto}
.concept-detail-note{font-size:13px;line-height:1.7;max-width:690px;margin:24px 0 0 auto;color:var(--muted)}
.concept-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.concept-colour-chip{display:block;aspect-ratio:1.25;border:1px solid #17181612}
.concept-colour>div{display:flex;justify-content:space-between;gap:15px;margin-top:17px;font-size:11px;line-height:1.6}
.concept-colour strong{font-weight:600}
.concept-colour>p{font-size:12px;line-height:1.65;margin-top:8px;color:var(--muted)}
.concept-type-note{display:grid;grid-template-columns:1fr 2.2fr;gap:35px;padding-block:32px;margin-top:28px;border-top:1px solid var(--line)}
.concept-type-note p{font-size:18px;line-height:1.65;max-width:750px}
.concept-motion{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10%;align-items:center;max-width:1160px;margin-inline:auto}
.concept-motion video{display:block;width:100%;max-width:420px;height:auto;background:var(--ink)}
.concept-motion>div{max-width:430px}
.concept-motion p{font-size:24px;line-height:1.5;letter-spacing:-.02em;margin-block:25px 30px}
.concept-social-strip{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--ink) var(--soft)}
.concept-social-frame{flex:0 0 clamp(235px,30%,390px);scroll-snap-align:start}
.concept-scroll-note{font-size:11px;line-height:1.6;margin-top:15px;color:var(--muted)}
.concept-downloads{display:grid;grid-template-columns:1fr 2.2fr;gap:35px;margin-top:70px;padding-block:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.concept-downloads>div{display:flex;flex-wrap:wrap;gap:25px 38px}
.concept-downloads .text-link{font-size:13px;min-height:44px}
.concept-credits{padding-top:48px}
.concept-credits p+p{margin-top:12px}
.concept-archive{margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.concept-archive>summary{position:relative;display:grid;grid-template-columns:1fr 2.2fr;gap:24px 35px;padding-block:42px;list-style:none;cursor:pointer;padding-right:65px}
.concept-archive>summary::-webkit-details-marker{display:none}
.concept-archive>summary>.eyebrow{align-self:center;line-height:1.7}
.concept-archive-title{font-size:clamp(36px,4vw,64px);line-height:1.1;letter-spacing:-.045em}
.concept-archive-title em{font-family:var(--serif);font-weight:400}
.concept-archive-description{grid-column:2;font-size:14px;line-height:1.6;color:var(--muted)}
.concept-archive-toggle{position:absolute;right:0;top:50%;font-size:38px;line-height:1;transform:translateY(-50%);font-weight:300}
.concept-archive[open]>summary .concept-archive-toggle{transform:translateY(-50%) rotate(45deg)}
.concept-archive>summary:focus-visible{outline:2px solid var(--red);outline-offset:8px}
.concept-archive-content>.concept-section{padding-inline:0}
.concept-archive-content{padding-bottom:40px}
@media(min-width:1100px){.concept-card:nth-child(even){margin-top:75px}.concept-grid{column-gap:48px}}
@media(max-width:1000px){.concept-series-heading{grid-template-columns:1fr 2fr}.concept-series-heading>.text-link,.concept-series-count{grid-column:2;justify-self:start}.concept-card-scope{display:none}.concept-card-caption{grid-template-columns:25px 1fr}.concept-brief{gap:6%}.concept-brief dl>div{grid-template-columns:95px 1fr;gap:15px}.concept-colour>div{display:block}.concept-colour>div>span{display:block;margin-top:3px}}
@media(max-width:700px){
.concept-archive{margin-top:36px}.concept-archive>summary{grid-template-columns:1fr;gap:18px;padding-block:30px;padding-right:42px}.concept-archive-title{font-size:38px}.concept-archive-description{grid-column:auto;font-size:13px}.concept-archive>summary>.eyebrow{font-size:9px}.concept-archive-toggle{font-size:30px}.concept-archive-content{padding-bottom:22px}
.concept-series-footer{display:block}.concept-series-footer>.text-link{margin-top:18px;font-size:11px}
.concept-series-heading{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.concept-series-heading>.eyebrow{font-size:9px;max-width:none}.concept-series-heading h2{font-size:12.5vw;line-height:1.06}.concept-series-heading p{font-size:14px;margin-top:22px}.concept-series-heading>.text-link{grid-column:auto;justify-self:start}.concept-series-count{display:none}.concept-grid{grid-template-columns:1fr;gap:40px}.concept-card-arrow{width:39px;height:39px;right:14px;bottom:14px}.concept-card-arrow svg{width:20px;height:20px}.concept-card-caption{padding-top:17px;gap:10px;grid-template-columns:22px 1fr}.concept-card-caption h3{font-size:30px}.concept-card-caption p{font-size:11px;margin-top:7px}.concept-series-note{font-size:11px;margin-top:30px}
.concept-hero h1{font-size:16vw;line-height:1;overflow-wrap:normal}.concept-hero-bottom{display:block;margin-top:25px}.concept-hero-bottom p{font-size:22px;line-height:1.3}.concept-hero-bottom>span{display:block;text-align:left;margin-top:26px;font-size:9px}.concept-brief{grid-template-columns:1fr;gap:30px}.concept-brief h2{font-size:42px;margin-top:24px}.concept-brief>div>p{font-size:16px}.concept-brief>div>.concept-lead{font-size:23px}.concept-brief dl{margin-top:27px}.concept-brief dl>div{font-size:11px;gap:16px;grid-template-columns:95px 1fr}
.concept-section{padding-block:44px 12px}.concept-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:27px}.concept-section-heading>.eyebrow{font-size:9px;padding-top:0}.concept-section-heading h2{font-size:38px}.concept-section-heading p{font-size:16px;margin-top:19px}.concept-artwork-layout{gap:24px}.concept-artwork-layout--pair,.concept-artwork-layout--gallery{grid-template-columns:1fr}.concept-figure figcaption{font-size:10px;margin-top:11px}.concept-zoom{width:30px;height:30px;right:10px;bottom:10px;opacity:1;transform:none}.concept-detail-note{font-size:12px;margin-top:18px}
.concept-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.concept-colour>div{margin-top:12px;font-size:10px}.concept-colour>p{font-size:11px}.concept-type-note{grid-template-columns:1fr;gap:17px;padding-block:25px}.concept-type-note .eyebrow{font-size:9px}.concept-type-note p{font-size:16px}.concept-motion{grid-template-columns:1fr;gap:30px}.concept-motion video{width:min(100%,360px);margin-inline:auto}.concept-motion p{font-size:21px;margin-block:18px 22px}.concept-social-strip{gap:15px}.concept-social-frame{flex-basis:78%}.concept-scroll-note{font-size:10px}.concept-downloads{grid-template-columns:1fr;gap:20px;padding-block:30px;margin-top:44px}.concept-downloads>.eyebrow{font-size:9px}.concept-downloads>div{display:block}.concept-downloads .text-link{display:flex;justify-content:space-between;font-size:13px;padding-block:12px;border-bottom:1px solid var(--line)}.concept-downloads .text-link:last-child{border-bottom:0}.concept-credits{padding-top:30px}
}
@media(prefers-reduced-motion:reduce){.concept-card-media>img,.concept-card-arrow,.concept-zoom{transition:none}.concept-card-link:hover .concept-card-media>img{transform:none}}
html[data-motion=off] .concept-card-media>img,html[data-motion=off] .concept-card-arrow,html[data-motion=off] .concept-zoom{transition:none}
}

/* A content-sized phone hero: browser chrome can change height without collisions. */
@layer mobileRefinement {
  .sculpture-turn { display: none; }

  @media (max-width: 700px) {
    .avant-hero { min-height: 0; }
    .avant-stage {
      display: flow-root;
      height: auto;
      min-height: 0;
      max-height: none;
      padding: 28px var(--gutter) 22px;
    }
    .avant-title {
      position: relative;
      inset: auto;
      width: 100%;
      font-size: clamp(47px, 14.9vw, 98px);
      transform: none;
      translate: none;
      margin: 0;
    }
    .avant-title .mark-row {
      position: relative;
      inset: auto;
      margin-top: clamp(168px, 53vw, 320px);
      font-size: 2.05em;
      line-height: .94;
      padding-bottom: .12em;
    }
    .sculpture-stage {
      width: 100%;
      height: clamp(280px, 91vw, 570px);
      left: 0;
      right: 0;
      top: 46px;
      pointer-events: auto;
      touch-action: pan-y pinch-zoom;
      user-select: none;
      -webkit-user-select: none;
    }
    .sculpture-stage:focus-visible { outline: 1px solid var(--red); outline-offset: -18px; }
    .sculpture-stage.is-turning { cursor: grabbing; }
    .sculpture-caption-v2 { right: 17px; bottom: 32%; font-size: 7px; color: #d4d5ca; }
    .sculpture-stage[data-kinetic-ready=true] .sculpture-caption-v2 { font-size: 0; }
    .sculpture-stage[data-kinetic-ready=true] .sculpture-caption-v2::after {
      content: 'DRAG TO TURN';
      font-size: 7px;
      letter-spacing: .12em;
    }
    .hero-side-note {
      position: relative;
      inset: auto;
      display: grid;
      grid-template-columns: 6px minmax(0, 1fr) auto;
      align-items: center;
      gap: 11px;
      margin-top: 16px;
      min-height: 44px;
      font-size: 11px;
      line-height: 1.6;
    }
    .hero-side-note .live-dot { align-self: start; margin-top: 10px; }
    .hero-side-note br { display: block; }
    .hero-side-note > span:last-of-type { display: block; }
    .sculpture-turn {
      min-width: 72px;
      min-height: 44px;
      padding: 6px 9px;
      display: none;
      align-items: center;
      justify-content: center;
      gap: 7px;
      border: 1px solid #eae9e14a;
      color: var(--paper);
      background: transparent;
      font-size: 9px;
      line-height: 1.2;
      letter-spacing: .02em;
    }
    .avant-stage:has([data-kinetic-ready=true]) .sculpture-turn { display: flex; }
    .sculpture-turn span { font-size: 22px; line-height: 1; }
    .sculpture-turn:active { background: var(--red); }
    .sculpture-turn:focus-visible { outline: 2px solid var(--paper); outline-offset: 4px; }
    .avant-bottom { align-items: flex-start; padding-block: 18px 22px; }

    /* The chapter index remains within reach without covering a third of the artwork. */
    .mobile-story-compass { width: min(205px, calc(100vw - 26px)); }
    .mobile-compass-trigger { min-height: 52px; grid-template-columns: 32px minmax(0,1fr) auto; padding: 7px 10px; gap: 8px; }
    .mobile-compass-ring { width: 32px; height: 32px; }
    .mobile-compass-copy strong { font-size: 12px; }
    .mobile-compass-open { font-size: 7px; }
    .mobile-compass-panel { left: auto; width: min(286px, calc(100vw - 26px)); }
    .mobile-compass-panel a { min-height: 44px; }
    .mobile-story-compass.is-scrolling:not(.is-open):not(:focus-within) { opacity: 0; pointer-events: none; transform: translateY(12px); }

    .mobile-menu { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
    .mobile-menu nav { margin-top: clamp(12px, 3dvh, 28px); }
    .mobile-menu nav a { font-size: clamp(31px, 8.4vw, 44px); padding-block: clamp(10px, 1.8dvh, 17px); }
  }

  @media (max-width: 374px) {
    .avant-stage { padding-top: 25px; }
    .hero-side-note { font-size: 10px; gap: 9px; }
    .sculpture-turn { min-width: 62px; padding-inline: 6px; font-size: 8px; }
  }
}

@layer mobile-choreography {
  @media (max-width: 700px) {
    .mobile-concept-filmstrip {
      display: flex;
      gap: 14px;
      width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
      overscroll-behavior-x: contain;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: 0;
      padding: 0 0 15px;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .mobile-concept-filmstrip::-webkit-scrollbar { display: none; }
    .mobile-concept-filmstrip::after {
      content: "";
      flex: 0 0 28px;
      height: 1px;
    }
    .mobile-concept-filmstrip > .concept-card {
      flex: 0 0 calc(100% - 42px);
      scroll-snap-align: start;
      scroll-snap-stop: normal;
      opacity: .62;
      transform: translate3d(0, 9px, 0);
      transition: opacity 340ms ease, transform 520ms cubic-bezier(.16,1,.3,1);
    }
    .mobile-concept-filmstrip > .concept-card[data-mobile-filmstrip-active="true"] {
      opacity: 1;
      transform: translate3d(0,0,0);
    }
    .mobile-concept-filmstrip .concept-card-link {
      min-height: 100%;
    }
    .mobile-concept-filmstrip .concept-card-link:focus-visible {
      outline-offset: -3px;
    }
    .mobile-filmstrip-controls {
      display: grid;
      grid-template-columns: minmax(0,1fr) auto;
      align-items: stretch;
      min-height: 58px;
      margin-top: 7px;
      background: var(--ink);
      color: var(--paper);
      border-bottom: 3px solid var(--red);
    }
    .mobile-filmstrip-position {
      display: grid;
      grid-template-columns: auto minmax(50px, 1fr);
      align-items: center;
      gap: 15px;
      min-width: 0;
      padding: 7px 17px;
    }
    .mobile-filmstrip-count {
      font-size: 10px;
      line-height: 1;
      letter-spacing: .085em;
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }
    .mobile-filmstrip-progress {
      display: block;
      height: 2px;
      overflow: hidden;
      background: color-mix(in srgb, var(--paper) 28%, transparent);
    }
    .mobile-filmstrip-progress > i {
      display: block;
      width: var(--mobile-filmstrip-position, 25%);
      height: 100%;
      background: var(--red);
      transition: width 340ms cubic-bezier(.16,1,.3,1);
    }
    .mobile-filmstrip-actions {
      display: flex;
      border-left: 1px solid color-mix(in srgb, var(--paper) 28%, transparent);
    }
    .mobile-filmstrip-actions button {
      display: grid;
      place-items: center;
      width: 52px;
      min-width: 44px;
      min-height: 44px;
      padding: 0;
      background: transparent;
      color: inherit;
      font-size: 20px;
      line-height: 1;
    }
    .mobile-filmstrip-actions button + button {
      border-left: 1px solid color-mix(in srgb, var(--paper) 28%, transparent);
    }
    .mobile-filmstrip-actions button:not(:disabled):active {
      background: var(--red);
      color: var(--ink);
    }
    .mobile-filmstrip-actions button:disabled {
      opacity: .34;
    }
    .mobile-filmstrip-actions button:focus-visible {
      position: relative;
      z-index: 1;
      outline: 2px solid var(--red);
      outline-offset: -4px;
    }
    .mobile-scroll-art {
      translate: 0 var(--mobile-art-shift, 0px);
    }
    .mobile-scroll-heading {
      position: relative;
      padding-top: 17px;
    }
    .mobile-scroll-heading::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 1px;
      background: var(--red);
      transform: scaleX(var(--mobile-section-rule, .18));
      transform-origin: 0 50%;
    }
    .mobile-scroll-heading > .eyebrow {
      translate: 0 var(--mobile-section-index-shift, 0px);
    }
  }

  html[data-motion="off"] .mobile-concept-filmstrip > .concept-card {
    opacity: 1;
    transform: none;
    transition: none;
  }
  html[data-motion="off"] .mobile-scroll-art,
  html[data-motion="off"] .mobile-scroll-heading > .eyebrow { translate: none; }
  html[data-motion="off"] .mobile-filmstrip-progress > i { transition: none; }
  html[data-motion="off"] .mobile-scroll-heading::before { transform: scaleX(1); }

  @media (prefers-reduced-motion: reduce) {
    .mobile-concept-filmstrip { scroll-behavior: auto; }
    .mobile-concept-filmstrip > .concept-card {
      opacity: 1;
      transform: none;
      transition: none;
    }
    .mobile-scroll-art,
    .mobile-scroll-heading > .eyebrow { translate: none; }
    .mobile-filmstrip-progress > i { transition: none; }
    .mobile-scroll-heading::before { transform: scaleX(1); }
  }
}
