.product-showcase {
  color: rgb(25, 26, 26);
  font-family: "Nunito Sans", sans-serif;
  padding: clamp(44px, 6vw, 88px) max(6vw, 20px);
  scroll-margin-top: 30px;
}
.product-showcase-inner { max-width: 1240px; margin: auto; }
.product-showcase h2, .product-showcase h3 { color: rgb(25, 26, 26); font-family: "Manrope", sans-serif; font-weight: 500; letter-spacing: -.02em; }
.product-showcase h2 { max-width: 850px; }
.product-showcase-intro { max-width: 680px; color: rgb(78, 76, 72); margin: 18px 0 28px; font-size: .94rem; line-height: 1.62; }
.product-tour-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.product-tour-nav a { border: 1px solid rgba(25, 26, 26, .09); border-radius: 14px; padding: 10px 18px; background: rgba(255,255,255,.76); color: rgb(25,26,26); font-size: .88rem; font-weight: 650; text-decoration: none; transition: background .18s; }
.product-tour-nav a:hover { background: rgba(255,97,35,.08); }
.product-tour-nav a[aria-selected="true"] { background: rgba(255,97,35,.1); color: #a43810; border-color: rgba(255,97,35,.35); }
.product-tour-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.7fr); gap: 34px; align-items: center; margin-top: 34px; margin-bottom: 22px; }
.product-tour-panel[hidden] { display: none; }
.homepage .product-tour-copy h3 { margin-bottom: 22px; }
.product-callout { border-top: 1px solid rgba(25,26,26,.12); padding-top: 16px; margin-top: 22px; }
.product-callout p { margin: 0; font-size: 14px; }
.product-tour-panel figure { min-width: 0; margin: 0; }
.product-screen { display: block; overflow: hidden; border-radius: 14px; border: 1px solid rgba(25,26,26,.09); background: #fff; text-decoration: none; }
.product-screen img { display: block; width: 100%; height: auto; }
.product-tour-panel figcaption { display: flex; gap: 14px; justify-content: space-between; align-items: start; color: #76716a; font-size: 11px; line-height: 1.5; padding: 12px 3px 0; }
.product-tour-panel figcaption a { flex-shrink: 0; color: #9c390f; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.product-feature-link { display: inline-block; margin-top: 18px; color: #a83e15; font-size: 14px; font-weight: 700; text-underline-offset: 4px; }
.product-tour-nav a:focus-visible, .product-showcase a:focus-visible, .product-feature-link:focus-visible, .product-dialog button:focus-visible { outline: 3px solid #175fd5; outline-offset: 4px; }
.product-dialog { box-sizing: border-box; width: min(1300px, 94vw); max-height: 92dvh; border: 1px solid rgba(25,26,26,.09); border-radius: 24px; padding: 20px; background: rgb(248,247,244); color: rgb(25,26,26); font-family: "Nunito Sans", sans-serif; }
.product-dialog::backdrop { background: #121d2bdd; }
.product-dialog-header { position: sticky; top: -20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: rgb(248,247,244); padding: 12px 0; z-index: 1; }
.product-dialog h2 { margin: 0; font-size: 22px; }
.product-dialog button { font: inherit; cursor: pointer; color: #a43810; background: rgba(255,97,35,.1); border: 1px solid rgba(255,97,35,.22); border-radius: 14px; padding: 10px 20px; }
.product-dialog img { display: block; width: 100%; height: auto; }
.product-dialog-tools { display: flex; gap: 12px; align-items: center; padding: 0 0 14px; }
.product-dialog-tools span { font-size: 12px; color: #625f59; }
.product-dialog .product-dialog-tools button { flex-shrink: 0; font-size: 12px; padding: 8px 12px; background: #e9e4dd; color: #222d39; }
.product-dialog-image { overflow: auto; max-height: 65dvh; }
.product-dialog.is-zoomed img { width: 1600px; min-width: 100%; max-width: none; }
.product-dialog p { color: #625f59; font-size: 13px; }
@media (prefers-reduced-motion: no-preference) {
  .product-tour-panel:not([hidden]) { animation: product-reveal .24s ease-out; }
  @keyframes product-reveal { from { opacity: .4; transform: translateY(6px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 767px) {
  .product-tour-nav { gap: 7px; }
  .product-tour-nav a { padding: 9px 13px; font-size: 12px; }
  .product-tour-panel { grid-template-columns: 1fr; gap: 22px; padding: 22px 16px; border-radius: 18px; }
  .product-tour-copy h3 { margin-top: 5px; }
  .product-callout { margin-top: 16px; padding-top: 12px; }
  .product-tour-panel figcaption { flex-wrap: wrap; gap: 6px; }
}
