/* Product variation only. Approved 01A palette, logos and type remain in layout.css. */
.internal-preview{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;background:#102b27;color:#e9eddf;font-size:.68rem;letter-spacing:.06em}
.internal-preview a{color:inherit;text-decoration:none}
.product-01b .cover-title h1{letter-spacing:.08em}
.product-01b .b-cover-price{display:block;max-width:26rem}
.product-01b .b-cover-price p{margin:.5rem 0;color:#e9eddf}
.product-01b .b-cover-price p:first-child{font-size:1.4rem;letter-spacing:.08em}
.product-01b .b-cover-price .fine-note{font-size:.75rem;color:#d8e1cf;opacity:.9;line-height:1.8}
.b-opening>.section-heading{margin-bottom:2rem}
.b-entry{margin-top:2.75rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.b-entry:first-of-type{padding-top:0;border-top:0}
.b-entry h3{max-width:37rem;font-weight:400;font-size:1.4rem;line-height:1.65;letter-spacing:.03em;margin:0 0 1.25rem}
.b-entry p,.b-opening>p{font-size:1rem;line-height:2;margin:0 0 1.3rem}
.b-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.8rem 0 2.3rem;align-items:start}
.b-gallery .photo{margin:0;min-width:0}
.b-gallery .image-open{width:100%;background:transparent;display:block}
.b-gallery .image-open img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.b-gallery .photo figcaption{font-size:.7rem;line-height:1.6;margin-top:.65rem;color:var(--muted)}
.b-gallery.count-1{grid-template-columns:1fr}
.b-gallery.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-01b .highlights .b-entry{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem;align-items:start}
.product-01b .highlights .b-entry h3{grid-column:1}
.product-01b .highlights .b-entry p{grid-column:1}
.product-01b .highlights .b-gallery{grid-column:2;grid-row:1/4;margin-top:0}
.product-01b .service-pages .b-entry{max-width:50rem}
.product-01b .price-pages .b-entry:first-of-type{background:var(--forest);color:#fffdf5;padding:2rem}
.product-01b .price-pages .b-entry:first-of-type p{color:#e4e9d9}
.b-advisor{max-width:35rem;margin:1.5rem 0 2rem}
.product-01b .b-advisor .advisor-details{padding:1.6rem}
.product-01b .b-advisor h4{line-height:1.7;font-size:1.15rem;margin:0 0 1.2rem}
.product-01b .b-advisor .advisor-qr-frame{width:156px;flex:0 0 156px}
.product-01b .b-advisor .advisor-help p{font-size:.82rem;line-height:1.7}
.product-01b .inquiry{max-width:40rem;margin:1.5rem 0 2.2rem}
@container (max-width:46rem){
 .b-entry{margin-top:2rem;padding-top:2rem}
 .b-entry h3{font-size:1.2rem;line-height:1.75}
 .b-entry p,.b-opening>p{font-size:.94rem;line-height:1.95}
 .b-gallery{gap:.7rem;margin:1.4rem 0 1.8rem}
 .b-gallery.count-3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .b-gallery.count-3 .photo:first-child{grid-column:1/-1}
 .product-01b .highlights .b-entry{display:block}
 .product-01b .highlights .b-gallery{margin:1.4rem 0 0}
 .product-01b .price-pages .b-entry:first-of-type{padding:1.35rem}
 .product-01b .b-advisor .advisor-details{padding:1.2rem}
 .product-01b .b-advisor .advisor-qr-frame{width:156px;flex-basis:156px}
}
@media(max-width:400px){.internal-preview{font-size:.58rem;padding:.6rem .8rem}.product-01b .b-advisor .advisor-connect{flex-wrap:wrap}}

/* Reviewed visual hierarchy patch: hero / core / support / detail.
   Natural image proportions, inherited typography and all approved captions stay intact. */
.product-01b .b-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:clamp(.9rem,2vw,1.4rem)}
.product-01b .b-gallery .photo-wide{grid-column:1/-1}
.product-01b .b-gallery .photo:first-child{grid-column:auto}
.product-01b .b-gallery .photo-wide:first-child{grid-column:1/-1}
.product-01b .b-gallery .image-open img{width:auto;max-width:100%;height:auto;max-height:var(--media-height);margin-inline:auto;object-fit:contain}
.product-01b .media-core{--media-height:38rem;max-width:60rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.product-01b .media-core.count-1{max-width:48rem}
.product-01b .media-support{--media-height:28rem;max-width:48rem}
.product-01b .media-support.count-1{max-width:38rem}
.product-01b .media-detail{--media-height:16rem;max-width:42rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.product-01b .media-detail.count-1{max-width:26rem}
.product-01b .highlights .b-entry{grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:min-content 1fr;column-gap:clamp(1.5rem,3vw,2.25rem);align-items:start}
.product-01b .highlights .b-gallery{grid-column:2;grid-row:1/span 2;margin-top:0}
.product-01b .detail-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:clamp(1rem,2vw,1.5rem);max-width:42rem;margin:1.8rem 0 2.3rem;align-items:start}
.product-01b .detail-pair .b-gallery{max-width:none;margin:0}
@container book (max-width:56rem){
 .product-01b .highlights .b-entry{display:block}
 .product-01b .highlights .b-gallery{margin-top:1.4rem}
}
@container book (max-width:46rem){
 .product-01b .media-core,.product-01b .media-support{grid-template-columns:minmax(0,1fr)}
 .product-01b .media-core{--media-height:none}
 .product-01b .media-detail{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
 .product-01b .b-gallery .photo-wide{grid-column:auto}
 .product-01b .detail-pair{margin:1.4rem 0 1.8rem}
}

/* Final layout patch: shared image geometry and image-aligned captions.
   Typography, assets, order and approved content remain inherited. */
.product-01b .b-gallery,.product-01b .detail-pair{--gallery-gap:clamp(.9rem,2vw,1.4rem);gap:var(--gallery-gap)}
.product-01b .media-core{--gallery-width:60rem}
.product-01b .media-core.count-1{--gallery-width:48rem}
.product-01b .media-support{--gallery-width:48rem}
.product-01b .media-support.count-1{--gallery-width:38rem}
.product-01b .media-detail{--gallery-width:42rem}
.product-01b .media-detail.count-1{--gallery-width:26rem}
.product-01b .gallery-aligned{grid-template-columns:var(--gallery-columns);max-width:min(var(--gallery-width),calc(var(--media-height) * var(--group-fit) + var(--gallery-gap) * var(--group-gaps)))}
.product-01b .gallery-aligned .photo,.product-01b .gallery-aligned .photo:first-child{grid-column:auto;width:100%;justify-self:start}
.product-01b .gallery-aligned .image-open img{width:100%;height:auto;max-height:none;margin:0;object-fit:contain}
.product-01b .gallery-aligned .photo figcaption{margin:.65rem 0 0;text-align:left}
.product-01b .detail-pair{--media-height:16rem;grid-template-columns:var(--gallery-columns);max-width:min(42rem,calc(var(--media-height) * var(--group-fit) + var(--gallery-gap) * var(--group-gaps)))}
.product-01b .detail-pair>.b-gallery{width:100%;max-width:none}
.product-01b .media-spread,.product-01b .highlights .media-spread{display:block}
.product-01b .media-spread>.spread-copy{min-width:0}
@container book (min-width:52rem){
 .product-01b .media-spread,.product-01b .highlights .media-spread{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:auto;gap:clamp(1.5rem,3vw,2.25rem);align-items:start}
 .product-01b .media-spread>.spread-copy{grid-column:1;grid-row:1}
 .product-01b .media-spread>.b-gallery,.product-01b .highlights .media-spread>.b-gallery{grid-column:2;grid-row:1;margin:0;width:100%}
 .product-01b .media-spread>.spread-copy>:last-child{margin-bottom:0}
}
@container book (max-width:51.999rem){
 .product-01b .media-spread>.b-gallery{margin-top:1.4rem}
}
@container book (max-width:46rem){
 .product-01b .gallery-aligned,.product-01b .detail-pair{grid-template-columns:minmax(0,1fr);max-width:100%}
 .product-01b .gallery-aligned .photo{max-width:calc(var(--media-height) * var(--image-ratio))}
 .product-01b .media-core.gallery-aligned .photo{max-width:100%}
}

/* Final alignment correction: equal row heights on desktop,
   consistent widths by visual level when images stack on mobile. */
@container book (min-width:46.001rem){
 .product-01b .gallery-aligned:not(.gallery-panorama){display:flex;align-items:flex-start}
 .product-01b .gallery-aligned:not(.gallery-panorama)>.photo{flex:var(--image-ratio) 1 0%;width:auto;max-width:none;min-width:0}
 .product-01b .gallery-aligned.count-1>.photo{flex-grow:1}
 .product-01b .detail-pair{display:flex;align-items:flex-start}
 .product-01b .detail-pair>.b-gallery{flex:var(--group-fit) 1 0%;width:auto;min-width:0}
}
@container book (max-width:46rem){
 .product-01b .gallery-aligned .photo{width:100%;max-width:100%}
 .product-01b .media-detail.gallery-aligned .photo{width:min(100%,16rem);max-width:100%}
}

/* Caption breathing room: enlarge only the existing D3 food pair. */
@container book (min-width:46.001rem){
 .product-01b .detail-pair{max-width:min(100%,36rem)}
}
