/* Orange Sky / Project room. Shared original assets, individual client worlds. */
:root { --sea: #09212a; }
.hero-top h1 { font-size: clamp(42px, 4.6vw, 78px); }
.hero-description { min-width: 260px; }
.hero-work-link { display: inline-flex; align-items: center; gap: 36px; margin-top: 25px; padding-bottom: 8px; border-bottom: 1px solid #ffffff70; }
.hero-work-link span { font-size: 26px; }
.work-heading { padding-top: 85px; padding-bottom: 65px; margin: 0; }
.work-heading .section-title { font-size: clamp(42px, 5vw, 78px); }
.selected-projects { background: var(--mist); }
.project-stack { isolation: isolate; }
.project-chapter { position: sticky; top: 92px; background: var(--chapter-bg); padding: 30px var(--gutter) 34px; box-shadow: 0 -12px 50px #09212a0b; }
.chapter-link { display: block; }
.project-scene { position: relative; isolation: isolate; overflow: hidden; background: var(--scene-bg); aspect-ratio: 1.95; min-width: 0; }
.scene-watermark { position: absolute; width: 100%; left: 0; top: 0; text-align: center; font: 600 clamp(90px, 14vw, 240px)/1 var(--display); letter-spacing: -.065em; color: var(--scene-accent); opacity: .13; white-space: nowrap; pointer-events: none; }
.scene-desktop { position: absolute; top: 16%; left: 10%; width: 70%; height: 77%; overflow: hidden; background: #fff; box-shadow: 0 28px 50px #09212a26; transform: rotate(-2deg) translateY(var(--scene-shift, 0px)); transition: transform .8s var(--ease); }
.scene-desktop img { width: 100%; height: auto; min-height: 100%; object-fit: cover; object-position: top; transition: translate 1.4s var(--ease); }
.scene-mobile { position: absolute; width: 19%; right: 8%; top: 23%; height: 73%; transform: rotate(6deg); transition: transform .8s var(--ease); filter: drop-shadow(0 22px 16px #09212a22); }
.scene-mobile img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.scene-label { position: absolute; bottom: 12px; left: 0; font-size: 10px; text-transform: uppercase; letter-spacing: .14em; }
.scene-stamp { position: absolute; right: 0; top: 15px; font-size: 9px; text-align: right; line-height: 1.5; text-transform: uppercase; letter-spacing: .1em; }
.chapter-link:hover .scene-desktop, .editorial-card:hover .scene-desktop, .next-case>a:hover .scene-desktop { transform: rotate(0) translateY(-8px); }
.chapter-link:hover .scene-mobile, .editorial-card:hover .scene-mobile { transform: rotate(2deg) translateY(-10px); }
.scene-flowers-and-ruffles .scene-desktop { transform: rotate(2deg); }
.scene-flowers-and-ruffles .scene-mobile { transform: rotate(-5deg); right: 5%; }
.scene-eco-german-kitchens .scene-desktop { transform: rotate(-1deg); }
.scene-skiba-beauty-studio .scene-desktop { width: 63%; left: 12%; transform: rotate(-4deg); }
.scene-florida-candles .scene-desktop { transform: rotate(2deg); }
.scene-irene-gymnastics .scene-desktop { transform: rotate(-2deg); }
.chapter-copy { border-top: 1px solid #09212a25; display: grid; grid-template-columns: 1.3fr 1fr auto; align-items: center; gap: 35px; padding-top: 22px; margin-top: 22px; }
.chapter-copy h3 { font: 500 clamp(28px, 3.2vw, 48px)/1.1 var(--display); letter-spacing: -.045em; margin-top: 12px; }
.chapter-copy .eyebrow { font-size: 9px; }
.chapter-copy>p { max-width: 300px; font-size: 14px; }
.chapter-cta { display: flex; align-items: center; gap: 25px; font-size: 12px; white-space: nowrap; }
.chapter-cta>span { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #09212a50; border-radius: 50%; font-size: 26px; transition: background .3s, color .3s; }
.chapter-link:hover .chapter-cta>span { background: var(--ink); color: #fff; }
.work-outro { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 32px var(--gutter) 45px; }
.work-outro>span { font-size: 12px; color: var(--muted); }
.capability-stage { background: var(--sea); color: var(--cloud); }
.capability-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 60px; align-items: end; }
.capability-heading>.eyebrow { grid-column: 1/-1; color: #aac2c8; }
.capability-heading h2 { font: 500 clamp(42px,5.5vw,88px)/1.05 var(--display); letter-spacing: -.05em; }
.capability-heading h2 em { color: var(--orange); font-style: normal; }
.capability-heading>p:last-child { font-size: 14px; color: #b1c7cc; justify-self: end; }
.capability-paths { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 60px; }
.capability-path { position: relative; min-height: 390px; display: flex; flex-direction: column; padding: 34px; background: var(--orange); color: var(--ink); transition: transform .4s var(--ease); }
.capability-path:nth-child(2) { background: #c1dde3; margin-top: 40px; margin-bottom: -40px; }
.capability-path:nth-child(3) { background: #f6f8f7; margin-top: 80px; margin-bottom: -80px; }
.path-verb { font: 500 clamp(32px,3.6vw,56px)/1.02 var(--display); letter-spacing: -.05em; }
.capability-path>div { margin-top: auto; padding-top: 65px; max-width: 250px; }
.capability-path h3 { font-size: 13px; margin-bottom: 12px; }
.capability-path p { font-size: 12px; opacity: .8; }
.capability-path>.arrow { position: absolute; right: 30px; top: 30px; font-size: 34px; }
.capability-path:hover { transform: translateY(-10px); }
.capability-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 140px; gap: 25px; }
.capability-bottom>p { font-size: 12px; color: #b1c7cc; }
.capability-bottom .text-link { color: var(--orange); }
.studio-note { background: #dcebef; }
.studio-statement { font: 500 clamp(44px,6.7vw,105px)/1.08 var(--display); letter-spacing: -.045em; margin-top: 42px; }
.studio-statement em { font-style: normal; color: var(--blue); }
.studio-note-bottom { margin-top: 50px; display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.studio-note-bottom>p { max-width: 440px; font-size: 14px; }
.work-opening { background: #dcebef; padding-bottom: 42px; position: relative; }
.work-opening-title { display: grid; grid-template-columns: 1.6fr .7fr; align-items: end; gap: 45px; margin: 30px 0 50px; }
.work-opening h1 { font: 500 clamp(64px,8.6vw,144px)/.98 var(--display); letter-spacing: -.055em; }
.work-opening h1 em { font-style: normal; color: var(--blue); }
.work-opening-title>p { font-size: 15px; max-width: 270px; line-height: 1.85; padding-bottom: 12px; }
.work-jump { display: flex; justify-content: space-between; align-items: center; font-size: 12px; border-top: 1px solid #09212a30; padding-top: 22px; }
.work-jump span { font-size: 25px; }
.work-gallery { background: var(--cloud); }
.filter-bar { flex-wrap: wrap; }
.work-views { display: flex; gap: 18px; margin-left: auto; }
.work-views button { padding: 8px 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--muted); font-size: 12px; }
.work-views button[aria-pressed=true] { color: var(--ink); border-color: var(--ink); }
.work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 70px 35px; align-items: start; }
.work-grid .editorial-card:nth-child(even) { margin-top: 115px; }
.work-grid:has(.project-card[hidden]) .editorial-card { margin-top: 0; }
.editorial-card .project-scene { aspect-ratio: 1.18; padding: 0; }
.editorial-card .scene-watermark { top: 5%; font-size: clamp(80px,9vw,160px); }
.editorial-card .scene-desktop { top: 24%; left: 8%; width: 75%; height: 66%; }
.editorial-card .scene-mobile { top: 33%; right: 5%; width: 25%; height: 62%; }
.editorial-card .scene-label { left: 22px; bottom: 19px; font-size: 8px; }
.editorial-card .scene-stamp { right: 22px; top: 20px; font-size: 8px; }
.editorial-card .project-info { align-items: flex-end; padding-top: 22px; }
.editorial-card .project-info h3 { margin-top: 7px; }
.editorial-card .project-info p { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; margin: 0; }
.project-one-line { display: block; color: var(--muted); font-size: 12px; margin-top: 12px; max-width: 360px; }
.work-grid.is-index { display: block; }
.work-grid.is-index .editorial-card { display: grid; grid-template-columns: 240px 1fr; gap: 45px; margin: 0; padding: 32px 0; border-top: 1px solid var(--line); align-items: center; }
.work-grid.is-index .project-scene { aspect-ratio: 1.5; }
.work-grid.is-index .scene-watermark { font-size: 62px; }
.work-grid.is-index .scene-stamp, .work-grid.is-index .scene-label { display: none; }
.work-grid.is-index .project-info { padding: 0; }
.work-grid.is-index .project-info h3 { font-size: clamp(25px,3.6vw,50px); }
.work-grid.is-index .project-one-line { max-width: none; }
.case-heading { padding-bottom: 38px; }
.case-heading-meta { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 30px; }
.case-heading-meta>span { font-size: 11px; }
.case-heading h1 { font-size: clamp(48px,7vw,115px); }
.case-opening-scene { background: var(--case-bg); padding: 0 var(--gutter) 50px; }
.case-opening-scene .project-scene { aspect-ratio: 1.85; max-width: 1440px; margin: auto; }
.case-chapters { display: flex; gap: 38px; align-items: center; padding: 17px var(--gutter); background: var(--cloud); border-bottom: 1px solid var(--line); position: sticky; top: 92px; z-index: 20; font-size: 11px; }
.case-chapters a { padding: 7px 0; }
.case-chapters a:hover { color: var(--orange-dark); }
.case-chapters a:last-child { margin-left: auto; color: var(--orange-dark); }
.case-context { font-size: 14px; color: var(--muted); margin-bottom: 30px; }
.case-summary .scope-tags { margin-top: 30px; }
.case-study section[id] { scroll-margin-top: 160px; }
.case-design { background: var(--case-bg); }
.case-design .section-title em { color: var(--case-accent); }
.case-design-spread { display: grid; grid-template-columns: 1fr 28%; gap: 6%; align-items: start; }
.inspectable { min-width: 0; }
.image-inspect { display: block; position: relative; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; overflow: hidden; }
.image-inspect img { transition: scale .7s var(--ease); }
.image-inspect:hover img { scale: 1.025; }
.inspect-hint { position: absolute; right: 15px; bottom: 15px; color: #fff; background: var(--ink); padding: 10px 15px; font-size: 10px; display: flex; gap: 20px; align-items: center; }
.inspectable figcaption { font-size: 11px; margin-top: 15px; color: var(--muted); }
.spread-desktop .image-inspect { max-height: 870px; }
.spread-mobile { padding-top: 80px; }
.spread-mobile .image-inspect img { mix-blend-mode: multiply; }
.design-decisions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; margin-top: 65px; }
.design-decisions article { border-top: 1px solid #09212a25; padding-top: 25px; }
.design-decisions h3 { font: 500 27px/1.2 var(--display); letter-spacing: -.03em; margin-bottom: 20px; }
.design-decisions p { font-size: 13px; color: var(--muted); }
.case-art-direction { display: grid; grid-template-columns: 1.1fr 1fr .7fr; gap: 55px; align-items: center; }
.case-art-direction h2 { font: 500 48px/1.1 var(--display); letter-spacing: -.04em; margin: 18px 0; }
.case-art-direction>div>p:last-child { font-size: 12px; color: var(--muted); }
.case-palette { display: flex; gap: 12px; }
.palette-swatch { flex: 1; min-width: 0; }
.palette-swatch>span { display: block; height: 105px; border: 1px solid #09212a12; }
.palette-swatch>small { font-size: 9px; display: block; margin-top: 10px; }
.case-type { border-left: 1px solid var(--line); padding-left: 35px; }
.type-specimen { font: 400 68px/1 var(--display); letter-spacing: -.05em; display: block; margin-bottom: 12px; }
.case-type>span:last-child { font-size: 12px; }
.case-type small { display: block; font-size: 10px; color: var(--muted); margin-top: 4px; }
.case-detail-spread { display: grid; grid-template-columns: .7fr 1.3fr; gap: 10%; background: var(--mist); align-items: start; }
.detail-narrative { position: sticky; top: 195px; }
.detail-narrative h2 { font: 500 clamp(32px,3vw,49px)/1.1 var(--display); letter-spacing: -.04em; margin: 25px 0; }
.detail-narrative>p:last-child { font-size: 14px; color: var(--muted); }
.case-detail-spread .image-inspect { max-height: 950px; }
.case-delivery { max-width: 1220px; }
.next-case { background: var(--sea); color: var(--cloud); overflow: hidden; }
.next-case>a { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.next-case-copy { padding: 70px var(--gutter); position: relative; }
.next-case-copy>.eyebrow { color: #a4bcc2; }
.next-case h2 { font: 500 clamp(36px,4vw,68px)/1.03 var(--display); letter-spacing: -.045em; margin: 35px 0 20px; }
.next-case-copy>span:not(.next-case-arrow) { display: block; font-size: 12px; color: #a4bcc2; max-width: 300px; }
.next-case-arrow { font: 60px/1 Arial; color: var(--orange); display: block; margin-top: 30px; }
.next-case .project-scene { aspect-ratio: auto; min-height: 450px; color: var(--ink); }
.next-case .scene-watermark { font-size: 8vw; top: 15px; }
.next-case .scene-stamp,.next-case .scene-label { display: none; }
.image-dialog { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 22px var(--gutter); border: 0; background: #09212af5; color: #fff; }
.image-dialog::backdrop { background: #09212a; }
.image-dialog[open] { display: flex; flex-direction: column; }
.image-dialog-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 20px; }
.image-dialog-toolbar p { font-size: 12px; }
.image-dialog-toolbar>div { display: flex; gap: 8px; }
.image-dialog button { background: transparent; border: 1px solid #ffffff50; padding: 10px 15px; color: #fff; font-size: 12px; min-width: 42px; min-height: 42px; }
.image-dialog-photo { display: block; flex: 1; min-height: 0; width: 100%; object-fit: contain; }
body.image-viewer-open { overflow: hidden; }
.expertise-opening { background: var(--orange); position: relative; overflow: hidden; min-height: 650px; display: grid; grid-template-columns: 1.5fr .7fr; gap: 32px 60px; align-items: end; isolation: isolate; }
.expertise-opening>.eyebrow { grid-column: 1/-1; }
.expertise-opening h1 { font: 500 clamp(60px,7.7vw,122px)/1.02 var(--display); letter-spacing: -.06em; }
.expertise-opening h1>span { color: #fff; }
.expertise-opening h1 em { font-style: normal; }
.expertise-opening-copy { font-size: 14px; position: relative; z-index: 1; padding-bottom: 8px; }
.expertise-opening-copy>p+p { margin-top: 25px; max-width: 300px; }
.expertise-opening-copy .text-link { margin-top: 25px; }
.expertise-word { position: absolute; z-index: -1; color: #09212a0a; font: 500 680px/.8 var(--display); right: -35px; bottom: -95px; pointer-events: none; }
.service-routes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding-top: 65px; padding-bottom: 65px; gap: 40px; }
.service-routes>a { border-top: 2px solid var(--ink); position: relative; padding-top: 25px; padding-bottom: 20px; }
.service-routes>a>span { font-size: 11px; color: var(--muted); }
.service-routes h2 { font: 500 clamp(25px,2.5vw,40px)/1.1 var(--display); letter-spacing: -.035em; margin: 25px 0 20px; }
.service-routes p { font-size: 11px; color: var(--muted); padding-right: 35px; }
.service-routes .arrow { position: absolute; right: 0; bottom: 20px; }
.service-routes>a:hover { color: var(--blue); }
.service-catalog { background: var(--mist); }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 60px; }
.catalog-heading .eyebrow { margin-bottom: 25px; }
.catalog-heading .section-title { font-size: clamp(40px,4.6vw,72px); }
.catalog-heading>p { font-size: 12px; color: var(--muted); }
.catalog-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 65px; align-items: start; }
.catalog-sidebar { position: sticky; top: 120px; }
.service-search-label { display: block; font-size: 11px; font-weight: 600; margin-bottom: 10px; }
.service-search { position: relative; margin-bottom: 24px; }
.service-search input { border: 1px solid #bcced0; border-radius: 0; width: 100%; min-height: 49px; padding: 12px 34px 12px 12px; font-size: 11px; color: var(--ink); background: #f6f8f7; }
.service-search input::-webkit-search-cancel-button { display: none; }
.service-search button { position: absolute; right: 0; top: 0; height: 100%; width: 35px; border: 0; background: transparent; font-size: 23px; }
.discipline-filters { display: flex; flex-direction: column; gap: 2px; }
.discipline-filters button { border: 0; background: transparent; text-align: left; display: flex; gap: 15px; justify-content: space-between; padding: 9px 12px; font-size: 12px; transition: background .2s; }
.discipline-filters button[aria-pressed=true] { background: var(--ink); color: #fff; }
.discipline-filters button:not([aria-pressed=true]):hover { background: #d2dfe0; }
.discipline-filters button>span { opacity: 0; }
.discipline-filters button[aria-pressed=true]>span,.discipline-filters button:hover>span { opacity: 1; }
.catalog-status { font-size: 11px; color: var(--muted); padding: 20px 12px 0; }
.catalog-discipline { background: var(--cloud); padding: 40px; margin-bottom: 24px; scroll-margin-top: 125px; }
.catalog-discipline header>.eyebrow { color: var(--blue); font-size: 10px; }
.catalog-discipline h3 { font: 500 clamp(29px,3.1vw,46px)/1.1 var(--display); letter-spacing: -.04em; margin: 20px 0; max-width: 650px; }
.catalog-discipline header>p:not(.eyebrow) { font-size: 13px; color: var(--muted); max-width: 600px; }
.catalog-discipline header>.text-link { margin-top: 22px; font-size: 12px; }
.catalog-groups { margin-top: 35px; }
.catalog-group { border-top: 1px solid var(--line); }
.catalog-group:last-child { border-bottom: 1px solid var(--line); }
.catalog-group summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 13px; padding: 17px 0; }
.catalog-group summary::-webkit-details-marker { display: none; }
.catalog-group summary:after { content: '+'; font-size: 23px; font-weight: 400; color: var(--blue); }
.catalog-group[open] summary:after { content: '−'; }
.catalog-group ul { margin: 0; padding: 0 0 20px; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 25px; }
.catalog-group li { font-size: 12px; color: var(--muted); padding-left: 15px; position: relative; }
.catalog-group li:before { content: ''; width: 4px; height: 4px; background: var(--orange); position: absolute; left: 0; top: 8px; }
.catalog-contact { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; margin-top: 30px; }
.catalog-contact:hover { color: var(--orange-dark); }
.catalog-empty { padding: 50px 40px; background: var(--cloud); }
.catalog-empty h3 { font: 500 40px/1.1 var(--display); letter-spacing: -.035em; }
.catalog-empty>p { font-size: 14px; color: var(--muted); margin: 25px 0; }
.catalog-empty .text-link { margin-left: 25px; }
.services-work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.services-work { background: #dcebef; }
.service-catalog:not(.catalog-ready) .catalog-sidebar { position: static; }
.ai-invitation { display: grid; grid-template-columns: 1fr 1.1fr; gap: 10%; align-items: center; background: #d9e7d9; }
.ai-monogram { position: relative; font: 500 clamp(190px,25vw,410px)/.8 var(--display); letter-spacing: -.09em; padding-bottom: 75px; }
.ai-monogram>span { position: absolute; bottom: 0; left: 8px; font: 500 12px/1.6 var(--body); letter-spacing: 0; }
.ai-invitation h2, .applied-ai h2 { font: 500 clamp(40px,5vw,78px)/1.04 var(--display); letter-spacing: -.05em; }
.ai-invitation h2 { margin: 25px 0; }
.ai-invitation h2 em { color: #406449; font-style: normal; }
.ai-invitation-copy>p:not(.eyebrow) { max-width: 450px; font-size: 14px; }
.ai-invitation-tags { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 30px 0; font-size: 10px; }
.ai-invitation-tags span { border-bottom: 1px solid #0b293444; padding-bottom: 7px; }
.ai-invitation-tags a { border-bottom: 1px solid #0b293444; padding: 5px 0; }
.ai-invitation-tags a:hover { border-color: var(--ink); }
@media(min-width:721px) and (max-width:1000px) {
  .desktop-nav { gap: 22px; margin-right: 30px; font-size: 12px; }
  .brand { width: 155px; }
}
.applied-ai { background: var(--sea); color: var(--cloud); scroll-margin-top: 92px; }
.applied-ai-heading { display: flex; align-items: end; justify-content: space-between; gap: 45px; }
.applied-ai-heading .eyebrow { color: #aac2c8; margin-bottom: 28px; }
.applied-ai h2 em { color: var(--orange); font-style: normal; }
.applied-ai-heading>p { font-size: 13px; color: #b1c7cc; padding-bottom: 6px; }
.ai-scenarios { position: relative; min-height: 560px; margin-top: 70px; }
.ai-scenario>summary { width: 43%; border-top: 1px solid #ffffff30; display: grid; grid-template-columns: 22px 1fr 25px; gap: 18px; align-items: start; padding: 27px 0; cursor: pointer; list-style: none; }
.ai-scenario:last-child>summary { border-bottom: 1px solid #ffffff30; }
.ai-scenario>summary::-webkit-details-marker { display: none; }
.ai-scenario>summary>span { font-size: 11px; color: #aac2c8; padding-top: 7px; }
.ai-scenario h3 { font: 500 clamp(23px,2.4vw,37px)/1.15 var(--display); letter-spacing: -.035em; }
.ai-scenario>summary>b { font: 500 27px/1.3 var(--display); transition: rotate .3s; }
.ai-scenario[open]>summary { color: var(--orange); }
.ai-scenario[open]>summary>b { rotate: 90deg; }
.ai-scenario-content { position: absolute; top: 0; left: 52%; width: 48%; }
.ai-scenario-content>.eyebrow { color: var(--orange); font-size: 10px; }
.ai-scenario-description { font-size: 14px; color: #d4e1e4; margin: 18px 0 30px; max-width: 520px; }
.ai-flow { list-style: none; padding: 0; margin: 0; }
.ai-flow>li { position: relative; display: flex; align-items: center; gap: 20px; padding-bottom: 25px; }
.ai-flow>li:not(:last-child):before { content: ''; position: absolute; left: 23px; top: 45px; bottom: 0; width: 1px; background: #7d969c; }
.ai-step-number { flex-shrink: 0; width: 47px; height: 47px; display: grid; place-items: center; background: #193c46; color: #c1dde3; font-size: 11px; border: 1px solid #4d737e; }
.ai-flow>li:last-child .ai-step-number { background: var(--orange); border-color: var(--orange); color: var(--ink); }
.ai-flow h4 { font-size: 14px; font-weight: 500; }
.ai-flow li p { font-size: 11px; margin-top: 6px; color: #aac2c8; }
.ai-flow-caption { font-size: 11px; color: #aac2c8; margin: 0 0 28px; }
.ai-scenario-content .text-link { color: var(--orange); font-size: 12px; }
.ai-scenario[open] .ai-flow>li { animation: workflow-in .45s var(--ease) both; }
.ai-scenario[open] .ai-flow>li:nth-child(2) { animation-delay: .1s; }
.ai-scenario[open] .ai-flow>li:nth-child(3) { animation-delay: .2s; }
@keyframes workflow-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.applied-ai-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 27px; border-top: 1px solid #ffffff30; }
.applied-ai-bottom>span { max-width: 460px; font-size: 12px; color: #aac2c8; }
.applied-ai-bottom .text-link { color: var(--orange); font-size: 12px; }
@media(min-width:1600px) { .project-chapter .project-scene { max-height: 65vh; aspect-ratio: auto; } }
@media(max-width:1100px) {
  .chapter-copy { grid-template-columns: 1.3fr 1fr; }
  .chapter-copy>p { display: none; }
  .chapter-cta { justify-self: end; }
  .capability-path { padding: 26px; min-height: 340px; }
  .capability-path>.arrow { right: 22px; top: 22px; font-size: 25px; }
  .catalog-layout { grid-template-columns: 225px minmax(0,1fr); gap: 30px; }
  .catalog-discipline { padding: 30px; }
  .case-art-direction { gap: 30px; grid-template-columns: 1fr 1fr; }
  .case-type { grid-column: 1/-1; border-left: 0; border-top: 1px solid var(--line); padding: 25px 0 0; display: flex; gap: 25px; align-items: center; }
  .type-specimen { margin: 0; }
  .work-opening h1 { font-size: 9vw; }
}
@media(max-width:720px) {
  .ai-invitation { grid-template-columns: 1fr; gap: 50px; }
  .ai-monogram { font-size: 190px; padding: 0; width: 100%; }
  .ai-monogram>span { left: auto; right: 0; bottom: 7px; font-size: 10px; }
  .applied-ai-heading { flex-direction: column; align-items: start; gap: 25px; }
  .ai-scenarios { margin-top: 40px; min-height: 0; }
  .ai-scenario>summary { width: 100%; gap: 12px; }
  .ai-scenario h3 { font-size: 25px; }
  .ai-scenario-content { position: static; width: 100%; padding-bottom: 38px; }
  .ai-scenario[open]>summary { border-bottom: 0; }
  .ai-scenario-description { font-size: 13px; }
  .applied-ai-bottom { flex-direction: column; align-items: start; margin-top: 40px; }
  .hero-top h1 { font-size: clamp(37px,8vw,57px); }
  .hero-description { min-width: 0; padding-top: 23px; }
  .hero-work-link { margin-top: 12px; gap: 28px; }
  .hero-work-link span { font-size: 22px; }
  .home-hero { min-height: 630px; }
  .work-heading { padding-top: 60px; padding-bottom: 40px; }
  .work-heading .section-title { font-size: 42px; }
  .project-chapter { position: relative; top: auto; padding: 25px var(--gutter) 30px; }
  .project-chapter .project-scene { aspect-ratio: 1.12; }
  .scene-watermark { font-size: 20vw; top: 6%; }
  .scene-desktop { left: 3%; top: 26%; width: 78%; height: 60%; }
  .scene-mobile { width: 28%; top: 32%; right: 2%; height: 63%; }
  .scene-label { bottom: 0; font-size: 8px; }
  .scene-stamp { top: 0; font-size: 7px; }
  .chapter-copy { grid-template-columns: 1fr; gap: 19px; margin-top: 23px; }
  .chapter-copy h3 { font-size: 31px; margin-top: 9px; }
  .chapter-copy .eyebrow { font-size: 8px; }
  .chapter-cta { justify-self: stretch; justify-content: space-between; font-size: 11px; }
  .chapter-cta>span { width: 37px; height: 37px; font-size: 23px; }
  .work-outro { display: block; padding-top: 20px; }
  .work-outro>span { display: block; margin-top: 17px; font-size: 11px; }
  .capability-heading { display: block; }
  .capability-heading>.eyebrow { margin-bottom: 25px; }
  .capability-heading h2 { font-size: 43px; }
  .capability-heading>p:last-child { font-size: 13px; margin-top: 28px; }
  .capability-paths { display: block; margin-top: 40px; }
  .capability-path { margin: 0!important; min-height: 270px; padding: 28px; }
  .capability-path+.capability-path { margin-top: 14px!important; }
  .path-verb { font-size: 39px; }
  .capability-path>div { padding-top: 30px; max-width: 250px; }
  .capability-bottom { display: block; margin-top: 35px; }
  .capability-bottom>.text-link { margin-top: 20px; }
  .studio-statement { font-size: clamp(37px,8.6vw,60px); margin-top: 30px; }
  .studio-note-bottom { display: block; margin-top: 30px; }
  .studio-note-bottom>p { font-size: 13px; }
  .studio-note-bottom>.text-link { margin-top: 20px; }
  .work-opening-title { display: block; margin: 30px 0; }
  .work-opening h1 { font-size: clamp(44px,10vw,70px); }
  .work-opening-title>p { font-size: 12px; margin-top: 30px; max-width: none; }
  .work-grid { grid-template-columns: 1fr; gap: 40px; }
  .work-grid .editorial-card:nth-child(even) { margin-top: 0; }
  .work-views { margin-left: 0; }
  .filter-bar { display: flex; flex-direction: row; align-items: center; gap: 18px; }
  .filter-bar>.filters { width: 100%; }
  .filter-bar #project-count { margin-left: auto; }
  .editorial-card .scene-watermark { font-size: 22vw; }
  .editorial-card .scene-stamp { font-size: 7px; }
  .project-one-line { font-size: 11px; }
  .work-grid.is-index .editorial-card { grid-template-columns: 95px minmax(0,1fr); gap: 18px; padding: 25px 0; }
  .work-grid.is-index .project-scene { aspect-ratio: .9; }
  .work-grid.is-index .scene-watermark { font-size: 32px; }
  .work-grid.is-index .project-info h3 { font-size: 21px; }
  .work-grid.is-index .project-info p { font-size: 8px; }
  .work-grid.is-index .project-arrow { font-size: 20px; }
  .work-grid.is-index .project-one-line { font-size: 10px; margin-top: 8px; }
  .case-heading-meta { display: block; margin-bottom: 23px; }
  .case-heading-meta>span { display: block; margin-top: 9px; }
  .case-heading h1 { font-size: clamp(42px,10.5vw,64px); }
  .case-opening-scene { padding-bottom: 30px; }
  .case-opening-scene .project-scene { aspect-ratio: 1.1; }
  .case-chapters { top: 80px; gap: 20px; padding-top: 10px; padding-bottom: 10px; font-size: 9px; white-space: nowrap; overflow-x: auto; }
  .case-chapters a:last-child { display: none; }
  .case-summary .section-title { font-size: 37px; }
  .case-summary-text { font-size: 23px; }
  .case-context { font-size: 13px; }
  .case-design-spread { grid-template-columns: minmax(0,1fr) 29%; gap: 5%; }
  .spread-mobile { padding-top: 40px; }
  .inspect-hint { font-size: 8px; padding: 6px 8px; bottom: 8px; right: 8px; gap: 10px; }
  .spread-mobile .inspect-hint { font-size: 0; padding: 6px; }
  .spread-mobile .inspect-hint>span { font-size: 13px; }
  .inspectable figcaption { font-size: 9px; margin-top: 10px; }
  .design-decisions { grid-template-columns: 1fr; gap: 30px; margin-top: 40px; }
  .design-decisions h3 { font-size: 26px; margin-bottom: 15px; }
  .design-decisions p { font-size: 12px; }
  .case-art-direction { grid-template-columns: 1fr; gap: 30px; }
  .case-art-direction h2 { font-size: 39px; }
  .palette-swatch>span { height: 100px; }
  .case-detail-spread { grid-template-columns: 1fr; gap: 35px; }
  .detail-narrative { position: static; }
  .detail-narrative h2 { font-size: 36px; }
  .detail-narrative>p:last-child { font-size: 13px; }
  .next-case>a { display: block; }
  .next-case-copy { padding: 50px var(--gutter); }
  .next-case h2 { font-size: 43px; }
  .next-case .project-scene { min-height: 0; aspect-ratio: 1.3; }
  .next-case .scene-watermark { font-size: 22vw; }
  .image-dialog { padding: 15px; }
  .image-dialog-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; }
  .image-dialog-toolbar>div { align-self: flex-end; }
  .image-dialog-toolbar p { font-size: 11px; }
  .expertise-opening { display: block; min-height: 0; }
  .expertise-opening>.eyebrow { margin-bottom: 32px; font-size: 9px; }
  .expertise-opening h1 { font-size: clamp(49px,11vw,76px); }
  .expertise-opening-copy { margin-top: 35px; font-size: 13px; }
  .expertise-opening-copy>p+p { margin-top: 20px; }
  .expertise-word { font-size: 380px; right: -65px; bottom: -50px; }
  .service-routes { grid-template-columns: 1fr; gap: 25px; padding-top: 45px; padding-bottom: 45px; }
  .service-routes h2 { font-size: 32px; margin-top: 18px; }
  .catalog-heading { display: block; margin-bottom: 35px; }
  .catalog-heading .section-title { font-size: 40px; }
  .catalog-heading>p { font-size: 11px; margin-top: 25px; }
  .catalog-layout { display: block; }
  .catalog-sidebar { position: static; margin-bottom: 30px; }
  .service-search input { font-size: 16px; }
  .discipline-filters { flex-direction: row; flex-wrap: nowrap; overflow: auto; padding: 5px 4px 12px; }
  .discipline-filters button { flex: 0 0 auto; border: 1px solid var(--line); font-size: 11px; padding: 10px 14px; }
  .discipline-filters button>span { display: none; }
  .catalog-status { padding: 8px 0 0; }
  .catalog-discipline { padding: 25px 22px; margin-bottom: 18px; scroll-margin-top: 100px; }
  .catalog-discipline h3 { font-size: 31px; }
  .catalog-discipline header>p:not(.eyebrow) { font-size: 12px; }
  .catalog-group summary { font-size: 12px; }
  .catalog-group ul { grid-template-columns: 1fr; gap: 10px; }
  .catalog-group li { font-size: 11px; }
  .catalog-empty { padding: 35px 22px; }
  .catalog-empty h3 { font-size: 32px; }
  .catalog-empty .text-link { margin: 20px 0 0; }
  .services-work-grid { grid-template-columns: 1fr; gap: 35px; }
  .services-work-grid .editorial-card { margin: 0; }
}
@media(max-height:760px) and (min-width:721px) {
  .project-chapter { position: relative; top: auto; }
  .catalog-sidebar { position: static; }
}
@media(prefers-reduced-motion:reduce) {
  .ai-scenario[open] .ai-flow>li { animation: none; }
  .project-chapter { position: relative; top: auto; }
  .scene-desktop,.scene-mobile { transition: none; }
  .chapter-link:hover .scene-desktop,.editorial-card:hover .scene-desktop,.chapter-link:hover .scene-mobile,.editorial-card:hover .scene-mobile { translate: none; }
}
/* Keep scene captions in view while the desktop chapters overlap. */
@media(min-width:721px) and (min-height:761px) {
  .project-chapter .project-scene { max-height: calc(100svh - 285px); }
}
.has-scrolled .site-header { background: var(--cloud); }
.catalog-results { scroll-margin-top: 120px; }

/* Same navigation surface and current-section feedback on every page. */
.mobile-nav>a[aria-current="page"] { color: var(--blue); }
.header-actions .button[aria-current="page"] { background: var(--ink); color: var(--cloud); }
