/* A-only product scene: responsive HTML over the existing illustrated hero. */
.home-hero--product-scene { min-height: 0; }
.home-hero--product-scene .home-hero__stage {
  position: relative; top: auto; height: auto; min-height: 0;
  overflow: hidden; background: #faf3e3;
}
.home-hero--product-scene .home-hero__art { height: min(66vw, 64rem); transform: none; opacity: 1; }
.home-hero--product-scene .home-hero__art img { object-fit: cover; object-position: center top; }
.home-hero--product-scene .home-hero__stage::after { z-index: 1; }
.product-scene {
  position: relative; z-index: 4; padding: clamp(8.5rem, 15vw, 15rem) clamp(1.5rem, 4vw, 4.5rem) 2.3rem;
  color: #172c20; --scene-paper: #fffaf0; --scene-line: #dfd6bd;
}
.product-scene__intro { width: min(56%, 48rem); margin: 0 auto; text-align: center; }
.product-scene__sources { display: flex; justify-content: center; gap: clamp(.4rem, 1.8vw, 1.5rem); padding: 0; margin: 0 0 1.3rem; list-style: none; }
.product-scene__sources li { flex: 1; min-width: 0; max-width: 10rem; }
.product-scene__sources img { width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; mix-blend-mode: multiply; }
.product-scene__sources span { display: block; margin-top: .1rem; font: 600 clamp(1.2rem, 1.65vw, 1.8rem)/1.1 'Cormorant Garamond Local', var(--display); }
.product-scene h1 { margin: 0; font-size: clamp(2.35rem, 4.1vw, 4.4rem); line-height: .98; letter-spacing: -.035em; }
.product-scene__subtitle { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 1rem 0 0; font: 600 clamp(1.15rem, 1.55vw, 1.7rem)/1.2 'Cormorant Garamond Local', var(--display); letter-spacing: .08em; }
.product-scene__subtitle::before, .product-scene__subtitle::after { content: ''; flex: 1; max-width: 5rem; border-top: 1px solid #b38328; }
.product-scene__journey { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(1.25rem, 3vw, 3.5rem); margin: clamp(3.4rem, 6.8vw, 7rem) auto 0; max-width: 84rem; }
.scene-step { min-width: 0; }
.scene-step header { margin-bottom: 1.2rem; min-height: 4.5rem; }
.scene-step h2 { font-size: clamp(1.8rem, 2.7vw, 2.8rem); line-height: 1.05; margin: 0 0 .5rem; letter-spacing: -.025em; }
.scene-step header p { font-size: .65rem; font-weight: 600; line-height: 1.7; letter-spacing: .15em; text-transform: uppercase; margin: 0; color: #425747; max-width: 35ch; }
.scene-step--review header { text-align: center; }
.scene-step--review header p { margin-inline: auto; }
.scene-transactions { padding: 0; margin: 0; list-style: none; display: grid; gap: .5rem; }
.scene-transactions li { display: flex; align-items: center; gap: .8rem; min-width: 0; padding: .65rem .9rem; border: 1px solid var(--scene-line); border-radius: .7rem; background: var(--scene-paper); box-shadow: 0 .3rem 1rem #44361905; }
.scene-transaction__icon, .scene-review__icon { display: grid; place-items: center; flex-shrink: 0; width: 2.65rem; height: 2.65rem; border-radius: 50%; background: #e0e4d3; }
.scene-transaction__icon--1 { background: #eddfbb; }
.scene-icon { width: 1.4rem; height: 1.4rem; opacity: .75; }
.scene-icon[hidden] { display: none; }
.scene-transaction__description { flex: 1; min-width: 0; }
.scene-transaction__description strong, .scene-review__description strong { display: block; font: 600 clamp(1rem, 1.38vw, 1.32rem)/1.15 'Cormorant Garamond Local', var(--display); }
.scene-transaction__description small, .scene-review__description small { display: block; margin-top: .25rem; color: #566154; font-size: .72rem; line-height: 1.3; }
.scene-amount { font-size: clamp(.88rem, 1.1vw, 1.08rem); font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.scene-amount--positive { color: #345d3d; }
.scene-review { display: flex; align-items: flex-start; gap: .7rem; padding: 1rem; border: 1.5px solid #bd8c2e; border-radius: .75rem; background: var(--scene-paper); box-shadow: 0 .5rem 1.5rem #7152100a; }
.scene-review__icon { width: 2.8rem; height: 2.8rem; background: #f1dfb4; }
.scene-review__description { flex: 1; min-width: 0; }
.scene-review .scene-amount { margin-top: .35rem; }
.scene-category { display: block; width: fit-content; margin-top: .7rem; padding: .25rem .45rem; color: #674917; background: #f7ebcc; border-radius: .35rem; font-size: .58rem; line-height: 1.45; text-transform: uppercase; font-weight: 600; letter-spacing: .03em; }
.scene-choices { display: flex; gap: .7rem; margin-top: .9rem; }
.scene-choices button, .scene-reset { min-height: 2.8rem; border: 1px solid #947131; border-radius: 2rem; background: #fffaf0; color: #172c20; font: 600 1.15rem/1.1 'Cormorant Garamond Local', var(--display); padding: .55rem .8rem; cursor: pointer; }
.scene-choices button { flex: 1; display: flex; align-items: center; justify-content: center; gap: .5rem; }
.scene-choices button:last-child { background: #213c2d; color: #fffaf0; border-color: #213c2d; }
.scene-choices button:hover { background: #eee2c4; }
.scene-choices button:last-child:hover { background: #34533d; }
.product-scene button:focus-visible { outline: 3px solid #866214; outline-offset: 3px; }
.scene-picker-caret { flex-shrink: 0; filter: invert(1); transition: transform .16s ease; }
[data-scene-other][aria-expanded="true"] .scene-picker-caret { transform: rotate(180deg); }
.scene-category-picker { margin-top: .7rem; padding: .35rem .65rem .65rem; border: 1px solid #c1ac77; border-radius: 1rem; background: var(--scene-paper); box-shadow: 0 .5rem 1.4rem #4f3c1710; }
.scene-category-picker__heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-left: .45rem; border-bottom: 1px solid var(--scene-line); margin-bottom: .35rem; }
.scene-category-picker__heading p { margin: 0; color: #53614c; font-size: .8rem; font-weight: 600; line-height: 1.5; }
.scene-picker-close { display: grid; place-items: center; flex-shrink: 0; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.scene-picker-close:hover { background: #eee6d3; }
.scene-category-options { display: grid; gap: .2rem; }
.scene-category-option { display: flex; align-items: center; gap: .8rem; width: 100%; min-height: 3.5rem; padding: .5rem .6rem; border: 1px solid transparent; border-radius: .7rem; background: transparent; color: #172c20; text-align: left; cursor: pointer; font: 600 1.25rem/1.2 'Cormorant Garamond Local', var(--display); }
.scene-category-option:hover, .scene-category-option:focus-visible { background: #edf0e4; border-color: #ccd4bc; }
.scene-category-option:focus-visible { outline-offset: 0; }
.scene-category-option__icon { display: grid; place-items: center; flex-shrink: 0; width: 2.3rem; height: 2.3rem; border: 1px solid #dfd7bf; border-radius: .65rem; background: #f1ead6; }
.scene-category-option__icon img { opacity: .7; }
.scene-category-option__arrow { margin-left: auto; opacity: .5; flex-shrink: 0; }
@media (prefers-reduced-motion: reduce) { .scene-picker-caret { transition: none; } }
.scene-reset { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; margin-top: .9rem; }
.product-scene [hidden] { display: none !important; }
.scene-review[data-resolved] { border-color: #8da27a; }
.scene-review[data-resolved] .scene-review__icon, .scene-review[data-resolved] .scene-category { background: #e0e8d7; color: #2e4c2e; }
.scene-summary { padding: 1rem 1.05rem .7rem; border: 1px solid var(--scene-line); border-radius: .75rem; background: var(--scene-paper); box-shadow: 0 .5rem 1.5rem #7152100a; }
.scene-summary__heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.scene-summary__heading > strong { font: 600 clamp(1.3rem, 1.9vw, 1.8rem)/1.1 'Cormorant Garamond Local', var(--display); }
.scene-summary__heading > span { display: flex; align-items: center; gap: .3rem; color: #4b6741; font: 600 .95rem/1.1 'Cormorant Garamond Local', var(--display); }
.scene-summary__heading .scene-icon { width: 1.9rem; height: 1.9rem; background: #dfe6ce; border-radius: 50%; padding: .2rem; }
.scene-summary__meter { display: block; width: 100%; height: 1.15rem; margin: 1rem 0 1.3rem; appearance: none; border: 0; background: #d8dfcc; border-radius: 1rem; overflow: hidden; }
.scene-summary__meter::-webkit-meter-bar { height: 1.15rem; border: 0; background: #d8dfcc; border-radius: 1rem; }
.scene-summary__meter::-webkit-meter-optimum-value { background: #8d9c79; }
.scene-summary__meter::-moz-meter-bar { background: #8d9c79; }
.scene-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.scene-summary dl div { min-width: 0; padding: 0 .7rem; border-left: 1px solid #cbc5b5; }
.scene-summary dl div:first-child { padding-left: 0; border: 0; }
.scene-summary dl div:last-child { padding-right: 0; }
.scene-summary dt { margin: 0 0 .3rem; font-size: .7rem; }
.scene-summary dd { margin: 0; font-weight: 600; font-size: clamp(.85rem, 1.15vw, 1.15rem); font-variant-numeric: tabular-nums; white-space: nowrap; }
.scene-summary dl div:first-child dd, .scene-summary dl div:last-child dd { color: #345d3d; }
.scene-summary__coverage { margin: .9rem 0 0; color: #506548; font-size: .65rem; }
.product-scene__footer { margin-top: 1.6rem; text-align: center; }
.product-scene__footer > p { margin: 0; color: #586153; font: italic 600 .94rem/1.5 'Cormorant Garamond Local', var(--display); }
.product-scene__footer .scene-status { min-height: 1.5rem; margin: .15rem auto 1.1rem; font: .72rem/1.5 var(--body); max-width: 60ch; }
.product-scene .home-hero__actions { margin-top: 1rem; }
@media (min-width: 100rem) {
 .product-scene { padding-top: 15rem; }
}
@media (max-width: 68rem) {
 .product-scene { padding-inline: 1.5rem; }
 .product-scene__intro { width: 60%; }
 .product-scene__journey { gap: 1rem; }
 .scene-transactions li, .scene-review { padding: .7rem; gap: .45rem; }
 .scene-transaction__icon { width: 2rem; height: 2rem; }
 .scene-review__icon { width: 2rem; height: 2rem; }
 .scene-summary { padding-inline: .8rem; }
 .scene-summary dl div { padding-inline: .4rem; }
}
@media (max-width: 54rem) {
 .home-hero--product-scene .home-hero__art { height: 37rem; }
 .home-hero--product-scene .home-hero__art img { object-fit: cover; object-position: center top; }
 .product-scene { padding-top: 10rem; }
 .product-scene__intro { width: min(100%, 30rem); }
 .product-scene__sources { max-width: 23rem; margin-inline: auto; }
 .product-scene h1 { font-size: clamp(2.8rem, 6vw, 3.5rem); }
 .product-scene__journey { grid-template-columns: 1fr; width: min(100%, 30rem); gap: 2rem; margin-top: 3rem; }
 .scene-step header { min-height: 0; text-align: left; margin-bottom: .8rem; }
 .scene-step header p { max-width: none; margin: 0; }
 .scene-step h2 { font-size: 2.25rem; }
 .scene-transactions li { padding: .8rem 1rem; gap: .9rem; }
 .scene-transaction__icon { width: 2.7rem; height: 2.7rem; }
 .scene-transaction__description strong, .scene-review__description strong { font-size: 1.25rem; }
 .scene-transaction__description small, .scene-review__description small { font-size: .8rem; }
 .scene-amount { font-size: 1rem; }
 .scene-review { padding: 1rem; gap: .8rem; }
 .scene-review__icon { width: 2.8rem; height: 2.8rem; }
 .scene-category { font-size: .65rem; }
 .scene-summary { padding: 1rem; }
 .scene-summary__heading > strong { font-size: 1.8rem; }
 .scene-summary dt { font-size: .8rem; }
 .scene-summary dd { font-size: 1.1rem; }
 .product-scene__footer { margin-top: 2rem; }
 .product-scene .home-hero__actions { flex-wrap: wrap; }
}
@media (max-width: 30rem) {
 .product-scene { padding-inline: 1.2rem; padding-top: 8.6rem; }
 .home-hero--product-scene .home-hero__art { height: 34rem; }
 .product-scene__sources { gap: .5rem; }
 .product-scene__sources span { font-size: 1.25rem; }
 .product-scene h1 { font-size: 2.85rem; }
 .product-scene__subtitle { font-size: 1.15rem; letter-spacing: .04em; gap: .6rem; }
 .scene-review { gap: .55rem; padding: .85rem; }
 .scene-transactions li { padding: .75rem .7rem; gap: .65rem; }
 .scene-transaction__icon { width: 2.25rem; height: 2.25rem; }
 .scene-summary__heading > span { font-size: .95rem; }
 .product-scene__footer .home-hero__actions a { width: 100%; }
}
/* Keep the three steps on clear paper, beneath the original fresco. */
.home-hero--product-scene { --scene-art-height: clamp(29rem,37vw,35.5rem); --scene-top: clamp(8.5rem,12vw,12rem); }
.home-hero--product-scene .home-hero__art { height: var(--scene-art-height); }
.product-scene { padding-top: var(--scene-top); }
.product-scene__intro { min-height: calc(var(--scene-art-height) - var(--scene-top)); }
.product-scene__sources img { aspect-ratio: 1.5; object-fit: contain; mix-blend-mode: normal; }
.product-scene__journey { margin-top: 2.25rem; }
@media (max-width:54rem) {
 .home-hero--product-scene { --scene-art-height: 29rem; --scene-top: 9rem; }
 .product-scene__intro { padding-bottom: 1.5rem; }
 .product-scene__journey { margin-top: 2rem; }
}
@media (max-width:30rem) {
 .home-hero--product-scene { --scene-art-height: 28rem; --scene-top: 8rem; }
}
/* Place the medallions below the scales, with clear space around both. */
@media (min-width:54.01rem) {
 .home-hero--product-scene { --scene-top: clamp(13rem,18vw,18rem); --scene-art-height: clamp(33rem,42vw,40rem); }
}
/* Financial details stay legible instead of scaling with the illustration. */
.scene-transaction__description small, .scene-review__description small { font-size: .875rem; }
.scene-category { font-size: .75rem; }
.scene-step header p { font-size: .72rem; }
.scene-summary dt { font-size: .8rem; }
.scene-summary__coverage { font-size: .75rem; }
.product-scene__footer .scene-status { font-size: .8rem; }
.home-hero--product-scene .home-hero__art { top: 0; bottom: auto; }
