/* Product-group illustrations: deliberately separate from the real hero DEMO. */
#product-categories{max-width:1200px;margin:44px auto 56px;padding:48px 32px;min-height:0;border:1px solid #eadbd5;border-radius:26px;background:#fcf7f3}
#product-categories .category-heading{max-width:660px;margin:0 auto 30px;text-align:center}
#product-categories .eyebrow{color:#7a2944}
#product-categories h2{margin:0 0 14px;color:#461426;font-size:clamp(30px,3.2vw,42px);line-height:1.12;letter-spacing:-1.4px;text-wrap:balance}
.category-heading>p:last-child{margin:0;color:#68525a;font-size:16px;line-height:1.65}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.category-grid>li{min-width:0}
.category-card{height:100%;display:flex;flex-direction:column;min-width:0;border:1px solid #ebdcd7;border-radius:18px;overflow:hidden;background:#fffaf6;color:#49162b;text-decoration:none}
.category-card:focus-within{border-color:#af6c7f}
.category-model{position:relative;display:block;flex:none;width:100%;aspect-ratio:320/220;padding:0;border:0;border-radius:0;overflow:hidden;background:#f9eee8;color:#641e39;cursor:pointer;touch-action:manipulation}
.category-model:hover{background:#f9eee8}
.category-model:focus-visible,.category-destination:focus-visible{outline:3px solid #7b2847;outline-offset:-4px}
.category-model img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transition:opacity .3s ease;pointer-events:none}
.category-model-alternate{opacity:0}
.category-model[aria-pressed="true"] .category-model-primary{opacity:0}
.category-model[aria-pressed="true"] .category-model-alternate{opacity:1}
.category-model-hint{position:absolute;right:12px;bottom:10px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fffaf6db;font-size:18px;line-height:1;pointer-events:none}
.category-destination{display:block;text-decoration:none;color:inherit;flex:1}
.category-destination:hover h3{text-decoration:underline;text-underline-offset:3px}
.category-card-copy{padding:19px 19px 23px}
.category-card h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px;font-size:19px;line-height:1.3;color:#551b32}
.category-card-arrow{flex:none;width:21px;height:21px}
.category-card p{margin:0;color:#68525a;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.category-scope-note{max-width:760px;margin:26px auto 0;text-align:center;color:#68525a;font-size:13px;line-height:1.6}
.usecase-sector[id]{scroll-margin-top:110px}
@media(max-width:1000px){#product-categories{margin-inline:22px;padding:38px 24px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#product-categories{margin:28px 16px 36px;padding:30px 18px;border-radius:22px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category-card-copy{padding:16px}.category-card h3{font-size:18px}.category-card p{font-size:15px}#product-categories h2{letter-spacing:-.8px}.category-heading>p:last-child{font-size:16px}}
@media(max-width:430px){.category-grid{grid-template-columns:1fr}.category-model{max-height:190px}.category-card-copy{padding:18px 20px 22px}.category-card p{font-size:16px}.category-scope-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){.category-model img{transition:none}}

.category-detail-art{display:block;width:160px;max-width:100%;height:auto;margin:24px auto 0;border-radius:18px}
.category-detail .category-scope-note{padding-inline:16px}
.category-detail :is(h1,h2,h3){overflow-wrap:anywhere}
@media(max-width:430px){.category-detail :is(h1,h2,h3){hyphens:auto}.category-detail .page-hero h1{font-size:32px;line-height:1.15;letter-spacing:-.8px}}

/* Homepage sections share one outer edge in both languages. */
.home-redesign {
  --home-section-width: min(1200px, calc(100% - 2 * clamp(16px, 3vw, 40px)));
  overflow: visible;
}
.home-redesign > :is(section, .duo-screen):not(.feature-stories, .final-cta-redesign) {
  width: var(--home-section-width);
  max-width: none;
  min-height: 0;
  margin-inline: auto;
}
.home-redesign .duo-screen > section {
  width: 100%;
  max-width: none;
  min-height: 0;
  margin-inline: 0;
}
.home-redesign > #product-categories {
  max-width: none;
  margin-inline: auto;
}
.home-redesign > :is(.hero-premium, .price-preview, .published-stories) {
  padding-inline: 0;
}
.home-redesign :is(.price-grid, .published-stories .blog-grid) {
  max-width: none;
}
.home-redesign .hero-premium::before,
.home-redesign .hero-premium::after {
  /* Contain decorative glow without clipping section content. */
  max-width: 100%;
}
.home-redesign .hero-premium::before { left: 0; }
.home-redesign .hero-premium::after { right: 0; }

@media (min-width: 761px) {
  .home-redesign .price-card-recommended .button { margin-bottom: -1px; }
  .home-redesign .price-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.home-price-summary {
  display: flex;
  align-items: center;
  gap: 12px 20px;
}
.home-count-note {
  flex: 1;
  margin: 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fcf7f3;
  color: #59474d;
}
.home-free-note {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.4;
  color: #59474d;
}
.home-price-summary > .text-link {
  max-width: 46%;
  margin-left: auto;
  text-align: center;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .home-price-summary { align-items: stretch; flex-direction: column; }
  .home-price-summary > .text-link { max-width: 100%; margin-left: 0; }
}

.hero-showcase { min-width: 0; }
.hero-showcase .hero-product-scene {
  display: grid;
  width: 100%;
  padding: 0;
}
.hero-frame {
  position: relative;
  grid-area: 1 / 1;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 300ms ease, visibility 0s 300ms;
}
.hero-frame.is-current {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.hero-frame { margin-block: 70px; }
:is(.hero-chair-frame, .hero-example-frame) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 16px;
}
.hero-example-art { width: min(100%, 220px); height: auto; aspect-ratio: 1; justify-self: center; }
.hero-chair-frame .hero-chair {
  position: static;
  transform: none;
  width: min(100%, 220px);
  justify-self: center;
}
.hero-product-scene :is(.hero-chair-frame, .hero-example-frame) .hero-preview-wrap {
  position: static;
  width: 100%;
  max-width: 230px;
  justify-self: end;
  margin: 0;
}
.hero-product-scene .hero-example-passport {
  padding: 11px;
  color: #55152b;
}
.hero-passport-details { padding: 8px 2px 2px; }
.hero-passport-details h2 { margin: 0 0 8px; font-size: 19px; overflow-wrap: anywhere; }
.hero-passport-details dl { margin: 0; }
.hero-passport-details dl > div { border-top: 1px solid #eadde1; padding-block: 5px; }
.hero-passport-details dt { font-size: 12px; font-weight: 750; }
.hero-passport-details dd { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.hero-strip:not([hidden]) { display: contents; }
.hero-strip-row {
  position: absolute;
  inset: 8px 8px auto;
  z-index: 3;
  overflow: hidden;
  padding-block: 3px;
}
.hero-strip-row + .hero-strip-row { inset-block: auto 8px; }
.hero-strip-items { position: relative; display: flex; gap: 6px; width: max-content; }
.hero-strip a {
  flex: none;
  width: clamp(48px, 14vw, 78px);
  min-height: 44px;
  padding: 2px;
  border: 1px solid #ad7587;
  border-radius: 9px;
  background: #fff8fa;
  color: #65172f;
  cursor: pointer;
}
.hero-strip img { display: block; width: 100%; height: auto; }
.hero-strip a[data-current="true"] { border-color: #65172f; box-shadow: inset 0 0 0 1px #65172f; }
.hero-strip a:focus-visible { outline: 2px solid #7a1f3d; outline-offset: -3px; }
.hero-showcase:has(.hero-strip[hidden]) .hero-frame { margin-block: 0; }
@media (prefers-reduced-motion: reduce) {
  .hero-strip a[aria-hidden="true"] { display: none; }
}
@media (max-width: 760px) {
  .hero-showcase .hero-product-scene { min-height: 0; }
  .hero-frame { padding: 12px; }
  :is(.hero-chair-frame, .hero-example-frame) {
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
  }
  .hero-example-art { width: min(100%, 150px); }
  .hero-chair-frame .hero-chair { width: min(50%, 150px); }
  .hero-product-scene :is(.hero-chair-frame, .hero-example-frame) .hero-preview-wrap {
    max-width: 280px;
    justify-self: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-frame { transition: none; }
}


.hero-demo-actions { padding: 4px 2px 0; }
.hero-demo-qr { display: block; flex: none; width: 72px; height: 72px; }
.hero-demo-actions .text-link, .hero-qr-caption .text-link { font-size: 12px; }
.hero-demo-product { display: block; max-width: 100%; height: auto; }

/* The hero uses one intrinsic card size across all overlaid frames. */
.hero-showcase .hero-frame {
  align-items: stretch;
}
.hero-showcase .hero-chair,
.hero-showcase .hero-example-art {
  align-self: center;
}
.hero-showcase .hero-preview-wrap {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 14px;
  border: 0;
  box-shadow: none;
  background: #fff;
  color: #55152b;
}
.hero-showcase .hero-passport-details {
  flex: 1;
  padding: 0;
}
.hero-passport-heading {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.hero-showcase .hero-passport-details h2 { min-height: 2.4em; line-height: 1.2; }
.hero-example-note { margin: 8px 0 0; color: #737373; font-size: 11px; line-height: 1.4; }
@media (max-width: 760px) {
  .hero-showcase .hero-frame {
    grid-template-rows: 170px 1fr;
  }
}

/* Move the complete showcase, retaining a safe outer gutter at smaller widths. */
.hero-premium .hero-showcase {
  position: relative;
  top: -24px;
  left: clamp(0px, calc(3vw - 16px), 24px);
}
.hero-showcase .hero-example-art {
  /* Intrinsic space is reserved before the individual SVG finishes loading. */
  aspect-ratio: 1;
  filter: drop-shadow(0 7px 8px rgba(73, 19, 39, .10));
}
@media (max-width: 760px) {
  .hero-premium .hero-showcase { left: 0; }
}
/* Reserve the scrollbar gutter before the long homepage is painted. */
html:has(.home-redesign) { scrollbar-gutter: stable; }


.hero-product-link { display: block; color: inherit; border-radius: 12px; }
.hero-product-link img { display: block; width: 100%; height: auto; }
.hero-product-link:focus-visible,
.hero-category-legal:focus-visible { outline: 2px solid #7a1f3d; outline-offset: 3px; }
.hero-category-legal { margin-top: 8px; font-size: 12px; line-height: 1.4; color: #65172f; }

/* The existing category artwork accompanies its introduction once per category. */
.category-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,260px);align-items:center;gap:clamp(24px,4vw,56px);text-align:left}
.category-intro-copy{min-width:0}
.category-intro .hero-lead{margin-inline:0}
.category-intro .hero-actions{justify-content:flex-start}
.category-intro .category-detail-art{width:100%;max-width:240px;height:auto;max-height:270px;object-fit:contain;margin:0;justify-self:center;border-radius:0}
.category-intro h2{margin:8px 0 16px;font-size:clamp(26px,3vw,36px);line-height:1.2;color:#461426;overflow-wrap:anywhere}
.category-intro p{line-height:1.7;color:#624951}
.usecase-category-list{display:grid;gap:32px;max-width:1200px;margin:0 auto 44px}
.category-usecase{padding:clamp(20px,4vw,40px);min-width:0}
.category-example-fields{margin-block:28px}
.category-example-fields li{margin-block:8px;overflow-wrap:anywhere}
.category-law{scroll-margin-top:110px;margin:32px 0;text-align:left;min-width:0}
.category-law h2,.category-law h3{line-height:1.3;overflow-wrap:anywhere}
.category-law-note{padding:18px 20px;margin:14px 0;border-left:3px solid #bd8b9c;border-radius:0 12px 12px 0;background:#fcf7f8}
.category-law-note :is(h3,h4){margin:0 0 10px;font-size:17px;color:#55152b}
.category-law p,.category-law li{font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.category-law-sources{display:flex;flex-wrap:wrap;gap:8px 24px;padding-left:20px;margin-bottom:0}
.category-law-sources a{color:#65172f;text-underline-offset:3px}
.category-law .category-reviewed,.category-law .category-law-disclaimer{font-size:13px;color:#68545b}
.category-law-wrap,.category-closing{max-width:1100px}
@media(max-width:760px){.category-intro{grid-template-columns:minmax(0,1fr);gap:24px}.category-intro .category-detail-art{max-width:180px;max-height:210px}.category-law-note{padding:16px}.category-intro .hero-actions{align-items:stretch}.category-intro .hero-actions .button{width:auto}.category-usecase{padding:22px 18px}}

.usecase-overview h1{overflow-wrap:anywhere;hyphens:auto}
