:root {
  color-scheme: dark;
  --ink: #171b1f;
  --brand: #004b2a;
  --accent: #49a91b;
  --paper: #f3f7f4;
  --muted: #aeb9b3;
  --line: rgb(255 255 255 / 14%);
  --font-primary: "DejaVu Sans", Arial, sans-serif;
  --radius: .5rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--ink); color: white; font-family: var(--font-primary); }
img { display: block; max-width: 100%; }

.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  height: 100svh;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  background: var(--ink);
}

.hero__brand-background { position: absolute; z-index: -3; inset: 0; background-position: center; background-size: cover; opacity: .17; }
.hero__brand-background { background-image: linear-gradient(112deg, #171b1f 0 68%, #183c20 68% 100%); }
.hero::before { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgb(23 27 31 / 98%) 0 43%, rgb(23 27 31 / 78%) 62%, rgb(0 75 42 / 42%)); content: ""; }
.hero::after { position: absolute; z-index: -1; top: 0; right: 19%; width: 1px; height: 100%; transform: skewX(-18deg); background: linear-gradient(transparent 8%, var(--line) 22% 78%, transparent 92%); content: ""; }
.hero__grid { position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(rgb(255 255 255 / 2.5%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 2.5%) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, black, transparent 68%); }

.site-header, .hero__content, .site-footer { width: min(calc(100% - 96px), 1440px); margin-inline: auto; }
.site-header { position: relative; z-index: 5; isolation: isolate; display: flex; align-items: center; justify-content: space-between; padding-top: clamp(28px, 4.5vh, 52px); }
.site-header::before { position: absolute; z-index: -1; top: 0; left: min(-48px, calc((1440px - 100vw) / 2)); width: clamp(390px, 30vw, 540px); height: clamp(104px, 13vh, 138px); clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%); background: linear-gradient(110deg, #fff 0%, var(--paper) 72%, #dcebdd 100%); box-shadow: 18px 14px 45px rgb(0 0 0 / 16%); content: ""; }
.brand { width: clamp(290px, 19.5vw, 370px); transform: translateY(-17px); }
.brand img { width: 100%; }
.status-pill { display: inline-flex; gap: 11px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); color: #d8dfdb; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.status-pill__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px rgb(73 169 27 / 13%), 0 0 16px rgb(73 169 27 / 70%); animation: pulse 2.2s ease-in-out infinite; }

.hero__content { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr); gap: clamp(32px, 5vw, 90px); align-items: center; padding-block: clamp(52px, 8vh, 100px); }
.hero__copy { position: relative; z-index: 2; }
.eyebrow { display: flex; gap: 15px; align-items: center; margin: 0 0 25px; color: #e2e8e4; font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; animation: rise .65s .1s both; }
.eyebrow::before { width: 42px; height: 4px; background: var(--accent); content: ""; }
h1 { max-width: 820px; margin: 0; font-size: clamp(48px, 5.5vw, 84px); font-weight: 700; letter-spacing: -.055em; line-height: .93; text-transform: uppercase; text-wrap: balance; animation: rise .7s .18s both; }
h1 em { display: block; margin-top: .11em; color: var(--accent); font-style: normal; }
.hero__lead { max-width: 600px; margin: 28px 0 0; color: var(--muted); font-size: clamp(15px, 1.2vw, 18px); line-height: 1.65; animation: rise .7s .28s both; }
.launch-note { display: flex; gap: 16px; align-items: center; width: fit-content; margin-top: 34px; padding-top: 20px; border-top: 1px solid var(--line); animation: rise .7s .38s both; }
.launch-note__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: var(--radius); background: var(--brand); color: var(--accent); }
.launch-note svg { width: 25px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.launch-note__copy { display: flex; min-width: 290px; flex-direction: column; gap: 5px; color: #85928b; font-size: 11px; }
.launch-note strong { color: white; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.launch-note__progress { width: 100%; height: 3px; margin-top: 7px; overflow: hidden; border-radius: 999px; background: rgb(255 255 255 / 12%); }
.launch-note__progress > span { display: block; width: 72%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand), var(--accent)); box-shadow: 0 0 10px rgb(73 169 27 / 55%); animation: progress-in 1.2s .65s both; }

.hero__visual { position: relative; align-self: stretch; min-height: 430px; animation: visual-in .9s .18s both; }
.hero__number { position: absolute; top: 1%; right: 1%; color: rgb(255 255 255 / 6%); font-size: clamp(140px, 17vw, 280px); font-weight: 700; letter-spacing: -.08em; line-height: 1; }
.hero__truck { position: absolute; right: -25%; bottom: -8%; width: min(68vw, 1040px); filter: drop-shadow(-24px 28px 30px rgb(0 0 0 / 48%)); }
.hero__truck-image { width: 100%; }
.hero__truck-brand {
  position: absolute;
  top: 46%;
  left: 28.5%;
  width: 10.5%;
  opacity: .84;
  transform: perspective(420px) rotateY(-9deg) rotate(-1deg) skewY(-1.5deg);
  transform-origin: center;
  mix-blend-mode: normal;
  filter: brightness(.94) contrast(.92) drop-shadow(0 1px 0 rgb(0 0 0 / 16%));
}
.hero__truck::after { position: absolute; right: 7%; bottom: 2%; z-index: -1; width: 80%; height: 6%; border-radius: 50%; background: rgb(0 0 0 / 45%); filter: blur(14px); content: ""; }
.hero__visual p { position: absolute; right: 0; bottom: 0; margin: 0; padding-left: 15px; border-left: 4px solid var(--accent); color: #d6ded9; font-size: 11px; font-weight: 700; letter-spacing: .15em; line-height: 1.65; text-align: left; text-transform: uppercase; }

.site-footer { display: grid; grid-template-columns: auto auto 1fr; gap: 24px; align-items: center; padding-bottom: clamp(25px, 4vh, 45px); color: #7f8b84; font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.site-footer p { margin: 0; }
.site-footer p + p { padding-left: 24px; border-left: 1px solid var(--line); }
.developer-credit { display: inline-flex; gap: 10px; align-items: center; justify-self: end; color: inherit; text-decoration: none; transition: color 180ms ease; }
.developer-credit img { width: 78px; opacity: .65; transition: opacity 180ms ease; }
.developer-credit:hover { color: white; }
.developer-credit:hover img { opacity: 1; }

@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes visual-in { from { opacity: 0; transform: translateX(35px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pulse { 50% { opacity: .45; } }
@keyframes progress-in { from { width: 0; } }

@media (max-height: 800px) and (min-width: 901px) {
  .site-header { padding-top: 24px; }
  .hero__content { padding-block: 28px; }
  h1 { font-size: clamp(46px, 4.8vw, 66px); }
  .eyebrow { margin-bottom: 18px; }
  .hero__lead { max-width: 520px; margin-top: 20px; line-height: 1.5; }
  .launch-note { margin-top: 22px; padding-top: 15px; }
  .hero__visual { min-height: 350px; }
  .site-footer { padding-bottom: 20px; }
}

@media (max-width: 900px) {
  .site-header, .hero__content, .site-footer { width: min(calc(100% - 48px), 1440px); }
  .hero__content { grid-template-columns: 1fr; }
  .hero__visual { position: absolute; z-index: -1; right: -18%; bottom: 10%; width: 75vw; min-height: 400px; opacity: .16; animation: none; }
  .hero__truck { right: 0; width: 100%; }
  .hero__visual p, .hero__number { display: none; }
  .hero__copy { max-width: 740px; }
  .site-header::before { width: 370px; }
  .brand { width: 255px; transform: translateY(-12px); }
}

@media (max-width: 600px) {
  .site-header, .hero__content, .site-footer { width: min(calc(100% - 36px), 1440px); }
  .brand { width: 172px; transform: translateY(-7px); }
  .site-header::before { width: 245px; height: 96px; }
  .status-pill { font-size: 8px; letter-spacing: .12em; }
  .hero__content { padding-block: 50px 38px; }
  h1 { font-size: clamp(39px, 12.5vw, 60px); line-height: .96; }
  .hero__lead { margin-top: 23px; line-height: 1.55; }
  .launch-note { margin-top: 27px; }
  .site-footer { grid-template-columns: 1fr auto; gap: 16px; }
  .site-footer p:nth-child(2) { display: none; }
  .developer-credit span { display: none; }
  .hero__visual { right: -42%; bottom: 8%; width: 108vw; opacity: .12; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
