/* Photo-first layout: consistent frames, full-width mobile imagery. */
.home-page .home-families-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-page .home-families-grid>a{padding:0;overflow:hidden;border-radius:12px}
.home-page .home-families-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;display:block}
.home-page .home-families-grid a>span{padding:12px 16px;min-height:48px;font-size:18px;line-height:28px}
.home-page .home-projects .evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-page .home-project-card>a{display:block;padding:0 0 16px}
.home-page .home-project-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.home-page .home-project-card h3{margin:16px 16px 4px;font-size:18px;line-height:28px}
.home-page .home-project-card span{margin:0 16px;font-size:14px;line-height:20px;min-height:44px}
.home-page .home-equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-page .home-equipment-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.home-page .home-equipment-grid span{font-size:18px;line-height:28px;padding:12px 16px}
@media(max-width:1023px){.home-page .home-families-grid,.home-page .home-projects .evidence-grid,.home-page .home-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:620px){.home-page .home-families-grid,.home-page .home-projects .evidence-grid,.home-page .home-equipment-grid{grid-template-columns:minmax(0,1fr);gap:24px}.home-page .home-project-card img{width:100%;height:auto}.home-page .home-families-grid a>span,.home-page .home-equipment-grid span{font-size:18px;line-height:28px}.home-page .home-project-card h3{margin:16px 16px 4px}.home-page .home-project-card span{margin:0 16px}.home-page .hero-examples{width:100%;max-width:none}.home-page .hero-examples>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}}
/* Catalogue and model galleries share the same large 3:2 canvas. */
.home-page .hero-examples>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.catalogue-page .product-image{height:auto;aspect-ratio:3/2;overflow:hidden;background:#eef1f4}
.catalogue-page .product-image img{display:block;width:100%;height:100%;padding:0;object-fit:cover;object-position:center}
.model-page .gallery-stage{height:auto;min-height:0;aspect-ratio:3/2;background:#eef1f4;border-radius:12px}
.model-page .gallery-stage img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.model-page .gallery-thumbs button{width:96px;height:64px;padding:0;border-radius:8px;overflow:hidden}
@media(min-width:1024px){.model-page .model-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px}.model-page .gallery-stage{min-height:0}}
@media(max-width:620px){.catalogue-page .product-grid{grid-template-columns:minmax(0,1fr)}.catalogue-page .product-image{height:auto}.model-page .gallery-stage{height:auto;min-height:0}.model-page .gallery-stage:has(.low-resolution){min-height:0}}
@media(max-width:620px){.model-page .model-hero .gallery{order:0}.model-page .model-hero .model-summary{order:1}}
/* Product evidence must remain complete: never crop roofs or frames. */
.catalogue-page .product-image img,.model-page .gallery-stage img,.model-page .gallery-thumbs img{object-fit:contain;background:#eef1f4}
.model-page .gallery-stage.is-portrait{aspect-ratio:4/5;max-height:70vh}
.model-page .gallery-stage.is-portrait img{object-fit:contain}
/* Homepage: preserve the entire tent silhouette in every source format. */
.home-page .home-families-grid img,.home-page .home-equipment-grid img,.home-page .home-project-card img,.home-page .hero-examples>img{object-fit:contain;background:#eef1f4}
@media(min-width:621px){.home-page .home-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* A clear first screen and a compact path to the brief. */
.home-page .hero-buttons .button-ghost{border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:4px}
.home-page .hero h1{max-width:680px;text-wrap:balance}
.home-page .hero-copy{max-width:48ch;text-wrap:pretty}
.home-page .home-process .process-grid li{min-height:0;padding:16px}
@media(max-width:620px){.home-page .hero{padding-top:24px;padding-bottom:24px;gap:24px;min-height:0}.home-page .hero h1{font-size:30px;line-height:36px;margin:12px 0}.home-page .hero-copy{font-size:16px;line-height:24px;margin:12px 0}.home-page .hero-buttons{margin-top:16px;gap:8px}.home-page .hero-examples figcaption{padding:12px}.home-page .home-process .process-grid li{padding:12px 0}}
/* Curated landscape sources: edge-to-edge 3:2, no mixed portrait tiles. */
.home-page .home-families-grid img,.home-page .home-equipment-grid img,.home-page .home-project-card img,.home-page .hero-examples>img{aspect-ratio:3/2;object-fit:cover;object-position:center}
/* Catalogue canvases remain landscape even when viewing a portrait original. */
.model-page .gallery-stage.is-portrait{aspect-ratio:3/2;max-height:none}
.catalogue-page .product-image img,.model-page .gallery-stage img{object-fit:contain}
.model-page .related-grid>article>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#eef1f4}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.model-page .gallery-thumbs button{transition:transform 300ms cubic-bezier(.22,1,.36,1)}.model-page .gallery-thumbs button:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.model-page .gallery-thumbs button{transition:none!important;transform:none!important}}
.catalogue-page .product-image img{object-fit:cover;object-position:center 55%}
/* Reserve the first viewport before the model renderer fills its empty main. */
.model-page #model-main{min-height:100vh}
