/* Shared exhibition layout: artwork stays unfiltered and at its original ratio. */
:root {
  --paper: #ffffff;
  --paper-deep: #f4f5f3;
  --shell: #ffffff;
  --ink: #242824;
  --muted: #626861;
  --line: #dde1da;
  --mineral: #365a4c;
  --gallery-width: 1280px;
  --gallery-gutter: 44px;
}

body { background: var(--paper); }
body, button, input, textarea, select { letter-spacing: 0; }
.section, .shop-inner, .footer {
  width: min(var(--gallery-width), calc(100% - var(--gallery-gutter) * 2));
  margin-inline: auto;
}
.section { padding-block: 88px; }
.section::before { content: none; }
.section-head { width: 100%; margin-bottom: 36px; }
.section-head.split { align-items: end; gap: 24px; }
.section-head h2, .career-heading h2 { margin-bottom: 0; }
h2 { font-size: 34px; line-height: 1.6; }
.section-label, .eyebrow {
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.section-label::before { content: none; }
.phrase-heading { text-wrap: pretty; }
.phrase-unit { white-space: normal; word-break: normal; }
.readable-phrase { white-space: normal; }
.body-text, .contact-intro, .documentary-intro, .lead {
  font-size: 15px;
  line-height: 2;
  text-wrap: pretty;
  line-break: strict;
  overflow-wrap: break-word;
}
.text-link { font-size: 13px; line-height: 1.6; padding-block: 10px; }
.site-header {
  min-height: 76px;
  padding: 12px var(--gallery-gutter);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
}
.brand { gap: 10px; font-size: 13px; font-weight: 500; }
.brand-mark { width: 34px; height: 34px; border: 0; background: #fff; }
.header-atelier-brand {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 108px;
  height: 54px;
  place-items: center;
  transform: translate(-50%, -50%);
}
.header-atelier-brand img { display: block; width: 100%; height: auto; }
.site-header .nav { gap: 26px; font-size: 12px; }
.nav a { border: 0; position: relative; }
.nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 4px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms ease;
}
.nav a:hover::after, .nav a:focus-visible::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }

/* The opening is one continuous white exhibition surface. */
.hero {
  --hero-height: clamp(620px, calc(100svh - 155px), 880px);
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  min-height: 0;
  height: var(--hero-height);
  gap: 36px;
  padding-block: 18px 34px;
  align-items: center;
}
.hero-copy { padding-block: 0; }
.hero h1 { margin: 0 0 12px; font-size: 62px; line-height: 1.3; }
.hero .eyebrow { margin-bottom: 20px; }
.hero .title-ja { font-size: 15px; margin-bottom: 30px; color: var(--muted); }
.hero-statement { font-size: 27px; line-height: 1.7; margin-bottom: 18px; }
.hero-statement .phrase-unit { display: block; }
.hero .lead { max-width: 29em; font-size: 14px; line-height: 2.05; color: var(--muted); margin-bottom: 0; }
.hero-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px 24px; margin-top: 26px; }
.hero-actions .button-link {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  border-radius: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  box-shadow: none;
  text-decoration: none;
}
.hero-actions .primary { display: flex; justify-content: space-between; gap: 36px; min-width: 136px; }
.hero-actions .primary::after { content: "\2192"; font-size: 18px; }
.hero-actions .secondary { font-size: 11px; color: var(--muted); border-color: var(--line); }
.hero-actions a:hover { color: var(--mineral); border-color: var(--mineral); transform: none; }
.hero-visual { width: 100%; height: 100%; min-height: 0; }
.hero-image {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  background: #fff;
  border: 0;
  box-shadow: none;
}
.hero-transition { flex: 1; min-height: 0; aspect-ratio: auto; background: #fff; }
.hero-image .hero-transition img { object-fit: contain; object-position: center; filter: none; transform: none; }
.hero-image figcaption {
  position: static;
  align-self: center;
  flex: none;
  margin: 10px 0 0;
  padding: 0;
  background: transparent;
  color: var(--muted);
  font-family: Georgia, serif;
  font-size: 12px;
  font-weight: 400;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
}
.hero-transition .hero-complete { opacity: 1; animation: none; }
:where(html.artwork-motion) .hero-transition:not(.is-ready) .hero-complete { opacity: 0; }
.hero-transition.is-preparing .hero-complete { opacity: 0; }
.hero-transition.is-ready .hero-complete { animation: galleryArtworkReveal 2800ms cubic-bezier(.22,.61,.36,1) both; }
@media (min-width: 641px) {
  .hero-visual { place-items: center; }
  .hero-image { height: auto; width: min(100%, calc((var(--hero-height) - 40px) * .703333)); }
  .hero-transition { flex: none; aspect-ratio: 1200 / 1702; }
}
@keyframes galleryArtworkReveal {
  0%, 14% { opacity: 0; }
  100% { opacity: 1; }
}

.featured-works { padding-top: 42px; padding-bottom: 76px; }
.featured-works .section-head { margin-bottom: 32px; }
.featured-grid { display: grid; grid-template-columns: 1.16fr 1.02fr .9fr; gap: 30px; align-items: start; margin: 0; padding: 0; overflow: visible; scroll-snap-type: none; }
.featured-grid .featured-card { width: 100%; margin: 0; gap: 18px; transform: none; }
.featured-grid .featured-card-secondary { width: 100%; margin-top: 96px; justify-self: center; }
.featured-grid .featured-card-tertiary { width: 100%; margin-top: 38px; justify-self: end; }
.featured-artwork { position: relative; width: 100%; overflow: visible; }
.featured-card img { display: block; height: auto; width: 100%; aspect-ratio: auto; object-fit: contain; padding: 0; border: 0; filter: none; mix-blend-mode: normal; }
.featured-material-line { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.featured-material-line path { fill: none; stroke: rgba(54,90,76,.76); stroke-width: .28; vector-effect: non-scaling-stroke; }
.featured-material-line circle { fill: #6f527c; stroke: #fff; stroke-width: .28; vector-effect: non-scaling-stroke; }
.featured-material-label {
  position: absolute;
  z-index: 1;
  display: grid;
  gap: 1px;
  min-width: 76px;
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.2;
  pointer-events: none;
}
.featured-material-label b { font-size: 12px; font-weight: 400; font-style: italic; }
.featured-material-label small { color: var(--muted); font-family: Lato, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; font-size: 8px; letter-spacing: .04em; }
.featured-material-label-quartz { top: 10%; right: -1%; text-align: right; }
.featured-material-label-ammolite { right: 1%; bottom: 7%; text-align: right; }
.featured-material-label-peridot { bottom: 13%; left: 1%; }
.featured-card:hover img { transform: none; box-shadow: none; }
.featured-card-copy { display: block; padding-top: 14px; border-top: 1px solid var(--line); }
.featured-card-copy .featured-title { display: block; color: var(--ink); font-size: 16px; font-weight: 400; line-height: 1.6; }
.featured-card-copy .featured-english { display: block; margin-top: 3px; color: var(--muted); font: italic 12px/1.7 Georgia, serif; }
.featured-card-copy p { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.featured-card-copy small { display: none; }
.featured-card:hover .featured-title { color: var(--mineral); }

.news-section .section-head { padding-inline: 0; }
.news-scroll-list { max-height: 376px; padding-right: 10px; scrollbar-color: #a8afa4 transparent; }
.news-list article { padding-block: 22px; grid-template-columns: 160px 90px minmax(0,1fr) auto; column-gap: 24px; }
.news-list h3 { font-size: 16px; line-height: 1.8; font-weight: 400; }
.news-list time { color: var(--muted); font-size: 11px; font-weight: 400; }
.news-type { color: var(--muted); font-weight: 400; font-size: 11px; }
.news-image-button { border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 8px 0; min-height: 44px; font-size: 11px; }
.news-title-link { text-decoration-thickness: 1px; text-decoration-color: var(--line); text-underline-offset: 5px; }

.profile-grid { grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.profile-grid > div:first-child h2 { font-size: 30px; margin-bottom: 32px; }
.profile-grid h2 .phrase-unit { display: block; }
.profile-photo { width: min(64%, 280px); margin: 0 auto; padding: 0; background: transparent; }
.profile-photo img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 0; }
.profile-summary { border: 0; padding: 0; }
.profile-summary p { font-size: 15px; line-height: 2.05; margin-bottom: 20px; }
.profile-summary > .section-label { font-size: 11px; line-height: 1.5; margin-bottom: 12px; }
.profile-summary > .section-label + p { font-size: 19px; }
.profile-facts { color: var(--muted); }
.profile-facts span { display: block; }
.profile-facts span + span::before { content: none; }

.section.quiet-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 80px;
  align-items: center;
  width: min(var(--gallery-width), calc(100% - var(--gallery-gutter) * 2));
  margin-inline: auto;
  padding: 80px 0;
  background: #fff;
  border-block: 1px solid var(--line);
}
.quiet-band .section-head { display: block; margin: 0; }
.quiet-band .section-head h2 { font-size: 32px; margin-bottom: 24px; }
.quiet-band h2 .phrase-unit { display: block; }
.quiet-band .section-head .body-text { max-width: 31em; margin: 0; font-size: 15px; line-height: 2.1; }
.drawing-reveal { width: min(100%, 440px); margin: 0 auto; padding: 0; background: #fff; border: 0; }
.drawing-reveal figcaption { padding: 12px 0 0; margin: 0; border: 0; text-align: center; font: italic 12px/1.6 Georgia,serif; text-transform: none; letter-spacing: 0; color: var(--muted); }
.drawing-reveal .reveal-stage img { filter: none; mix-blend-mode: normal; }
.concept-grid { grid-column: 1 / -1; margin-top: 48px; gap: 30px; }
.concept-grid article, .concept-grid article + article { padding: 22px 0 0; border-color: var(--line); }
.concept-grid h3 { font-size: 17px; margin: 10px 0; line-height: 1.7; }
.concept-grid p { font-size: 14px; line-height: 1.95; }
.concept-more { grid-column: 1 / -1; }

.documentary .section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 0 80px; align-items: start; }
.documentary .section-label { grid-column: 1; }
.documentary h2 { grid-column: 1; }
.documentary-intro { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.documentary-film { margin: 0; padding: 0; background: #fff; border: 0; }
.documentary-film figcaption { color: var(--muted); padding: 12px 0 0; font: italic 12px/1.6 Georgia,serif; text-transform: none; letter-spacing: 0; }
.documentary-watch-label { font-size: 12px; letter-spacing: 0; }
.career-heading { grid-template-columns: 1fr 1fr; gap: 24px 80px; align-items: end; margin-bottom: 36px; }
.career-intro { font-size: 14px; line-height: 1.9; margin: 0; }
.career-list { max-height: 420px; scrollbar-color: #a8afa4 transparent; }
.career-entry-trigger { padding: 24px 12px 24px 0; grid-template-columns: 66px 140px minmax(0,1fr) 32px; column-gap: 24px; }
.career-title { font-size: 17px; line-height: 1.75; font-weight: 400; }
.career-year { font-size: 13px; color: var(--muted); font-weight: 400; }
.career-kind { color: var(--muted); font-size: 10px; line-height: 1.6; letter-spacing: 0; }
.career-note { margin-top: 6px; font-size: 11px; }
.career-arrow { border: 0; color: var(--muted); }
.works { padding-block: 24px; }
.works-cta-inner { padding-block: 36px; background: transparent; border: 0; }
.works-cta-inner h2 { font-size: 28px; }
.works-cta-link { padding-inline: 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 14px; }
.shop-section { background: var(--paper-deep); border-block: 0; }
.shop-inner { padding-block: 52px; }
.shop-heading { gap: 28px; }
.shop-title-block h2 { font-size: 28px; }
.shop-storefront { padding: 0; }
.shop-storefront p { max-width: 36em; font-size: 14px; }
.shop-storefront-label, .shop-preparing-label { font-size: 10px; letter-spacing: 0; }
.shop-preparing { gap: 20px; padding: 14px 0; }

.process-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; border: 0; }
.process-steps > article, .process-steps > article + article { display: block; padding: 22px 0 0; border: 0; border-top: 1px solid var(--line); }
.process-steps h3 { margin: 12px 0 10px; font-size: 18px; line-height: 1.6; }
.process-steps p { margin: 0; font-size: 14px; line-height: 1.9; }
.media-section { padding-top: 24px; }
.process-media { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin: 0; padding: 0; overflow: visible; scroll-snap-type: none; }
.process-media > article:nth-child(2) { margin-top: 0; }
.process-media article h2 { font-size: 25px; margin-bottom: 22px; }
.process-media article > .body-text { font-size: 14px; line-height: 1.95; margin: 18px 0 0; }
.process-media .studio-image { object-fit: contain; filter: none; height: auto; aspect-ratio: 4/3; margin: 0; background: #fff; }
.media-video-shell { aspect-ratio: 4/3; background: #fff; }
.media-video-shell video { height: 100%; width: 100%; object-fit: contain; }
.contact { grid-template-columns: 1fr 1fr; gap: 80px; }
.contact h2 { font-size: 30px; }
.contact h2 .phrase-unit { display: block; }
.contact-intro { max-width: 30em; }
.contact-form label > span { font-size: 12px; font-weight: 400; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; background: #f8f9f7; border: 1px solid var(--line); border-radius: 2px; padding: 12px; }
.contact-form button { min-height: 48px; border-radius: 0; font-size: 13px; letter-spacing: 0; }
.contact-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.contact-links a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 0; gap: 6px; border: 0; font-size: 11px; }
.contact-links .social-art-icon { width: 66px; height: 58px; object-fit: contain; margin: 0; }
.footer { justify-content: space-between; padding: 30px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; gap: 18px; }
.footer-links { gap: 24px; }
.footer a { border: 0; min-height: 44px; display: inline-flex; align-items: center; }

/* Archive and article pages share the same type scale and edges as home. */
.works-page { padding-top: 64px; }
.works-page h1 { font-size: 54px; line-height: 1.2; margin: 0; }
.works-page > .section-head { margin-bottom: 38px; padding-bottom: 0; border-bottom: 0; }
.works-filter { padding: 24px 0 28px; margin-bottom: 44px; background: transparent; border-block: 1px solid var(--line); }
.works-filter-kicker { font-size: 10px; letter-spacing: 0; margin-bottom: 6px; }
.works-filter h2 { font-size: 22px; }
.works-filter-field input, .works-filter-field select { background: #fff; border-radius: 2px; font-size: 16px; min-height: 46px; }
.works-filter-field > span { font-size: 12px; }
.works-genre-tabs button, .works-stone-modes button, .works-creature-tabs button { font-size: 12px; min-height: 44px; }
.works-gallery { gap: 54px 32px; }
.works-gallery .work-card img { background: #fff; padding: 0; filter: none; mix-blend-mode: normal; box-shadow: none; border: 0; object-fit: contain; }
.works-gallery .work-card img:hover { transform: none; }
.works-gallery .work-card-body { padding: 14px 0 0; border-top: 1px solid var(--line); }
.work-title { font-size: 16px; line-height: 1.65; }
.work-medium { color: var(--muted); font-size: 11px; }
.work-context { color: var(--muted); font-size: 11px; line-height: 1.75; }
.news-index, .news-detail, .news-not-found { padding-top: 64px; }
.news-index-header h1, .news-detail-header h1, .news-not-found h1 { font-size: 42px; line-height: 1.55; margin: 12px 0 20px; }
.news-index-header, .news-detail-header { max-width: 900px; }
.news-index-header > p:last-child, .news-detail-header > p { font-size: 15px; line-height: 2; }
.news-index-tools { margin-top: 36px; }
.news-index-card { padding-block: 32px; gap: 44px; grid-template-columns: 220px minmax(0,1fr); }
.news-index-copy h2 { font-size: 23px; line-height: 1.7; }
.news-index-copy > p { font-size: 14px; }
.news-index-meta, .news-detail-meta { letter-spacing: 0; font-size: 12px; }
.news-back { margin-bottom: 28px; }
.news-detail-header { margin-bottom: 36px; }
.news-detail-hero, .news-detail-gallery figure, .news-body-image { border: 0; padding: 0; background: #fff; }
.news-detail-hero { max-width: 840px; }
.news-detail-body { font-size: 16px; line-height: 2.1; margin-top: 40px; }
.news-detail-body h2 { font-size: 26px; }
.news-detail-body h3 { font-size: 21px; }
.news-detail-gallery { margin-top: 40px; gap: 32px; }
.news-detail-title { word-break: keep-all; overflow-wrap: break-word; text-wrap: pretty; }
.text-reveal-target.is-text-visible { animation-duration: 1400ms; }
@keyframes galleryTextReveal {
  from { opacity: 0; transform: translate3d(0,8px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@media (max-width: 1040px) {
  :root { --gallery-gutter: 32px; }
  .hero { gap: 28px; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
  .hero h1 { font-size: 48px; }
  .hero-statement { font-size: 24px; }
  .site-header .nav { gap: 0; }
  .featured-grid { grid-template-columns: 1.14fr 1fr .9fr; gap: 22px; }
  .featured-grid .featured-card-secondary { width: 100%; margin-top: 72px; }
  .featured-grid .featured-card-tertiary { width: 100%; margin-top: 28px; }
  .profile-grid, .section.quiet-band, .contact { gap: 40px; }
  .profile-grid > div:first-child h2, .quiet-band .section-head h2 { font-size: 28px; }
  .news-list article { grid-template-columns: 135px 60px minmax(0,1fr) auto; gap: 16px; }
  .career-entry-trigger { grid-template-columns: 56px 100px minmax(0,1fr) 28px; gap: 16px; }
  .process-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
  .process-media { gap: 32px; }
}
@media (max-width: 760px) {
  :root { --gallery-gutter: 24px; }
  .section { padding-block: 56px; }
  .hero { height: auto; min-height: 600px; padding-block: 28px 44px; }
  .hero h1 { font-size: 40px; }
  .hero .lead { font-size: 13px; }
  .hero-visual { height: 490px; }
  .featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 24px; }
  .featured-grid .featured-card-lead { grid-column: 1 / -1; width: min(100%,480px); margin-inline: auto; }
  .featured-grid .featured-card-secondary, .featured-grid .featured-card-tertiary { width: 100%; margin-top: 0; justify-self: auto; }
  .featured-card-copy .featured-title { font-size: 14px; }
  .featured-card-copy .featured-english { font-size: 11px; }
  .featured-material-label b { font-size: 11px; }
  .featured-material-label small { font-size: 7.5px; }
  .section.quiet-band { padding-block: 56px; }
  .profile-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .profile-summary p { font-size: 14px; }
  .profile-grid > div:first-child h2 { font-size: 25px; }
  .news-list article { grid-template-columns: minmax(0,1fr) auto; gap: 6px 16px; }
  .news-list time { grid-column: 1; grid-row: auto; }
  .news-type { grid-column: 2; grid-row: auto; text-align: right; }
  .news-list h3 { grid-column: 1 / -1; }
  .news-image-button { grid-column: 1 / -1; justify-self: start; margin: 0; }
  .documentary .section-head { display: block; }
  .documentary-intro { margin-top: 16px; }
  .career-heading { grid-template-columns: 1fr; gap: 12px; }
  .career-entry-trigger { grid-template-columns: 48px minmax(0,1fr) 24px; }
  .career-year { grid-column: 1; grid-row: 1 / span 2; }
  .career-kind { grid-column: 2; grid-row: 1; }
  .career-main { grid-column: 2; grid-row: 2; }
  .career-action { grid-column: 3; grid-row: 1 / span 2; }
  .contact { grid-template-columns: 1fr; }
  .news-index-card { grid-template-columns: 170px minmax(0,1fr); gap: 24px; }
  .news-index-copy h2 { font-size: 20px; }
}
@media (max-width: 640px) {
  :root { --gallery-gutter: 20px; }
  .site-header { min-height: 64px; padding: 9px 16px; }
  .brand-mark { width: 30px; height: 30px; }
  .header-atelier-brand { width: 92px; height: 46px; }
  .nav-toggle { min-height: 44px; font-size: 10px; letter-spacing: 0; }
  .site-header .nav { background: #fff; border-color: var(--line); }
  h2 { font-size: 27px; }
  .section { padding-block: 44px; }
  .section-label { font-size: 10px; margin-bottom: 8px; }
  .section-head.split { display: flex; flex-direction: row; gap: 16px; align-items: end; }
  .section-head.split .text-link { flex: none; margin: 0; font-size: 11px; }
  .section-head { margin-bottom: 24px; }
  .hero { display: flex; flex-direction: column; width: 100%; min-height: 0; gap: 0; padding: 12px 0 32px; }
  .hero-visual { order: -1; width: calc(100% - 40px); height: min(57svh,500px); margin: 0 auto; }
  .hero-transition { aspect-ratio: auto; }
  .hero-image .hero-transition img { object-position: center; }
  .hero-image figcaption { font-size: 10px; margin-top: 6px; }
  .hero-copy { width: calc(100% - 40px); padding-top: 24px; }
  .hero h1 { font-size: 32px; margin-bottom: 6px; }
  .hero .title-ja { font-size: 12px; margin-bottom: 18px; }
  .hero-statement { font-size: 21px; line-height: 1.65; margin-bottom: 0; }
  .hero-actions { flex-wrap: nowrap; justify-content: space-between; gap: 16px; margin-top: 18px; }
  .hero-actions .primary { min-width: 100px; gap: 14px; font-size: 12px; }
  .hero-actions .button-link { width: auto; }
  .hero-actions .secondary { max-width: 180px; font-size: 10px; line-height: 1.6; }
  .featured-works { padding-top: 28px; }
  .featured-works .section-head { margin-bottom: 24px; }
  .featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 16px; }
  .featured-grid .featured-card-lead { grid-column: 1 / -1; width: min(100%,330px); margin: 0 auto; }
  .featured-grid .featured-card-secondary, .featured-grid .featured-card-tertiary { grid-column: auto; width: 100%; margin: 0; }
  .featured-grid .featured-card { gap: 12px; }
  .featured-card-copy { padding-top: 10px; }
  .featured-card-copy .featured-title { font-size: 13px; }
  .featured-card-copy .featured-english { font-size: 10px; }
  .featured-card-copy p { font-size: 9px; margin-top: 5px; }
  .featured-material-label { min-width: 62px; }
  .featured-material-label b { font-size: 10px; }
  .featured-material-label small { font-size: 7px; }
  .news-scroll-list { max-height: 390px; padding-right: 8px; }
  .news-list article { padding-block: 18px; }
  .news-list h3 { font-size: 15px; line-height: 1.8; }
  .profile-grid { grid-template-columns: 1fr; gap: 26px; }
  .profile-grid > div:first-child h2 { font-size: 26px; margin-bottom: 28px; }
  .profile-photo { width: 180px; max-width: 62%; }
  .profile-summary { padding-top: 0; }
  .profile-summary p { font-size: 14px; margin-bottom: 14px; line-height: 1.95; }
  .profile-summary > .section-label { font-size: 10px; margin-bottom: 8px; }
  .profile-summary > .section-label + p { font-size: 18px; }
  .profile-more summary, .concept-more summary { font-size: 12px; font-weight: 400; letter-spacing: 0; }
  .section.quiet-band { display: block; padding-block: 44px; }
  .quiet-band .section-head h2 { font-size: 26px; margin-bottom: 18px; }
  .quiet-band .section-head .body-text { font-size: 14px; line-height: 2; }
  .drawing-reveal { width: min(84%,300px); margin-top: 28px; }
  .drawing-reveal figcaption { font-size: 10px; }
  .concept-more { margin-top: 26px; border-color: var(--line); }
  .concept-more .concept-grid { display: block; }
  .concept-grid article, .concept-grid article + article { padding: 18px 0; }
  .concept-grid h3 { font-size: 16px; }
  .documentary-intro { font-size: 14px; }
  .documentary-film figcaption { font-size: 11px; }
  .career-heading { margin-bottom: 24px; }
  .career-list { max-height: 380px; }
  .career-entry-trigger { padding-block: 20px; gap: 5px 12px; }
  .career-title { font-size: 15px; line-height: 1.8; }
  .career-note { font-size: 10px; line-height: 1.7; }
  .shop-inner { padding-block: 36px; }
  .shop-title-block h2 { font-size: 24px; }
  .shop-storefront p { font-size: 13px; line-height: 1.9; }
  .process-steps { display: block; }
  .process-steps > article, .process-steps > article + article { display: grid; grid-template-columns: 30px minmax(0,1fr); grid-template-areas: 'number title' 'number copy'; gap: 6px 12px; padding: 18px 0; }
  .process-steps h3 { margin: 0; font-size: 16px; }
  .process-steps p { font-size: 14px; }
  .media-section { padding-top: 10px; }
  .process-media { grid-template-columns: 1fr; gap: 34px; }
  .process-media article h2 { font-size: 23px; margin-bottom: 16px; }
  .process-media article > .body-text { font-size: 14px; line-height: 1.95; margin-top: 14px; }
  .contact { gap: 28px; }
  .contact h2 { font-size: 25px; }
  .contact-intro { font-size: 14px; }
  .contact-form { gap: 18px; }
  .contact-form input, .contact-form select { min-height: 46px; }
  .contact-links .social-art-icon { width: 58px; height: 50px; }
  .footer { padding-block: 22px; flex-wrap: wrap; gap: 0 18px; font-size: 10px; }
  .footer-links { gap: 16px; }
  .works-page { padding-top: 36px; }
  .works-page h1 { font-size: 40px; }
  .works-page > .section-head { margin-bottom: 24px; }
  .works-filter { margin-bottom: 30px; padding-block: 20px; }
  .works-filter h2 { font-size: 20px; }
  .works-filter-primary { grid-template-columns: minmax(0,1fr) 112px; gap: 14px; }
  .works-filter-field input, .works-filter-field select { font-size: 16px; padding-inline: 8px; }
  .works-filter-toggle { font-size: 12px; border-bottom: 0; }
  .works-gallery { gap: 32px 20px; }
  .works-gallery .work-card img { aspect-ratio: 3/4; height: auto; }
  .work-title { font-size: 14px; }
  .work-medium, .work-context { font-size: 10px; }
  .news-index, .news-detail, .news-not-found { padding-top: 32px; }
  .news-index-header h1, .news-detail-header h1, .news-not-found h1 { font-size: 27px; line-height: 1.65; }
  .news-index-header > p:last-child, .news-detail-header > p { font-size: 14px; }
  .news-index-tools { margin-top: 24px; }
  .news-categories { display: flex; gap: 0 22px; }
  .news-categories a { min-height: 44px; font-size: 12px; }
  .news-index-card { grid-template-columns: 100px minmax(0,1fr); gap: 18px; padding-block: 24px; }
  .news-index-image img { height: 140px; max-height: none; object-fit: contain; }
  .news-index-meta { font-size: 10px; gap: 4px 10px; }
  .news-index-copy h2 { font-size: 16px; margin: 8px 0; line-height: 1.75; }
  .news-index-copy > p { font-size: 12px; line-height: 1.8; }
  .news-back { margin-bottom: 20px; font-size: 12px; }
  .news-detail-meta { font-size: 11px; gap: 6px 14px; }
  .news-detail-header { margin-bottom: 26px; }
  .news-detail-body { font-size: 15px; line-height: 2; margin-top: 28px; }
  .news-detail-body h2 { font-size: 23px; }
  .news-detail-body h3 { font-size: 19px; }
  .news-detail-hero img, .news-detail-gallery img { max-height: 70svh; }
}
@media (max-width: 359px) {
  .hero h1 { font-size: 30px; }
  .hero-statement { font-size: 19px; }
  .hero-actions .secondary { max-width: 148px; }
  .featured-grid { gap: 28px 12px; }
  .featured-grid .featured-card-lead { width: min(100%,290px); }
  .featured-card-copy .featured-title { font-size: 12px; }
  .profile-grid > div:first-child h2, .quiet-band .section-head h2, .contact h2 { font-size: 23px; }
  .works-filter-primary { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-transition.is-preparing .hero-complete, .hero-transition.is-ready .hero-complete { opacity: 1; animation: none; }
  .text-reveal-target { opacity: 1; transform: none; }
  .nav a::after { transition: none; }
}
