@font-face { font-family: Manrope; src: url("assets/fonts/Manrope-Variable.ttf") format("truetype"); font-style: normal; font-weight: 200 800; font-display: swap; }
* { box-sizing: border-box; }
body { margin: 0; background: #202122; font-family: Manrope, Arial, sans-serif; color: #f7f8f7; }
button, input, textarea { font: inherit; }
/* Contain keeps the approved composition intact at its original proportions. */
.hero { position: relative; width: 100%; height: min(56.279905vw, 100dvh); isolation: isolate; }
.hero__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.hero__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgb(12 16 16 / 66%) 0%, rgb(12 16 16 / 44%) 30%, transparent 51%); }
.hero__copy { position: absolute; left: 5%; top: 22%; width: 44%; }
h1 { margin: 0; font-size: clamp(52px, 4.30556vw, 80px); font-weight: 600; line-height: 1.08; letter-spacing: -0.035em; }
h1 > span { display: block; white-space: nowrap; }
.heading-brand { display: inline; }
@media (max-width: 1599px) { .heading-brand { display: block; } }
.hero__description { margin: clamp(24px, 2.22vw, 40px) 0 0; font-size: clamp(19px, 1.38889vw, 25px); font-weight: 400; line-height: 1.5; color: #d5d8d6; }
.hero__actions { display: flex; gap: 14px; margin-top: clamp(28px, 2.78vw, 48px); }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 15px 28px; border: 1px solid transparent; border-radius: 6px; font-size: 16px; line-height: 24px; font-weight: 600; cursor: pointer; }
.button--primary { background: #087447; color: #fff; }
.button--primary:hover { background: #095f3d; }
.button--secondary { border-color: #9ba19e; color: #f5f7f5; background: rgb(20 25 23 / 25%); }
.button--secondary:hover { background: rgb(255 255 255 / 10%); border-color: #eef2ef; }
.button:focus-visible { outline: 3px solid #e0f8b3; outline-offset: 4px; }
.modal { width: min(540px, calc(100% - 48px)); max-height: calc(var(--kelet-visible-height, 100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; top: var(--kelet-visible-top, 0px); padding: 32px; border: 1px solid #cbd1c9; border-radius: 12px; background: #f6f7f3; color: #202b25; }
.modal::backdrop { background: rgb(0 0 0 / 65%); }
.modal h2 { margin: 0; padding-right: 24px; font-size: 27px; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; }
.modal p { line-height: 1.5; font-size: 14px; color: #59645c; }
.modal__close { position: absolute; right: 12px; top: 10px; width: 44px; height: 44px; border: 0; border-radius: 4px; background: transparent; color: #34443b; font-size: 28px; cursor: pointer; }
.modal__close:hover { background: #e1e7df; }
.modal :focus-visible { outline: 2px solid #087447; outline-offset: 3px; }
.demo-note { margin: 14px 0 22px; }
#quote-form { display: grid; gap: 15px; }
#quote-form label { display: block; font-size: 14px; font-weight: 600; }
#quote-form label span { font-weight: 400; color: #68736b; }
input, textarea { display: block; margin-top: 6px; width: 100%; min-width: 0; border: 1px solid #a9b4ac; border-radius: 5px; background: #fff; color: #202b25; padding: 10px 12px; font-size: 16px; }
textarea { resize: vertical; min-height: 68px; }
input[type="file"] { font-size: 13px; padding: 8px; }
input::file-selector-button { border: 0; border-radius: 3px; background: #e6ece5; color: #254535; padding: 7px 10px; margin-right: 10px; cursor: pointer; }
.form-status { margin: 0; }

/* Compact desktop selection panel stays in the free area left of the pylon. */
.hero__copy { top: 10%; }
.hero__description { margin-top: 20px; }
.hero__actions { margin-top: 22px; }
.selector { position: absolute; left: 5%; bottom: 3%; width: 44%; padding: 16px 18px; border: 1px solid #65716a; border-radius: 8px; background: rgb(19 26 23 / 88%); }
.selector__filters { display: flex; gap: 6px; flex-wrap: wrap; }
.selector button { color: #eef3ef; background: transparent; border: 1px solid #78867d; border-radius: 4px; cursor: pointer; font: 500 13px Manrope, sans-serif; padding: 7px 10px; }
.selector button[aria-pressed="true"] { background: #087447; border-color: #21916a; }
.selector button:hover:not(:disabled) { border-color: #c0e6ce; }
.selector button:disabled { opacity: .35; cursor: default; }
.selector :focus-visible { outline: 2px solid #e0f8b3; outline-offset: 3px; }
.selector__summary { display: flex; align-items: baseline; gap: 16px; margin: 12px 0 6px; }
.selector__summary strong { font-size: 26px; font-weight: 600; }
.selector__summary span { font-size: 14px; color: #cbd5ce; }
.selector__control { display: flex; align-items: flex-start; gap: 15px; }
.selector__control > button { width: 34px; height: 34px; font-size: 20px; padding: 0; }
.selector__track { flex: 1; min-width: 0; padding-top: 2px; }
#power-slider { display: block; width: 100%; margin: 0; padding: 0; height: 28px; accent-color: #21a76f; cursor: pointer; }
#power-slider:disabled { cursor: default; opacity: .4; }
#power-ticks { position: relative; height: 20px; margin: 0 8px; font-size: 11px; color: #ccd5cf; }
#power-ticks span { position: absolute; transform: translateX(-50%); }
#variants { margin-top: 7px; font-size: 12px; }
#variants button { margin-left: 7px; padding: 3px 12px; }
#model-detail { margin: 8px 0 0; min-height: 32px; font-size: 12px; line-height: 1.4; color: #dae3dd; }
@media (min-width: 1600px) { .selector { bottom: 9%; } }
.quote-equipment { display: grid; gap: 5px; padding: 14px 16px; border-radius: 7px; background: #e8f0e7; color: #224532; }
.quote-equipment > span { font-size: 13px; line-height: 1.4; }
.quote-equipment > strong { font-size: 18px; font-weight: 600; line-height: 1.3; }
.quote-equipment [hidden], input[type="hidden"] { display: none; }
/* The flat approved image remains untouched until a complete layer set exists. */
.scene-media { position: absolute; inset: 0; }
.scene-media { overflow: hidden; }
.scene-media:not(.has-layers) .scene-background,.scene-media:not(.has-layers) .equipment-layer { visibility: hidden; }
.equipment-layer img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.scene-background,.equipment-layer { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.scene-media.has-layers .hero__image { visibility: hidden; }
.equipment-layer { transition: transform 560ms cubic-bezier(.22,.61,.36,1), opacity 560ms ease; transform-origin: 79.306% 80.446%; }
:is(.equipment-layer--comfort,.equipment-layer--stand) { transform-origin: 56.3995% 72.051%; }
.hero[data-scene="optima"] .equipment-layer,.hero[data-scene="mini"] .equipment-layer { opacity:0; }
.hero[data-scene="comfort"] :is(.equipment-layer--comfort,.equipment-layer--stand) { transform: translateX(8%) scale(1.08); }
.hero[data-scene="comfort"] .equipment-layer--industrial { transform: translateX(10%); opacity: 0; }
.hero[data-scene="industrial"] :is(.equipment-layer--comfort,.equipment-layer--stand) { transform: translateX(-3%); opacity: 0; }
.hero[data-scene="industrial"] .equipment-layer--industrial { transform: scale(1.04); }
.scene-info { position: absolute; left: 53%; right: 5%; bottom: 2%; min-height: 100px; padding: 12px 16px; border-radius: 7px; background: rgb(18 27 22 / 92%); opacity: 0; transition: opacity 160ms ease; pointer-events: none; }
.scene-info.is-visible { opacity: 1; }
.scene-info:empty { visibility: hidden; }
.scene-info h2 { margin: 0 0 6px; font-size: 19px; line-height: 1.25; font-weight: 600; }
.scene-info p,.scene-info li { margin: 3px 0; font-size: 14px; line-height: 1.35; color: #dce6df; }
.scene-info ul { margin: 6px 0 0; padding-left: 18px; }
#quote-trigger { min-width: 238px; }
.hero__actions .button { padding-inline: 20px; }
@media (max-width: 599px) {
  .modal { width: calc(100% - 24px); padding: 24px 18px; }
  .modal h2 { font-size: 24px; }
  .modal__close { width: 44px; height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .equipment-layer,.scene-info { transition: none !important; }
}

/* One stable annotation zone per active family; overview composition is unchanged. */
@container kelet (min-width:1200px) {
  .hero[data-scene="industrial"][data-has-model="true"] .equipment-layer--industrial {
    transform: translateX(6.8%) scale(.9);
  }
}
.scene-info.product-card {
  left: auto; right: 3%; top: 21%; bottom: auto;
  width: clamp(300px, 21vw, 340px); height: 382px; min-height: 0;
  padding: 23px 24px 20px; border: 1px solid rgb(255 255 255 / 55%);
  border-radius: 10px; background: rgb(247 248 243 / 96%); color: #25372f;
  box-shadow: 0 12px 36px rgb(0 0 0 / 12%);
  display: flex; flex-direction: column; gap: 0;
  opacity: 0; visibility: hidden; transform: translateY(6px);
  pointer-events: none; z-index: 3;
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
}
.hero[data-scene="industrial"] .product-card { left: 49%; right: auto; }
.scene-info.product-card.is-visible { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.product-card__header { min-height: 65px; }
.scene-info .product-card__title { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 650; letter-spacing: -.025em; }
.scene-info .product-card__designation { margin: 5px 0 0; color: #627068; font-size: 13px; }
.product-card__price-block { margin: 7px 0 19px; }
.scene-info .product-card__price { margin: 0; color: #1c392a; font-size: clamp(28px, 2.2vw, 36px); font-weight: 700; line-height: 1.15; letter-spacing: -.035em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.scene-info .product-card__tax { margin: 6px 0 0; color: #738077; font-size: 11px; line-height: 1.4; }
.product-card__specs { display: grid; grid-template-columns: .95fr 1.25fr; gap: 18px 14px; margin: 0; }
.product-card__spec { min-width: 0; }
.product-card__spec dt { font-size: 9px; font-weight: 650; letter-spacing: .085em; text-transform: uppercase; color: #748077; }
.product-card__spec dd { margin: 6px 0 0; font-size: 14px; line-height: 1.5; font-weight: 600; }
.product-card__spec:last-child dd[title="Д × Ш × В"] { font-size: 12px; }
.product-card__cta { margin-top: auto; padding: 15px 0 0; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 0; border-top: 1px solid #d7dfd6; background: transparent; color: #12633e; text-align: left; font-size: 13px; font-weight: 700; cursor: pointer; min-height: 44px; }
.product-card__cta:hover { color: #083e26; }
.product-card__cta:focus-visible { outline: 2px solid #087447; outline-offset: 5px; border-radius: 2px; }
.product-card__arrow { font-size: 20px; font-weight: 400; }
/* Keep control height fixed when the two alternative models appear. */
#variants { display: flex; align-items: center; min-height: 28px; }
#variants[hidden] { visibility: hidden; }
#model-detail { min-height: 0; margin: 0; }



@media (prefers-reduced-motion: reduce) {
  .scene-info.product-card { transition: none; transform: none; }
}

/* Approved Comfort 2 24–144 kW asset. Persistent layers crossfade without queues. */
.equipment-layer--stand { opacity: 0; }
.hero[data-visual="stand"] .equipment-layer--stand { opacity: 1; }
.hero[data-visual="stand"] .equipment-layer--comfort { opacity: 0; }

/* Selected-model framing: placement, camera approach and crossfade are independent. */
.equipment-zoom { position:absolute; inset:0; transform-origin:inherit; transition:transform 700ms cubic-bezier(.22,.61,.36,1); }
.hero .equipment-layer { transition:transform 700ms cubic-bezier(.22,.61,.36,1),opacity 500ms ease; }
.hero[data-scene][data-has-model="true"] .equipment-layer { transform:translate(var(--frame-x,0px),var(--frame-y,0px)); }
.hero[data-has-model="true"] .equipment-zoom { transform:scale(var(--frame-scale,1)); }
.scene-background { transform-origin:65% 55%; transition:transform 700ms cubic-bezier(.22,.61,.36,1); }
.hero[data-has-model="true"] .scene-background { transform:scale(1.04); }
.scene-info.product-card { transform:translateY(10px); transition:opacity 650ms ease,transform 700ms cubic-bezier(.22,.61,.36,1),left 700ms cubic-bezier(.22,.61,.36,1),top 700ms cubic-bezier(.22,.61,.36,1),visibility 650ms; }
.product-card__header { min-height:82px; }
@container kelet (min-width:1200px){
 .hero { min-height:56.279905vw; }
 .hero[data-scene] .scene-info.product-card { left:var(--card-x,75%);right:auto;top:var(--card-y,20%);width:clamp(280px,21vw,340px);height:400px; }
}

@media(prefers-reduced-motion:reduce){
 .hero .equipment-layer,.equipment-zoom,.scene-background,.hero .scene-info.product-card { transition:none!important; }
 .hero .scene-info.product-card { transform:none; }
}

/* Industrial-only card: remove unused vertical space, keep type and width intact. */
@container kelet (min-width:1200px){
 .hero[data-scene="industrial"] .scene-info.product-card { height:340px;min-height:0; }
 .hero[data-scene="industrial"] .product-card__header { min-height:65px; }
}

/* Feather the existing floor-reflection patch when moving the industrial layer. */
.hero[data-scene="industrial"][data-has-model="true"] .equipment-layer--industrial .equipment-shadow { mask-image:linear-gradient(to bottom,#000 81%,transparent 99%),linear-gradient(to right,transparent 60%,#000 66%,#000 91%,transparent 98%);mask-composite:intersect; }


/* One flow-based selection panel belongs to the offer, not the floor. */
@container kelet (min-width:1200px){
 .hero { height:auto;min-height:56.279905vw; }
 .hero__copy { position:relative;left:auto;top:auto;width:44%;margin-left:5%;padding:36px 0;display:flex;flex-direction:column; }
 .scene-media { bottom:auto;height:56.279905vw; }
}
.hero__copy .selector { position:static;width:100%;margin:26px 0 0;padding:18px 20px 12px;border:0;border-radius:8px;background:rgb(24 32 29 / 94%); }
.selector__title { margin:0;font-size:21px;line-height:1.3;font-weight:650;letter-spacing:-.025em; }
.selector__hint { margin:7px 0 14px;font-size:14px;line-height:1.5;color:#cbd5ce; }
.selector__filters { gap:5px; }
.selector button { min-height:44px; }
.selector__filters button { padding:7px 9px;border-color:#59675e;font-size:12px; }
.selector__label { display:block;margin-top:13px;font-size:12px;color:#cbd5ce; }
.selector__summary { margin:3px 0 5px;min-height:35px; }
.selector__summary strong { font-size:25px;line-height:35px;font-variant-numeric:tabular-nums; }
.selector__summary span { font-size:12px; }
.selector__control > button { width:44px;height:44px;flex:0 0 44px; }
#power-slider { height:44px; }
#power-ticks { font-size:11px; }
#variants { min-height:44px; }
#variants button { min-width:44px; }
.selector__help { display:flex;align-items:center;flex-wrap:wrap;gap:0 5px;margin:0;font-size:13px;line-height:1.5;color:#cbd5ce; }
.selector .selector__help button { padding:0 3px;border:0;color:#91d5af;text-decoration:underline;text-underline-offset:3px;font-size:13px; }
.hero__copy .hero__actions { margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.hero__actions .button { padding-inline:10px;white-space:nowrap;font-size:14px; }



.selector__summary { flex-wrap:nowrap;min-height:44px;margin-bottom:5px; }
.selector__summary #power-range { display:none; }
.selector__summary #variants { margin:0 0 0 auto;min-height:44px;flex:none;gap:4px; }
.selector__summary #variants > span { display:none; }
.selector__summary #variants button { margin:0; }
.selector__summary { align-items:center;height:44px; }

/* Compact offer column; the scene retains its existing canvas and transforms. */
.hero__intro h1 { font-size:clamp(38px,3.2vw,62px);line-height:1.12;text-wrap:balance; }
.hero__range { margin:10px 0 0;font-size:clamp(28px,2.3vw,44px);line-height:1.2;font-weight:550;letter-spacing:-.025em; }
.hero__description { margin:18px 0 0;font-size:clamp(17px,1.15vw,21px);line-height:1.5;text-wrap:pretty; }
.hero__copy .selector { margin-top:26px;padding:22px 22px 14px;background:rgb(24 32 29 / 94%);border-radius:7px; }
.selector__title { font-size:21px;line-height:1.35; }
.selector__hint { font-size:15px;line-height:1.5;margin:8px 0 16px; }
.selector__filters { display:flex;flex-wrap:wrap;gap:6px; }
.selector__filters button { font-size:14px;padding:8px 10px; }
.selector__summary { justify-content:space-between;margin:16px 0 8px;gap:12px; }
.selector__summary .selector__label { margin:0;font-size:14px; }
.selector__summary strong { font-size:26px;white-space:nowrap; }
#power-ticks { font-size:12px;margin-inline:8px; }
#power-ticks span:first-child { transform:none; }
#power-ticks span:last-child:not(:first-child) { transform:translateX(-100%);white-space:nowrap; }
.selector #variants { height:44px;min-height:44px;margin:4px 0 0;gap:5px; }
.selector #variants button { margin:0;min-width:44px; }
.selector #variants > span { font-size:13px;margin-right:4px; }
.selector__help { font-size:14px;gap:0 4px; }
.selector .selector__help button { font-size:14px; }
.hero__copy .hero__actions { display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:18px; }
.hero__actions .button { flex:none;min-height:52px;font-size:15px;padding:12px 22px; }
.hero__actions #quote-trigger { min-width:250px; }
.hero__actions .button--secondary { display:inline-flex;gap:8px;border:0;background:transparent;padding-inline:0;color:#e1e7e3; }
.hero__actions .button--secondary:hover { color:white;background:transparent; }
@container kelet (min-width:1200px){
 .hero { display:grid;grid-template-columns:5% min(640px,44%) 1fr;align-items:center; }
 .hero__copy { grid-column:2;width:auto;margin:0;padding:clamp(20px,4vh,52px) 0; }
}



/* HTML engineering annotations, independent of scene zoom. */
.comfort-callouts { pointer-events:none;opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 180ms; }
.comfort-callouts.is-active { visibility:visible;opacity:1; }
.comfort-callouts[data-layout="lines"] { position:absolute;inset:0;z-index:2; }
.callout-lines { position:absolute;inset:0;width:100%;height:100%;overflow:visible; }
.callout-lines path { fill:none;stroke:#b3c8bd;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1; }
.callout-lines circle { fill:#21a76f;opacity:0; }
.callout-text { position:absolute;opacity:0;transform:translateY(8px); }
.callout-text h3 { margin:0;color:#f4f7f5;font-size:17px;line-height:1.4;font-weight:600; }
.callout-text p { margin:8px 0 0;color:#c7d1cb;font-size:14px;line-height:1.5; }
.is-shown .callout-lines circle { opacity:1;transition:opacity 160ms ease; }
.is-shown .callout-lines path { stroke-dashoffset:0;transition:stroke-dashoffset 320ms ease 120ms; }
.is-shown .callout-text { opacity:1;transform:none;transition:opacity 320ms ease 400ms,transform 320ms ease 400ms; }
.is-shown .callout-lines circle:nth-of-type(2) { transition-delay:180ms; }
.is-shown .callout-lines path:nth-of-type(2) { transition-delay:300ms; }
.is-shown .callout-text--control { transition-delay:580ms; }
.comfort-callouts[data-layout="flow"] { display:none; }
.comfort-callouts[data-layout="flow"].is-active { display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:640px;padding:24px;margin:0 3% 0 auto; }
.comfort-callouts[data-layout="flow"] .callout-lines { display:none; }
.comfort-callouts[data-layout="flow"] .callout-text { position:static;width:auto!important; }


@media(prefers-reduced-motion:reduce){
 .comfort-callouts,.comfort-callouts * { transition:none!important;transform:none!important; }
}

.comfort-callouts[data-layout="flow"] { transition:opacity 180ms ease,visibility 180ms,display 180ms allow-discrete; }

/* Industrial benefits share Comfort typography and remain inside the scene. */
.comfort-callouts[data-kind="industrial"].is-shown .callout-text { transition-delay:calc(400ms + var(--delay)); }
.comfort-callouts[data-kind="industrial"].is-shown circle:nth-of-type(2) { transition-delay:150ms; }
.comfort-callouts[data-kind="industrial"].is-shown path:nth-of-type(2) { transition-delay:270ms; }
.callout-text[hidden] { display:none!important; }
.comfort-callouts:not(.is-active) { position:absolute;inset:0;overflow:hidden; }
.comfort-callouts[data-layout="flow"].is-active { width:min(720px,calc(100% - 48px));box-sizing:border-box; }



/* Selected-model specifications: intrinsic height, no clipped stage lists. */
.hero[data-scene] .scene-info.product-card { height:auto;min-height:0; }
.product-card__header { min-height:0!important;margin:0;order:0; }
.product-card__price-block { order:1;margin:18px 0; }
.product-card__specs { order:2;row-gap:16px; }
.product-card__full { grid-column:1 / -1;min-width:0; }
.product-card__full dt { font-size:13px;line-height:1.5;color:#52635a; }
.product-card__full .product-card__stage-count { font-size:15px;color:#25372f;font-weight:600; }
.product-card__full dd { margin:5px 0 0;font-size:14px;line-height:1.6;color:#34483d; }
.product-card__stage-value { display:inline-block;white-space:pre; }
.product-card__physical dd { display:flex;flex-wrap:wrap;gap:0 5px; }
.product-card__physical dd span { white-space:nowrap; }
.product-card__cta { order:3;margin-top:20px;flex-shrink:0; }
.product-card__series-link { order:4;display:flex;align-items:center;min-height:44px;color:#29694d;font-size:14px;text-underline-offset:4px; }
.product-card__series-link:focus-visible { outline:2px solid #087447;outline-offset:3px; }
html { scroll-behavior:smooth; }
:is(#series-comfort,#series-industrial,#series-optima,#series-mini) { scroll-margin-top:calc(var(--sticky-header-height,0px) + 24px); }
@media(prefers-reduced-motion:reduce){html { scroll-behavior:auto; }}

/* Permanent delivery/support information, outside the animated hero. */
.supply-strip { background:#f1f3ef;color:#25372f; }
.supply-strip__list { list-style:none;margin:0;padding:26px 5%;display:grid;grid-template-columns:1.12fr 1fr .9fr 1fr 1.05fr; }
.supply-strip__item { display:flex;align-items:flex-start;gap:12px;min-width:0;padding:0 20px;border-left:1px solid #d7ded6; }
.supply-strip__item:first-child { border-left:0;padding-left:0; }
.supply-strip__item:last-child { padding-right:0; }
.supply-strip__item svg { flex:0 0 24px;color:#32694f;margin-top:2px; }
.supply-strip__item strong { display:block;font-size:15px;font-weight:650;line-height:1.4; }
.supply-strip__item p { margin:6px 0 0;color:#58665e;font-size:13px;line-height:1.5; }
@media(max-width:1199px){
 .supply-strip__list { padding:24px;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px; }
 .supply-strip__item:nth-child(4) { border-left:0;padding-left:0; }
}
@media(max-width:800px){
 .supply-strip__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .supply-strip__item:first-child { grid-column:1 / -1; }
 .supply-strip__item:nth-child(even) { border-left:0;padding-left:0; }
 .supply-strip__item:nth-child(odd):not(:first-child) { border-left:1px solid #d7ded6;padding-left:20px;padding-right:0; }
}
@media(max-width:440px){
 .supply-strip__list { padding:24px 16px;row-gap:22px; }
 .supply-strip__item { gap:8px;padding-right:12px; }
 .supply-strip__item:nth-child(odd):not(:first-child) { padding-left:12px; }
}
@media(max-width:359px){
 .supply-strip__list { grid-template-columns:1fr; }
 .supply-strip__item:nth-child(n) { padding:0;border:0; }
}

/* Floor annotation shares the existing industrial sequence and typography. */
.comfort-callouts[data-kind="industrial"].is-shown circle:nth-of-type(3) { transition-delay:300ms; }
.comfort-callouts[data-kind="industrial"].is-shown path:nth-of-type(3) { transition-delay:420ms; }
.comfort-callouts[data-layout="lines"] .callout-text--automation::before { content:"";position:absolute;z-index:-1;inset:-24px -36px;background:radial-gradient(ellipse,rgba(12,20,16,.7) 0%,rgba(12,20,16,.36) 48%,transparent 74%);pointer-events:none; }

.supply-strip__phone { display:inline-flex;align-items:center;min-height:44px;color:#196341;font-size:15px;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:3px; }
.supply-strip__phone:focus-visible { outline:2px solid #087447;outline-offset:3px;border-radius:2px; }

/* Full-width concrete showroom, isolated from hero and supply strip. */
.lineup-showroom { --showroom-gutter:5vw;padding:26px var(--showroom-gutter) 16px;background:#505452 url("assets/scene/showroom-concrete-v2.png") center / 100% 100% no-repeat;color:#f5f5f2; }
.lineup-showroom h2 { margin:0 0 12px;font-size:clamp(28px,2.2vw,32px);line-height:1.25;font-weight:600;letter-spacing:-.025em; }
.lineup-showroom__grid { position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0; }
.lineup-showroom__position { min-width:0;--equipment-height:200px;--equipment-x:0px;--equipment-y:0px; }
.lineup-showroom__position--industrial { --equipment-height:248px; }
.lineup-showroom__position--comfort { --equipment-height:192px;--equipment-y:-44px; }
.lineup-showroom__position--optima { --equipment-height:200px; }
.lineup-showroom__position--mini { --equipment-height:218px; }
.lineup-showroom figure { margin:0; }
.lineup-showroom__stage { height:288px;overflow:hidden;position:relative;display:flex;align-items:flex-end;justify-content:center;padding:20px 12px 4px;isolation:isolate; }
.lineup-showroom__equipment { position:relative;flex:none;width:min(100%,var(--equipment-width));height:auto;aspect-ratio:var(--object-ratio);transform:translate(var(--equipment-x),var(--equipment-y)); }
.lineup-showroom__equipment img { position:absolute;max-width:none;object-fit:fill;pointer-events:none; }
.lineup-showroom__position--industrial .lineup-showroom__zoom::before { content:"";position:absolute;left:7%;right:5%;bottom:1%;height:8%;background:rgba(17,22,19,.22);border-radius:50%;filter:blur(6px);z-index:-1;transform:rotate(4deg); }
.lineup-showroom__position--industrial .lineup-showroom__zoom::after { content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 9% 1.4% at 14% 92%,rgba(12,17,14,.8),transparent 100%),radial-gradient(ellipse 10% 1.5% at 85% 99.4%,rgba(12,17,14,.85),transparent 100%); }
.lineup-showroom__position--comfort .lineup-showroom__equipment img { filter:drop-shadow(5px 7px 5px rgba(14,20,16,.35)); }
.lineup-showroom figcaption { padding:12px 6px 0;text-align:center;font-size:18px;font-weight:600;line-height:1.4;min-height:50px;color:#f5f5f2; }
@media(max-width:1100px){
 .lineup-showroom { --showroom-gutter:24px; }
 .lineup-showroom__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lineup-showroom__grid::before { content:"";position:absolute;inset:0 calc(-1 * var(--showroom-gutter));z-index:-1;background:url("assets/scene/showroom-concrete-v2.png") center top / 100% 338px repeat-y; }
}
@media(max-width:600px){
 .lineup-showroom { --showroom-gutter:16px;padding-top:22px; }
 .lineup-showroom h2 { font-size:28px; }
 .lineup-showroom__stage { height:210px;padding:14px 8px 4px; }
 .lineup-showroom__grid::before { background-size:100% 272px;background-position:center -24px; }
 .lineup-showroom__position--industrial { --equipment-height:150px; }
 .lineup-showroom__position--comfort { --equipment-height:124px;--equipment-y:-35px; }
 .lineup-showroom figcaption { font-size:16px;min-height:62px; }
}

/* Hover scale is separate from the equipment placement transform. */
.lineup-showroom__zoom { position:absolute;inset:0;isolation:isolate;transform:scale(1);transform-origin:50% 50%; }
/* Bounds already exclude transparent source margins; anchor at visible lower support. */
.lineup-showroom__position--industrial .lineup-showroom__zoom { transform-origin:85% 99.4%; }
.lineup-showroom__link { display:block;color:inherit;text-decoration:none; }
.lineup-showroom__link .lineup-showroom__zoom { transition:transform 240ms ease-out; }
.lineup-showroom__name { position:relative;display:inline-block; }
.lineup-showroom__link .lineup-showroom__name { transition:color 240ms ease-out; }
.lineup-showroom__link .lineup-showroom__name::after { content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;opacity:0;transition:opacity 240ms ease-out; }
.lineup-showroom__link:focus-visible { outline:2px solid #8dcea8;outline-offset:3px; }
.lineup-showroom__link:focus-visible .lineup-showroom__zoom { transform:scale(1.025); }
.lineup-showroom__link:focus-visible .lineup-showroom__name { color:#8dcea8; }
.lineup-showroom__link:focus-visible .lineup-showroom__name::after { opacity:1; }
@media(hover:hover) and (pointer:fine){
 .lineup-showroom__link:hover .lineup-showroom__zoom { transform:scale(1.025); }
 .lineup-showroom__link:hover .lineup-showroom__name { color:#8dcea8; }
 .lineup-showroom__link:hover .lineup-showroom__name::after { opacity:1; }
}
@media(prefers-reduced-motion:reduce){
 .lineup-showroom__link .lineup-showroom__zoom { transform:none!important;transition:none; }
 .lineup-showroom__link .lineup-showroom__name,.lineup-showroom__link .lineup-showroom__name::after { transition:none; }
}

.callout-ozon-logo { font-size:12px;font-weight:800;color:#9dc7f3;margin-right:6px;white-space:nowrap; }
.callout-ozon-link { display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#aedfc2;text-underline-offset:4px;pointer-events:auto; }
.callout-ozon-link:focus-visible { outline:2px solid #e0f8b3;outline-offset:3px; }
.comfort-callouts[data-kind="comfort"].is-shown .callout-text--ozon { transition-delay:760ms; }
.comfort-callouts[data-kind="comfort"].is-shown circle:nth-of-type(3) { transition-delay:360ms; }
.comfort-callouts[data-kind="comfort"].is-shown path:nth-of-type(3) { transition-delay:480ms; }
.callout-lines { pointer-events:none; }

/* Keep the same reading order as the desktop callout column. */
.comfort-callouts[data-kind="comfort"][data-layout="flow"] .callout-text--control{order:-1}


/* Comfort approach uses the existing independent placement and zoom wrappers. */
.hero :is(.equipment-layer--comfort,.equipment-layer--stand),
.hero :is(.equipment-layer--comfort,.equipment-layer--stand) .equipment-zoom {
 transition-duration:600ms;
}

/* Reframe only selected Comfort 2; interface remains outside the scene clip. */
.hero[data-scene="comfort"][data-has-model="true"] .scene-media{overflow:hidden}
.hero[data-scene="comfort"][data-has-model="true"] :is(.equipment-layer--comfort,.equipment-layer--stand),
.hero[data-scene="comfort"][data-has-model="true"] :is(.equipment-layer--comfort,.equipment-layer--stand) .equipment-zoom{transition-duration:750ms}

.equipment-panel-detail {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.product-card__documents{display:grid;gap:8px}
.product-card__silent { display:flex;align-items:flex-start;gap:8px;margin-top:10px!important;line-height:1.5; }
.product-card__silent-icon { flex:0 0 20px;line-height:0;margin-top:2px; }
.product-card__silent strong { font-size:14px;font-weight:600; }
.product-card__silent-description { display:block;font-size:13px;font-weight:400;line-height:1.5;opacity:.85;margin-top:3px; }
.product-card__switching { font-size:13px!important;line-height:1.5;margin-top:7px!important; }

/* Independent optional quote attachments. */
.modal--quote { overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scroll-padding-block: 56px 80px; }
.modal--quote > .modal__close { position: sticky; float: right; top: -20px; margin: -22px -6px -14px 0; z-index: 3; background: #f6f7f3; }
#quote-form > [type="submit"] { position: sticky; bottom: -16px; z-index: 2; box-shadow: 0 12px 0 #f6f7f3; }
.quote-attachment { position: relative; min-width: 0; }
#quote-form .quote-attachment__picker { padding: 14px 12px; border: 1px dashed #7b8d80; border-radius: 7px; cursor: pointer; line-height: 1.5; }
.quote-attachment:has(input:focus-visible) .quote-attachment__picker { outline: 2px solid #087447; outline-offset: 3px; }
.quote-attachment__input { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; margin: 0; overflow: hidden; clip-path: inset(50%); }
.quote-attachment small { display: block; margin-top: 6px; color: #59645c; font-size: 12px; line-height: 1.5; }
.quote-attachment__selection { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; font-size: 13px; }
.quote-attachment__selection span { flex: 1 1 100%; overflow-wrap: anywhere; }
.quote-attachment__selection button { min-height: 36px; padding: 4px 8px; border: 1px solid #a9b4ac; border-radius: 4px; background: transparent; color: #254535; cursor: pointer; }
.modal .quote-attachment__error { color: #a12922; margin: 6px 0 0; }
@media (max-width: 600px) {
  .modal--quote > .modal__close { top: -12px; margin: -14px -6px -30px 0; }
  #quote-form > [type="submit"] { bottom: -12px; }
}

