/* 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}
/* Picker, family tiles and comparison use the catalogue's landscape grid. */
.catalogue-page .family-image{height:auto;aspect-ratio:3/2;overflow:hidden;background:#eef1f4}
.catalogue-page .family-image img{display:block;width:100%;height:100%;padding:0;object-fit:cover;object-position:center}
.mobile-compare 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){.task-cards label,.interest-picker label,.family-card{transition:transform 300ms cubic-bezier(.22,1,.36,1)}.task-cards label:hover,.interest-picker label:hover{transform:translateY(-2px)}.family-card:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.task-cards label,.interest-picker label,.family-card{transition:none!important;transform:none!important}}
.catalogue-page .compact-custom{display:block;padding:24px 4vw;background:#eef1f4}
.catalogue-page .compact-custom>div{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.catalogue-page .compact-custom h2{font-size:24px;line-height:32px;margin:0}
/* Compact secondary controls: readable target size and keyboard focus. */
button.aks-icon-control{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 48px;width:48px!important;min-width:48px!important;height:48px;min-height:48px;padding:12px!important;border:1px solid #83c8ee!important;border-radius:12px;background:transparent;color:#201e38;vertical-align:middle}
button.aks-icon-control svg{display:block;width:24px;height:24px;pointer-events:none}
button.aks-icon-control:focus-visible{outline:3px solid #3282b2;outline-offset:4px}
button.aks-icon-control:disabled{opacity:.4;cursor:not-allowed}
@media(hover:hover) and (prefers-reduced-motion:no-preference){button.aks-icon-control{transition:transform 300ms cubic-bezier(.22,1,.36,1)}button.aks-icon-control:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){button.aks-icon-control{transform:none!important;transition:none!important}}
.photo-story figure{margin:24px 0}
.photo-story figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 65%}
.photo-story figcaption{font-size:14px;line-height:20px;margin-top:8px}
/* Larger hero photography; all navigation remains deliberate and manual. */
@media(min-width:761px){body.home-page .hero{grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr)!important;gap:32px;padding:32px max(24px,calc((100vw - 1440px)/2))!important}body.home-page .hero h1{font-size:36px;line-height:40px;max-width:16ch}.home-page .hero-examples>img{aspect-ratio:3/2;object-position:center 65%}}
.hero-slide-dots{display:flex;align-items:center;justify-content:center;padding:0 12px 8px;background:#201e38}
.hero-slide-dots button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;color:#a6d8ff;padding:0;cursor:pointer}
.hero-slide-dots button span{width:8px;height:8px;border:1px solid currentColor;border-radius:50%}
.hero-slide-dots button[aria-pressed=true] span{background:currentColor}
.hero-slide-dots button:focus-visible{outline:2px solid #a6d8ff;outline-offset:-4px;border-radius:8px}
@media(max-width:760px){body.home-page .hero .hero-examples{width:calc(100% + 36px);max-width:none;margin-inline:-18px;border-radius:0;border-inline:0}.home-page .hero-examples>img{aspect-ratio:3/2;object-position:center 65%}.hero-slide-dots{padding-bottom:4px}}
