@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/assets/fonts/montserrat-latin.woff2') format('woff2');
}

:root {
  color-scheme: dark;
  --background: #0b0b0c;
  --foreground: #f5f6f7;
  --panel: #141618;
  --border: rgba(255, 255, 255, 0.09);
  --gold: #f4ab3e;
  --muted: #a2a8ae;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { min-width: 280px; background: var(--background); color: var(--foreground); font: 400 16px/1.5 Montserrat, system-ui, sans-serif; letter-spacing: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
iframe { border: 0; }
h1, h2, h3 { overflow-wrap: anywhere; }
a:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--gold); outline-offset: 6px; }
.container { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 32px; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 10; padding: 10px 16px; background: var(--gold); color: var(--background); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; }
.brand-logo { flex-shrink: 0; object-fit: contain; }
.results-link { border: 1px solid rgba(244, 171, 62, 0.5); border-radius: 100px; padding: 6px 12px; color: var(--gold); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.results-link:hover { background: rgba(244, 171, 62, 0.08); }
.hero { max-width: 1000px; padding-top: 24px; padding-bottom: 40px; text-align: center; }
.eyebrow { color: var(--gold); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.hero h1 { margin-top: 16px; font-size: 62px; line-height: 1.05; font-weight: 900; }
.hero h1 span, .cohort-message span, .closing-cta h2 span { color: var(--gold); }
.hero-description { max-width: 680px; margin: 20px auto 0; color: var(--muted); font-size: 16px; }
.cohort-message { margin-top: 24px; font-size: 20px; font-weight: 800; }
.join-button { display: inline-flex; align-items: center; justify-content: center; min-height: 55px; max-width: 100%; margin-top: 24px; padding: 16px 36px; border-radius: 100px; background: var(--gold); color: var(--background); box-shadow: 0 8px 30px rgba(244, 171, 62, 0.28); font-size: 15px; font-weight: 800; text-transform: uppercase; transition: transform 150ms ease, background 150ms ease; }
.join-button:hover { transform: scale(1.04); background: #ffbb54; }
.google-rating { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 20px; font-size: 13px; font-weight: 700; }
.google-rating strong { color: var(--gold); }
.stars { display: block; flex: 0 0 88px; width: 88px; height: 16px; background: url('/assets/star.svg') left center / 18px 16px repeat-x; }
.client-logos { padding-bottom: 40px; }
.marquee { min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.marquee::-webkit-scrollbar { display: none; }
.marquee-track { display: flex; width: max-content; }
.marquee-track.is-ready { animation: marquee 20s linear infinite; will-change: transform; }
.marquee:hover .marquee-track, .marquee:focus-within .marquee-track { animation-play-state: paused; }
.marquee-set { display: flex; flex-shrink: 0; align-items: center; }
.logo-marquee { padding-block: 12px; border: 1px solid rgba(244, 171, 62, 0.18); border-radius: 8px; }
.logo-set { gap: 56px; padding-right: 56px; }
.logo-set img { width: 140px; height: 30px; flex-shrink: 0; object-fit: contain; opacity: 0.7; filter: grayscale(1); }
.edge-fade { mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent); }
@keyframes marquee { to { transform: translateX(-25%); } }
.testimonials { padding-bottom: 64px; }
.section-heading { margin-bottom: 32px; text-align: center; }
.section-heading h2 { font-size: 38px; line-height: 1.5; font-weight: 900; }
.section-heading > p:not(.eyebrow) { max-width: 620px; margin: 8px auto 0; color: var(--muted); font-size: 15px; }
.featured-testimonial { display: flex; align-items: center; gap: 40px; max-width: 880px; margin: 0 auto 26px; padding: 32px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); }
.video-frame { position: relative; aspect-ratio: 16 / 9; width: 100%; background: #080809; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.portrait-video { flex: 0 0 300px; max-width: 300px; aspect-ratio: 9 / 16; border-radius: 16px; overflow: hidden; }
.featured-copy { min-width: 0; flex: 1; }
.result-badge { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 4px 10px; border-radius: 100px; background: var(--gold); color: var(--background); font-size: 11px; font-weight: 700; }
.result-badge::before { content: ''; flex-shrink: 0; width: 8px; height: 8px; background: currentColor; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.featured-copy .result-badge { margin-top: 12px; }
blockquote { padding-left: 12px; border-left: 2px solid var(--gold); }
.quote-mark { color: var(--gold); }
.featured-copy blockquote { margin-top: 20px; padding-left: 16px; font-size: 24px; font-weight: 800; line-height: 1.375; }
.featured-copy h3 { margin-top: 20px; }
.company { min-height: 1.2em; margin-top: 2px; color: var(--gold); font-size: 13px; font-weight: 600; }
.featured-copy h3, .testimonial-copy h3 { font-size: 15px; font-weight: 800; }
.testimonial-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 26px; }
.testimonial-card { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); }
.video-frame > .result-badge { position: absolute; top: 12px; left: 12px; max-width: calc(100% - 24px); pointer-events: none; }
.testimonial-copy { padding: 20px; }
.testimonial-copy blockquote { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.625; }
.reviews { padding-bottom: 64px; }
.review-marquee { padding-inline: 20px; }
.review-marquee .marquee-track.is-ready { animation-duration: 30s; }
.review-set { align-items: stretch; gap: 20px; padding-right: 20px; }
.review-card { display: flex; flex: 0 0 358px; flex-direction: column; width: 358px; min-height: 260px; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); }
.review-rating { display: flex; align-items: center; gap: 8px; }
.review-card > p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; overflow: hidden; flex: 1; margin-top: 12px; color: var(--muted); font-size: 13.5px; line-height: 1.625; }
.review-card h3 { margin-top: 16px; font-size: 14px; font-weight: 800; }
.closing-cta { max-width: 1000px; padding-bottom: 64px; text-align: center; }
.closing-cta h2 { font-size: 36px; line-height: 1.25; font-weight: 900; }
.opt-in { max-width: 760px; padding-bottom: 80px; }
.opt-in h2 { margin-top: 12px; font-size: 34px; }
/* Match the embedded document's colour scheme so its transparent canvas stays transparent. */
.signup-form { display: block; width: 100%; height: 433px; border-radius: 8px; background: transparent; color-scheme: light; }
.site-footer { border-top: 1px solid var(--border); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-block: 24px; }
.footer-inner p { color: var(--muted); font-size: 13px; }

@media (max-width: 1023px) {
  .hero h1 { font-size: 52px; }
}
@media (max-width: 767px) {
  .featured-testimonial { flex-direction: column; gap: 24px; }
  .portrait-video { flex-basis: auto; }
  .featured-copy { text-align: center; }
  .featured-copy blockquote { text-align: left; }
}
@media (max-width: 639px) {
  .container { padding-inline: 20px; }
  .hero h1 { font-size: 34px; }
  .eyebrow { font-size: 11px; }
  .hero-description { font-size: 15px; }
  .cohort-message { font-size: 17px; }
  .section-heading h2 { font-size: 28px; }
  .featured-testimonial { padding: 20px; }
  .featured-copy blockquote { padding-left: 12px; font-size: 20px; }
  .closing-cta h2, .opt-in h2 { font-size: 26px; }
  .review-card { flex-basis: min(358px, calc(100vw - 40px)); width: min(358px, calc(100vw - 40px)); }
}
@media (max-width: 359px) {
  .site-header { gap: 8px; }
  .site-header .brand-logo { width: 120px; height: auto; }
  .results-link { padding-inline: 9px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marquee-track.is-ready { animation: none; }
  .join-button { transition: none; }
  .join-button:hover { transform: none; }
}
