.brand-logo { width: 132px; height: 44px; object-fit: contain; }
.application-art { height: auto; aspect-ratio: 3 / 2; }
.application-art img { width: 100%; height: 100%; object-fit: cover; }
.inquiry-trap { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.collection-visual { background: #edf1e5; overflow: hidden; }
.collection-visual::before, .collection-visual::after { display: none; }
.hero-visual.collection-visual > img { top: 70px; left: 0; width: 100%; height: calc(100% - 170px); object-fit: contain; }
html[lang=en] .hero h1 { font-size: clamp(44px, 4.6vw, 64px); letter-spacing: -2.8px; }
.company-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 12px 0 62px; padding: 28px 0; }
.company-stats > div { padding: 0 24px; border-inline-end: 1px solid var(--line); }
.company-stats > div:first-child { padding-inline-start: 0; }
.company-stats > div:last-child { border: 0; }
.company-stats strong { display: block; font-size: clamp(24px, 2.8vw, 37px); line-height: 1.3; font-weight: 500; letter-spacing: -1px; }
.company-stats span { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }
.model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.model-card { min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.model-image { display: block; padding: 13px; background: #fff; }
.model-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.model-card-body { padding: 8px 20px 22px; }
.model-family { font-size: 10px; text-transform: uppercase; letter-spacing: .7px; color: var(--green); }
.model-card h3 { font-size: 16px; line-height: 1.45; margin: 9px 0 13px; overflow-wrap: anywhere; }
.model-colours { display: flex; flex-wrap: wrap; gap: 13px; font-size: 11px; color: var(--muted); margin-bottom: 19px; }
.model-colours span { display: flex; align-items: center; gap: 5px; }
.model-colours i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; }
.ink-black { background: #183729; }
.ink-colour { background: conic-gradient(#00a6d8 0 33%, #ec008c 33% 66%, #f6d826 66%); }
.model-card .text-link { font-size: 12px; }
.catalogue-note { font-size: 11px; color: var(--muted); margin: 18px 0 30px; }
.catalogue-family h2 { font-size: 27px; font-weight: 500; margin: 0 0 23px; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.benefit-grid article { border-top: 2px solid var(--green); padding: 22px 0 0; }
.benefit-number { color: var(--green); font-size: 11px; letter-spacing: 1px; }
.benefit-grid h3 { font-size: 22px; line-height: 1.35; font-weight: 500; margin: 15px 0 10px; }
.benefit-grid p { color: var(--muted); font-size: 14px; margin: 0; }
.product-back { display: inline-block; margin-top: 37px; font-size: 13px; }
.product-back + .page-intro { padding-top: 24px; }
.model-detail .product-art { background: #fff; padding: 28px 28px 62px; }
.model-detail .product-art img { width: 100%; height: auto; object-fit: contain; }
.model-detail .illustration-caption { bottom: 17px; max-width: calc(100% - 44px); font-size: 10px; line-height: 1.5; }
.model-detail .product-info h2 { font-size: 32px; line-height: 1.3; font-weight: 500; }
.model-detail .product-info p { font-size: 13px; }
.model-detail .detail-list dd { max-width: 70%; }
.compatibility-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.compatibility-card { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 25px; }
.compatibility-card h3 { margin: 0 0 22px; color: var(--green); font-size: 23px; font-weight: 500; }
.compatibility-card dl { margin: 0; }
.compatibility-card dl > div + div { margin-top: 20px; }
.compatibility-card dt { font-weight: 600; margin-bottom: 6px; }
.compatibility-card dd { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.compatibility-card:only-child { grid-column: 1 / -1; }
.company-story { display: grid; grid-template-columns: 1.1fr 1fr; gap: 54px; margin-bottom: 55px; align-items: center; }
.company-story h2 { font-size: 35px; line-height: 1.3; font-weight: 500; margin: 0 0 22px; }
.company-story p { color: var(--muted); font-size: 14px; }
.company-story figure { margin: 0; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.company-story figure img { width: 100%; height: auto; }
.company-story figcaption { padding: 14px 20px; color: var(--muted); font-size: 11px; }
html[dir=rtl] .company-stats strong { letter-spacing: 0; }
@media (max-width: 1050px) {
  .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-story { gap: 30px; }
  .company-stats > div { padding: 0 16px; }
}
@media (max-width: 760px) {
  .brand-logo { width: 110px; height: 37px; }
  html[lang=en] .hero h1 { font-size: 43px; letter-spacing: -1.8px; }
  .hero-visual.collection-visual { min-height: 340px; }
  .hero-visual.collection-visual > img { top: 51px; height: 226px; }
  .company-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 25px; margin-bottom: 43px; padding: 24px 0; }
  .company-stats > div { padding: 0 14px; }
  .company-stats > div:nth-child(odd) { padding-inline-start: 0; }
  .company-stats > div:nth-child(even) { border: 0; }
  .company-stats strong { font-size: 29px; }
  .model-grid { gap: 13px; }
  .model-image { padding: 7px; }
  .model-card-body { padding: 4px 12px 17px; }
  .model-card h3 { font-size: 14px; }
  .model-colours { gap: 8px; font-size: 10px; margin-bottom: 15px; }
  .model-family { font-size: 9px; }
  .benefit-grid, .company-story { grid-template-columns: 1fr; gap: 28px; }
  .compatibility-grid { grid-template-columns: 1fr; gap: 16px; }
  .compatibility-card { padding: 22px; }
  .benefit-grid h3 { font-size: 23px; }
  .company-story { margin-bottom: 36px; }
  .company-story h2 { font-size: 31px; }
  .model-detail .product-art { padding: 20px 20px 59px; }
  .model-detail .product-info h2 { font-size: 28px; }
  .model-detail .detail-list dd { max-width: 65%; }
}
@media (max-width: 380px) {
  .model-grid { grid-template-columns: 1fr; }
  html[lang=en] .hero h1 { font-size: 37px; }
  html[lang=es] .hero h1 { font-size: 37px; }
  html[lang=es] .page-intro h1, html[lang=fr] .page-intro h1 { font-size: 34px; overflow-wrap: anywhere; }
  .company-stats strong { font-size: 25px; }
}
