/* A single click-to-play demo. The player needs no JavaScript or third-party embed. */
.home-assembly { padding: 108px 0 116px; }
.home-assembly__intro {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.5fr);
  align-items: center;
  gap: clamp(48px, 6vw, 82px);
  margin-bottom: 64px;
}
.home-assembly__copy h2 { margin: 0; font-size: clamp(40px, 4.5vw, 60px); line-height: 1; letter-spacing: -.05em; }
.home-assembly__copy .eyebrow { margin-bottom: 16px; }
.home-assembly__copy p { margin: 24px 0; color: var(--muted); font-size: 17px; line-height: 1.7; max-width: 390px; }
.home-assembly__guide { display: inline-block; color: var(--accent); font-size: 14px; font-weight: 650; }
.home-assembly__guide:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-assembly__media { margin: 0; min-width: 0; }
.home-assembly__media video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: #edf0ec;
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
}
.home-assembly__media figcaption { margin-top: 12px; color: #77838a; font-size: 11px; letter-spacing: .02em; }
.home-assembly .process { gap: 18px; border: 0; }
.home-assembly .process-step,
.home-assembly .process-step + .process-step {
  min-width: 0;
  min-height: 355px;
  padding: 25px 25px 29px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 20px;
  background: linear-gradient(150deg,rgba(255,255,255,.032),rgba(255,255,255,.012));
  box-shadow: 0 20px 54px rgba(0,0,0,.12);
}
.home-assembly .process-step:hover { border-color: rgba(240,166,43,.24); transform: translateY(-2px); transition: transform .2s ease,border-color .2s ease; }
.home-assembly .process-node { display: none; }
.home-assembly .process-number { margin: 0 0 16px; color: #d89120; font-size: 10px; }
.home-assembly .process-icon {
  height: 124px;
  margin: 0 0 23px;
  padding: 12px 14px;
  border-radius: 15px;
  background: radial-gradient(circle at 50% 42%,rgba(240,166,43,.085),transparent 68%),rgba(7,11,13,.34);
}
.home-assembly .process-icon svg { width: 174px; height: 108px; }
.home-assembly .process-step h3 { font-size: 24px; }
.home-assembly .process-step p { font-size: 14px; line-height: 1.58; }
.home-assembly .process-note { margin-top: 16px; padding: 11px 12px; border: 1px solid rgba(240,166,43,.15); border-radius: 10px; background: rgba(240,166,43,.055); color: #d7dde0; line-height: 1.48; }
.home-assembly .process-note:before { margin-right: 7px; }
.home-assembly__description { margin: 22px 0 0; color: #748088; font-size: 12px; max-width: 720px; }
.home-assembly__description summary { cursor: pointer; width: fit-content; padding: 5px 0; }
.home-assembly__description p { margin: 9px 0 0; line-height: 1.65; }
@media (max-width: 800px) {
  .home-assembly { padding: 70px 0 78px; }
  .home-assembly__intro { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-bottom: 36px; }
  .home-assembly__copy h2 br { display: none; }
  .home-assembly__copy p { max-width: 580px; }
  .home-assembly .process { gap: 14px; }
  .home-assembly .process-step,
  .home-assembly .process-step + .process-step { min-height: 0; border: 1px solid rgba(255,255,255,.085); }
  .home-assembly .process-step:hover { transform: none; }
}
@media (max-width: 520px) {
  .home-assembly { padding: 60px 0 68px; }
  .home-assembly__copy h2 { font-size: 40px; }
  .home-assembly__copy p { font-size: 16px; }
  .home-assembly__media video { border-radius: 16px; }
  .home-assembly .process-step,
  .home-assembly .process-step + .process-step { padding: 22px 21px 25px; border-radius: 17px; }
  .home-assembly .process-icon { height: 112px; }
  .home-assembly .process-icon svg { width: 158px; height: 98px; }
}
