/* ── v45 Layouts & Specs ── */
.schem-hero__stats { gap: 1.5rem 2.25rem; }
.ls-jump { position: sticky; top: var(--nav-h); z-index: 50; background: var(--g800); border-bottom: 1px solid rgba(255,255,255,.08); }
.ls-jump__inner { display: flex; gap: .5rem; overflow-x: auto; padding-top: .6rem; padding-bottom: .6rem; scrollbar-width: none; }
.ls-jump__inner::-webkit-scrollbar { display: none; }
.ls-jump__link { flex-shrink: 0; display: inline-flex; align-items: baseline; gap: .45rem; padding: .5rem 1.05rem; border-radius: var(--r-full); border: 1px solid rgba(255,255,255,.18); color: var(--white); text-decoration: none; font-size: .875rem; font-weight: 600; transition: background var(--ease), border-color var(--ease); }
.ls-jump__link span { font-weight: 400; font-size: .75rem; color: rgba(255,255,255,.5); }
.ls-jump__link:hover, .ls-jump__link:focus-visible { background: var(--g600); border-color: var(--g600); outline: none; }
.ls { padding-top: 3.5rem; }
.ls-model { scroll-margin-top: calc(var(--nav-h) + 70px); margin-bottom: 4.5rem; }
.ls-model__head { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 2rem; align-items: center; margin-bottom: 2rem; }
.ls-model__photo { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 16/9; background: var(--g800); }
.ls-model__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ls-model__intro h2 { font-family: var(--fd); font-size: clamp(2rem,4vw,2.75rem); font-weight: 600; line-height: 1.1; margin-bottom: .5rem; }
.ls-model__dims { color: var(--g300); font-weight: 500; font-size: .95rem; margin-bottom: .9rem; }
.ls-model__intro p:not(.ls-model__dims) { color: rgba(255,255,255,.68); line-height: 1.7; max-width: 46ch; }
.ls-link { display: inline-block; margin-top: 1rem; color: var(--g300); font-weight: 600; font-size: .9rem; text-underline-offset: 3px; }
.ls-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.25rem; }
.ls-card { margin: 0; display: flex; flex-direction: column; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); border-radius: var(--r-lg); overflow: hidden; }
.ls-card__plan { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #F3F2EF; cursor: zoom-in; }
.ls-card__plan img { display: block; width: 100%; height: auto; }
.ls-card__plan:focus-visible { outline: 3px solid var(--g300); outline-offset: -3px; }
.ls-card__zoom { position: absolute; right: .6rem; bottom: .6rem; background: rgba(7,24,16,.82); color: var(--white); font-size: .7rem; font-weight: 500; padding: .3rem .6rem; border-radius: var(--r-full); }
.ls-card__plan--empty { cursor: default; aspect-ratio: 16/9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; background: rgba(255,255,255,.03); color: rgba(255,255,255,.35); }
.ls-card__plan--empty svg { width: 60%; max-width: 220px; }
.ls-card__plan--empty span { font-size: .8rem; }
.ls-card__body { padding: 1.25rem 1.35rem 1.4rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.ls-card__body h3 { font-family: var(--fd); font-size: 1.4rem; font-weight: 600; }
.ls-card__body p { color: rgba(255,255,255,.66); font-size: .925rem; line-height: 1.65; flex: 1; }
.ls-tag { align-self: flex-start; font-size: .7rem; font-weight: 600; padding: .2rem .6rem; border-radius: var(--r-full); }
.ls-tag--wf { background: #E9B44C; color: #241A05; }
.ls-tag--res { background: var(--g100); color: var(--g700); }
.ls-card__actions { display: flex; align-items: center; gap: .75rem; margin-top: .6rem; }
.ls-card__actions .btn { flex: 1; justify-content: center; }
.ls-pdf { flex-shrink: 0; color: rgba(255,255,255,.75); font-size: .8rem; font-weight: 600; text-decoration: none; border: 1px solid rgba(255,255,255,.22); border-radius: var(--r-md); padding: .55rem .8rem; }
.ls-pdf:hover, .ls-pdf:focus-visible { color: var(--white); border-color: var(--white); }
.ls-specs { scroll-margin-top: calc(var(--nav-h) + 70px); border-top: 1px solid rgba(255,255,255,.1); padding-top: 3.5rem; margin-bottom: 3.5rem; }
.ls-specs h2 { font-family: var(--fd); font-size: clamp(1.75rem,3.5vw,2.4rem); font-weight: 600; margin-bottom: .5rem; }
.ls-specs__lead { color: rgba(255,255,255,.62); margin-bottom: 2rem; max-width: 60ch; }
.ls-specs__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-lg); overflow: hidden; }
.ls-specs__grid > div { background: var(--g900); padding: 1.1rem 1.2rem; }
.ls-specs__grid dt { font-size: .75rem; color: var(--g300); font-weight: 600; margin-bottom: .3rem; }
.ls-specs__grid dd { font-size: .925rem; color: var(--white); line-height: 1.45; }
.ls-more { margin-top: 1.25rem; }
.ls-more summary { cursor: pointer; display: inline-flex; align-items: center; gap: .5rem; color: var(--white); font-weight: 600; font-size: .925rem; padding: .7rem 1.1rem; border: 1px solid rgba(255,255,255,.22); border-radius: var(--r-full); list-style: none; }
.ls-more summary::-webkit-details-marker { display: none; }
.ls-more summary::after { content: "+"; font-size: 1.1rem; line-height: 1; color: var(--g300); }
.ls-more[open] summary::after { content: "–"; }
.ls-more summary:focus-visible { outline: 3px solid var(--g300); outline-offset: 2px; }
.ls-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem 2rem; margin-top: 1.75rem; }
.ls-more__group h3 { font-size: .8rem; font-weight: 600; color: var(--g300); margin-bottom: .5rem; }
.ls-row { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-bottom: 1px solid rgba(255,255,255,.06); font-size: .84rem; }
.ls-row span { color: rgba(255,255,255,.55); }
.ls-row strong { color: var(--white); font-weight: 500; text-align: right; }
.ls-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; flex-wrap: wrap; background: var(--g700); border-radius: var(--r-lg); padding: 2rem 2.25rem; }
.ls-cta h2 { font-family: var(--fd); font-size: 1.75rem; font-weight: 600; margin-bottom: .4rem; }
.ls-cta p { color: rgba(255,255,255,.72); max-width: 52ch; }
.ls-cta__btns { display: flex; gap: .75rem; flex-wrap: wrap; }
.ls-lb { position: fixed; inset: 0; z-index: 9999; background: rgba(5,15,9,.94); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.ls-lb[hidden] { display: none; }
.ls-lb img { max-width: 100%; max-height: 92vh; object-fit: contain; border-radius: 6px; background: #F3F2EF; }
.ls-lb__close { position: absolute; top: calc(env(safe-area-inset-top, 0px) + 1rem); right: 1rem; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.16); color: #fff; font-size: 1.3rem; cursor: pointer; }
@media (max-width: 900px) {
    .ls-model__head { grid-template-columns: 1fr; gap: 1.25rem; }
    .ls-specs__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .ls-more__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .ls-grid { grid-template-columns: 1fr; }
    .ls-more__grid { grid-template-columns: 1fr; }
    .ls-card__actions .btn { width: auto; }
    .ls-cta { padding: 1.5rem 1.25rem; }
    .ls-model { margin-bottom: 3.5rem; }
    .schem-hero__stat-val { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* ── v46 model hub, layout cards, design CTA ── */
.lsx-sec { padding: 3.5rem 0 4rem; }
.lsx-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.lsx-head h2 { font-family: var(--fd); font-size: clamp(1.9rem,3.6vw,2.6rem); font-weight: 600; color: var(--white); line-height: 1.1; }
.lsx-head p { color: rgba(255,255,255,.62); max-width: 52ch; margin-top: .5rem; }
.lsx-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0,1fr)); }
.lsx-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.lsx-dims { display: flex; flex-wrap: wrap; gap: .4rem; margin: .15rem 0 .2rem; }
.lsx-dims span { font-size: .75rem; font-weight: 600; color: var(--white); background: rgba(255,255,255,.08); border-radius: var(--r-full); padding: .22rem .6rem; }
/* hub model cards */
.lsx-models { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.lsx-model { display: flex; flex-direction: column; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-lg); overflow: hidden; color: var(--white); text-decoration: none; transition: transform var(--ease), border-color var(--ease), background var(--ease); }
.lsx-model:hover, .lsx-model:focus-visible { transform: translateY(-3px); border-color: var(--g300); background: rgba(255,255,255,.07); outline: none; }
.lsx-model__img { aspect-ratio: 16/10; overflow: hidden; background: var(--g800); position: relative; }
.lsx-model__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.lsx-model:hover .lsx-model__img img { transform: scale(1.04); }
.lsx-model__badge { position: absolute; top: .75rem; left: .75rem; background: #E9B44C; color: #241A05; font-size: .7rem; font-weight: 700; padding: .25rem .65rem; border-radius: var(--r-full); }
.lsx-model__body { padding: 1.25rem 1.35rem 1.4rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.lsx-model__body h3 { font-family: var(--fd); font-size: 1.6rem; font-weight: 600; }
.lsx-model__body p { color: rgba(255,255,255,.66); font-size: .925rem; line-height: 1.6; flex: 1; }
.lsx-model__go { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; color: var(--g300); font-size: .925rem; margin-top: .35rem; }
.lsx-model__go svg { width: 16px; height: 16px; transition: transform var(--ease); }
.lsx-model:hover .lsx-model__go svg { transform: translateX(4px); }
/* design-your-own CTA */
.lsx-design { position: relative; overflow: hidden; margin-top: 2.25rem; border-radius: var(--r-lg); padding: 2.25rem 2.5rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1.5rem 2.5rem;
  background: radial-gradient(120% 140% at 100% 0%, #2D5C38 0%, #1A3A22 45%, #0E2818 100%); border: 1px solid rgba(126,196,140,.35); }
.lsx-design::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px); background-size: 28px 28px;
  -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 100%); mask-image: linear-gradient(90deg, transparent 30%, #000 100%); }
.lsx-design > * { position: relative; }
.lsx-design__kicker { font-size: .78rem; font-weight: 700; color: #E9B44C; margin-bottom: .45rem; }
.lsx-design h2 { font-family: var(--fd); font-size: clamp(1.7rem,3.4vw,2.4rem); font-weight: 600; line-height: 1.12; color: var(--white); }
.lsx-design h2 em { font-style: italic; color: var(--g300); }
.lsx-design p { color: rgba(255,255,255,.75); margin-top: .6rem; max-width: 54ch; }
.lsx-design__btn { display: inline-flex; align-items: center; gap: .6rem; background: #E9B44C; color: #1b1405; font-weight: 700; font-size: 1rem; padding: 1rem 1.6rem; border-radius: var(--r-full); text-decoration: none; white-space: nowrap; box-shadow: 0 10px 30px -10px rgba(233,180,76,.6); transition: transform var(--ease), box-shadow var(--ease); }
.lsx-design__btn svg { width: 18px; height: 18px; transition: transform var(--ease); }
.lsx-design__btn:hover, .lsx-design__btn:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 34px -10px rgba(233,180,76,.75); outline: none; }
.lsx-design__btn:hover svg { transform: translateX(4px); }
.lsx-hub-hero { padding: calc(var(--nav-h) + 2.5rem) 0 1rem; background: var(--g900); }
.lsx-hub-hero h1 { font-family: var(--fd); font-size: clamp(2.3rem,5vw,3.4rem); font-weight: 600; color: var(--white); line-height: 1.08; }
.lsx-hub-hero h1 em { color: var(--g300); font-style: italic; }
.lsx-hub-hero p { color: rgba(255,255,255,.65); max-width: 60ch; margin-top: .75rem; font-size: 1.05rem; }
.lsx-crumb { display: flex; align-items: center; gap: .5rem; font-size: .85rem; margin-bottom: 1rem; color: rgba(255,255,255,.5); }
.lsx-crumb a { color: rgba(255,255,255,.55); text-decoration: none; }
.lsx-crumb span { color: var(--g300); }
@media (max-width: 1000px) { .lsx-models, .lsx-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 680px) {
  .lsx-models, .lsx-grid, .lsx-grid--3 { grid-template-columns: 1fr; }
  .lsx-design { grid-template-columns: 1fr; padding: 1.6rem 1.35rem; }
  .lsx-design__btn { justify-content: center; }
}
