.model-page { --model-light: #f4f3ef; background: var(--section-charcoal); }
.model-icon-back { transform: rotate(180deg); }
body.gallery-open { overflow: hidden; }
.model-page main { overflow: clip; }
.model-page h2 { font-size: clamp(38px, 4vw, 60px); font-weight: 900; letter-spacing: -.045em; line-height: 1.05; }
.model-page h2 span { color: var(--brand); }
.model-page section[id] { scroll-margin-top: 150px; }
.model-hero { position: relative; isolation: isolate; min-height: 800px; background: #292929; color: var(--white); }
.model-hero-media { position: absolute; inset: 0; z-index: -2; }
.model-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.model-hero::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(25,25,25,.06) 15%, rgba(25,25,25,.18) 38%, rgba(25,25,25,.8) 67%, rgba(25,25,25,.86)), linear-gradient(0deg, #333333, transparent 28%); content: ""; }
.model-hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 80px; min-height: 800px; padding-block: calc(var(--header-height) + 35px) 48px; }
.model-back { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-self: start; gap: 12px; color: #e1dfda; font-size: 12px; text-decoration: none; }
.model-back:hover { color: var(--brand); }
.model-hero-copy { grid-column: 2; align-self: center; }
.model-hero-copy .eyebrow { color: #d5d1c9; }
.model-hero h1 { margin-block: 25px 18px; font-size: clamp(64px, 6.2vw, 100px); font-weight: 900; letter-spacing: -.055em; line-height: .98; }
.model-variant { max-width: 38ch; color: #c9c7c3; font-size: 14px; }
.model-stock { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: #d3cec4; font-size: 12px; }
.model-stock i { width: 6px; height: 6px; border-radius: 50%; background: #c3a97a; }
.model-stock.in i { background: #74be93; box-shadow: 0 0 12px rgba(116,190,147,.22); }
.model-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px; margin-block: 20px 25px; }
.model-price strong { font-size: 37px; font-weight: 900; letter-spacing: -.04em; line-height: 1.1; }
.model-price s { color: #b2ada5; font-size: 17px; }
.model-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.model-actions .btn { min-height: 52px; padding-inline: 20px; }
.model-metrics { grid-column: 1 / -1; justify-self: end; display: grid; grid-template-columns: repeat(3, 1fr); width: calc(50% - 40px); margin-top: 15px; }
.model-metrics > div { padding: 0 24px; border-left: 1px solid rgba(255,255,255,.2); }
.model-metrics > div:first-child { padding-left: 0; border: 0; }
.model-metrics dt { color: #bfbcb6; font-size: 11px; }
.model-metrics dd { margin-top: 6px; font-size: 34px; font-weight: 900; line-height: 1.2; }
.model-metrics dd span { font-size: 13px; font-weight: 400; white-space: nowrap; }
.model-tabs { position: sticky; top: 70px; z-index: 15; border-block: 1px solid #4b4a47; background: rgba(51,51,51,.97); color: #eeeae3; }
.model-tabs > .wrap { display: flex; align-items: center; gap: 38px; min-height: 62px; }
.model-tabs a { display: inline-flex; align-items: center; gap: 10px; flex: none; padding-block: 19px; border-bottom: 2px solid transparent; font-size: 13px; font-weight: 500; line-height: 1.5; text-decoration: none; }
.model-tabs a:hover, .model-tabs a.is-active { color: var(--brand); border-color: var(--brand); }
.model-tabs a:last-child { margin-left: auto; }
.model-tabs a > span { color: #aaa69f; font-size: 10px; }
.model-overview { position: relative; padding-block: 100px; background: var(--model-light); }
.model-overview::before, .model-specifications::before { position: absolute; inset: 0; background: url("../image/loncin/dirt-texture-lite.webp") center / 768px repeat; opacity: .08; pointer-events: none; content: ""; }
.model-overview > .wrap, .model-specifications > .wrap { position: relative; }
.model-overview-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }
.model-overview-copy .eyebrow { margin-bottom: 28px; }
.model-overview-copy h2 { max-width: 12ch; margin-bottom: 30px; }
.model-overview-copy > p:not(.eyebrow) { max-width: 52ch; margin-top: 18px; color: var(--muted); font-size: 16px; }
.model-sku { display: inline-block; margin-top: 24px; color: #7b7770; font-size: 11px; }
.model-overview-photo { position: relative; overflow: hidden; }
.model-overview-photo img { width: 100%; height: 520px; object-fit: cover; }
.model-overview-photo figcaption { position: absolute; right: 20px; bottom: 20px; padding: 6px 10px; background: rgba(30,30,30,.7); color: #fff; font-size: 9px; letter-spacing: .1em; }
.model-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; margin-top: 75px; }
.model-feature-grid article { padding-top: 22px; border-top: 1px solid rgba(51,51,51,.24); }
.model-feature-number { color: var(--brand); font-size: 11px; }
.model-feature-grid h3 { margin-block: 15px 12px; font-size: 22px; font-weight: 900; letter-spacing: -.025em; }
.model-feature-grid p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.model-gallery { padding-block: 90px 100px; background: #333333; color: var(--model-light); }
.model-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 40px; }
.model-section-heading .eyebrow { margin-bottom: 24px; color: #aaa69e; }
.model-section-heading > p { max-width: 28ch; color: #bbb7af; font-size: 13px; }
.model-gallery-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.model-gallery-item { position: relative; grid-column: span 2; display: block; overflow: hidden; min-height: 250px; background: #242424; }
.model-gallery-item:first-child { grid-column: span 4; grid-row: span 2; }
.model-gallery-item img { width: 100%; height: 100%; aspect-ratio: 1.5; object-fit: cover; transition: transform .5s; }
.model-gallery-item:first-child img { aspect-ratio: auto; position: absolute; inset: 0; }
.model-gallery-item > span { position: absolute; right: 18px; bottom: 18px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: rgba(30,30,30,.7); color: white; }
.model-gallery-item:hover img { transform: scale(1.025); }
.model-gallery-item:nth-child(n+4) { grid-column: span 3; min-height: 220px; }
.model-gallery-item:nth-child(even):last-child { grid-column: 1 / -1; }
.model-gallery-item:only-child { grid-column: 1 / -1; grid-row: auto; min-height: 450px; }
.model-specifications { position: relative; padding-block: 100px; background: var(--model-light); }
.model-spec-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 100px; }
.model-spec-intro { position: sticky; top: 170px; }
.model-spec-intro .eyebrow { margin-bottom: 28px; }
.model-spec-intro h2 { font-size: clamp(36px, 3.2vw, 48px); }
.model-spec-intro > p:not(.eyebrow) { margin-top: 25px; color: #777168; font-size: 14px; }
.model-spec-groups details { border-top: 1px solid rgba(51,51,51,.25); }
.model-spec-groups details:last-child { border-bottom: 1px solid rgba(51,51,51,.25); }
.model-spec-groups summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 24px; cursor: pointer; list-style: none; font-size: 23px; font-weight: 900; letter-spacing: -.025em; }
.model-spec-groups summary::-webkit-details-marker { display: none; }
.model-spec-toggle { color: var(--brand); font-size: 27px; font-weight: 400; transition: transform .2s; }
.model-spec-groups details[open] .model-spec-toggle { transform: rotate(45deg); }
.model-spec-groups dl { padding-bottom: 25px; }
.model-spec-groups dl > div { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding-block: 14px; border-top: 1px solid rgba(51,51,51,.1); font-size: 13px; line-height: 1.6; }
.model-spec-groups dt { color: #777168; }
.model-spec-groups dd { font-weight: 500; }
.model-offer { padding-block: 95px; background: #333333; color: var(--model-light); }
.model-offer-layout { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 110px; }
.model-offer .eyebrow { margin-bottom: 28px; color: #b1ada5; }
.model-offer h2 { max-width: 15ch; }
.model-offer p:not(.eyebrow) { max-width: 43ch; margin-top: 24px; color: #bbb7af; font-size: 15px; }
.model-phone { display: inline-block; margin-top: 30px; font-size: 26px; font-weight: 900; text-decoration: none; }
.model-offer-card { padding: 34px; border: 1px solid #55524c; background: #2c2c2c; }
.model-offer-card .model-stock { margin-top: 0; }
.model-offer-card h3 { margin-top: 20px; font-size: 34px; font-weight: 900; letter-spacing: -.035em; line-height: 1.1; }
.model-offer-card .model-offer-variant { margin-top: 12px; font-size: 12px; }
.model-offer-card .btn { width: 100%; }
.model-test-drive { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; font-size: 13px; text-underline-offset: 4px; }
.model-test-drive:hover { color: var(--brand); }
.model-not-found { padding-block: calc(var(--header-height) + 90px) 100px; color: var(--model-light); }
.model-not-found .eyebrow { color: #b1ada5; }
.model-not-found h1 { margin-block: 30px; font-size: clamp(50px, 6vw, 90px); font-weight: 900; line-height: 1; letter-spacing: -.045em; }
.model-not-found h1 span { color: var(--brand); }
.model-not-found p:not(.eyebrow) { max-width: 45ch; margin-bottom: 30px; color: #c1bbb2; }
.model-lightbox { --ink: white; position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 20px 28px; border: 0; background: #202020; color: #eeeae3; }
.model-lightbox::backdrop { background: rgba(0,0,0,.9); }
.model-lightbox[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.model-lightbox-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 13px; }
.model-lightbox .icon-btn { flex: none; width: 48px; height: 48px; border: 1px solid #57534c; border-radius: 50%; }
.model-lightbox-stage { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; align-items: center; gap: 25px; min-height: 0; padding-block: 18px; }
.model-lightbox-stage > img { width: 100%; height: 100%; max-height: calc(100dvh - 170px); object-fit: contain; }
.model-gallery-count { padding-block: 12px; color: #aaa69f; text-align: center; font-size: 12px; }
@media (max-width: 1100px) {
  .model-hero-inner { column-gap: 35px; min-height: 740px; }
  .model-hero { min-height: 740px; }
  .model-hero h1 { font-size: 70px; }
  .model-metrics { width: 55%; }
  .model-tabs { top: 64px; }
  .model-tabs > .wrap { gap: 24px; }
  .model-overview-layout, .model-spec-layout { gap: 55px; }
  .model-feature-grid { gap: 24px; }
  .model-offer-layout { gap: 65px; }
}
@media (max-width: 900px) {
  .model-hero-inner { grid-template-columns: 1fr; min-height: 860px; padding-bottom: 35px; }
  .model-hero-copy { grid-column: 1; align-self: end; max-width: 560px; margin-top: 260px; }
  .model-hero::before { background: linear-gradient(0deg, #333333, rgba(30,30,30,.85) 30%, rgba(30,30,30,.05) 85%); }
  .model-hero-photo { height: 680px; object-position: 30% top; }
  .model-metrics { width: min(560px, 100%); justify-self: start; }
  .model-overview-layout, .model-spec-layout { grid-template-columns: 1fr; gap: 40px; }
  .model-overview-copy h2 { max-width: 18ch; }
  .model-overview-photo img { height: 460px; }
  .model-feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 30px; margin-top: 50px; }
  .model-gallery-grid { grid-template-columns: 1fr 1fr; }
  .model-gallery-item, .model-gallery-item:nth-child(n+4) { grid-column: auto; }
  .model-gallery-item:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 380px; }
  .model-gallery-item:nth-child(n+4) { min-height: 250px; }
  .model-spec-intro { position: static; }
  .model-offer-layout { grid-template-columns: 1fr 1fr; gap: 40px; }
  .model-offer-card { padding: 26px; }
}
@media (max-width: 640px) {
  .model-page section[id] { scroll-margin-top: 125px; }
  .model-hero, .model-hero-inner { min-height: 0; }
  .model-hero-inner { gap: 24px; padding-block: calc(var(--header-height) + 22px) 30px; }
  .model-back { font-size: 11px; }
  .model-hero-copy { margin-top: 170px; }
  .model-hero-photo { height: 580px; object-position: 29% center; }
  .model-hero::before { background: linear-gradient(0deg, #333333 6%, rgba(30,30,30,.95) 31%, rgba(30,30,30,.1) 85%); }
  .model-hero h1 { margin-block: 20px 14px; font-size: clamp(44px, 12.5vw, 70px); }
  .model-hero .eyebrow { font-size: 9px; }
  .model-variant { font-size: 12px; }
  .model-price { margin-block: 18px 22px; }
  .model-price strong { font-size: 32px; }
  .model-actions { gap: 10px; }
  .model-actions .btn { flex: 1 1 100%; min-height: 50px; font-size: 13px; }
  .model-metrics { margin-top: 12px; }
  .model-metrics > div { padding-inline: 14px; }
  .model-metrics dt { font-size: 9px; }
  .model-metrics dd { font-size: 28px; }
  .model-metrics dd span { display: block; margin-top: 3px; font-size: 11px; }
  .model-tabs { top: 60px; }
  .model-tabs > .wrap { width: 100%; overflow-x: auto; gap: 25px; min-height: 50px; padding-inline: 20px; scrollbar-width: none; }
  .model-tabs > .wrap::-webkit-scrollbar { display: none; }
  .model-tabs a { padding-block: 14px; font-size: 11px; }
  .model-tabs a:last-child { margin: 0; }
  .model-overview, .model-gallery, .model-specifications, .model-offer { padding-block: 60px; }
  .model-page h2 { font-size: 39px; }
  .model-overview-copy > p:not(.eyebrow) { font-size: 14px; }
  .model-overview-photo img { height: 360px; }
  .model-feature-grid { gap: 25px; }
  .model-feature-grid h3 { font-size: 20px; }
  .model-feature-grid p { font-size: 12px; }
  .model-section-heading { flex-direction: column; align-items: start; gap: 20px; margin-bottom: 28px; }
  .model-gallery-grid { gap: 10px; }
  .model-gallery-item, .model-gallery-item:nth-child(n+4) { min-height: 160px; }
  .model-gallery-item:first-child { min-height: 250px; }
  .model-gallery-item img { aspect-ratio: 1; }
  .model-gallery-item > span { right: 10px; bottom: 10px; width: 32px; height: 32px; }
  .model-spec-intro h2 { font-size: clamp(30px,8vw,40px); }
  .model-spec-groups summary { padding-block: 20px; font-size: 22px; }
  .model-spec-groups dl > div { gap: 16px; font-size: 12px; }
  .model-offer-layout { grid-template-columns: 1fr; gap: 35px; }
  .model-offer-card h3 { font-size: 30px; }
  .model-offer .model-price strong { font-size: 34px; }
  .model-lightbox { padding: 12px; }
  .model-lightbox-bar { font-size: 11px; }
  .model-lightbox-stage { position: relative; grid-template-columns: 1fr; padding-block: 15px 65px; }
  .model-lightbox-stage > img { max-height: calc(100dvh - 200px); }
  .model-gallery-prev, .model-gallery-next { position: absolute; bottom: 4px; }
  .model-gallery-prev { left: calc(50% - 60px); }
  .model-gallery-next { right: calc(50% - 60px); }
}
@media (prefers-reduced-motion: reduce) {
  .model-gallery-item img, .model-spec-toggle { transition: none; }
}
