@font-face { font-family:'TRAK Display'; src:url('assets/fonts/TRAKSansDisplay-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'TRAK Display'; src:url('assets/fonts/TRAKSansDisplay-SemiBold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'TRAK Display'; src:url('assets/fonts/TRAKSansDisplay-Bold.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'TRAK Display'; src:url('assets/fonts/TRAKSansDisplay-ExtraBold.woff2') format('woff2'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'TRAK Studio'; src:url('assets/fonts/TRAKSansStudio6040-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'TRAK Studio'; src:url('assets/fonts/TRAKSansStudio6040-Medium.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'TRAK Studio'; src:url('assets/fonts/TRAKSansStudio6040-SemiBold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'TRAK Studio'; src:url('assets/fonts/TRAKSansStudio6040-Bold.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
.vit {
  --ink:#111111; --ink-2:#2b2b2b; --ink-3:#3a3a3a; --muted:#555555;
  --placeholder:#7a7a7a; --input-line:#9a9a9a; --paper:#ffffff; --paper-2:#f2f2f2;
  --panel:#2C498C; --dark-line:#2a2a2a; --on-dark-2:#cfcfcf;
  --font-display:'TRAK Display',system-ui,sans-serif; --font-body:'TRAK Studio',system-ui,sans-serif;
  --radius-sm:4px; --radius-md:8px; --control-h:52px;
  margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.55 var(--font-body);
  text-align:left; -webkit-text-size-adjust:100%;
}
.vit *, .vit *::before, .vit *::after { box-sizing:border-box; }
.vit :where(h1,h2,h3,p,figure,blockquote,form) { margin:0; padding:0; }
.vit a { color:inherit; text-decoration:none; }
.vit img { display:block; max-width:100%; }
.vit [hidden] { display:none !important; }
.vit :is(a,input,button):focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.vit h1, .vit h2, .vit h3 { font-family:var(--font-display); color:inherit; }
.vit h1 { font-size:clamp(40px,4.4vw,60px); font-weight:800; line-height:1.03; letter-spacing:-.02em; }
.vit h2 { font-size:clamp(30px,3.4vw,40px); font-weight:800; line-height:1.1; letter-spacing:-.02em; }
.vit .vit-hero { display:flex; flex-wrap:wrap; min-height:820px; position:relative; overflow:hidden; }
.vit .vit-hero-copy { flex:1 1 560px; min-width:0; display:flex; align-items:center; justify-content:flex-end; padding:56px 72px 72px 24px; }
.vit .vit-hero-inner { width:100%; max-width:540px; }
.vit .vit-logo { display:flex; align-items:center; gap:10px; width:fit-content; min-height:44px; margin-bottom:72px; }
.vit .vit-logo svg { flex-shrink:0; }
.vit .vit-lockup { display:flex; flex-direction:column; line-height:1; font-family:var(--font-display); }
.vit .vit-wordmark { font-size:24px; font-weight:800; letter-spacing:-.01em; }
.vit .vit-byline { font-size:12px; color:var(--muted); margin-top:4px; }
.vit .vit-body { display:flex; flex-direction:column; gap:14px; margin-top:24px; font-size:18px; line-height:1.55; color:var(--ink-2); }
.vit .vit-hero .vit-signup { margin-top:32px; }
.vit .vit-panel { flex:1 1 520px; min-width:0; min-height:620px; position:relative; background:var(--panel); }
.vit .vit-swirl { position:absolute; inset:0; overflow:hidden; z-index:1; pointer-events:none; }
.vit .vit-swirl img { position:absolute; left:50%; top:50%; width:175%; max-width:none; height:auto; transform:translate(-40%,-48%) rotate(-8deg); opacity:.65; }
.vit .vit-phone { position:absolute; z-index:2; left:-80px; top:56px; width:clamp(460px,100%,600px); max-width:none; height:auto; filter:drop-shadow(24px 40px 40px rgba(0,0,0,.35)); }
.vit .vit-signup { width:100%; }
.vit .vit-form { display:flex; flex-wrap:wrap; gap:8px; position:relative; }
.vit .vit-form input, .vit .vit-form button { height:var(--control-h); border-radius:var(--radius-sm); font-family:var(--font-body); box-shadow:none; }
.vit .vit-form input { flex:3 1 240px; min-width:0; width:auto; padding:0 16px; font-size:17px; font-weight:400; line-height:normal; border:1.5px solid var(--input-line); color:var(--ink); background:var(--paper); }
/* #737373 is the nearest darker AA-compliant placeholder on white. */
.vit .vit-form input::placeholder { color:#737373; opacity:1; }
.vit .vit-form button { flex:1 0 150px; padding:0 28px; border:0; font-size:15px; font-weight:700; line-height:1; letter-spacing:.04em; text-transform:uppercase; color:var(--paper); background:var(--ink); cursor:pointer; }
.vit .vit-form button:hover { background:var(--ink-3); }
.vit .vit-form button:disabled { opacity:.65; cursor:wait; }
.vit .vit-fine-print, .vit .vit-message { font-size:13px; line-height:1.55; color:var(--muted); }
.vit .vit-hero .vit-fine-print, .vit .vit-message { margin-top:12px; }
.vit .vit-signup:has(.vit-form[hidden]) .vit-message { font-size:17px; margin:0; min-height:var(--control-h); display:flex; align-items:center; }
.vit .vit-sr-only, .vit .vit-honeypot { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.vit .vit-container { max-width:1248px; margin:0 auto; padding:88px 24px; }
.vit .vit-testimonials { background:var(--paper-2); }
.vit .vit-testimonials .vit-container { display:flex; flex-direction:column; gap:40px; }
.vit .vit-quotes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:20px; }
.vit .vit-quotes figure { padding:32px; background:var(--paper); border-radius:var(--radius-md); }
.vit .vit-quotes blockquote { font-size:19px; line-height:1.45; font-weight:500; }
.vit .vit-issues { display:flex; flex-direction:column; gap:36px; }
.vit .vit-intro { margin-top:10px; font-size:18px; line-height:1.55; color:var(--ink-3); }
.vit .vit-issue-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:28px; }
.vit .vit-issue { display:flex; flex-direction:column; gap:14px; }
.vit .vit-issue img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius-md); }
.vit .vit-issue time { font-size:13px; color:var(--muted); }
.vit .vit-issue h3 { font-size:22px; line-height:1.2; font-weight:700; }
.vit .vit-issue:hover h3 { text-decoration:underline; text-underline-offset:3px; }
.vit .vit-archive { display:flex; justify-content:center; }
.vit .vit-archive a { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:10px 30px; border:2px solid var(--ink); border-radius:var(--radius-sm); font-size:15px; line-height:1.2; font-weight:700; text-align:center; }
.vit .vit-archive a:hover { background:var(--ink); color:var(--paper); }
.vit .vit-cta { background:var(--ink); color:var(--paper); }
.vit .vit-cta-inner { max-width:768px; margin:0 auto; padding:88px 24px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:22px; }
.vit .vit-cta h2 { font-size:clamp(30px,4vw,44px); }
.vit .vit-cta .vit-signup { max-width:520px; margin-top:6px; }
.vit .vit-cta input { background:var(--ink); color:var(--paper); border-color:var(--muted); }
.vit .vit-cta input::placeholder { color:#949494; }
.vit .vit-cta button { background:var(--paper); color:var(--ink); }
.vit .vit-cta button:hover { background:var(--paper-2); }
.vit .vit-cta :is(input,button):focus-visible { outline-color:var(--paper); }
.vit .vit-cta .vit-fine-print, .vit .vit-cta .vit-message { font-size:15px; color:var(--on-dark-2); max-width:560px; }
.vit .vit-footer { background:var(--ink); color:var(--paper); border-top:1px solid var(--dark-line); padding:28px 24px; font-size:14px; text-align:center; }
/* Let wide desktops use the canvas while keeping paragraphs readable. */
@media (min-width:1441px) {
  .vit { --wide-content-width:min(calc(100vw - 192px),1920px); }
  .vit .vit-container { max-width:var(--wide-content-width); }
  .vit .vit-hero { min-height:clamp(820px,calc(820px + (100vw - 1440px) * .12),960px); }
  .vit .vit-hero-copy {
    justify-content:flex-start;
    padding-left:calc((100vw - var(--wide-content-width)) / 2 + 24px);
    padding-right:112px;
  }
  .vit .vit-hero-inner { max-width:720px; }
  .vit h1 { font-size:clamp(60px,calc(60px + (100vw - 1440px) * .025),80px); }
  .vit .vit-body { max-width:640px; font-size:clamp(18px,calc(18px + (100vw - 1440px) * .002),20px); }
  .vit .vit-hero .vit-signup { max-width:640px; }
  .vit .vit-phone { width:clamp(600px,calc(600px + (100vw - 1440px) * .25),900px); }
  .vit .vit-quotes { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1080px) {
  .vit .vit-panel { display:none; }
  .vit .vit-hero { min-height:0; }
  .vit .vit-hero-copy { justify-content:center; padding:48px 24px 64px; }
  .vit .vit-hero-inner { max-width:620px; }
  .vit .vit-logo { margin-bottom:48px; }
}
@media (max-width:599px) {
  .vit .vit-hero-copy { padding:32px 24px 48px; }
  .vit .vit-logo { margin-bottom:40px; }
  .vit .vit-form > input, .vit .vit-form > button { flex-basis:100%; width:100%; }
  .vit .vit-container, .vit .vit-cta-inner { padding-top:56px; padding-bottom:56px; }
}
