/* Additional authentic photographs; existing hero, navigation and product are unchanged. */
.workshop-story { background: #e8e9df; border-top: 1px solid var(--line); position: relative; z-index: 12; }
.workshop-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: end; margin-bottom: 42px; }
.workshop-intro h2 { margin: 0; font-size: clamp(2.8rem, 4vw, 4.6rem); }
.workshop-intro > p { max-width: 480px; margin-bottom: 5px; color: var(--muted); }
.workshop-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: start; }
.workshop-visual { min-width: 0; }
.workshop-photos.product-gallery { display: grid; grid-template-columns: 1fr; gap: 18px; margin: 0; }
.workshop-photo { margin: 0; position: relative; background: #d9dbce; }
.workshop-open { display: block; border: 0; background: transparent; padding: 0; width: 100%; cursor: zoom-in; }
.workshop-open img { display: block; width: 100%; height: auto; aspect-ratio: 3/4; object-fit: contain; }
.workshop-photo figcaption { padding: 13px 16px; font-size: .76rem; color: var(--ink); background: #f7f8f1; }
.workshop-nav { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.workshop-nav a { min-height: 44px; padding: 10px 15px; border: 1px solid #163e4240; font-size: .78rem; display: inline-flex; align-items: center; }
.workshop-nav a[aria-current="step"] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.workshop-nav a:focus-visible, .workshop-open:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.workshop-details-wrap { margin-top: 36px; border-top: 1px solid var(--line); padding-top: 30px; }
.workshop-details.product-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.workshop-details figure { margin: 0; }
.workshop-details img { height: 240px; object-fit: contain; background: #f7f8f1; }
.workshop-details figcaption { font: 400 1.15rem var(--serif); padding-top: 12px; }
.workshop-scene { min-height: 260px; padding: 30px 0; border-top: 1px solid #163e4233; scroll-margin-top: calc(var(--nav-bottom,84px) + 20px); }
.workshop-scene > span { display: block; color: #597174; font-size: .76rem; letter-spacing: .1em; margin-bottom: 22px; }
.workshop-scene h3 { font: 400 clamp(2rem,2.7vw,3rem)/1.1 var(--serif); letter-spacing: -.035em; margin-bottom: 18px; }
.workshop-scene p { max-width: 360px; color: var(--muted); margin: 0; }
.workshop-active .workshop-visual { position: sticky; top: calc(var(--nav-bottom,84px) + 18px); }
.workshop-active .workshop-scene:last-child { min-height: var(--workshop-view-height,670px); }
.workshop-active .workshop-photos { position: relative; height: clamp(390px,calc(100svh - var(--nav-bottom,84px) - 105px),660px); overflow: hidden; }
.workshop-active .workshop-photo { position: absolute; inset: 0; opacity: var(--workshop-opacity,0); transform: scale(var(--workshop-scale,1)); }
.workshop-active .workshop-photo:first-child { opacity: 1; }
.workshop-active .workshop-open { height: 100%; }
.workshop-active .workshop-open img { height: 100%; object-fit: contain; }
.workshop-active .workshop-photo figcaption { position: absolute; left: 14px; bottom: 14px; max-width: calc(100% - 28px); pointer-events: none; }
.workshop-active .workshop-photo:nth-child(2) { z-index: 1; }
.workshop-active .workshop-photo:nth-child(3) { z-index: 2; }
.workshop-active .workshop-photo:nth-child(4) { z-index: 3; }
.roots-process-photo[data-process-photo="1"] { z-index: 1; }
.roots-process-photo[data-process-photo="3"] { z-index: 2; }
.process-mobile-photo { display: none; }
.press-links { row-gap: 32px; }
.press-links a { min-width: 0; }
.press-links h3 { max-width: 340px; }
.press-date { white-space: nowrap; }
@media(max-width:760px) {
  .workshop-intro { grid-template-columns: 1fr; gap: 24px; margin-bottom: 28px; }
  .workshop-intro h2 { font-size: 3rem; }
  .workshop-layout { grid-template-columns: 1fr; gap: 0; }
  .workshop-active .workshop-visual { z-index: 2; top: calc(var(--nav-bottom,64px) + 8px); background: #e8e9df; padding-bottom: 12px; }
  .workshop-active .workshop-photos { height: clamp(230px,38svh,340px); }
  .workshop-nav { margin: 10px 0 0; gap: 6px; }
  .workshop-nav a { padding: 9px 12px; flex: 1; justify-content: center; }
  .workshop-nav { display: grid; grid-template-columns: 1fr 1fr; }
  .workshop-details.product-gallery { grid-template-columns: 1fr 1fr; gap: 18px 12px; }
  .workshop-details img { height: 180px; }
  .workshop-details figcaption { font-size: 1rem; }
  .workshop-scenes { padding-top: 24px; }
  .workshop-scene { min-height: 205px; padding: 24px 0; }
  .workshop-active .workshop-scene { scroll-margin-top: calc(var(--nav-bottom,64px) + var(--workshop-view-height,360px) + 24px - var(--workshop-scroll-padding,0px)); }
  .workshop-active .workshop-scene:last-child { min-height: var(--workshop-view-height,435px); }
  .workshop-scene > span { margin-bottom: 12px; }
  .workshop-scene h3 { font-size: 2rem; }
  .process-mobile-photo { display: block; margin: 22px 0 0; }
  .process-mobile-photo img { display: block; width: 100%; height: auto; max-height: 380px; object-fit: contain; background: #163e42; }
  .process-mobile-photo figcaption { font-size: .75rem; color: #c5d9d8; margin-top: 9px; }
  .press-links { grid-template-columns: 1fr; gap: 24px; }
  .press-links h3 { margin: 12px 0 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .workshop-active .workshop-photo { transform: none; }
}
