/* Typography and close-up reference refinements. */
:where(img[width][height]) { height: auto; }
.socials .fa-brands { font-size: 16px; line-height: 1; letter-spacing: 0; }
.footer .legal { display: flex; justify-content: center; flex-wrap: wrap; column-gap: 20px; row-gap: 10px; }
.footer .legal a { color: inherit; text-decoration: none; }
.footer .legal a:hover,.footer .legal a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
:root {
  --font-sans: "Manrope", "Aptos", "Segoe UI", Arial, sans-serif;
  --font-serif: "Instrument Serif", "Iowan Old Style", Baskerville, Georgia, serif;
}

html { font-synthesis: none; }

body {
  font-family: var(--font-sans);
  font-weight: 400;
  letter-spacing: -.018em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input,
textarea,
select { font: inherit; }

.hero h1,
.about-title,
.section-title,
.contact-copy h2,
.stat strong { font-family: var(--font-sans); }

.hero-script,
.about-title em,
.section-title em,
.contact-copy em,
.process-grid h3,
.process-grid h3 em { font-family: var(--font-serif); }

.hero-script,
.about-title em,
.section-title em,
.contact-copy em,
.process-grid h3 { font-weight: 400; }

.nav-links a,
.pill,
.eyebrow,
.service-card,
.project-meta,
.footer-main nav,
.footer-button { letter-spacing: -.01em; }

.hero h1,
.about-title,
.section-title,
.contact-copy h2 { font-weight: 700; }

.process-grid p,
.testimonial-track p,
.stat small { letter-spacing: -.025em; }

@media (min-width: 1001px) {
  .site-header { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
  .site-header > .brand { grid-column: 1; justify-self: start; }
  .site-header > .nav-links { grid-column: 2; justify-self: center; }
  .site-header > .pill { grid-column: 3; justify-self: end; width: 190px; max-width: 100%; }

  .hero-shell { min-height: 675px; }
  .site-header { height: 100px; }
  .hero { height: 575px; padding-bottom: 0; }
  .hero h1 { font-size: 80px; line-height: 1.32; letter-spacing: -3.5px; }
  .hero-script { font-size: 58px; margin-bottom: 12px; }
  .hero-chip {
    position: relative;
    width: 250px;
    min-width: 250px;
    height: 95px;
    padding: 0 20px;
    overflow: hidden;
    border-radius: 50px;
    background:
      linear-gradient(90deg, rgba(36,45,74,.94) 0 32%, rgba(36,45,74,.58)),
      url("assets/Rocket money.png") center / cover;
    font-size: 16px;
    letter-spacing: -.04em;
    vertical-align: 18px;
    gap: 14px;
  }
  .hero-chip b { font-size: 20px; color: #fff; }

  .trusted { height: 185px; padding-top: 30px; }
  .trusted > p { margin-bottom: 22px; font-size: 14px; color: #111; }
  .trust-logos { gap: 48px; }
  .trust-logos img { height: 72px; opacity: .46; }

  .about { padding: 32px 0 115px; }
  .about-title { margin-bottom: 72px; font-size: 56px; line-height: 1.65; letter-spacing: -2.7px; }
  .about-title mark { padding: 2px 18px 4px; border-radius: 12px; }
  .about-grid { grid-template-rows: 275px 275px; gap: 20px; }
  .about-visual { background: #090b18; }
  .about-visual::after { content: ""; position: absolute; inset: 0; background: rgba(5,8,20,.2); z-index: 3; }
  .about-visual .montage { position: absolute; display: block; border-radius: 5px; object-fit: cover; box-shadow: 0 12px 28px rgba(0,0,0,.45); }
  .about-visual .rocket { z-index: 1; width: 78%; height: 34%; left: 7%; top: -4%; }
  .about-visual .adaptiq { z-index: 2; width: 78%; height: 49%; left: 4%; top: 20%; }
  .about-visual .silverstem { z-index: 1; width: 80%; height: 43%; left: 5%; top: 66%; }
  .about-visual .corefy { z-index: 2; width: 46%; height: 56%; left: 83%; top: 31%; }
  .showreel-label { position: absolute; z-index: 5; left: 50%; top: 51%; transform: translate(-50%,-50%); color: #ff563b; font-size: 16px; font-weight: 800; white-space: nowrap; }
  .stat { padding: 28px 30px; border: 1px solid #d7d7d7; }
  .stat strong { font-size: 56px; margin: 12px 0 24px; }
  .stat small { max-width: 260px; font-size: 17px; line-height: 1.5; }
  .stat-blue { border: 0; }
  .stat-lime { border-color: #bdd722; }

  .process { padding: 20px 0 105px; }
  .process > .eyebrow { margin-bottom: 38px; }
  .process > .section-title { margin-bottom: 110px; font-size: 54px; line-height: 1.03; letter-spacing: -2.6px; }
  .process-grid { column-gap: 125px; row-gap: 56px; }
  .process-grid article { grid-template-columns: 64px 1fr; }
  .process-grid .number { width: 38px; height: 30px; margin-top: 6px; font-size: 14px; }
  .process-grid h3 { margin-bottom: 16px; font-size: 42px; line-height: 1.15; }
  .process-grid h3 em { padding: 0 4px; background: var(--lime); color: #111; }
  .process-dot { padding: 0 6px; color: #ff593f; font-family: Arial, sans-serif; font-style: normal; }
  .process-grid p { max-width: 500px; font-size: 20px; line-height: 1.62; }

  .contact { padding: 52px 0; background: #f4f4f2; }
  .contact-box { width: min(1724px, calc(100% - 182px)); height: 663px; padding: 82px 137px; }
  .contact-copy { width: 72%; }
  .contact-copy h2 { margin-bottom: 42px; font-size: 64px; line-height: 1.35; letter-spacing: -3px; }
  .contact-copy .wide { width: 633px; height: 69px; border-radius: 12px; font-size: 14px; }
  .contact-box > img { width: 455px; height: 455px; align-self: center; }

  .footer { width: calc(100% - 62px); margin-top: 27px; margin-bottom: 27px; border-width: 8px; }
  .talk-bar { height: 143px; font-size: 24px; }
  .talk-bar a { font-size: 32px; font-weight: 400; }
  .footer-main { position: relative; min-height: 503px; padding-top: 45px; grid-template-rows: 115px 86px auto auto auto; }
  .footer-main::before { content: ""; position: absolute; left: 0; right: 0; top: 158px; height: 1px; background: #333; }
  .footer-main nav a { font-size: 14px; }
  .footer-button { padding: 16px 30px; border-radius: 12px; font-size: 12px; }
  .footer-main p { font-size: 18px; line-height: 1.35; }
  .footer-main .legal { font-size: 17px; }
}

