.portfolio-shot {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: zoom-in;
}
.portfolio-shot img {
  display: block;
  width: 100%;
  height: auto;
}
.draft-banner {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #343c30;
  color: #fff;
  text-align: center;
  padding: 10px;
  font:
    13px "Open Sans",
    sans-serif;
}
.portfolio-viewer {
  border: 0;
  padding: 18px;
  background: #171a16;
  color: white;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
}
.portfolio-viewer::backdrop {
  background: #171a16;
}
.portfolio-viewer .controls {
  height: 45px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.portfolio-viewer button {
  border: 0;
  background: transparent;
  color: #fff;
  font: 30px sans-serif;
  cursor: pointer;
  padding: 8px 20px;
}
.portfolio-viewer .stage {
  height: calc(100% - 45px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.portfolio-viewer img {
  max-width: calc(100% - 140px);
  max-height: 100%;
  object-fit: contain;
}
.gallery-nav a:focus-visible,
a:focus-visible,
button:focus-visible {
  outline: 2px solid #8a917b;
  outline-offset: 5px;
}
.hero-home h1 {
  max-width: 850px !important;
  text-wrap: balance;
}
.hero-home .hero-content {
  max-width: 1100px;
}
img {
  max-width: 100%;
}
/* Shared editorial rhythm; original font families and warm palette retained. */
.chanel-style-header .logo { color: var(--text); text-decoration: none; }
.nav-list a[aria-current="page"] { color: var(--text); }
main h1, main h2, main h3 { text-wrap: balance; overflow-wrap: break-word; }
.hero-home h1 { font-size: clamp(3rem, 6.5vw, 6rem); line-height: 1.06; letter-spacing: .09em; }
.hero-copy { max-width: 49ch; line-height: 1.85; }
.home-manifesto-copy h2, .home-signature-head h2, .home-collections-head h2,
.cta-home h2, .about-details-copy h2 {
  font-size: clamp(2rem, 3.7vw, 3.5rem); line-height: 1.16; letter-spacing: .075em; max-width: 23ch;
}
.home-signature-head h2, .home-collections-head h2, .cta-home h2 { margin-inline: auto; }
.home-signature-head .section-intro { max-width: 57ch; margin: 1.25rem auto 0; color: var(--muted); line-height: 1.85; }
.home-montage-copy p { max-width: 57ch; line-height: 1.85; color: var(--muted); margin-bottom: 1.25rem; }
.about-story-copy h1 { max-width: 16ch; font-size: clamp(2.5rem, 4.7vw, 4.4rem); letter-spacing: .07em; line-height: 1.13; }
.about-story-lead, .about-details-copy p:not(.section-kicker) { max-width: 56ch; line-height: 1.9; }
.page-contact .contact-intro h1 { max-width: 22ch; letter-spacing: .075em; line-height: 1.15; }
.contact-form input:focus, .contact-form textarea:focus { outline: 1px solid var(--accent); outline-offset: 3px; }
.price-copy h3, .price-collection-head h2 { letter-spacing: .065em; line-height: 1.18; }
.price-copy { min-width: 0; }
.price-description { max-width: 58ch; }
.price-facts strong { font-variant-numeric: tabular-nums; }
.price-footer { flex-wrap: wrap; }
.page-gallery .gallery-intro { width: min(100% - 2.5rem, 640px); margin: 0 auto clamp(2.5rem, 5vw, 4.5rem); }
.page-gallery .gallery-title { color: var(--text); margin: .5rem 0 1.25rem; padding-top: 0; }
.page-gallery .gallery-nav, .page-gallery .gallery-nav.gallery-nav-fixed {
  position: sticky; top: calc(var(--header-h) + 1rem); left: auto; width: auto;
  /* A stretched grid item has no room to stick inside its containing block. */
  align-self: start;
}
.page-gallery .gallery-category { scroll-margin-top: calc(var(--header-h) + 2rem); }
.page-gallery .gallery-category h2 { letter-spacing: .09em; }
.page-gallery .portfolio-shot { overflow: hidden; }
.page-gallery .portfolio-shot img { transition: transform .5s ease; }
@media (hover: hover) {
  .page-gallery .portfolio-shot:hover img { transform: scale(1.025); }
}
body > footer { border-top: 1px solid var(--line); }
@media (max-width: 980px) {
  .price-entry, .price-entry:nth-child(even) { grid-template-columns: minmax(0, 1fr); }
  .price-copy { max-width: none; }
  .price-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-gallery .gallery-nav, .page-gallery .gallery-nav.gallery-nav-fixed {
    display: block; position: sticky; top: var(--header-h); z-index: 45;
    padding: 1rem 0; background: var(--page-bg); overflow-x: auto; border-block: 1px solid var(--line);
  }
  .page-gallery .gallery-nav ul { display: flex; flex-wrap: nowrap; gap: 1.4rem; width: max-content; }
  .page-gallery .gallery-nav a { white-space: nowrap; min-height: 30px; display: flex; align-items: center; }
  .page-gallery .gallery-category { scroll-margin-top: calc(var(--header-h) + 6rem); }
}
@media (max-width: 640px) {
  .page-gallery .gallery-wrapper { display: block; }
  .page-gallery .gallery-nav { margin-bottom: 2rem; }
  .page-home .home-manifesto-copy h2, .page-home .home-collections-head h2,
  .page-about .about-details-copy h2 { max-width: 22ch; font-size: 2.05rem; letter-spacing: .065em; }
  .page-about .about-story-copy h1 { max-width: 16ch; font-size: 2.7rem; letter-spacing: .06em; }
  .hero-actions { gap: .75rem; }
  .price-facts { gap: .75rem; }
  .price-facts strong { font-size: .85rem; }
  .price-facts span { font-size: .62rem; letter-spacing: .08em; }
}
body {
  overflow-x: clip;
}
@media (max-width: 700px) {
  .portfolio-viewer button {
    padding: 8px;
  }
  .portfolio-viewer img {
    max-width: calc(100% - 70px);
  }
  .gallery-title {
    padding-top: 35px;
  }
  .gallery-nav {
    overflow-x: auto;
  }
  .gallery-nav ul {
    flex-wrap: nowrap;
  }
  .hero-home h1 {
    font-size: clamp(38px, 10vw, 62px) !important;
    letter-spacing: 0.06em !important;
  }
  .hero-home {
    min-height: 600px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
