:root {
  color-scheme: light;
  --paper: #f2eadf;
  --ink: #1c1814;
  --muted: #514b43;
  --gold: #947040;
  --hairline: #51423031;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --gutter: max(clamp(1.4rem, 15vw - 4.8rem, 9rem), (100vw - 74rem) / 2);
  --grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888888' filter='url(%23n)' opacity='.32' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; }
html.viewing-art { overflow: hidden; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.55 var(--sans); }
img { display: block; max-inline-size: 100%; block-size: auto; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
button, summary { cursor: pointer; }
button, a { -webkit-tap-highlight-color: #99744728; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #84602e; outline-offset: 4px; }
#main:focus { outline: none; }
section[id], footer[id] { scroll-margin-block-start: 12px; }
[data-highlight] { position: relative; isolation: isolate; }
[data-highlight]::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(107deg, #f2deb4, #e9c991);
}
[data-highlight].is-highlighted::after { opacity: 1; }
.frame { width: calc(100% - var(--gutter) * 2); margin-inline: auto; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  z-index: 5;
  inset-block-start: 0.5rem;
  inset-inline-start: 0.5rem;
  padding: 0.65rem 0.9rem;
  color: #fff7eb;
  background: var(--ink);
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }

.masthead {
  background: linear-gradient(106deg, #f0e7db, #f3ebe0 57%, #eee5d9);
  border-block-end: 1px solid var(--hairline);
}
.masthead-inner { display: flex; min-height: 62px; align-items: stretch; justify-content: space-between; gap: 1rem; }
.brand {
  position: relative;
  width: 125px;
  min-height: 62px;
  flex: 0 0 auto;
}
.brand img {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 96px;
  transform: translate(-50%, -52%);
}
.masthead-nav { --nav-gap: clamp(1.15rem, 3.1vw, 3.4rem); display: flex; align-items: stretch; gap: var(--nav-gap); }
.masthead-nav a, .footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 0.66rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.23em;
  line-height: 1.1;
  text-transform: uppercase;
}
.masthead-nav a { position: relative; border-block-end: 1px solid transparent; }
.masthead-nav a + a::before {
  content: "";
  position: absolute;
  inset-inline-start: calc(var(--nav-gap) / -2);
  inset-block-start: 50%;
  inline-size: 1px;
  block-size: 0.85em;
  transform: translateY(-50%);
  background: #84674c80;
  pointer-events: none;
}
.masthead-nav a:hover, .masthead-nav a[aria-current="page"] { border-color: var(--gold); }

.hero {
  isolation: isolate;
  display: grid;
  grid-template-columns: 45.2% minmax(0, 1fr);
  background: #e8d8c3;
}
.hero-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2rem, 3.5vw, 3.7rem) clamp(0.8rem, 1.5vw, 1.5rem) clamp(2.75rem, 5vw, 5.15rem) var(--gutter);
  background:
    linear-gradient(30deg, #7c5d403d 0%, #a88a652b 17%, transparent 32%),
    linear-gradient(29deg, transparent 36%, #fffdf332 49%, transparent 56%, #fffaf35c 66%, #ab8e6a20 72%, transparent 80%),
    linear-gradient(115deg, #fff8ed 5%, #f2e7d9 65%, #deccb6);
}
.hero-copy::before, .hero-stage::before, .signature::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--grain) center / 174px 174px;
  opacity: 0.31;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin: 0;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  line-height: 1.35;
  text-transform: uppercase;
  white-space: nowrap;
}
.with-rule::after {
  content: "";
  flex: 0 1 clamp(2.2rem, 5.7vw, 5.7rem);
  min-inline-size: 1.5rem;
  block-size: 1px;
  background: #a77e48;
}
h1, h2, .signature-motto { font-family: var(--serif); font-weight: 400; }
.hero h1 {
  margin: 0.48em 0 0;
  font-size: clamp(2.02rem, 3.16vw, 3.35rem);
  letter-spacing: -0.048em;
  line-height: 1.085;
  text-wrap: pretty;
}
.hero h1 span, .about h2 span { display: block; }
.hero-summary, .section-summary { color: var(--muted); }
.hero-summary { margin: 1.45rem 0 0; font-size: clamp(0.86rem, 1.14vw, 1.025rem); }
.text-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.78rem;
  min-block-size: 32px;
  padding-block: 0.2rem;
  border-block-end: 1px solid var(--gold);
  font-size: 0.63rem;
  font-weight: 600;
  letter-spacing: 0.21em;
  line-height: 1.4;
  text-transform: uppercase;
}
.text-link span { font-size: 1.04rem; font-weight: 400; line-height: 1; }
.text-link:hover { color: #684821; }
.hero .text-link { margin-block-start: clamp(1rem, 2.25vw, 2.15rem); font-size: 0.69rem; }

.hero-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  min-block-size: clamp(320px, 28.4vw, 470px);
  place-items: center;
  padding: 13px 24% 19px 0;
  border-inline-start: 1px solid #f7e4ccaa;
  background:
    linear-gradient(90deg, transparent 68.9%, #7f624841 69.05%, #f5e2c766 69.18%, transparent 69.42%),
    linear-gradient(0deg, transparent 49%, #8d6a481f 49.14%, #fbe8ca4d 49.3%, transparent 49.51%),
    radial-gradient(ellipse at 8% 77%, #ead7bc, transparent 70%),
    linear-gradient(103deg, #d0b598 5%, #c4a88b 46%, #9a7b60 100%);
}
.hero-stage::before { opacity: 0.55; z-index: -2; }
.hero-stage::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset-inline: -14% 0;
  inset-block-end: 0;
  block-size: 18px;
  border-block-start: 1px solid #f0debe;
  background: linear-gradient(178deg, #e6d0b2 5%, #ccb393 45%, #b69977 54%, #d5bc99 64%, #b99e7d);
  clip-path: polygon(4% 0, 100% 0, 100% 100%, 0 100%, 0 62%);
}
.hero-art { display: block; inline-size: min(26.15vw, calc(100% - 22px), 414px); box-shadow: 10px 16px 27px #2e23187a; }
.hero-art:hover { box-shadow: 12px 18px 32px #2e23188c; }
.hero-art img { inline-size: 100%; aspect-ratio: 1; }

.works {
  border-block-start: 1px solid #fff4e8b0;
  border-block-end: 1px solid var(--hairline);
  background: linear-gradient(110deg, #f4ece1, #eee5d8 80%);
}
.works-layout {
  display: grid;
  grid-template-columns: minmax(9.1rem, 0.82fr) minmax(0, 2.52fr) minmax(80px, auto);
  gap: clamp(1rem, 1.9vw, 1.85rem);
  align-items: center;
  padding-block: clamp(1.25rem, 1.56vw, 1.75rem);
}
.works h2, .about h2 {
  margin: 0.43em 0 0;
  font-size: clamp(1.72rem, 2.27vw, 2.43rem);
  line-height: 1.065;
  letter-spacing: -0.041em;
}
.section-summary { margin: 0.65rem 0 0; font-size: 0.85rem; line-height: 1.5; }
.works-copy .section-summary { max-inline-size: 28ch; }
.works-copy .text-link { margin-block-start: 0.66rem; }
.works-rail {
  display: grid;
  grid-template-columns: repeat(var(--columns, 4), minmax(0, 1fr));
  gap: clamp(0.65rem, 1.7vw, 1.6rem);
  min-inline-size: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
.works-rail > li { min-inline-size: 0; }
.work-link { display: block; }
.work-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 1.1;
  background: #211d19;
  border: 1px solid #4d413347;
}
.work-image img { inline-size: 100%; block-size: 100%; object-fit: cover; }
[data-work="dove"] .work-image img { object-position: 50% 43%; }
.work-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  padding-block-start: 0.48rem;
  color: #40382e;
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}
.work-caption [aria-hidden] { color: #70542e; font-size: 0.83rem; line-height: 1; }
.work-link:hover .work-caption { color: #70542e; }
.work-controls { display: grid; justify-items: center; align-content: center; gap: 0.48rem; }
.work-count { color: #4a3d30; font: 600 0.65rem/1.1 var(--sans); letter-spacing: 0.2em; white-space: nowrap; }
.arrow-pair { display: flex; gap: 0.25rem; align-items: center; }
.arrow, .viewer-close {
  display: inline-grid;
  place-items: center;
  min-inline-size: 37px;
  min-block-size: 39px;
  padding: 0;
  background: transparent;
  border: 1px solid transparent;
}
.arrow { font-size: 1.34rem; line-height: 1; }
.arrow:hover, .viewer-close:hover { border-color: currentColor; }

.about {
  display: grid;
  grid-template-columns: 33.12% minmax(0, 1fr);
  background: linear-gradient(112deg, #f2e9dc, #f2eadd 62%, #eae0d2);
}
.about-art-detail {
  position: relative;
  min-block-size: 170px;
  overflow: hidden;
  margin: 0;
  background: radial-gradient(ellipse at 34% 25%, #f2e8d8, #d9c5a8);
}
.about-art-detail img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
}
.about-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: 1rem;
  padding: clamp(2rem, 3.3vw, 3.5rem) var(--gutter) clamp(2rem, 3.3vw, 3.5rem) clamp(1.25rem, 4vw, 3.75rem);
}
.about h2 { font-size: clamp(1.75rem, 2.58vw, 2.65rem); }
.about-copy .section-summary { max-inline-size: 58ch; margin: 0; font-size: 0.97rem; line-height: 1.58; }
.about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem clamp(1rem, 2.4vw, 2.5rem);
  margin-block-start: 0.62rem;
}

.studio-page-shell { display: flex; flex-direction: column; min-block-size: 100vh; }
.studio-page {
  display: grid;
  flex: 1 0 auto;
  align-items: center;
  border-block-end: 1px solid var(--hairline);
  background:
    radial-gradient(ellipse at 10% 9%, #fff7eb, transparent 62%),
    linear-gradient(111deg, #f3eadd, #ebdfcf 85%);
}
.studio-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.75rem, 4.65vw, 5rem);
  padding-block: clamp(2.75rem, 6vw, 6.25rem);
}
.studio-copy h1 {
  max-inline-size: 17ch;
  margin: 0.48em 0 0;
  font-size: clamp(2rem, 3.57vw, 3.6rem);
  letter-spacing: -0.04em;
  line-height: 1.065;
  text-wrap: balance;
}
.studio-prose {
  max-inline-size: 52ch;
  margin-block-start: 1.15rem;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}
.studio-prose p { margin: 0; }
.studio-prose p + p { margin-block-start: 0.84rem; }
.studio-copy .text-link { margin-block-start: 1.3rem; }
.studio-scenes {
  display: grid;
  /* Match the two photo ratios so both images share the same height. */
  grid-template-columns: minmax(0, 43fr) minmax(0, 32fr);
  align-items: start;
  gap: clamp(0.75rem, 1.4vw, 1.3rem);
}
.studio-scene { min-inline-size: 0; margin: 0; }
.studio-scene-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 960 / 860;
  background: #c8b69e;
  box-shadow: 0 6px 23px #392a191f;
}
.studio-slide-photo img {
  /* The approved slides place each room at (60, 279), 960 × 860, on a 1080 × 1350 canvas. */
  position: absolute;
  inset-inline-start: -6.25%;
  inset-block-start: -32.44186%;
  inline-size: 112.5%;
  max-inline-size: none;
}
.studio-tree-room { aspect-ratio: 3 / 2; }
.studio-room-background { inline-size: 100%; block-size: 100%; object-fit: cover; }
.studio-tree-art {
  position: absolute;
  inset-block-start: 37%;
  inset-inline-start: 54%;
  inline-size: 30.5%;
  transform: translate(-50%, -50%);
  border: 1px solid #191614;
  box-shadow: -3px 4px 8px #13191f86;
}
.studio-scene figcaption {
  margin-block-start: 0.65rem;
  color: #57442e;
  font-size: 0.61rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: 1.5;
  text-transform: uppercase;
}

.signature {
  position: relative;
  isolation: isolate;
  padding: 1rem var(--gutter) 1.06rem;
  text-align: center;
  background:
    radial-gradient(ellipse at 14% 6%, #44332650 0, transparent 58%),
    linear-gradient(104deg, #231d18, #171513 56%, #1e1915);
  color: #fbf1e3;
}
.signature::before { z-index: -1; opacity: 0.5; mix-blend-mode: soft-light; }
.signature-motto { margin: 0; font-size: clamp(1.45rem, 2.32vw, 2.45rem); letter-spacing: -0.02em; word-spacing: 0.07em; line-height: 1.22; text-wrap: balance; }
.signature-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.6rem, 1.6vw, 1.5rem);
  margin: 0.66rem 0 0;
  color: #ddc6a7;
  font-size: 0.59rem;
  font-weight: 600;
  letter-spacing: 0.27em;
  line-height: 1.45;
  text-transform: uppercase;
}
.footer { background: linear-gradient(106deg, #f0e7db, #f3ebe0 57%, #eee5d9); }
.footer-layout { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: clamp(0.8rem, 1.6vw, 1.5rem); align-items: center; min-block-size: 75px; }
.footer-brand { display: grid; place-items: center; min-block-size: 48px; border-inline-end: 1px solid #7b6d5b58; }
.footer-brand img { width: 70px; margin-block: -10px; }
.studio-contact {
  display: grid;
  justify-items: start;
  min-inline-size: 0;
  padding-block: 0.52rem;
  font-style: normal;
}
.email { font-size: 0.76rem; letter-spacing: 0.1em; overflow-wrap: anywhere; }
.email-copy {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.6rem;
  max-inline-size: 100%;
  min-block-size: 31px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: start;
}
.email-copy .email { min-inline-size: 0; user-select: text; }
.copy-label {
  color: #71552e;
  font-size: 0.59rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.email-copy:hover .copy-label { text-decoration: underline; text-underline-offset: 3px; }
.email-feedback { margin: 0; color: var(--muted); font-size: 0.73rem; line-height: 1.35; }
.email:hover, .footer-social a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-social { display: flex; flex-wrap: wrap; gap: 0 clamp(1.15rem, 3.4vw, 3.45rem); }
.footer-social a { min-block-size: 44px; gap: 0.52rem; }
.footer-social svg { flex: none; }
.footer-social a[href^="https://www.instagram.com/"] { --social-accent: #b52b70; }
.footer-social a[href^="https://www.pinterest.com/"] { --social-accent: #c5102b; }
.footer-social a:focus-visible svg { color: var(--social-accent, currentColor); }
@media (hover: hover) {
  .footer-social a:hover svg { color: var(--social-accent, currentColor); }
}

.viewer {
  max-inline-size: min(660px, calc(100% - 1.4rem));
  inline-size: max-content;
  max-block-size: calc(100dvh - 1.4rem);
  padding: clamp(0.8rem, 2vw, 1.25rem);
  overflow: auto;
  border: 1px solid #766044;
  background: #211c17;
  color: #f7edde;
  box-shadow: 0 22px 70px #0008;
}
.viewer::backdrop { background: #17130fea; }
.viewer :focus-visible { outline-color: #dbb77b; }
.viewer-top, .viewer-caption { display: flex; align-items: center; justify-content: space-between; gap: 1.1rem; }
.viewer-top { margin-block-end: 0.55rem; }
.viewer-top .eyebrow { color: #dbbf9d; }
.viewer-close { min-inline-size: 44px; min-block-size: 44px; font-size: 1.55rem; line-height: 1; }
.viewer-figure { margin: 0; }
.viewer-figure img { inline-size: min(560px, calc(100vw - 4rem), calc(100dvh - 9.7rem)); aspect-ratio: 1; object-fit: contain; background: #171410; }
.viewer-caption { margin-block-start: 0.8rem; }
.viewer-caption h2 { margin: 0; font-size: clamp(1.27rem, 3vw, 1.68rem); line-height: 1.15; }
.viewer-caption .work-count { margin: 0.45rem 0 0; color: #d9bd9b; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  [data-highlight]::after { transition: opacity 180ms ease-out; }
  [data-highlight].is-highlighted::after { transition-duration: 120ms; }
  .hero-copy > * { animation: arrive 550ms ease-out both; }
  .hero-art { animation: arrive 680ms ease-out both; transition: box-shadow 250ms ease; }
  .work-image img { transition: transform 380ms ease; }
  .work-link:hover .work-image img { transform: scale(1.035); }
  .text-link span { transition: transform 160ms ease; }
  .text-link:hover span { transform: translateX(3px); }
  @keyframes arrive {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: none; }
  }
}

@media (min-width: 1151px) {
  .works-layout {
    width: calc(100% - var(--gutter) * 2 + 24px);
    margin-inline: var(--gutter) 0;
    grid-template-columns: minmax(9.1rem, 0.87fr) minmax(0, 2.52fr) minmax(80px, auto);
  }
}

@media (max-width: 1030px) {
  .hero { grid-template-columns: 49% minmax(0, 1fr); }
  .hero-stage { padding-inline-end: 15%; }
  .hero-art { inline-size: min(34vw, calc(100% - 26px)); }
  .works-rail { grid-template-columns: repeat(var(--columns, 2), minmax(0, 1fr)); }
  .works-layout { grid-template-columns: minmax(9.1rem, 0.78fr) minmax(0, 2fr) minmax(80px, auto); }
  .about { grid-template-columns: 29% minmax(0, 1fr); }
}

@media (max-width: 760px) {
  :root { --gutter: clamp(1.12rem, 5.1vw, 2.35rem); }
  .masthead-inner { min-block-size: 58px; gap: 0.6rem; }
  .brand { inline-size: 86px; min-block-size: 58px; }
  .brand img { width: 83px; }
  .masthead-nav { --nav-gap: clamp(0.55rem, 2.5vw, 1.45rem); }
  .masthead-nav a { min-inline-size: 42px; justify-content: center; font-size: 0.61rem; letter-spacing: 0.15em; }
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero-copy { padding: clamp(1.85rem, 5.5vw, 2.7rem) var(--gutter) 1.72rem; }
  .hero h1 { font-size: clamp(1.9rem, 6.2vw, 3.05rem); }
  .hero-summary { margin-block-start: 1.1rem; font-size: 0.95rem; }
  .hero .text-link { margin-block-start: 1rem; }
  .text-link { min-block-size: 43px; }
  .hero-stage { min-block-size: 0; border-inline-start: 0; border-block-start: 1px solid #fff5e49c; padding: 19px var(--gutter) 23px; }
  .hero-stage::after { inset-inline: 0; block-size: 12px; clip-path: none; }
  .hero-art { inline-size: min(100%, 66vw, 345px); }
  .works-layout { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 0.9rem; padding-block: 1.6rem 1.2rem; }
  .works-rail { grid-template-columns: repeat(var(--columns, 1), minmax(0, 1fr)); }
  .works h2 br { display: none; }
  .works-copy .section-summary { max-inline-size: none; }
  .works-copy .text-link { margin-block-start: 0.15rem; }
  .work-image { aspect-ratio: 1.68; }
  .work-caption { padding-block-start: 0.65rem; }
  .work-controls { display: flex; align-items: center; justify-content: flex-start; gap: 0.85rem; }
  .arrow { min-block-size: 44px; min-inline-size: 44px; }
  .about { grid-template-columns: minmax(0, 1fr); }
  .about-content { grid-row: 1; gap: 0.8rem; padding: 1.72rem var(--gutter) 1.35rem; }
  .about h2 { font-size: clamp(1.75rem, 5vw, 2.2rem); }
  .about-art-detail { min-block-size: clamp(170px, 49vw, 218px); }
  .studio-page { align-items: start; }
  .studio-layout { grid-template-columns: minmax(0, 1fr); gap: 1.9rem; padding-block: 2.3rem; }
  .studio-copy h1 { max-inline-size: 16ch; font-size: clamp(2rem, 7.7vw, 2.85rem); }
  .studio-prose { margin-block-start: 0.85rem; }
  .studio-copy .text-link { margin-block-start: 0.7rem; }
  .studio-scenes { gap: 0.85rem; }
  .signature { padding-block: 1.32rem; }
  .signature-label { font-size: 0.55rem; letter-spacing: 0.15em; gap: 0.55rem; }
  .footer-layout { grid-template-columns: 64px minmax(0, 1fr); gap: 0 0.8rem; padding-block: 0.55rem; }
  .email { letter-spacing: 0.02em; }
  .email-copy { min-block-size: 44px; }
  .footer-social { grid-column: 2; }
  .footer-social a { letter-spacing: 0.14em; }
}

@media (max-width: 360px) {
  .brand { inline-size: 76px; }
  .brand img { inline-size: 74px; }
  .masthead-nav { --nav-gap: 0.47rem; }
  .masthead-nav a { min-inline-size: 36px; }
}

@media (max-width: 600px) {
  .masthead-nav { --nav-gap: clamp(0.58rem, 2.5vw, 1rem); }
  .masthead-nav a { min-inline-size: 44px; font-size: 0.69rem; letter-spacing: 0.11em; }
  .text-link, .hero .text-link { min-block-size: 44px; font-size: 0.69rem; letter-spacing: 0.16em; }

  .hero-copy { padding-block: 1.55rem 1.35rem; }
  .hero-summary { margin-block-start: 0.85rem; }
  .hero .text-link { margin-block-start: 0.7rem; }
  .hero-stage { padding-block: 15px 20px; }
  .hero-art { inline-size: min(100%, 77vw, 22rem); }

  .work-image { aspect-ratio: 1; }
  .work-image img { object-fit: contain; }
  .work-link:hover .work-image img { transform: none; }
  .work-caption { font-size: 0.66rem; letter-spacing: 0.15em; }
  .work-caption [aria-hidden] { font-size: 0.95rem; }
  .work-controls { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.45rem; }
  .work-controls .work-count { justify-self: start; }
  .work-controls .arrow-pair { gap: 0.38rem; }
  .work-controls .arrow { border-color: #82684c65; }

  .viewer-figure img { inline-size: min(calc(100vw - 2.8rem), calc(100dvh - 9.7rem)); }
  .viewer .arrow, .viewer-close { border-color: #d9bd9b70; }
  .viewer-caption { gap: 0.6rem; }

  .studio-scene figcaption { font-size: 0.68rem; letter-spacing: 0.065em; text-wrap: pretty; }
  .studio-scene-context { display: block; margin-block-start: 0.2rem; font-weight: 400; letter-spacing: 0.03em; text-transform: none; }
  .studio-scene-context [aria-hidden] { display: none; }
  .signature { padding-block: 0.78rem; }
  .signature-motto { font-size: clamp(1.12rem, 5.2vw, 1.4rem); }
  .signature-label { margin-block-start: 0.42rem; }
  .email { font-size: 0.84rem; }
}

@media (max-width: 760px) and (hover: none) {
  .footer-social svg { color: var(--social-accent, currentColor); }
}

@media (max-height: 480px) and (orientation: landscape) {
  .viewer-figure img { inline-size: min(52vh, 100%); }
}
