@font-face {
  font-family: "Alte Haas Grotesk";
  src: url("./assets/fonts/AlteHaasGroteskRegular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Alte Haas Grotesk";
  src: url("./assets/fonts/AlteHaasGroteskBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Nyght Serif";
  src: url("./assets/fonts/NyghtSerif-LightItalic.otf") format("opentype");
  font-style: italic;
  font-weight: 300;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --orange: #ff5a1f;
  --ink: #0f0f0e;
  --field: #1e3a2b;
  --sage: #d4dbce;
  --paper: #f2eee6;
  --paper-dim: #d9d4cb;
  --line-dark: rgba(15, 15, 14, 0.22);
  --line-light: rgba(242, 238, 230, 0.2);
  --shell: min(1180px, calc(100% - 64px));
  --sans: "Alte Haas Grotesk", "Helvetica Neue", Arial, sans-serif;
  --serif: "Nyght Serif", Georgia, serif;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; overflow-x: hidden; color: var(--paper); background: var(--ink); font-family: var(--sans); font-size: 17px; line-height: 1.45; }
body::after { content: ""; position: fixed; z-index: 100; inset: 0; opacity: .045; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
a { color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure, blockquote { margin-top: 0; }
h1, h2, h3 { font-family: var(--sans); }
.shell { width: var(--shell); margin-inline: auto; }

.site-header { min-height: 88px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; border-bottom: 1px solid var(--line-light); }
.brand { width: 186px; display: inline-flex; }
.brand img { width: 100%; }
.header-cta { justify-self: end; padding: 12px 17px 10px; color: var(--ink); background: var(--orange); border: 1px solid var(--orange); text-decoration: none; font-size: .68rem; font-weight: 700; letter-spacing: .05em; transition: background .2s ease, color .2s ease; }
.header-cta:hover { color: var(--orange); background: transparent; }

.hero { padding: 42px 0 92px; position: relative; }
.section-pill { width: fit-content; color: var(--orange); font-size: .61rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.hero-intro { max-width: 1100px; margin: 42px auto 38px; text-align: center; }
.overline { margin-bottom: 25px; color: var(--orange); font-size: .82rem; font-weight: 700; letter-spacing: .16em; }
.hero h1 { margin: 0 0 28px; font-size: clamp(3.6rem, 6.5vw, 7rem); font-weight: 700; letter-spacing: -.055em; line-height: .88; }
.hero h1 span { display: block; color: var(--paper); }
.hero h1 em { display: block; color: var(--orange); font-family: var(--sans); font-style: normal; font-size: .96em; font-weight: 700; letter-spacing: -.055em; line-height: .95; }
.video-cue { width: fit-content; margin: 29px auto 0; display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--orange); text-decoration: none; }
.video-cue span { display: block; font-size: 2.2rem; font-weight: 700; line-height: 1; }
.video-cue span:nth-child(2) { opacity: .72; }
.video-cue span:nth-child(3) { opacity: .42; }

.vsl-stage { max-width: 1080px; margin: 0 auto; }
.vsl-frame { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #050505; border: 1px solid rgba(255, 90, 31, .9); box-shadow: 0 0 0 8px rgba(255, 90, 31, .08), 24px 24px 0 var(--field); }
.vsl-frame video { width: 100%; height: 100%; display: block; object-fit: cover; background: #050505; }
.vsl-sound { position: absolute; left: 50%; bottom: 54px; z-index: 3; min-width: 230px; padding: 15px 22px 13px; transform: translateX(-50%); color: var(--ink); background: var(--orange); border: 1px solid var(--paper); box-shadow: 8px 8px 0 rgba(15,15,14,.75); cursor: pointer; font-family: var(--sans); font-size: .73rem; font-weight: 700; letter-spacing: .06em; }
.vsl-sound[hidden] { display: none; }
.vsl-sound span { margin-right: 7px; }
.vsl-sound small { margin-top: 4px; display: block; font-size: .56rem; font-weight: 400; letter-spacing: 0; }
.form-card { width: min(1080px, 100%); margin: 76px auto 0; padding: 28px 26px 20px; position: relative; color: var(--ink); background: var(--paper); border: 1px solid var(--paper); box-shadow: 22px 22px 0 var(--field); }
.form-badge { position: absolute; top: -15px; right: -1px; padding: 8px 11px 6px; color: var(--paper); background: var(--orange); font-size: .53rem; font-weight: 700; letter-spacing: .1em; }
.form-head { padding: 8px 3px 18px; border-bottom: 1px solid var(--line-dark); text-align: center; }
.form-head h2 { margin: 0 0 8px; font-size: 2.45rem; letter-spacing: -.045em; line-height: .95; }
.form-head p { margin: 0; color: #5c5a55; font-size: .8rem; line-height: 1.4; }
.ghl-frame { width: 100%; min-height: 370px; margin-top: 6px; display: block; border: 0; }
.privacy-note { max-width: 44ch; margin: 2px auto 0; display: block; color: #706d66; font-size: .58rem; line-height: 1.45; text-align: center; }
.privacy-note strong, .privacy-note a { color: #4d4a45; }
.privacy-note a { text-underline-offset: 2px; }

.stats-strip { margin-top: 72px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.stats-strip div { padding: 27px 22px 26px 0; }
.stats-strip div + div { padding-left: 22px; border-left: 1px solid var(--line-light); }
.stats-strip strong { display: block; color: var(--orange); font-size: 2rem; letter-spacing: -.04em; line-height: 1; }
.stats-strip span { color: var(--paper-dim); font-size: .67rem; }

.proof-section, .final-cta { padding: 116px 0; }
.final-cta h2 { margin-bottom: 22px; font-size: clamp(3.5rem, 6.5vw, 7rem); font-weight: 700; letter-spacing: -.055em; line-height: .87; }
.final-cta h2 span { color: var(--orange); font-family: var(--serif); font-weight: 300; }

.proof-section { width: 100%; max-width: none; padding-inline: max(32px, calc((100vw - 1180px) / 2)); color: var(--ink); background: var(--paper); }
.google-reviews-head { text-align: left; display: grid; grid-template-columns: 1fr auto; align-items: end; column-gap: 36px; border-bottom: 1px solid var(--ink); padding-bottom: 34px; }
.google-heading h2 { max-width: 820px; margin: 25px 0 0; font-size: clamp(3.1rem, 5.9vw, 6.35rem); letter-spacing: -.06em; line-height: .88; }
.google-brand-lockup { display: flex; align-items: baseline; gap: 13px; color: #5f6368; font-family: Arial, sans-serif; font-size: 1.45rem; }
.google-wordmark { display: inline-flex; font-size: 2.6rem; font-weight: 600; letter-spacing: -.12em; }
.google-wordmark i { font-style: normal; }
.google-wordmark i:nth-child(1), .google-wordmark i:nth-child(4) { color: #4285f4; }
.google-wordmark i:nth-child(2), .google-wordmark i:nth-child(6) { color: #ea4335; }
.google-wordmark i:nth-child(3) { color: #fbbc05; }
.google-wordmark i:nth-child(5) { color: #34a853; }
.google-score { min-width: 220px; text-align: right; }
.google-score strong { display: block; font-size: 7.3rem; letter-spacing: -.09em; line-height: .72; }
.google-score strong span { color: #77736c; font-size: 1.15rem; letter-spacing: 0; }
.google-score b { margin-top: 22px; display: block; color: var(--orange); font-size: 1.55rem; letter-spacing: .09em; }
.google-reviews-head p { grid-column: 1 / -1; max-width: 560px; margin: 18px 0 0; color: #6a665f; font-size: .69rem; }
.google-review-wall { margin: 48px auto 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.google-review-card { grid-column: span 2; min-width: 0; min-height: 330px; margin: 0; padding: 28px; display: flex; flex-direction: column; color: var(--ink); background: var(--paper); border: 1px solid var(--ink); box-shadow: 7px 7px 0 rgba(15,15,14,.16); }
.google-review-card:nth-last-child(-n+2) { grid-column: span 3; min-height: 285px; }
.google-review-card:nth-child(odd) { background: var(--sage); }
.google-review-card header { display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; }
.review-avatar { width: 44px; height: 44px; display: grid; place-items: center; color: var(--paper); background: var(--field); border-radius: 50%; font-size: .8rem; font-weight: 700; }
.google-review-card header strong { display: block; font-size: .75rem; }
.google-review-card .masked-name { width: fit-content; filter: blur(1.15px); letter-spacing: .02em; user-select: none; }
.google-review-card header small { display: block; color: #6d6961; font-size: .57rem; }
.google-g { font-family: Arial, sans-serif; font-size: 1.5rem; font-weight: 800; background: linear-gradient(135deg, #4285f4 0 36%, #ea4335 36% 54%, #fbbc05 54% 72%, #34a853 72%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.google-review-card > b { margin: 25px 0 12px; color: var(--orange); font-size: .9rem; letter-spacing: .04em; }
.google-review-card p { font-size: .84rem; font-weight: 400; line-height: 1.55; }
.google-review-card footer { margin-top: auto; color: #716d65; font-size: .56rem; }

.primary-cta { width: fit-content; min-width: 360px; min-height: 68px; margin: 42px auto 0; padding: 13px 20px; display: grid; grid-template-columns: 1fr auto; align-items: center; color: var(--paper); background: var(--field); border: 1px solid var(--field); text-decoration: none; font-size: .73rem; font-weight: 700; transition: background .2s ease, color .2s ease; }
.primary-cta:hover { color: var(--field); background: transparent; }
.primary-cta span { font-size: 1.1rem; }
.primary-cta small { grid-column: 1 / -1; opacity: .65; font-size: .59rem; font-weight: 400; }
.final-cta { padding: 88px 0; position: relative; text-align: left; }
.final-cta h2 { max-width: 1050px; }
.final-cta > p:not(.section-pill) { max-width: 600px; color: var(--paper-dim); }
.final-cta .primary-cta { margin-left: 0; color: var(--ink); background: var(--orange); border-color: var(--orange); }
.final-cta .primary-cta:hover { color: var(--orange); background: transparent; }

body > footer { padding: 58px 0 25px; background: var(--field); border-top: 1px solid var(--line-light); }
.footer-main { padding-bottom: 38px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 35px; align-items: center; border-bottom: 1px solid var(--line-light); }
.footer-main p { margin: 0; color: var(--sage); }
.footer-main > a:last-child { color: var(--orange); font-size: .68rem; font-weight: 700; text-underline-offset: 5px; }
.footer-legal { padding: 18px 0 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.footer-legal a, .footer-legal button { padding: 0; color: var(--sage); background: none; border: 0; font: inherit; font-size: .62rem; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.footer-legal a:hover, .footer-legal button:hover { color: var(--paper); }
.footer-bottom { padding-top: 21px; display: flex; justify-content: space-between; color: var(--sage); font-size: .6rem; letter-spacing: .06em; }
.cookie-notice { width: min(720px, calc(100% - 28px)); padding: 22px; position: fixed; z-index: 120; right: 24px; bottom: 24px; display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: end; color: var(--paper); background: #0a0a09; border: 1px solid var(--paper); box-shadow: 10px 10px 0 rgba(255, 90, 31, .75); }
.cookie-notice[hidden] { display: none; }
.cookie-notice strong { display: block; margin-bottom: 7px; font-size: .85rem; }
.cookie-notice p { margin: 0; color: var(--paper-dim); font-size: .66rem; line-height: 1.55; }
.cookie-notice a { color: var(--paper); text-underline-offset: 3px; }
.cookie-actions { display: flex; gap: 8px; }
.cookie-actions button { min-height: 42px; padding: 10px 14px; border: 1px solid var(--orange); cursor: pointer; font-family: var(--sans); font-size: .6rem; font-weight: 700; }
.cookie-primary { color: var(--ink); background: var(--orange); }
.cookie-secondary { color: var(--orange); background: transparent; }
.thank-you-page { background: var(--ink); }
.thank-you-main { padding: 86px 0 118px; }
.success-mark { width: 68px; height: 68px; margin: 0 0 30px; display: grid; place-items: center; color: var(--ink); background: var(--orange); font-size: 1.8rem; font-weight: 700; }
.kicker { color: var(--orange); font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.thank-you-main > h1 { max-width: 990px; margin: 0 0 25px; font-size: clamp(4rem, 8vw, 8rem); letter-spacing: -.055em; line-height: .84; }
.thank-you-main > h1 em { color: var(--orange); font-family: var(--serif); font-weight: 300; }
.thank-you-lede { max-width: 700px; margin: 0; color: var(--paper-dim); }
.next-steps { margin: 0; padding: 0 30px; list-style: none; background: var(--field); }
.thank-you-steps { max-width: 900px; margin-top: 70px; border: 1px solid var(--paper); }
.next-steps li { padding: 24px 0; display: grid; grid-template-columns: 45px 1fr; gap: 15px; border-bottom: 1px solid var(--line-light); }
.next-steps li > span { color: var(--orange); }
.next-steps h2 { margin: 0 0 5px; font-size: 1.35rem; }
.next-steps p { margin: 0; color: var(--sage); font-size: .76rem; }
.back-link { margin-top: 40px; display: inline-block; color: var(--orange); font-size: .72rem; }

@media (max-width: 1020px) {
  .site-header { grid-template-columns: 1fr auto; }
  .form-card { width: 100%; }
  .google-review-wall { grid-template-columns: repeat(5, 340px); overflow-x: auto; scroll-snap-type: x mandatory; }
  .google-review-card, .google-review-card:nth-last-child(-n+2) { grid-column: auto; min-height: 310px; scroll-snap-align: start; }
}

@media (max-width: 680px) {
  :root { --shell: min(100% - 28px, 1180px); }
  body { font-size: 16px; }
  .site-header { min-height: 70px; }
  .brand { width: 148px; }
  .header-cta { padding: 9px 10px 8px; font-size: .54rem; }
  .hero { min-height: auto; padding: 26px 0 72px; }
  .hero-intro { margin: 24px auto 28px; }
  .overline { margin-bottom: 18px; font-size: .66rem; }
  .hero h1 { margin-bottom: 20px; font-size: clamp(3rem, 14vw, 4.8rem); line-height: .9; }
  .video-cue { margin-top: 22px; gap: 6px; }
  .video-cue span { font-size: 1.75rem; }
  .vsl-frame { box-shadow: 0 0 0 4px rgba(255, 90, 31, .08), 10px 10px 0 var(--field); }
  .vsl-sound { bottom: 42px; min-width: 190px; padding: 12px 14px 10px; font-size: .64rem; }
  .form-card { margin-top: 58px; padding: 17px 11px 13px; box-shadow: 10px 10px 0 var(--field); }
  .form-badge { right: -1px; font-size: .46rem; }
  .form-head { padding: 4px 4px 8px; }
  .form-head h2 { font-size: 1.85rem; }
  .form-head p { font-size: .65rem; }
  .ghl-frame { min-height: 380px; margin-top: 1px; }
  .privacy-note { max-width: 39ch; font-size: .54rem; }
  .stats-strip { margin-top: 58px; grid-template-columns: 1fr 1fr; }
  .stats-strip div { padding: 19px 13px 18px 0; }
  .stats-strip div + div { padding-left: 13px; }
  .stats-strip div:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-light); }
  .stats-strip div:nth-child(4) { border-top: 1px solid var(--line-light); }
  .stats-strip strong { font-size: 1.55rem; }
  .proof-section { padding: 78px 14px; }
  .final-cta { padding: 64px 0; }
  .final-cta h2 { font-size: clamp(3rem, 14vw, 4.7rem); }
  .google-reviews-head { grid-template-columns: 1fr; gap: 34px; }
  .google-heading h2 { font-size: clamp(3rem, 13vw, 4.7rem); }
  .google-brand-lockup { gap: 9px; font-size: 1.1rem; }
  .google-wordmark { font-size: 2rem; }
  .google-score { min-width: 0; text-align: left; }
  .google-score strong { font-size: 5.4rem; }
  .google-score b { margin-top: 15px; }
  .google-review-wall { grid-template-columns: repeat(5, 88vw); width: calc(100% + 28px); margin-left: -14px; padding: 0 14px 12px; }
  .google-review-card, .google-review-card:nth-last-child(-n+2) { min-height: 295px; padding: 24px; }
  .primary-cta { width: 100%; min-width: 0; }
  .footer-main { display: flex; align-items: flex-start; flex-direction: column; }
  .footer-legal { padding-top: 20px; gap: 12px 18px; }
  .footer-bottom { gap: 10px; flex-direction: column; }
  .cookie-notice { right: 14px; bottom: 14px; grid-template-columns: 1fr; gap: 16px; box-shadow: 7px 7px 0 rgba(255, 90, 31, .75); }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .thank-you-main { padding-top: 58px; }
  .thank-you-main > h1 { font-size: clamp(3.4rem, 16vw, 5.3rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
