*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --ink: #0A0A0A;
  --paper: #F5F2EB;
  --paper-2: #EDE9DE;
  --red: #D03B2A;
  --red-dark: #A82E1F;
  --muted: #6B6560;
  --rule: #D4CFC4;
}

html { font-size: 16px; scroll-behavior: smooth; }
body {
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.nav-logo, .footer-logo {
  color: inherit;
  font-family: "Bebas Neue", Impact, sans-serif;
  letter-spacing: .04em;
  text-decoration: none;
}
.nav-logo { font-size: 1.5rem; }
.nav-logo span, .footer-logo span { color: var(--red); }
.nav-links { display: flex; align-items: center; gap: 2rem; }
.nav-link {
  color: var(--muted);
  font-family: "DM Mono", monospace;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
}
.nav-cta {
  padding: .6rem 1.4rem;
  color: var(--paper);
  background: var(--ink);
  font-family: "DM Mono", monospace;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
}
.menu-btn {
  display: none;
  padding: .6rem 1.2rem;
  border: 0;
  color: var(--paper);
  background: var(--ink);
  font: 500 .78rem "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}
.mobile-menu {
  position: fixed;
  top: 4rem;
  left: 0;
  right: 0;
  z-index: 99;
  display: none;
  flex-direction: column;
  background: var(--ink);
  transform: translateY(-110%);
  transition: transform .3s ease;
}
.mobile-menu.open { transform: translateY(0); }
.mobile-menu-link {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: var(--paper);
  font: 500 .85rem "DM Mono", monospace;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
}

.section-label {
  margin-bottom: 1.5rem;
  color: var(--muted);
  font: 500 .72rem "DM Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.section-heading {
  color: var(--ink);
  font: 400 clamp(3.2rem,6vw,6.2rem)/.92 "Bebas Neue", Impact, sans-serif;
  letter-spacing: -.01em;
}

.horsepower-hero { background-color: var(--ink); }
.horsepower-hero .cinema-hero__grid { grid-template-columns: minmax(0,1.45fr) minmax(20rem,.55fr); }
.horsepower-hero .cinema-hero__title { max-width: 8.8em; font-size: clamp(5rem,9.8vw,10.5rem); }
.horsepower-hero .cinema-hero__foot { align-items: center; }
.hp-text-link {
  color: var(--paper);
  font: 500 .68rem "DM Mono", monospace;
  letter-spacing: .1em;
  text-decoration-color: var(--red);
  text-underline-offset: .45rem;
  text-transform: uppercase;
}

.hp-console {
  position: relative;
  align-self: end;
  border: 1px solid rgba(245,242,235,.2);
  background: rgba(245,242,235,.035);
  box-shadow: 0 2.5rem 7rem rgba(0,0,0,.3);
  animation: theatre-enter 1s 800ms both cubic-bezier(.16,1,.3,1);
}
.hp-console::before {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid transparent;
  background: linear-gradient(120deg, transparent 15%, rgba(208,59,42,.75), transparent 85%) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.hp-console__bar,
.hp-console__task,
.hp-console__results,
.hp-console__decision { padding: 1rem 1.1rem; }
.hp-console__bar {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(245,242,235,.13);
  color: rgba(245,242,235,.45);
  font: .61rem "DM Mono", monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hp-console__status { color: var(--red); }
.hp-console__task > span,
.hp-console__decision > span {
  display: block;
  margin-bottom: .45rem;
  color: rgba(245,242,235,.36);
  font: .58rem "DM Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.hp-console__task strong { display: block; max-width: 22ch; color: var(--paper); font-size: .92rem; line-height: 1.4; }
.hp-console__results { border-top: 1px solid rgba(245,242,235,.1); border-bottom: 1px solid rgba(245,242,235,.1); }
.hp-console__results div { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: .55rem 0; }
.hp-console__results dt { color: rgba(245,242,235,.38); font: .58rem "DM Mono", monospace; text-transform: uppercase; }
.hp-console__results dd { color: rgba(245,242,235,.82); font-size: .72rem; }
.hp-console__decision { background: var(--paper); }
.hp-console__decision > span { color: var(--muted); }
.hp-console__decision strong { color: var(--red); font: 400 2rem/1 "Bebas Neue", Impact, sans-serif; }

.hp-waitlist {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(3rem,8vw,9rem);
  padding: clamp(3.5rem,6vw,6rem) 2.5rem;
  align-items: center;
  color: var(--paper);
  background: var(--red);
  border-bottom: 1px solid var(--ink);
}
.hp-waitlist .section-label { margin-bottom: .75rem; color: rgba(245,242,235,.62); }
.hp-waitlist h2 { color: var(--paper); font: 400 clamp(3rem,5vw,5.3rem)/.92 "Bebas Neue", Impact, sans-serif; }
.hp-waitlist > div > p:last-child { max-width: 40ch; margin-top: 1rem; color: rgba(245,242,235,.76); font-size: .92rem; }
.hp-signup {
  position: relative;
  padding: clamp(1.25rem,3vw,2.2rem);
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--ink);
  box-shadow: .65rem .65rem 0 var(--ink);
}
.hp-signup__label { display: block; margin-bottom: .65rem; font: 500 .65rem "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.hp-signup__row { display: grid; grid-template-columns: minmax(0,1fr) auto; }
.hp-signup input[type="email"] {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--ink);
  border-right: 0;
  color: var(--ink);
  background: #fff;
  font: 1rem "DM Sans", sans-serif;
  border-radius: 0;
}
.hp-signup input[type="email"]:focus { position: relative; z-index: 1; outline: 2px solid var(--red); outline-offset: -2px; }
.hp-signup button {
  padding: 1rem 1.2rem;
  border: 1px solid var(--ink);
  color: var(--paper);
  background: var(--ink);
  font: 500 .68rem "DM Mono", monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
}
.hp-signup button:hover { background: var(--red); }
.hp-signup__note { margin-top: .8rem; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.hp-signup__note a { color: inherit; text-underline-offset: .2rem; }
.hp-signup__success { margin-top: 1rem; padding: .8rem; border-left: 3px solid var(--red); background: var(--paper-2); font-size: .82rem; }
.hp-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.hp-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 68vh;
  border-bottom: 1px solid var(--ink);
}
.hp-intro__statement,
.hp-intro__copy { padding: clamp(4rem,8vw,8rem) 2.5rem; }
.hp-intro__statement { border-right: 1px solid var(--ink); }
.hp-intro__copy { display: flex; flex-direction: column; justify-content: center; background: var(--paper-2); }
.hp-intro__copy p { max-width: 53ch; margin-bottom: 1.5rem; font-size: clamp(1rem,1.4vw,1.2rem); line-height: 1.75; }
.hp-intro__copy p:last-child { margin-bottom: 0; }

.hp-metrics { padding: clamp(5rem,9vw,9rem) 2.5rem; border-bottom: 1px solid var(--ink); }
.hp-section-head { display: grid; grid-template-columns: .7fr 1.2fr .8fr; gap: 3rem; align-items: end; margin-bottom: clamp(3rem,6vw,5rem); }
.hp-section-head .section-label { align-self: start; }
.hp-section-head > p:last-child { max-width: 44ch; color: var(--muted); font-size: .95rem; }
.hp-metrics__grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--ink); }
.hp-metric { min-height: 21rem; padding: 1.5rem; border-right: 1px solid var(--ink); display: flex; flex-direction: column; }
.hp-metric:last-child { border-right: 0; }
.hp-metric > span { color: var(--red); font: .65rem "DM Mono", monospace; letter-spacing: .1em; }
.hp-metric h3 { margin-top: auto; font: 400 3.2rem/1 "Bebas Neue", Impact, sans-serif; }
.hp-metric p { margin-top: 1rem; color: var(--muted); font-size: .88rem; line-height: 1.65; }

.hp-map-section { padding: clamp(5rem,9vw,9rem) 2.5rem; color: var(--paper); background: var(--ink); border-bottom: 1px solid var(--paper); }
.hp-section-head--dark .section-heading { color: var(--paper); }
.hp-section-head--dark .section-label,
.hp-section-head--dark > p:last-child { color: rgba(245,242,235,.48); }
.hp-compare-map { display: grid; grid-template-columns: minmax(12rem,.75fr) 3.5rem minmax(20rem,1.4fr) 3.5rem minmax(12rem,.75fr); align-items: stretch; }
.hp-compare-map__task,
.hp-compare-map__result {
  display: flex;
  min-height: 22rem;
  padding: 1.4rem;
  border: 1px solid rgba(245,242,235,.24);
  flex-direction: column;
  background: rgba(245,242,235,.035);
}
.hp-compare-map__task > span,
.hp-compare-map__result > span,
.hp-compare-map__field-head > span {
  color: var(--red);
  font: .6rem "DM Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.hp-compare-map__task > strong { margin-top: auto; color: var(--paper); font: 400 2.15rem/1.02 "Bebas Neue", Impact, sans-serif; }
.hp-compare-map__task > small { margin-top: 1rem; color: rgba(245,242,235,.42); font-size: .74rem; }
.hp-compare-map__connector { position: relative; display: grid; place-items: center; color: var(--red); font: 1.5rem "DM Mono", monospace; }
.hp-compare-map__connector::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--red); }
.hp-compare-map__connector span { position: relative; z-index: 1; padding-left: .35rem; background: var(--ink); }
.hp-compare-map__field { position: relative; padding: 1.2rem; border: 1px solid var(--red); background: rgba(208,59,42,.07); box-shadow: 0 2rem 6rem rgba(0,0,0,.25); }
.hp-compare-map__field::after { content: "HP"; position: absolute; right: 1rem; top: .6rem; color: rgba(208,59,42,.17); font: 400 5rem/1 "Bebas Neue", Impact, sans-serif; pointer-events: none; }
.hp-compare-map__field-head { display: flex; min-height: 4rem; padding-bottom: .9rem; align-items: flex-end; justify-content: space-between; border-bottom: 1px solid rgba(245,242,235,.14); }
.hp-compare-map__field-head strong { position: relative; z-index: 1; color: var(--paper); font: 400 1.7rem/1 "Bebas Neue", Impact, sans-serif; }
.hp-model-lanes { display: grid; gap: .55rem; padding-top: .75rem; }
.hp-model-lanes div { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; padding: .85rem; align-items: center; border: 1px solid rgba(245,242,235,.12); background: rgba(10,10,10,.5); overflow: hidden; }
.hp-model-lanes div::before { content: ""; position: absolute; inset: 0 auto 0 0; width: .22rem; background: var(--red); transform: scaleY(.35); transition: transform .3s ease; }
.hp-model-lanes div:hover::before { transform: scaleY(1); }
.hp-model-lanes span { color: var(--paper); font-size: .78rem; }
.hp-model-lanes b { color: rgba(245,242,235,.35); font: 400 .52rem "DM Mono", monospace; letter-spacing: .04em; text-transform: uppercase; }
.hp-compare-map__result { color: var(--ink); background: var(--paper); border-color: var(--paper); }
.hp-compare-map__result > strong { margin-top: auto; font: 400 2.4rem/1 "Bebas Neue", Impact, sans-serif; }
.hp-compare-map__result ul { margin-top: 1rem; list-style: none; border-top: 1px solid var(--rule); }
.hp-compare-map__result li { padding: .55rem 0; border-bottom: 1px solid var(--rule); color: var(--muted); font-size: .72rem; }
.hp-compare-map__result li::before { content: "→"; margin-right: .5rem; color: var(--red); }

.hp-process { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,10rem); padding: clamp(5rem,9vw,9rem) 2.5rem; border-bottom: 1px solid var(--ink); }
.hp-process .hp-section-head { display: block; margin: 0; }
.hp-process .hp-section-head > p:last-child { margin-top: 2rem; }
.hp-process__list { list-style: none; border-top: 1px solid var(--ink); }
.hp-step { display: grid; grid-template-columns: 3rem 1fr; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--ink); }
.hp-step > span { padding-top: .25rem; color: var(--red); font: .62rem "DM Mono", monospace; letter-spacing: .1em; }
.hp-step h3 { font: 400 2.5rem/1 "Bebas Neue", Impact, sans-serif; }
.hp-step p { max-width: 52ch; margin-top: .5rem; color: var(--muted); font-size: .87rem; }

.hp-trust { display: grid; grid-template-columns: 1fr 1fr; min-height: 72vh; color: var(--paper); background: var(--ink); }
.hp-trust > div { padding: clamp(5rem,9vw,9rem) 2.5rem; }
.hp-trust > div:first-child { border-right: 1px solid rgba(245,242,235,.18); }
.hp-trust .section-label { color: rgba(245,242,235,.42); }
.hp-trust .section-heading { color: var(--paper); }
.hp-trust__content { display: flex; flex-direction: column; justify-content: center; }
.hp-trust__lead { max-width: 38ch; margin-bottom: 2rem; color: var(--paper); font-size: 1.2rem; }
.hp-trust__content ul { list-style: none; border-top: 1px solid rgba(245,242,235,.18); }
.hp-trust__content li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(245,242,235,.12); color: rgba(245,242,235,.58); font-size: .88rem; }
.hp-trust__content li span { color: var(--red); font: .6rem "DM Mono", monospace; }

.hp-faq { padding: clamp(5rem,9vw,9rem) 2.5rem; border-bottom: 1px solid var(--ink); background: var(--paper-2); }
.hp-faq__grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--ink); background: var(--paper); }
.hp-faq details { border-bottom: 1px solid var(--ink); }
.hp-faq details:nth-child(odd) { border-right: 1px solid var(--ink); }
.hp-faq details:nth-last-child(-n+2) { border-bottom: 0; }
.hp-faq summary { position: relative; padding: 1.4rem 3.5rem 1.4rem 1.4rem; font: 400 1.8rem/1.05 "Bebas Neue", Impact, sans-serif; list-style: none; cursor: pointer; }
.hp-faq summary::-webkit-details-marker { display: none; }
.hp-faq summary::after { content: "+"; position: absolute; right: 1.4rem; top: 50%; color: var(--red); font: 1.2rem "DM Mono", monospace; transform: translateY(-50%); }
.hp-faq details[open] summary::after { content: "−"; }
.hp-faq details p { padding: 0 1.4rem 1.4rem; color: var(--muted); font-size: .86rem; line-height: 1.65; }

.cta-section { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; min-height: 75vh; padding: 6rem 2.5rem; align-items: center; color: var(--paper); background: var(--ink); }
.hp-cta-kicker { margin-bottom: 1.5rem; color: var(--red); font: .65rem "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.cta-headline { color: var(--paper); font: 400 clamp(4rem,7vw,7.5rem)/.84 "Bebas Neue", Impact, sans-serif; }
.cta-headline span { color: var(--red); }
.cta-right { display: flex; flex-direction: column; gap: 1.25rem; }
.cta-body { max-width: 47ch; color: rgba(245,242,235,.58); font-size: .97rem; line-height: 1.7; }
.cta-button { align-self: flex-start; padding: 1.1rem 2.2rem; color: var(--paper); background: var(--red); font: 500 .82rem "DM Mono", monospace; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.cta-button:hover { background: var(--red-dark); }
.cta-note { color: rgba(245,242,235,.34); font-size: .78rem; }

footer { display: flex; padding: 2rem 2.5rem; align-items: center; justify-content: space-between; border-top: 1px solid var(--ink); }
.footer-logo { font-size: 1.2rem; }
.footer-links { display: flex; gap: 1.5rem; align-items: center; }
.footer-link { border: 0; padding: 0; color: var(--muted); background: transparent; font: .72rem "DM Mono", monospace; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.footer-copy { color: var(--muted); font-size: .8rem; }

@media (max-width: 1050px) {
  .hp-metrics__grid { grid-template-columns: 1fr 1fr; }
  .hp-metric:nth-child(2) { border-right: 0; }
  .hp-metric:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .hp-compare-map { grid-template-columns: minmax(11rem,.7fr) 2rem minmax(18rem,1.3fr); }
  .hp-compare-map__field + .hp-compare-map__connector { display: none; }
  .hp-compare-map__result { grid-column: 1 / -1; min-height: auto; margin-top: 2rem; }
  .hp-compare-map__result > strong { margin-top: 3rem; }
}

@media (max-width: 800px) {
  .nav-links { gap: 1rem; }
  .nav-link, .nav-cta-desktop { display: none; }
  .menu-btn { display: block; }
  .mobile-menu { display: flex; }
  .horsepower-hero .cinema-hero__grid { grid-template-columns: 1fr; }
  .horsepower-hero .cinema-hero__title { font-size: clamp(4.2rem,19vw,7.2rem); }
  .hp-console { max-width: 32rem; }
  .hp-waitlist { grid-template-columns: 1fr; padding: 4rem 1.25rem; }
  .hp-intro, .hp-trust { grid-template-columns: 1fr; }
  .hp-intro__statement, .hp-trust > div:first-child { border-right: 0; border-bottom: 1px solid var(--ink); }
  .hp-intro__statement, .hp-intro__copy, .hp-trust > div { padding: 4rem 1.25rem; }
  .hp-metrics, .hp-map-section, .hp-process, .hp-faq { padding: 4rem 1.25rem; }
  .hp-section-head { grid-template-columns: 1fr; gap: 1.4rem; }
  .hp-process { grid-template-columns: 1fr; gap: 3rem; }
  .hp-compare-map { grid-template-columns: 1fr; }
  .hp-compare-map__task,
  .hp-compare-map__result { min-height: 15rem; }
  .hp-compare-map__connector { min-height: 3rem; transform: rotate(90deg); }
  .hp-compare-map__field + .hp-compare-map__connector { display: grid; }
  .hp-compare-map__field { grid-column: 1; }
  .hp-compare-map__result { grid-column: 1; margin-top: 0; }
  .hp-faq__grid { grid-template-columns: 1fr; }
  .hp-faq details,
  .hp-faq details:nth-child(odd),
  .hp-faq details:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--ink); }
  .hp-faq details:last-child { border-bottom: 0; }
  .cta-section { grid-template-columns: 1fr; min-height: auto; gap: 3rem; padding: 5rem 1.25rem; }
  footer { flex-direction: column; gap: .7rem; padding: 1.5rem 1.25rem; text-align: center; }
  .footer-links { display: none; }
}

@media (max-width: 560px) {
  .hp-metrics__grid { grid-template-columns: 1fr; }
  .hp-metric { min-height: 17rem; border-right: 0; border-bottom: 1px solid var(--ink); }
  .hp-metric:last-child { border-bottom: 0; }
  .hp-signup__row { grid-template-columns: 1fr; }
  .hp-signup input[type="email"] { border-right: 1px solid var(--ink); border-bottom: 0; }
  .hp-signup button { width: 100%; }
  .hp-model-lanes div { grid-template-columns: 1fr; gap: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
