/* Keep complete artwork and readable copy at every layout breakpoint. */
:where(.intro,.footer-top,.footer-details,.care-finder,.product-intro,.product-care,.faq,.guide-section,.kit-feature,.philosophy) > * {
  min-width: 0;
}
:where(h1,h2,h3,.eyebrow,.card-meta,.breadcrumbs,.guide-jump a) {
  overflow-wrap: anywhere;
}
.hero {
  height: auto;
  min-height: max(650px, min(790px, calc(100svh - 104px)), 41vw);
}
.hero-copy { padding-bottom: 125px; }
.hero-line { padding: .12em .09em; margin: -.12em 0; }
.hero-actions { flex-wrap: wrap; }
.hero-bottom { flex-wrap: wrap; }
.material-strip {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 36px;
  overflow: visible;
  white-space: normal;
}
.material-strip span + span::before { display: none; }
.card-range { right: 15px; width: fit-content; max-width: calc(100% - 30px); }
.card-photo.editorial img {
  inset: 44px 0 12px;
  width: 100%;
  height: calc(100% - 56px);
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}
.card-meta { flex-wrap: wrap; gap: 5px 12px; }
.card-link { gap: 10px; }
.card-link span { flex: 0 0 auto; }
.kit-visual,.philosophy-art {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}
.kit-visual img,.philosophy-art img {
  position: static;
  width: 100%;
  height: auto;
  max-width: 100%;
  transform: none;
  will-change: auto;
}
.kit-copy::before { display: none; }
.kit-stages { flex-wrap: wrap; gap: 16px 30px; }
.philosophy { min-height: 0; }
.product-intro { grid-template-columns: repeat(2,minmax(0,1fr)); }
.product-info h1 { font-size: clamp(2.25rem,4.1vw,4.8rem); }
.product-visual.editorial { min-height: 0; }
.product-visual.editorial img {
  position: static;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
.steps li > span { flex: 0 0 auto; }
.steps li > div { min-width: 0; }
.aplus-gallery picture { min-width: 0; }
.aplus-gallery img { max-width: 100%; height: auto; }
.finder-controls,.finder-controls select,.email-link { max-width: 100%; min-width: 0; }
/* Oversized lettering lives behind the content and clips only at the footer. */
.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: clamp(75px,8vw,125px);
}
.footer-top,.footer-bottom { position: relative; z-index: 1; }
.footer-wordmark {
  position: absolute;
  inset: 0;
  display: block;
  padding: 0;
  border: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.footer-brand {
  position: absolute;
  inset: -2%;
  width: 104%;
  height: 104%;
  max-width: none;
  color: rgb(224 228 224 / 6%);
  transform: translate(var(--footer-drift-x,0px),var(--footer-drift-y,0px));
  transition: transform 650ms ease-out;
}
.footer-brand text {
  font: 700 220px var(--serif);
  fill: currentColor;
  letter-spacing: var(--footer-tracking,.28em);
  transition: letter-spacing 650ms ease-out;
}
.footer-brand--stacked { display: none; }
@media (max-width: 900px) {
  .footer-brand--wide { display: none; }
  .footer-brand--stacked { display: block; }
  .footer-brand text { letter-spacing: var(--footer-tracking,.14em); }
}
.footer-bottom {
  margin-top: clamp(100px,11vw,180px);
  border-top: 1px solid var(--line);
}
html[data-motion="paused"] .footer-brand {
  transform: none;
  transition: none;
}
html[data-motion="paused"] .footer-brand text { transition: none; }
@media (prefers-reduced-motion: reduce) {
  .footer-brand {
    transform: none;
    transition: none;
  }
  .footer-brand text { transition: none; }
}

/* A shared studio treatment for every collection and related-product card. */
.card-photo { background: #e9e9df; }
.card-photo:not(.editorial) img {
  inset: 16% 10% 9%;
  width: 80%;
  height: 75%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .product-grid,.related .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .site-header nav,.header-contact { display: none; }
  .menu-toggle { display: block; }
  .kit-feature,.philosophy,.product-intro,.product-care,.faq,.guide-section,.footer-top {
    grid-template-columns: minmax(0,1fr);
  }
  .kit-visual img,.philosophy-art img { max-width: 720px; }
  .kit-copy,.philosophy-copy { padding: 50px 6% 60px; }
  .product-intro { min-height: 0; }
  .product-visual { min-height: 0; height: auto; padding: 32px 6%; }
  .product-visual:not(.editorial) img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 460px;
    padding: 0;
  }
  .product-visual.editorial { padding: 0; }
  .product-visual.editorial img { max-width: 720px; }
  .product-info { padding: 48px 6%; }
  .product-info h1 { font-size: clamp(2.2rem,7vw,3.5rem); }
  .product-care,.faq,.guide-section { gap: 30px; }
  .care-finder { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .footer-top { gap: 40px; }
}
@media (max-width: 760px) {
  .hero {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
    padding-bottom: 0;
  }
  .hero-copy {
    grid-row: 1;
    max-width: 100%;
    padding: 42px 6% 28px;
  }
  .hero h1 { font-size: clamp(2.6rem,13.5vw,6rem); }
  .hero .eyebrow { letter-spacing: .12em; }
  .hero-art {
    grid-row: 2;
    position: relative;
    inset: auto;
    width: 100%;
    height: clamp(330px,90vw,520px);
  }
  .hero-bottom {
    grid-row: 3;
    position: relative;
    inset: auto;
    padding: 18px 6% 24px;
  }
  .hero-bottom-actions { flex-wrap: wrap; }
  .material-strip { gap: 10px 22px; padding: 20px 6%; }
  .kit-copy h2,.philosophy-copy h2,.care-finder h2,.intro h2,.section-heading h2 {
    font-size: clamp(2.1rem,8.5vw,2.9rem);
  }
  .product-care h2,.faq h2,.guide-section h2,.related h2,.text-page h1 {
    font-size: clamp(2.1rem,8.5vw,3rem);
  }
  .closing-line h2 { font-size: clamp(2.2rem,9vw,2.9rem); }
  .guide-hero h1 { font-size: clamp(2.5rem,10vw,3.4rem); }
  .footer-top h2 { font-size: clamp(2.5rem,10vw,3.4rem); }
  .product-visual:not(.editorial) img { max-height: 380px; }
}
@media (max-width: 480px) {
  .product-grid,.related .product-grid { grid-template-columns: minmax(0,1fr); }
  .card-photo { aspect-ratio: 1.1; }
  .card-copy h3 { font-size: 1.6rem; min-height: 0; }
  .card-copy p { max-width: none; }
  .card-range { font-size: 11px; }
  .card-photo.editorial .card-range { font-size: 11px; }
  .card-meta { font-size: 13px; }
  .card-meta > span:last-child { display: inline; }
  .product-info h1 { font-size: clamp(2.1rem,9vw,2.7rem); }
  .footer-details { grid-template-columns: minmax(0,1fr); gap: 28px; }
}
