/* Model catalogue and full-resolution photographic homepage. */
.hero--photo .hero__fg { display: none; }
.hero--photo .hero__bg-in { inset: -1%; }
.hero--photo .hero__bg img { object-position: 50% 58%; }
.hero--photo .hero__shade { background: linear-gradient(180deg,rgba(4,15,12,.65),transparent 35%,rgba(4,15,12,.12) 55%,#06110ee8); }
.hero--photo .hero__line--a { top: 25%; transform: none; }
.hero--photo .hero__line--b { top: 44%; transform: none; }
.hero--photo .hero__title { font-size: clamp(5rem,11.6vw,13rem); }
.catalog { padding-block: clamp(72px,10vw,150px); scroll-margin-top: 100px; }
.catalog__head { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 48px; margin-bottom: 40px; }
.catalog__eyebrow,.model-card__family { font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
.catalog__head .lead { max-width:46ch; }
.catalog__filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.catalog__filters[hidden],.model-card[hidden] { display:none; }
.catalog__filters button { border:1px solid var(--line); padding:12px 22px; border-radius:50px; color:var(--foam); background:transparent; font:inherit; cursor:pointer; min-height:44px; }
.catalog__filters button[aria-pressed="true"] { background:var(--foam); color:var(--deep); }
.catalog__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
.model-card { min-width:0; border-bottom:1px solid var(--line); }
.model-card__link { display:block; color:inherit; text-decoration:none; border-radius:3px; overflow:hidden; }
.model-card__link>img { display:block; width:100%; height:auto; aspect-ratio:1.55; object-fit:cover; transition:transform .7s var(--ease); }
.model-card__body { padding:23px 4px 27px; }
.model-card__family { margin-bottom:10px; }
.model-card h3 { font-size:clamp(2.2rem,3vw,3.6rem); font-weight:750; font-variation-settings:'wdth' 72; letter-spacing:-.04em; line-height:1.05; }
.model-card__spec { color:var(--muted); margin-top:12px; font-size:.9rem; }
.model-card__spec span { padding-inline:10px; }
.model-card__cta { display:flex; justify-content:space-between; align-items:center; margin-top:25px; font-weight:600; font-size:.9rem; }
.model-card__cta>span { font-size:1.5rem; }
.model-card__link:hover>img { transform:scale(1.025); }
.model-card__link:hover .model-card__cta { color:#ff334c; }
.model-card__link:focus-visible { outline:3px solid #ff334c; outline-offset:6px; }
.fam__model-links { display:flex; flex-wrap:wrap; gap:8px; }
.fam__model-links a { display:inline-flex; align-items:center; gap:12px; padding:8px 14px; border:1px solid #edf2ef55; border-radius:4px; text-decoration:none; min-height:42px; color:var(--foam); }
.fam__model-links a:hover { background:var(--foam); color:var(--deep); }
.explore__photo-link { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.explore__detail { margin-bottom:12px; }
@media(min-width:901px){.hero--photo .hero__line--a{left:var(--gut)}.hero--photo .hero__line--b{left:var(--gut);right:auto;top:43%}}
@media(max-width:1100px){.catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .hero--photo .hero__stage { height:86svh; min-height:610px; max-height:900px; }
 .hero--photo .hero__bg-in { inset:auto -1%; top:29%; transform:none; aspect-ratio:1.18; mask-image:linear-gradient(180deg,transparent,#000 9%,#000 90%,transparent); -webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 90%,transparent); }
 .hero--photo .hero__bg img { object-position:46% 50%; }
 .hero--photo .hero__title { font-size:clamp(4.5rem,26vw,8rem); }
 .hero--photo .hero__line--a { top:14%; left:50%; transform:translateX(-50%); }
 .hero--photo .hero__line--b { top:auto; bottom:7%; left:50%; right:auto; transform:translateX(-50%); }
 .catalog__head { grid-template-columns:1fr; gap:22px; }
 .catalog__grid { gap:24px 16px; }
 .catalog__filters button { padding:10px 18px; }
}
@media(max-width:600px){.catalog__grid{grid-template-columns:1fr}.catalog__head{margin-bottom:28px}.model-card__link>img{aspect-ratio:1.5}.model-card h3{font-size:3.3rem}.model-card__body{padding:20px 2px 25px}.hero--photo .hero__stage{min-height:560px}}
@media(prefers-reduced-motion:reduce){.model-card__link>img{transition:none}}
