.page-main { padding-top: var(--review-hero-top); }
.page-main h1, .page-main h2, .page-main h3 { color: var(--ink); }
.page-main .eyebrow { font-size: var(--review-meta); color: var(--mute); font-weight: var(--review-title-weight); }
.page-main .text-link { display: inline-flex; align-items: center; gap: var(--review-caption-gap); min-height: var(--review-control); max-width: 100%; font-size: var(--review-meta); }
.page-main .text-link:hover { text-decoration: underline; text-underline-offset: var(--review-focus-offset); }
.page-main .section-heading { margin-bottom: var(--review-heading-gap); }
.page-main .section-heading h2 { font-size: var(--fs-h2); font-weight: var(--review-heading-weight); line-height: var(--review-title-leading); }
.page-heading { padding-block: var(--review-heading-gap) var(--review-hero-top); }
.page-heading > .eyebrow { color: var(--mute); margin-bottom: var(--gap); }
.page-heading h1 { font-size: var(--review-page-title); line-height: var(--review-title-leading); letter-spacing: var(--trk); font-weight: var(--review-heading-weight); white-space: pre-line; max-width: 22ch; }
.page-lead { font-size: var(--review-body); line-height: var(--review-body-leading); max-width: var(--review-reading-width); margin-top: var(--gap); }
.page-section { padding-block: var(--review-page-section-space); border-top: var(--review-rule) solid var(--line); }
.page-index { display: flex; flex-wrap: wrap; gap: var(--review-control-gap) var(--review-heading-gap); padding-bottom: var(--review-heading-gap); }
.page-index a { display: inline-flex; align-items: center; gap: var(--review-caption-gap); min-height: var(--review-control); font-size: var(--review-meta); text-decoration: underline; text-underline-offset: var(--review-fine-gap); }
.group-heading { margin-bottom: var(--review-heading-gap); }
.group-heading .eyebrow { color: var(--mute); margin-bottom: var(--review-caption-gap); }
.group-heading h2 { font-size: var(--fs-h2); line-height: var(--review-title-leading); }
.group-heading > p:last-child { font-size: var(--review-body); color: var(--mute); margin-top: var(--review-feature-gap); }
.page-main .work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--review-hero-top) var(--review-heading-gap); }
.work-tile { min-width: 0; }
.work-tile > a { display: block; }
.tile-meta { display: flex; gap: var(--review-feature-gap); justify-content: space-between; margin-block: var(--review-control-padding) var(--review-control-gap); font-size: var(--review-meta); color: var(--mute); }
.work-tile h3 { display: flex; justify-content: space-between; gap: var(--review-feature-gap); font-size: var(--review-feature-title); line-height: var(--review-title-leading); }
.work-tile h3 > .en { margin-right: auto; }
.tile-arrow { margin-left: auto; font-size: var(--review-title); }
.work-tile p { margin-top: var(--review-caption-gap); font-size: var(--review-body); line-height: var(--review-body-leading); max-width: var(--review-reading-width); }
.credit-note, .work-tile .credit-note { font-size: var(--review-meta); color: var(--mute); line-height: var(--review-body-leading); margin-top: var(--review-feature-gap); }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--review-caption-gap); color: var(--mute); font-size: var(--review-meta); }
.case-heading { padding-top: var(--gap); }
.case-deck { margin-top: var(--review-caption-gap); font-size: var(--review-feature-title); color: var(--ink); line-height: var(--review-title-leading); }
.case-outline { margin-bottom: var(--review-heading-gap); }
.case-outline .page-index { padding-block: var(--review-fine-gap) 0; margin-top: var(--review-feature-gap); border-top: var(--review-rule) solid var(--line); }
.case-outline .case-facts { display: flex; flex-wrap: wrap; gap: var(--review-feature-gap) var(--gap); margin: 0; }
.case-outline .case-facts > div { display: block; border: 0; padding: 0; min-width: 0; }
.case-outline .case-facts > .case-role { flex-basis: 100%; }
.case-facts dt, .story-copy dt { color: var(--mute); font-size: var(--review-meta); margin-bottom: var(--review-control-gap); }
.case-outline .case-facts dt { margin-bottom: var(--review-fine-gap); }
.case-facts dd { margin: 0; font-size: var(--review-body); }
.case-cover { margin: 0 0 var(--gap); border-radius: var(--r-card); overflow: hidden; background: var(--canvas-2); }
.studio-cover { margin-bottom: var(--review-hero-top); }
.studio-cover img { width: 100%; aspect-ratio: var(--review-page-cover-ratio); object-fit: cover; }
.case-cover figcaption { padding: var(--review-caption-gap) var(--review-feature-gap); font-size: var(--review-meta); color: var(--mute); }
.story-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--review-hero-top); }
.story-row .section-heading { margin: 0; }
.story-row h2 { white-space: pre-line; }
.story-copy, .resource-content { font-size: var(--review-body); line-height: var(--review-body-leading); min-width: 0; }
.story-copy p, .resource-content > p { max-width: var(--review-reading-width); }
.story-copy dl { margin-top: var(--gap); }
.story-copy dd { margin: 0; font-size: var(--review-body); }
.case-gallery { display: grid; gap: var(--review-hero-top) var(--review-heading-gap); padding-bottom: var(--review-page-section-space); }
.gallery-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-rest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.case-frame { margin: 0; min-width: 0; }
.case-frame figcaption { display: flex; align-items: baseline; gap: var(--review-caption-gap); margin-top: var(--review-caption-gap); color: var(--mute); font-size: var(--review-meta); line-height: var(--review-body-leading); }
.case-frame figcaption .text-link { margin-left: auto; flex-shrink: 0; }
.frame-number { font-family: var(--font-latin); }
.project-record { margin-top: var(--gap); font-size: var(--review-body); }
.project-record summary { cursor: pointer; min-height: var(--review-control); display: list-item; padding-block: var(--review-caption-gap); }
.project-record > div { padding-top: var(--review-feature-gap); color: var(--mute); }
.project-record > div p + p { margin-top: var(--review-feature-gap); }
.case-more { border-top: var(--review-rule) solid var(--line); margin-bottom: var(--review-heading-gap); }
.source-frame { margin-bottom: var(--review-heading-gap); }
.story-copy .review-action { margin-top: var(--review-feature-gap); }
.film-block + .film-block { margin-top: var(--review-heading-gap); }
.film-block iframe { width: 100%; aspect-ratio: var(--review-page-cover-ratio); border: 0; border-radius: var(--r-card); background: var(--canvas-2); display: block; }
.media-caption { margin-top: var(--review-caption-gap); font-size: var(--review-meta); color: var(--mute); }
.related-work > .text-link { margin-top: var(--review-heading-gap); font-size: var(--review-body); }
.principle-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--review-hero-top); padding-top: var(--review-heading-gap); }
.principle-row + .principle-row { margin-top: var(--review-hero-top); border-top: var(--review-rule) solid var(--line); }
.principle-row .eyebrow { color: var(--mute); }
.principle-row h3 { font-size: var(--review-feature-title); margin-top: var(--review-control-gap); }
.principle-row p:not(.eyebrow) { font-size: var(--review-body); line-height: var(--review-body-leading); margin-top: var(--review-caption-gap); }
.principle-row .text-link { margin-top: var(--review-feature-gap); font-size: var(--review-body); }
.capability-list > a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; gap: var(--gap); padding-block: var(--gap); border-bottom: var(--review-rule) solid var(--line); align-items: center; }
.capability-list h3 { font-size: var(--review-feature-title); }
.capability-list p { font-size: var(--review-body); color: var(--mute); }
.capability-list > a > span { font-size: var(--review-title); }
.information-list { margin: 0; font-size: var(--review-body); line-height: var(--review-body-leading); }
.information-list > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: var(--review-feature-gap); padding-block: var(--review-feature-gap); border-bottom: var(--review-rule) solid var(--line); }
.information-list dt { color: var(--mute); }
.information-list dd { margin: 0; min-width: 0; }
.information-list a { text-decoration: underline; text-underline-offset: var(--review-fine-gap); overflow-wrap: anywhere; }
.resource-note { display: flex; justify-content: space-between; align-items: center; gap: var(--review-heading-gap); }
.resource-note h2 { font-size: var(--review-feature-title); }
.resource-note p { font-size: var(--review-body); color: var(--mute); margin-top: var(--review-caption-gap); }
.resource-note .text-link { flex-shrink: 0; font-size: var(--review-body); }
.contact-opening { padding-bottom: var(--review-hero-top); }
.contact-opening p { font-size: var(--review-body); color: var(--mute); margin-top: var(--review-feature-gap); }
.inquiry-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--review-hero-top); }
.inquiry-guide h2 { font-size: var(--fs-h2); line-height: var(--review-title-leading); white-space: pre-line; margin-top: var(--review-feature-gap); }
.inquiry-guide > p:last-child { font-size: var(--review-body); color: var(--mute); max-width: var(--review-reading-width); margin-top: var(--review-control-padding); }
.brief-step { padding-bottom: var(--review-heading-gap); }
.brief-step + .brief-step { padding-top: var(--review-heading-gap); border-top: var(--review-rule) solid var(--line); }
.brief-step .eyebrow { color: var(--mute); }
.brief-step h3 { font-size: var(--review-feature-title); margin-top: var(--review-caption-gap); }
.brief-step > p:not(.eyebrow) { font-size: var(--review-body); line-height: var(--review-body-leading); margin-top: var(--review-feature-gap); }
.inquiry-choices { display: none; flex-wrap: wrap; gap: var(--review-control-gap); margin-top: var(--review-control-padding); }
.js-pages .inquiry-choices { display: flex; }
.choice-button { display: inline-flex; justify-content: center; align-items: center; gap: var(--review-control-gap); min-height: var(--review-control); padding: var(--review-caption-gap) var(--review-feature-gap); border: var(--review-rule) solid var(--mute); border-radius: var(--r-btn); font-size: var(--review-meta); text-align: left; line-height: var(--review-body-leading); }
.choice-button[aria-pressed="true"] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.choice-button[aria-pressed="true"]::before { content: '✓'; }
.project-context { padding: var(--review-feature-gap); background: var(--canvas-2); }
.project-context a { text-decoration: underline; text-underline-offset: var(--review-fine-gap); }
.project-context button { display: block; min-height: var(--review-control); text-decoration: underline; font-size: var(--review-meta); }
.draft-action { padding: var(--gap); border: var(--review-rule) solid var(--line); border-radius: var(--r-card); }
.draft-action p { font-size: var(--review-body); line-height: var(--review-body-leading); }
.draft-action .primary-link { width: 100%; }
.resource-content > p, .resource-content > .information-list { margin-top: var(--gap); }
.resource-content > .text-link { margin-top: var(--review-feature-gap); margin-right: var(--gap); font-size: var(--review-body); }
.logo-sample { display: flex; align-items: center; gap: var(--gap); padding: var(--review-heading-gap); background: var(--canvas-2); }
.logo-sample img { width: var(--review-page-logo-size); height: var(--review-page-logo-size); }
.logo-sample strong { font-family: var(--font-latin); font-size: var(--review-feature-title); font-weight: 800; line-height: var(--review-title-leading); }
.resource-caution { color: var(--mute); font-size: var(--review-body); }
.palette-samples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: var(--review-rule) solid var(--line); }
.palette-samples > div { padding: var(--gap); font-size: var(--review-body); }
.palette-samples > div > span:last-child { display: block; margin-top: var(--review-heading-gap); font-family: var(--font-latin); font-size: var(--review-meta); }
.palette-paper { background: var(--paper); color: var(--ink); }
.palette-ink { background: var(--ink); color: var(--paper); }
.concept-page .contact-email { overflow-wrap: anywhere; }
.contact-email { display: inline-block; font-size: var(--review-feature-title); line-height: var(--review-title-leading); text-decoration: underline; text-underline-offset: var(--review-focus-offset); }

@media (hover: hover) and (pointer: fine) {
  .work-tile a:hover img { opacity: .85; }
  .capability-list a:hover, .page-index a:hover { color: var(--mute); }
}
@media (max-width: 700px) {
  .page-main { padding-top: var(--review-control-padding); }
  .page-heading { padding-block: var(--gap) var(--review-hero-top); }
  .page-heading > .eyebrow { margin-bottom: var(--review-control-padding); }
  .page-heading h1 { max-width: none; }
  .page-index { gap: var(--review-control-gap) var(--review-control-padding); }
  .page-section { padding-block: var(--review-hero-top); }
  .page-main .work-grid, .story-row, .principle-row, .inquiry-layout, .gallery-pair, .gallery-rest { grid-template-columns: minmax(0, 1fr); gap: var(--review-heading-gap); }
  .case-gallery { padding-bottom: var(--review-hero-top); }
  .studio-cover img { aspect-ratio: var(--review-primary-ratio); }
  .case-frame figcaption { flex-wrap: wrap; }
  .case-frame figcaption > span:nth-child(2) { flex: 1; }
  .case-frame figcaption .text-link { flex-basis: 100%; margin-left: 0; }
  .capability-list > a { grid-template-columns: minmax(0, 1fr) auto; gap: var(--review-caption-gap); }
  .capability-list p { grid-row: 2; }
  .capability-list > a > span { grid-column: 2; grid-row: 1 / 3; }
  .resource-note { align-items: flex-start; flex-direction: column; gap: var(--review-feature-gap); }
  .logo-sample { padding: var(--review-control-padding); gap: var(--review-feature-gap); }
  .logo-sample img { width: var(--review-page-section-space); height: var(--review-page-section-space); }
  .palette-samples > div { padding: var(--review-feature-gap); }
}
