@font-face{
  font-family:"Public Sans";
  src:url("fonts/public-sans-latin-wght-normal.woff2") format("woff2-variations");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Public Sans";
  src:url("fonts/public-sans-latin-wght-italic.woff2") format("woff2-variations");
  font-weight:100 900;
  font-style:italic;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --ink:#121212;
  --ink-2:#3a3a3a;
  --muted:#5c5c5c;
  --line:#cdd3ce;
  --bg:#fff;
  --fill:#eef1ee;
  --sage:#3d5a4a;
  --navy:#1a2529;
  --err:#b3261e;
  --font:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-weight-normal:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --z-skip:100;
  --measure:42rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  border-top:4px solid var(--sage);
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  font-size:16px;
  font-weight:var(--font-weight-normal);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(61,90,74,.2);color:var(--ink)}
a{color:var(--ink);text-decoration-color:rgba(61,90,74,.45);text-underline-offset:3px}
a:hover{text-decoration-color:var(--ink)}
.wrap{width:100%;max-width:var(--measure);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:var(--z-skip)}
.skip:focus{left:8px}
:focus-visible{outline:2px solid #111;outline-offset:3px}
[id]{scroll-margin-top:24px}

/* header */
.topbar{border-bottom:1px solid var(--line)}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:64px;
  padding-top:12px;
  padding-bottom:12px;
}
.wordmark{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:var(--font-weight-semibold);
  text-decoration:none;
  letter-spacing:-.01em;
}
.wordmark:hover{text-decoration:none}
.wordmark:hover span{text-decoration:underline;text-decoration-color:rgba(18,18,18,.35);text-underline-offset:3px}
.wordmark picture.avatar{display:block;width:48px;height:48px;flex-shrink:0;line-height:0}
.avatar img{
  display:block;
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:cover;
}
.topbar__link{color:var(--muted);text-decoration:none;font-size:14px;padding:10px 0;margin:-10px 0}
.topbar__link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* letter opening */
.hero{padding:56px 0 72px}
.eyebrow{margin:0 0 16px;font-size:13px;font-weight:var(--font-weight-medium);color:var(--sage)}
.hero h1{
  font-size:clamp(28px,6vw,40px);
  font-weight:var(--font-weight-semibold);
  line-height:1.15;
  letter-spacing:-.025em;
  margin:0 0 18px;
  max-width:20ch;
  text-wrap:balance;
}
.lede{font-size:18px;line-height:1.5;color:var(--ink-2);max-width:38ch;margin:0 0 20px}
.byline{margin:0 0 28px;color:var(--muted);font-size:15px;max-width:42ch}
.byline a{margin-left:.35em}
.jump{font-weight:var(--font-weight-medium);text-underline-offset:4px}

/* video */
.video-section{padding-bottom:64px}
.video{position:relative;aspect-ratio:9/16;width:min(100%,calc(80vh * 9 / 16));margin-inline:auto;overflow:hidden;background:var(--fill);border:1px solid var(--line)}
.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.video__poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer;display:block;text-align:left;font:inherit;color:#fff}
.video__poster picture,.video__poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.video__caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;background:var(--navy);border-top:1px solid rgba(255,255,255,.18)}
.video__kicker{font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.02em;color:#b9c9be}
.video__headline{font-size:clamp(18px,2.6vw,21px);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:1.25;text-wrap:balance}
.video__cta{margin-top:6px;font-size:14px;font-weight:var(--font-weight-medium);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.5)}
.video__poster:hover .video__cta{text-decoration-color:#fff}
.video__poster:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.video__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:32px 36px;color:var(--ink)}
.video__title{font-size:clamp(18px,2.4vw,22px);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;margin:0 0 8px;text-wrap:balance}
.video__sub{margin:0;max-width:42ch;color:var(--muted);font-size:15px}

/* companies */
.brands{padding-bottom:16px}
.brands h2{
  font-size:13px;
  font-weight:var(--font-weight-medium);
  color:var(--sage);
  margin:0;
  padding:0 0 12px;
  border-bottom:1px solid var(--line);
  text-wrap:balance;
}
.brands__list{list-style:none;margin:0;padding:0}
.brands__list li{
  display:grid;
  grid-template-columns:11rem 1fr;
  gap:16px 24px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.brands__list h3{margin:0;font-size:17px;font-weight:var(--font-weight-semibold);letter-spacing:-.015em;line-height:1.3}
.brands__list p{margin:0;color:var(--ink-2);font-size:15px}
.brand-links{margin-top:10px !important;display:flex;flex-wrap:wrap;gap:4px 18px}

/* form */
.form-section{padding:64px 24px 88px}
.form-head h2{
  font-size:clamp(24px,4vw,32px);
  font-weight:var(--font-weight-semibold);
  letter-spacing:-.025em;
  line-height:1.15;
  margin:0 0 8px;
  text-wrap:balance;
}
.form-head p{margin:0 0 32px;color:var(--muted)}
fieldset{border:0;margin:0;padding:28px 0 8px;border-top:1px solid var(--line)}
fieldset.extra{border-bottom:0}
legend{float:left;width:100%;padding:0;margin:0 0 18px;font-size:13px;font-weight:var(--font-weight-medium);color:var(--muted)}
legend+*{clear:both}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.field{margin-bottom:20px}
label{display:block;font-weight:var(--font-weight-medium);font-size:15px;margin-bottom:6px}
.hint{margin:-2px 0 8px;color:var(--muted);font-size:14px;line-height:1.5}
.req{color:var(--err);font-weight:var(--font-weight-semibold)}
.opt{font-weight:var(--font-weight-normal);color:var(--muted);font-size:13px}
input,textarea{
  width:100%;
  font:inherit;
  font-size:16px;
  color:var(--ink);
  background:var(--bg);
  border:1px solid #c4c4c4;
  border-radius:0;
  padding:11px 12px;
  transition-property:border-color;
  transition-duration:150ms;
  transition-timing-function:ease-out;
}
textarea{resize:vertical;min-height:96px;line-height:1.5}
input::placeholder,textarea::placeholder{color:#8a8a8a}
input:hover,textarea:hover{border-color:#8a8a8a}
input:focus,textarea:focus{outline:2px solid #111;outline-offset:2px;border-color:var(--ink)}
.field.has-error input,.field.has-error textarea{border-color:var(--err)}
.error{margin:6px 0 0;color:var(--err);font-size:13.5px}
.error:empty{display:none}
.error--form{margin-top:12px}
.form__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--line)}
.fineprint{margin:0;color:var(--muted);font-size:13.5px}

/* buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:0;
  padding:13px 22px;
  min-height:44px;
  font-family:inherit;
  font-size:15px;
  font-weight:var(--font-weight-semibold);
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition-property:background-color,color,transform;
  transition-duration:150ms;
  transition-timing-function:ease-out;
}
.btn--primary{background:var(--navy);color:#fff}
.btn--primary:hover{background:#10181b;color:#fff}
.btn--primary:active{transform:scale(.96)}
.btn[disabled]{opacity:.7;cursor:progress}
.spinner{display:none;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite}
.is-sending .spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* thanks */
.thanks{padding:8px 0 16px}
.thanks:focus{outline:none}
.thanks h2{
  font-size:clamp(24px,4vw,32px);
  font-weight:var(--font-weight-semibold);
  letter-spacing:-.025em;
  line-height:1.15;
  margin:0 0 14px;
  text-wrap:balance;
}
.thanks p{max-width:42ch;margin:0 0 12px;color:var(--ink-2)}
.thanks__contact{color:var(--muted)!important;font-size:15px}
.thanks__sign{color:var(--ink)!important;margin-top:22px!important;font-weight:var(--font-weight-medium)}

/* footer */
.footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px;padding-bottom:env(safe-area-inset-bottom)}
.footer__inner{display:flex;justify-content:space-between;gap:12px;padding-top:20px;padding-bottom:28px;flex-wrap:wrap}
.footer__links{display:flex;gap:18px}
.footer a{color:var(--muted);text-decoration:none}
.footer a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

@media (max-width:840px){
  .hero{padding:40px 0 48px}
  .hero h1{font-size:28px}
  .lede{font-size:17px}
}
@media (max-width:640px){
  .wrap,.topbar__inner,.form-section{padding-left:20px;padding-right:20px}
  .video-section{padding-bottom:48px}
  .video__placeholder{padding:24px}
  .brands__list li{grid-template-columns:1fr;gap:6px;padding:18px 0}
  .grid-2{grid-template-columns:1fr}
  .form-section{padding-top:48px;padding-bottom:64px}
  .form__footer{flex-direction:column-reverse;align-items:stretch}
  .btn--primary{width:100%}
  .error--form{text-align:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
