/* ==========================================================================
   Homepage (index.html)
   ========================================================================== */

/* ---------- Hero ---------- */
.hero {
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center;
  min-height: clamp(520px, 74vh, 700px); background: var(--navy-950); color: #fff;
}
.hero__media { position: absolute; inset: 0; z-index: -1; }
.hero__poster, .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__video { opacity: 0; transition: opacity .8s var(--ease); }
.hero__video.is-playing { opacity: 1; }
.hero__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(6, 21, 48, .95) 0%, rgba(6, 21, 48, .84) 38%, rgba(6, 21, 48, .38) 72%, rgba(6, 21, 48, .18) 100%);
}
.hero__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-block: clamp(56px, 8vw, 96px); }
.hero__copy { max-width: 660px; }
.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font: 600 .8rem/1.3 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .88);
}
.hero__eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--red); }
.hero__title { margin-top: 18px; font-size: clamp(2.2rem, 1.45rem + 3.1vw, 3.65rem); line-height: 1.08; letter-spacing: -.02em; color: #fff; }
.hero__subtitle { margin-top: 14px; font: 600 clamp(1.2rem, 1rem + .8vw, 1.6rem)/1.3 var(--font-head); color: #fff; }
.hero__text { margin-top: 14px; max-width: 54ch; font-size: 1.05rem; color: rgba(255, 255, 255, .86); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

.hero__play {
  display: inline-flex; flex-direction: column; align-items: center; gap: 14px; max-width: 190px;
  padding: 8px; border: 0; background: none; color: #fff; cursor: pointer; text-align: center;
  font: 600 1rem/1.3 var(--font-body);
}
.hero__play-icon {
  display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .9); background: rgba(255, 255, 255, .08);
  transition: transform .25s var(--ease), background-color .25s;
}
.hero__play-icon .icon { width: 32px; height: 32px; margin-left: 4px; }
.hero__play:hover .hero__play-icon { transform: scale(1.06); background: rgba(255, 255, 255, .18); }

@media (max-width: 900px) {
  .hero { min-height: 0; }
  .hero__inner { flex-direction: column; align-items: flex-start; gap: 28px; }
  .hero__media::after { background: linear-gradient(180deg, rgba(6, 21, 48, .8) 0%, rgba(6, 21, 48, .92) 100%); }
  .hero__play { flex-direction: row; max-width: none; padding: 0; text-align: left; }
  .hero__play-icon { width: 56px; height: 56px; }
  .hero__play-icon .icon { width: 22px; height: 22px; }
}
@media (max-width: 560px) { .hero__actions .btn { width: 100%; } }

/* ---------- Video lightbox ---------- */
.video-modal { width: min(960px, 92vw); padding: 0; border: 0; border-radius: var(--radius-lg); background: #000; overflow: visible; }
.video-modal::backdrop { background: rgba(6, 21, 48, .82); }
.video-modal__inner { position: relative; }
.video-modal video { width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); background: #000; }
.video-modal__close {
  position: absolute; top: -54px; right: 0; display: grid; place-items: center; width: 44px; height: 44px;
  border: 0; border-radius: 50%; background: #fff; color: var(--ink); cursor: pointer;
}

/* ---------- Trust strip ---------- */
.trust-strip { background: var(--bg-soft); border-bottom: 1px solid var(--line); }
.trust-strip__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.trust-item { display: flex; align-items: center; gap: 16px; padding: 26px 24px; }
.trust-item + .trust-item { border-left: 1px solid var(--line); }
.trust-item:first-child { padding-left: 0; }
.trust-item .icon { width: 40px; height: 40px; stroke-width: 1.5; color: var(--navy-800); }
.trust-item__title { font: 600 1.05rem/1.3 var(--font-head); color: var(--ink); }
.trust-item__title strong { margin-right: 2px; font-size: 1.55rem; vertical-align: -2px; }
.trust-item__text { font-size: .86rem; color: var(--muted); }
@media (max-width: 1024px) {
  .trust-strip__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-item:nth-child(3) { padding-left: 0; border-left: 0; }
  .trust-item:nth-child(n + 3) { border-top: 1px solid var(--line); }
}
@media (max-width: 560px) {
  .trust-strip__list { grid-template-columns: 1fr; }
  .trust-item, .trust-item + .trust-item { padding: 18px 0; border-left: 0; }
  .trust-item + .trust-item { border-top: 1px solid var(--line); }
}

/* ---------- About / positioning ---------- */
.home-about__grid { display: grid; grid-template-columns: 1.15fr 1fr .95fr; gap: 28px; align-items: stretch; }
.home-about__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; align-self: center; }
.home-about__copy .section-title { margin-top: 0; }
.home-about__media { min-height: 300px; overflow: hidden; border-radius: var(--radius-lg); background: var(--navy-800); }
.home-about__media img { width: 100%; height: 100%; object-fit: cover; }
.home-about__panel { padding: 28px; border-radius: var(--radius-lg); background: var(--navy-800); color: #fff; }
.home-about__panel-title { margin-bottom: 6px; font: 600 .78rem/1.2 var(--font-body); letter-spacing: .09em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.panel-list li { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.panel-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.panel-list .icon { width: 30px; height: 30px; stroke-width: 1.5; color: #fff; }
.panel-list strong { display: block; font: 600 .98rem/1.3 var(--font-head); }
.panel-list span { display: block; margin-top: 2px; font-size: .86rem; color: rgba(255, 255, 255, .76); }
@media (max-width: 1100px) {
  .home-about__grid { grid-template-columns: 1fr 1fr; }
  .home-about__copy { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .home-about__grid { grid-template-columns: 1fr; }
  .home-about__media { min-height: 0; aspect-ratio: 16 / 10; }
}

/* ---------- Featured machines ---------- */
.tile-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1199px) { .tile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 699px) { .tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (max-width: 399px) { .tile-grid { grid-template-columns: 1fr; } }

/* ---------- Quote section ---------- */
.home-quote__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.home-quote__info .contact-list { margin-top: 28px; }
.home-quote__map { margin-top: 28px; }
.home-quote__map iframe { min-height: 260px; }
@media (max-width: 960px) { .home-quote__grid { grid-template-columns: 1fr; } }
