.product-proof-heading {
  margin-top: 72px;
}

.screen-feature-section {
  padding: 72px clamp(24px, 7vw, 110px);
  background: #fff;
}

.screen-feature-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 30px;
}

.screen-feature-list article {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.screen-feature-list article > span {
  color: #8f3654;
  font-weight: 900;
}

.screen-feature-list h3 { margin: 0 0 8px; }
.screen-feature-list p { margin: 0; line-height: 1.6; }

.product-space-card-copy {
  align-content: start;
  min-height: 230px;
  padding: 28px;
}

.product-spaces-section {
  background: #f8f3f0;
  color: #24191f;
}

.product-spaces-section .section-header h2 {
  color: #24191f;
}

.product-spaces-section .section-header p {
  color: #6f5d65;
}

.product-spaces-section .product-space-card-copy {
  border-color: #e5d7dc;
  background: #fff;
  color: #24191f;
  box-shadow: 0 12px 34px rgba(55, 31, 42, .06);
}

.product-spaces-section .product-space-card-copy h3 {
  color: #24191f;
}

.product-spaces-section .product-space-card-copy p {
  color: #6f5d65;
}

.product-spaces-section .product-space-card-copy b {
  color: #8f3654;
}

.product-spaces-section .product-space-card-featured {
  min-height: 510px;
  padding: 12px 12px 26px;
}

.product-spaces-section .product-space-grid:not(.product-proof-grid) .product-space-card-featured img {
  display: block;
  width: 100%;
  height: 230px;
  max-height: 230px;
  object-fit: cover;
  object-position: top;
  border-radius: 15px;
  background: #f4f1f2;
}

.product-spaces-section .product-space-grid:not(.product-proof-grid) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1180px;
}

/* Product articles start copy and screenshots on the same visual baseline. */
.product-hero {
  align-items: start;
}
.product-hero > * { min-width: 0; }

/* The homepage shows one legible product proof instead of a full-page thumbnail. */
.dashboard-section .backend-shot-media {
  height: 520px;
  overflow: hidden;
}

.dashboard-section .backend-shot-image-owner {
  width: 100%;
  max-height: none;
  object-fit: cover;
  object-position: top;
}

@media (max-width: 900px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Final catalogue contract: compact summaries and one consistent image ratio. */
@media (min-width: 901px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1180px;
  }
}

@media (min-width: 621px) and (max-width: 900px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 820px;
  }
}

.product-spaces-section .product-space-grid:not(.product-proof-grid) .product-space-card-featured img {
  width: 100% !important;
  height: 230px !important;
  max-height: 230px !important;
  object-fit: cover !important;
  object-position: top !important;
}

.product-space-owner .product-shot a {
  height: 470px;
}

.product-space-owner .product-shot img {
  width: 100% !important;
  max-height: none !important;
}

@media (max-width: 620px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: 1fr;
    max-width: 430px;
  }

  .product-spaces-section .product-space-card-featured {
    min-height: 470px;
  }
}

@media (max-width: 620px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 800px) {
  .screen-feature-list { grid-template-columns: 1fr; }
}

/* Quality hold: product captures return only after their source screens pass visual review. */
.product-visuals-under-review .hero-product-real,
.product-visuals-under-review .product-tour-section,
.product-visuals-under-review .backend-shot-frame {
  display: none;
}

.product-visuals-under-review .visual-review-hidden {
  display: none !important;
}

.content-withdrawn {
  display: none !important;
}

.journey-heading {
  display: grid;
  grid-template-columns: minmax(0, 820px);
  justify-content: center;
  justify-items: center;
  gap: 12px;
  margin: 0 auto 38px;
  text-align: center;
}

.journey-heading > span {
  font-size: .72rem;
  line-height: 1.3;
  letter-spacing: .13em;
}

.journey-heading h2 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(2.15rem, 4vw, 3.65rem);
  line-height: 1.06;
  text-wrap: balance;
}

.journey-heading p {
  max-width: 680px;
  margin: 4px 0 0;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.65;
}

/* Hero: one shared visual axis for promise, actions and complete-page thumbnail. */
.hero .hero-inner {
  grid-template-columns: minmax(0, 900px);
  justify-content: center;
  justify-items: start;
  gap: 24px;
  text-align: left;
}

.hero {
  min-height: auto;
  padding-top: 108px;
  padding-bottom: 48px;
}

.hero .hero-copy {
  width: 100%;
  max-width: 820px;
  margin-inline: auto;
}

.hero .hero-badge {
  margin-inline: auto;
}

.hero .hero-desc,
.hero .hero-benefits,
.hero .hero-social-proof {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.hero .hero-benefits,
.hero .hero-ctas,
.hero .hero-social-proof {
  justify-content: center;
}

.hero .hero-product-real {
  grid-column: 1;
  margin-inline: auto;
  padding: 7px;
  border-radius: 20px;
}

.product-visuals-under-review .hero-inner {
  grid-template-columns: minmax(0, 820px);
  justify-content: start;
  text-align: left;
}

.product-visuals-under-review .hero {
  min-height: 0;
  height: auto;
  padding-top: 112px;
  padding-bottom: 48px;
}

.product-visuals-under-review .hero-copy {
  max-width: 820px;
}

.product-visuals-under-review .hero-desc,
.product-visuals-under-review .hero-benefits,
.product-visuals-under-review .hero-social-proof {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.product-visuals-under-review .hero h1 {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  line-height: 1.1;

  text-wrap: balance;
}

.product-visuals-under-review #solution .split-feature {
  grid-template-columns: minmax(0, 820px);
  justify-content: center;
  padding-top: 56px;
  padding-bottom: 56px;
}

.product-visuals-under-review #solution .split-feature-copy {
  max-width: 820px;
  text-align: center;
}

.product-visuals-under-review #solution .split-feature-visual {
  display: none;
}

.product-visuals-under-review #solution .workspace-tabs,
.product-visuals-under-review #solution .workspace-summary-tags {
  justify-content: center;
}

.product-visuals-under-review #solution .workspace-summary-card {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 901px) {
  .cookie-banner {
    padding: 13px 0;
  }

  .cookie-banner-inner {
    gap: 18px;
    flex-wrap: nowrap;
  }

  .cookie-banner-icon {
    font-size: 1.35rem;
  }

  .cookie-banner-text strong {
    margin-bottom: 2px;
    font-size: .84rem;
  }

  .cookie-banner-text p {
    max-width: 720px;
    font-size: .73rem;
    line-height: 1.4;
  }

  .cookie-banner-actions {
    flex-wrap: nowrap;
  }

  .cookie-banner-actions button {
    padding: 9px 16px;
    font-size: .78rem;
  }
}

.product-visuals-under-review .hero-benefits,
.product-visuals-under-review .hero-ctas,
.product-visuals-under-review .hero-social-proof {
  justify-content: center;
}

.product-spaces-section .product-space-grid:not(.product-proof-grid) {
  grid-template-columns: minmax(0, 1fr);
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.product-spaces-section .product-space-grid:not(.product-proof-grid) .product-space-card img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 720px;
  height: auto;
  justify-self: center;
  background: #f4f1f2;
}

.product-space-card-approved {
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr);
  grid-template-rows: auto auto 1fr auto;
  align-items: start;
  padding: 12px;
}

.product-space-card-approved img {
  grid-column: 1;
  grid-row: 1 / 5;
  width: auto;
  max-width: 100%;
  max-height: 920px;
  height: auto !important;
  justify-self: center;
  border: 1px solid rgba(255, 255, 255, .12);
}

.product-space-card-approved > :not(img) {
  grid-column: 2;
}

#features .features-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

#features .feature-card {
  display: grid;
  grid-template-rows: auto minmax(3.1rem, auto) minmax(5.8rem, auto) 1fr auto;
  min-width: 0;
  height: 100%;
  padding: 30px;
  border: 1px solid rgba(107, 76, 59, .12);
  border-radius: 22px;
}

#features .feature-card .feature-icon {
  margin-bottom: 18px;
}

#features .feature-card h3 {
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;
  font-size: 1.28rem;
  line-height: 1.25;
}

#features .feature-card p {
  margin: 0;
}

#features .feature-card ul {
  align-self: start;
  margin: 20px 0 0;
}

#features .feature-card .feature-learn {
  align-self: end;
  margin-top: 24px;
}

.product-proof-grid {
  margin-top: 28px;
  grid-template-columns: 1fr;
}

.product-proof-grid .product-space-card {
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
  grid-template-rows: auto auto 1fr auto;
  align-items: start;
  padding: 12px;
}

.product-proof-grid .product-space-card img {
  grid-column: 1;
  grid-row: 1 / 5;
  width: auto;
  max-width: 100%;
  max-height: 860px;
  height: auto;
  justify-self: center;
  background: #f4f1f2;
}

.product-proof-grid .product-space-card > :not(img) {
  grid-column: 2;
}

.hero-product-real.reveal {
  opacity: 1;
}

.hero-product-real {
  width: fit-content;
  max-width: 100%;
  justify-self: center;
}

.hero-product-real > img {
  background: #f4f1f2;
  opacity: 1;
  width: auto;
  max-width: 100%;
  max-height: 980px;
  height: auto;
  margin-inline: auto;
}

.product-tour-frame,
.backend-shot-media {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  height: auto;
  max-height: none;
  overflow: visible;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

.product-tour-frame img,
.backend-shot-image,
.backend-shot-image-reception,
.backend-shot-image-doctor {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 720px;
  height: auto;
  background: #f4f1f2;
}

.product-shot img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 720px;
  height: auto;
  margin-inline: auto;
  background: #f4f1f2;
}

.product-shot {
  width: fit-content;
  max-width: 100%;
  justify-self: center;
}

.product-shot figcaption strong,
.product-shot figcaption span {
  display: block;
}

.owner-product-intro,
.owner-product-proof {
  padding: 92px clamp(24px, 7vw, 110px);
}

.product-space-owner .product-hero {
  min-height: 620px;
  padding-top: 54px;
  padding-bottom: 54px;
}

.product-space-owner .product-hero h1 {
  font-size: clamp(3rem, 4.6vw, 5rem);
}

.product-space-owner .product-hero-copy > p {
  max-width: 610px;
}

.product-space-owner .product-shot {
  width: 100%;
}

.product-space-owner .product-shot a {
  display: block;
  height: 470px;
  overflow: hidden;
  border-radius: 18px;
}

.product-space-owner .product-shot img {
  width: 100%;
  max-height: none;
  height: auto;
  margin: 0;
  object-fit: cover;
  object-position: top;
}

.owner-product-heading {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(360px, .65fr);
  gap: 18px 70px;
  align-items: end;
  max-width: 1180px;
  margin: 0 auto 48px;
}

.owner-product-heading > span,
.owner-control-copy > span,
.owner-product-proof > div:first-child > span,
.owner-product-cta span {
  grid-column: 1 / -1;
  color: #9d3f60;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .14em;
}

.owner-product-heading h2,
.owner-control-copy h2,
.owner-product-proof h2,
.owner-product-cta h2 {
  margin: 0;
  color: #24191f;
  font-size: clamp(2.15rem, 3.6vw, 3.65rem);
  line-height: 1.06;
}

.owner-product-heading p,
.owner-control-copy p,
.owner-product-proof p,
.owner-product-cta p {
  color: #716169;
  font-size: 1.03rem;
  line-height: 1.75;
}

.owner-outcome-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
}

.owner-outcome-grid article {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-height: 300px;
  padding: 30px;
  border: 1px solid #eadde2;
  border-radius: 24px;
  background: linear-gradient(150deg, #fff, #fbf6f7);
}

.owner-outcome-grid b { color: #aa4b6b; font-size: .74rem; letter-spacing: .12em; }
.owner-outcome-grid h3 { margin: 22px 0 12px; font-size: 1.55rem; }
.owner-outcome-grid p { color: #716169; line-height: 1.7; }
.owner-outcome-grid strong { margin-top: 24px; padding-top: 18px; border-top: 1px solid #eadde2; color: #60434f; font-size: .82rem; }

.owner-control-band {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(480px, 1fr);
  gap: 70px;
  padding: 86px clamp(24px, 7vw, 110px);
  background: #21171d;
  color: #fff;
}

.owner-roi {
  padding: 88px clamp(24px, 7vw, 110px);
  background: #fff;
}

.owner-roi-heading { max-width: 900px; margin-bottom: 42px; }
.owner-roi-heading > span { color: #9d3f60; font-size: .76rem; font-weight: 900; letter-spacing: .14em; }
.owner-roi-heading h2 { max-width: 820px; margin: 14px 0 18px; font-size: clamp(2.2rem, 3.7vw, 3.8rem); line-height: 1.05; }
.owner-roi-heading p { max-width: 760px; color: #716169; font-size: 1.02rem; line-height: 1.7; }
.owner-roi-calculator { display: grid; grid-template-columns: minmax(340px, .72fr) 1.28fr; gap: 18px; max-width: 1180px; }
.owner-roi-inputs { display: grid; gap: 10px; padding: 24px; border-radius: 22px; background: #f7efec; }
.owner-roi-inputs label { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #56454d; font-size: .86rem; font-weight: 750; }
.owner-roi-inputs label span { display: flex; align-items: center; gap: 6px; color: #9d3f60; }
.owner-roi-inputs input { width: 84px; height: 42px; border: 1px solid #decbd1; border-radius: 11px; background: #fff; color: #24191f; font: inherit; font-weight: 850; text-align: right; padding: 8px 10px; }
.owner-roi-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.owner-roi-results > div { display: grid; align-content: center; min-height: 130px; padding: 20px; border: 1px solid #eadde2; border-radius: 18px; background: #fff; }
.owner-roi-results span { color: #75636b; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.owner-roi-results strong { margin: 8px 0 4px; color: #261a20; font-size: 2rem; }
.owner-roi-results small { color: #95858c; }
.owner-roi-results .owner-roi-result-primary { grid-row: span 2; min-height: 270px; background: linear-gradient(145deg, #8e3857, #542736); border-color: transparent; }
.owner-roi-results .owner-roi-result-primary span,.owner-roi-results .owner-roi-result-primary small { color: rgba(255,255,255,.7); }
.owner-roi-results .owner-roi-result-primary strong { color: #fff; font-size: clamp(2.8rem, 5vw, 4.8rem); }
.owner-roi-note { max-width: 900px; margin-top: 18px; color: #8a7980; font-size: .78rem; line-height: 1.55; }

.owner-control-copy > span { color: #dfba6d; }
.owner-control-copy h2 { margin: 16px 0 22px; color: #fff; }
.owner-control-copy p { color: rgba(255,255,255,.62); }
.owner-control-steps { display: grid; gap: 12px; }
.owner-control-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.055); }
.owner-control-steps li > b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #9b405f; }
.owner-control-steps div { display: grid; gap: 5px; }
.owner-control-steps strong { color: #fff; }
.owner-control-steps span { color: rgba(255,255,255,.6); font-size: .9rem; line-height: 1.5; }

.owner-product-proof { display: grid; grid-template-columns: .85fr 1fr; gap: 70px; background: #f8f1ee; }
.owner-product-proof h2 { margin: 16px 0 22px; }
.owner-proof-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.owner-proof-list article { display: grid; align-content: start; gap: 10px; padding: 22px; border: 1px solid #e5d8d4; border-radius: 18px; background: #fff; }
.owner-proof-list strong { color: #2d2026; }
.owner-proof-list span { color: #78676e; font-size: .88rem; line-height: 1.6; }

.owner-product-cta { display: grid; grid-template-columns: 1fr minmax(280px, .55fr) auto; gap: 34px; align-items: end; padding: 76px clamp(24px, 7vw, 110px); }
.owner-product-cta h2 { margin-top: 14px; font-size: clamp(2rem, 3vw, 3.1rem); }
.owner-product-cta .btn { white-space: nowrap; }

.product-story {
  padding: 86px clamp(24px, 7vw, 110px);
  background: #f8f2ef;
}

.product-story-heading { display: grid; grid-template-columns: .35fr 1fr; gap: 28px; align-items: end; max-width: 1180px; margin: 0 auto 38px; }
.product-story-heading > span { color: #9d3f60; font-size: .75rem; font-weight: 900; letter-spacing: .13em; }
.product-story-heading h2 { margin: 0; font-size: clamp(2.1rem, 3.5vw, 3.5rem); line-height: 1.07; }
.product-story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 1180px; margin: 0 auto; }
.product-story-grid article { display: grid; grid-template-rows: auto auto 1fr; min-height: 0; padding: 28px; border: 1px solid #e5d7dc; border-radius: 12px; background: #fff; }
.product-story-grid b { color: #c5994c; font-size: 1.8rem; }
.product-story-grid span { margin: 28px 0 12px; color: #9d3f60; font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
.product-story-grid p { color: #6f5d65; font-size: 1rem; line-height: 1.7; }
.product-story-footer { display: flex; justify-content: space-between; gap: 24px; max-width: 1180px; margin: 18px auto 0; padding: 22px 26px; border-radius: 18px; background: #24191f; color: #fff; }
.product-story-footer a { color: #edc878; font-weight: 850; }

.product-hero {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.product-space-billing .product-hero {
  align-items: center;
  min-height: 0;
  padding-block: clamp(32px, 5vw, 64px);
}

.product-space-billing .product-hero h1 {
  line-height: 1.1;
  text-wrap: balance;
}

.product-document {
  width: min(100%, 520px);
  min-width: 0;
  margin: 0;
  justify-self: center;
}

.product-document > a {
  display: block;
  background: #fff;
  box-shadow: 0 12px 36px rgb(59 33 44 / 12%);
}

.product-document img {
  display: block;
  width: 100%;
  height: auto;
}

.product-document figcaption {
  display: grid;
  gap: 6px;
  margin-top: 18px;
  color: var(--product-ink);
  font-size: .9rem;
  line-height: 1.5;
}

.product-document figcaption a,
.product-document-download {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--product-wine);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.product-document a:focus-visible,
.product-document-download:focus-visible,
.billing-workspace a:focus-visible {
  outline: 2px solid var(--product-wine);
  outline-offset: 5px;
}

.billing-workspace {
  margin: 0 0 32px;
}

.billing-workspace > a {
  display: block;
  aspect-ratio: 4 / 1;
}

.billing-workspace img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.billing-workspace figcaption {
  margin-top: 12px;
  font-size: .9rem;
  color: var(--product-ink);
}

.product-hero h1 {
  max-width: 100%;
  font-size: clamp(2.7rem, 3.8vw, 4.1rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.product-nav .public-lang-form select {
  min-width: 76px;
  height: 42px;
  padding: 8px 30px 8px 12px;
  color: #20161c;
  background-color: #fff;
  border: 1px solid rgba(78, 43, 57, .2);
  opacity: 1;
}

.product-hero-copy > span {
  display: inline-flex;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.product-hero-copy > p {
  max-width: 560px;
}

.product-shot figcaption span {
  margin-top: 5px;
  line-height: 1.5;
}

@media (max-width: 720px) {
  .product-visuals-under-review .hero {
    min-height: 0;
    padding-top: 100px;
    padding-bottom: 52px;
  }

  .product-visuals-under-review .hero-inner,
  .product-visuals-under-review .hero-copy {
    width: 100%;
    min-width: 0;
  }

  .product-visuals-under-review .hero h1 {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    font-size: clamp(2.55rem, 12.5vw, 3.25rem);
    line-height: 1.04;
  }

  .product-visuals-under-review .hero-desc {
    width: 100%;
    max-width: none;
    font-size: 1rem;
    line-height: 1.6;
  }

  .product-visuals-under-review #solution .split-feature {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-visuals-under-review #solution .split-feature-copy {
    min-width: 0;
    text-align: left;
  }

  .product-visuals-under-review #solution .workspace-tabs,
  .product-visuals-under-review #solution .workspace-summary-tags {
    justify-content: flex-start;
  }

  .product-proof-heading {
    margin-top: 48px;
  }

  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: 1fr;
  }

  #features .features-grid {
    grid-template-columns: 1fr;
  }

  #features .feature-card {
    grid-template-rows: auto;
    padding: 24px 22px;
  }

  .product-space-card-approved {
    grid-template-columns: 1fr;
  }

  .product-space-card-approved img,
  .product-space-card-approved > :not(img) {
    grid-column: 1;
    grid-row: auto;
  }

  .product-proof-grid .product-space-card {
    grid-template-columns: 1fr;
  }

  .product-proof-grid .product-space-card img,
  .product-proof-grid .product-space-card > :not(img) {
    grid-column: 1;
    grid-row: auto;
  }

  .product-space-card-approved img,
  .product-spaces-section .product-space-grid:not(.product-proof-grid) .product-space-card img,
  .hero-product-real > img,
  .product-shot img {
    height: auto !important;
    max-height: 520px;
  }
}

@media (max-width: 900px) {
  .product-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .product-hero h1 { font-size: clamp(2rem, 6vw, 2.7rem); }

  .owner-product-heading,
  .owner-roi-calculator,
  .owner-control-band,
  .owner-product-proof,
  .owner-product-cta {
    grid-template-columns: 1fr;
  }

  .owner-product-heading { align-items: start; }
  .owner-outcome-grid { grid-template-columns: 1fr; }
  .owner-control-band { gap: 42px; }
  .owner-proof-list { grid-template-columns: 1fr; }
  .owner-roi-results { grid-template-columns: 1fr; }
  .owner-roi-results .owner-roi-result-primary { grid-row: auto; min-height: 190px; }
  .product-story-heading { grid-template-columns: 1fr; align-items: start; }
  .product-story-grid { grid-template-columns: 1fr; }
  .product-story-footer { align-items: flex-start; flex-direction: column; }
}

/* Keep the public catalogue compact after all legacy responsive overrides. */
@media (min-width: 901px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1180px;
  }
}

@media (min-width: 621px) and (max-width: 900px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 820px;
  }
}

.product-spaces-section .product-space-grid:not(.product-proof-grid) .product-space-card-featured img {
  width: 100% !important;
  height: 230px !important;
  max-height: 230px !important;
  object-fit: cover !important;
  object-position: top !important;
}

.product-space-owner .product-shot img {
  width: 100% !important;
  max-height: none !important;
}

@media (max-width: 620px) {
  .product-spaces-section .product-space-grid:not(.product-proof-grid) {
    grid-template-columns: 1fr;
    max-width: 430px;
  }
}

.hero .hero-ctas { justify-content: flex-start; margin-block: 28px; }
.hero .hero-social-proof { margin-top: 28px; }
.hero .hero-benefits { margin-bottom: 0; }
.hero .hero-desc { margin-left: 0; max-width: 64ch; }
.product-nav :where(a, select):focus-visible { outline: 2px solid var(--product-wine); outline-offset: 4px; }
@media (max-width: 720px) {
  .hero h1 { font-size: clamp(2rem, 8.6vw, 2.6rem); text-wrap: balance; }
  .hero .hero-ctas .btn { width: 100%; font-size: .95rem; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .hero .fade-in-up, .reveal { opacity: 1; transform: none; animation: none; transition: none; }
}
