.product-page { background:var(--color-off-white); }
.model-main,.catalog-main { max-width:1800px; margin:auto; padding:2rem var(--page-gutter) 4rem; }
.product-breadcrumb { display:flex; flex-wrap:wrap; gap:.5rem; font-size:.8125rem; margin-bottom:2rem; line-height:1.7; }
.model-heading h1,.catalog-main h1 { font-size:clamp(2rem,4.2vw,4rem); line-height:1.07; letter-spacing:-.045em; max-width:24ch; margin:.75rem 0 2rem; }
.model-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); border-top:1px solid var(--color-line); }
.model-stage { background:#fdfdfd; padding:clamp(1rem,3vw,3rem); display:grid; place-items:center; }
.model-art { width:100%; aspect-ratio:2/3; position:relative; max-height:800px; }
.model-art img { width:100%; height:100%; object-fit:contain; }
.model-art .placeholder { position:absolute; inset:0; display:grid; place-content:center; padding:2rem; color:var(--color-muted); text-align:center; line-height:1.7; }
.model-art .placeholder[hidden] { display:none; }
.model-info { padding:clamp(1.25rem,3vw,3rem); min-width:0; }
.model-info h2 { font-size:1.125rem; line-height:1.5; margin-bottom:1rem; }
.model-colors { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
.model-colors a { border:1px solid var(--color-line); padding:.75rem 1rem; min-height:44px; font-size:.8125rem; text-decoration:none; }
.model-colors a[aria-current="true"] { border-color:var(--color-black); background:var(--color-black); color:white; }
.model-info .product-price { margin:1.5rem 0; }
.model-info .product-price p { font-size:2rem; }
.model-identifiers { font-size:.8125rem; line-height:1.8; margin-bottom:1rem; overflow-wrap:anywhere; }
.model-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; align-items:center; }
.model-actions a { font-size:.75rem; }
.model-description,.model-variants,.model-related { margin-top:3rem; max-width:85ch; }
.model-description h2,.model-variants h2,.model-related h2 { font-size:1.5rem; margin-bottom:1rem; }
.model-description p { white-space:pre-line; font-size:1rem; line-height:1.75; }
.variant-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.variant-table th,.variant-table td { padding:.75rem .5rem; border-bottom:1px solid var(--color-line); text-align:left; overflow-wrap:anywhere; }
.variant-scroll { overflow-x:auto; }
.model-related ul,.catalog-models { list-style:none; padding:0; }
.model-related li,.catalog-models li { border-top:1px solid var(--color-line); }
.model-related a,.catalog-models a { padding:1rem 0; display:block; font-size:1rem; line-height:1.5; }
.catalog-family { margin-top:3rem; }
.catalog-family h2 { font-size:1.5rem; margin-bottom:1rem; }
.home-model-links { margin-top:2rem; padding-top:1rem; border-top:1px solid var(--color-line); }
.home-model-links summary { cursor:pointer; font-size:.8125rem; font-weight:700; padding:.75rem 0; }
.home-model-links ul { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; list-style:none; padding:0; margin:1rem 0; }
.home-model-links a { display:inline-flex; min-height:44px; align-items:center; font-size:.8125rem; }
.model-page-link { font-size:.75rem; }
.product-page a:focus-visible,.home-model-links summary:focus-visible { outline:3px solid var(--color-focus); outline-offset:4px; }
@media(max-width:767px) { .model-grid { grid-template-columns:1fr; } .model-info { padding:1.5rem 0; } .model-stage { margin-inline:calc(-1 * var(--page-gutter)); } .model-art { max-height:600px; } .variant-table { font-size:.75rem; } .model-main { padding-top:1.5rem; } }

.home-model-links { grid-column:1/-1; position:relative; }
.model-info .specs div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid var(--color-line); }
.model-info .specs dt { color:var(--color-muted); }
.model-info .specs dd { text-align:right; }
.product-page .header .wordmark img { width:144px; height:auto; }
.model-art .placeholder { background-image:none; }
@media(max-width:1100px) { .model-info .specs { grid-template-columns:minmax(0,1fr); } }

/* The image stage retains its original size; controls occupy a reserved row. */
.model-gallery { width:100%; min-width:0; position:relative; }
.model-gallery.has-secondary { padding-bottom:64px; }
.model-gallery-controls { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:center; gap:.5rem; }
.model-gallery-controls[hidden] { display:none; }
.model-thumbnail { width:44px; height:44px; display:grid; place-items:center; border:1px solid transparent; background:transparent; color:var(--color-muted); font:inherit; font-size:.8125rem; cursor:pointer; }
.model-thumbnail[aria-pressed="true"] { color:var(--color-black); border-color:var(--color-black); }
.model-thumbnail:focus-visible { outline:3px solid var(--color-focus); outline-offset:4px; }
