:root {
  --ivory: #f7f5ee;
  --ink: #111110;
  --violet: #6426ff;
  --violet-light: #8952ff;
  --rule: #92928f;
  --font: 'Inter', Arial, sans-serif;
  --display: 'Anton', Impact, sans-serif;
  --text: clamp(17px, 1.95vw, 34px);
  --heading: clamp(34px, 4.35vw, 78px);
  --gutter: clamp(22px, 5.45vw, 104px);
  --space: clamp(28px, 3vw, 58px);
  --radius: 0;
  --duration: 320ms;
  --ease: cubic-bezier(.3,.7,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--font); font-size: var(--text); letter-spacing: -.045em; -webkit-font-smoothing: antialiased; }
h1,h2,h3,p,ol { margin: 0; }
h1,h2,h3 { text-wrap: balance; }
h1,h2 { font-weight: 650; letter-spacing: -.065em; line-height: 1.02; }
h2 { font-size: var(--heading); }
p { line-height: 1.35; text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
button,input { font: inherit; color: inherit; border-radius: var(--radius); }
button,a,input { -webkit-tap-highlight-color: transparent; }
button,a { touch-action: manipulation; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
ol { padding: 0; list-style: none; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--violet-light); outline-offset: 6px; }
section { scroll-margin-top: 20px; }
.container { width: calc(100% - var(--gutter) * 2); margin-inline: auto; }
.eyebrow { font-size: clamp(12px,1.4vw,23px); text-transform: uppercase; font-weight: 650; letter-spacing: .015em; margin-bottom: 16px; }
.wordmark { font-weight: 700; font-size: clamp(26px,2.8vw,50px); letter-spacing: -.06em; line-height: 1; white-space: nowrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 23px 42px; border: 1px solid var(--violet); background: var(--violet); color: #fff; font-size: clamp(16px,1.8vw,30px); font-weight: 500; line-height: 1.25; white-space: nowrap; transition: background var(--duration) var(--ease), color var(--duration) var(--ease), transform var(--duration) var(--ease); }
.button:hover { background: #4e16db; }
.button:active { transform: translateY(2px); }
.button--outline { background: transparent; color: var(--violet); padding: 10px 29px; font-size: clamp(13px,1.15vw,20px); }
.button--outline:hover { color: #fff; }
.arrow { font-size: 1.45em; line-height: .8; font-weight: 400; }
.square { display: inline-block; width: .24em; height: .24em; background: var(--violet); flex-shrink: 0; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
/* === section: header === */
.header { border-bottom: 1px solid var(--rule); }
.header .header__inner { min-height: 79px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.header .header__links { display:flex; gap: clamp(24px,3.3vw,64px); align-items:center; }
.header nav a { white-space: nowrap; font-size: clamp(14px,1.3vw,22px); }
.header nav a:not(.button) { transition: color var(--duration) var(--ease); }
.header nav a:not(.button):hover { color:var(--violet); }
.header .header__toggle { display:none; }
.header .skip-link { position:absolute; z-index:10; top:0; left:20px; padding:14px; background:var(--ivory); transform:translateY(-150%); }
.header .skip-link:focus { transform:translateY(0); }
@media(max-width:1000px) {
  .header .header__inner { min-height:74px; flex-wrap:wrap; gap:0; }
  .header .header__toggle:not([hidden]) { display:flex; align-items:center; gap:20px; border:0; background:none; padding:12px 0 12px 15px; font-size:16px; }
  .header .header__toggle span { color:var(--violet); font-size:25px; transition:transform var(--duration) var(--ease); }
  .header .header__toggle[aria-expanded="true"] span { transform:rotate(45deg); }
  .header nav { width:100%; }
  .header .header__links { padding:12px 0 26px; align-items:stretch; flex-direction:column; gap:22px; }
  .header nav a { font-size:17px; }
  .header.header--enhanced nav { display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows var(--duration) var(--ease),visibility var(--duration); }
  .header.header--enhanced .header__links { min-height:0; overflow:hidden; padding:0; transition:padding var(--duration) var(--ease); }
  .header.header--open nav { grid-template-rows:1fr; visibility:visible; }
  .header.header--open .header__links { padding:12px 0 26px; }
}
/* === section: hero === */
.hero .hero__heading { padding-top:42px; padding-bottom:36px; }
.hero .hero__eyebrow { font-size:clamp(14px,1.45vw,25px); margin-bottom:14px; }
.hero h1 { font-size:clamp(42px,7.55vw,144px); line-height:.94; letter-spacing:-.075em; }
.hero h1 > span { display:block; }
.hero h1 .square { width:.23em; height:.23em; margin-left:.08em; }
.hero .hero__board { width:100%; aspect-ratio:3.47; position:relative; overflow:hidden; background:var(--ink); }
.hero .hero__board img { width:100%; height:100%; object-fit:cover; }
.hero .hero__board-word { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:27.8vw; line-height:1; letter-spacing:.085em; padding-left:.085em; color:#e9e5d9; transform:scaleX(1.08); mix-blend-mode:screen; text-shadow:2px 1px 1px #333; }
.hero .hero__seams { position:absolute; inset:0; background:linear-gradient(transparent 24%,#080808 24.1%,#080808 24.7%,transparent 25%,transparent 49%,#080808 49.1%,#080808 49.8%,transparent 50%,transparent 74%,#080808 74.1%,#080808 74.8%,transparent 75%); opacity:.85; pointer-events:none; }
.hero .hero__bottom { padding-block:40px 46px; display:flex; justify-content:space-between; align-items:center; gap:45px; border-bottom:1px solid var(--rule); }
.hero .hero__bottom p { font-size:clamp(23px,2.65vw,48px); line-height:1.08; max-width:70%; font-weight:500; text-wrap:balance; }
.hero .hero__nowrap { white-space:nowrap; }
@media(max-width:700px) {
  .hero .hero__heading { padding-block:32px 30px; }
  .hero h1 { font-size:clamp(40px,10.5vw,73px); line-height:1.02; }
  .hero h1 > span { margin-bottom:7px; }
  .hero .hero__board { aspect-ratio:2.7; }
  .hero .hero__board img { object-fit:cover; }
  .hero .hero__board-word { font-size:34vw; transform:scaleX(1.1); }
  .hero .hero__bottom { flex-direction:column; align-items:flex-start; gap:24px; padding-block:28px 32px; }
  .hero .hero__bottom p { max-width:none; font-size:25px; }
  .hero .button { width:100%; padding:20px; }
}
/* === section: contrast === */
.contrast .contrast__inner { padding-block:42px 40px; display:grid; grid-template-columns:1.45fr .72fr .9fr; align-items:end; column-gap:36px; }
.contrast h2 { font-size:clamp(32px,4.4vw,78px); }
.contrast .eyebrow { margin-bottom:14px; }
.contrast .contrast__fact { padding-left:36px; padding-bottom:28px; border-left:1px solid var(--rule); }
.contrast h3 { font-size:clamp(10px,1.05vw,18px); text-transform:uppercase; letter-spacing:.025em; font-weight:650; margin-bottom:13px; text-wrap:pretty; }
.contrast .contrast__fact p { font-size:clamp(16px,1.7vw,29px); letter-spacing:-.04em; }
.contrast .contrast__line { grid-column:1/-1; height:1px; background:var(--violet); margin-top:39px; position:relative; }
.contrast .contrast__line .square { position:absolute; width:21px; height:21px; left:50%; top:50%; transform:translate(-50%,-50%); }
@media(max-width:1100px) { .contrast .contrast__inner { grid-template-columns:1fr 1fr; gap:28px; } .contrast .contrast__heading { grid-column:1/-1; } .contrast .contrast__fact { padding:0 0 0 20px; } .contrast .contrast__line { margin-top:10px; } }
@media(max-width:480px) { .contrast .contrast__inner { grid-template-columns:1fr; padding-block:32px; gap:25px; } .contrast .contrast__fact { padding-left:16px; } .contrast h3 { font-size:11px; } .contrast .contrast__fact p { font-size:19px; } }
/* === section: connection === */
.connection { background:var(--ink); color:var(--ivory); position:relative; display:grid; grid-template-columns:49% 51%; min-height:580px; overflow:hidden; }
.connection .connection__image { position:absolute; left:0; top:0; width:49%; height:100%; object-fit:cover; }
.connection .connection__copy { grid-column:2; position:relative; padding:58px var(--gutter) 125px 44px; }
.connection h2 { font-size:clamp(40px,5.6vw,104px); line-height:.98; margin-bottom:35px; }
.connection .connection__copy > p:not(.eyebrow) { font-size:clamp(18px,1.95vw,35px); margin-top:28px; }
.connection .connection__flow { position:absolute; right:var(--gutter); bottom:0; min-height:115px; background:var(--ink); display:flex; align-items:center; padding-left:30px; gap:0; font-size:clamp(18px,2vw,35px); }
.connection .connection__flow li { display:flex; align-items:center; white-space:nowrap; }
.connection .connection__flow li::after { content:''; height:1px; width:40px; background:var(--ivory); margin:0 22px; }
.connection .connection__flow li:last-child::after { background:var(--violet); margin-right:0; width:43px; }
.connection .connection__flow::after { content:''; width:23px; height:23px; background:var(--violet); }
@media(min-width:1600px) { .connection { min-height:730px; } }
@media(max-width:1000px) { .connection { min-height:540px; } .connection .connection__copy { padding-left:25px; padding-top:35px; } .connection .connection__flow { left:var(--gutter); right:var(--gutter); justify-content:center; min-height:88px; padding:0 20px; } .connection .connection__flow li::after { width:22px; margin:0 12px; } }
@media(max-width:700px) {
  .connection { display:flex; flex-direction:column; }
  .connection .connection__image { position:static; width:100%; height:auto; aspect-ratio:1.7; object-position:50% 38%; }
  .connection .connection__copy { padding:32px var(--gutter); }
  .connection h2 { font-size:43px; margin-bottom:25px; }
  .connection .connection__copy > p:not(.eyebrow) { font-size:19px; margin-top:22px; }
  .connection .connection__flow { position:static; margin:0 var(--gutter) 30px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:20px 12px; font-size:17px; }
  .connection .connection__flow li { justify-content:space-between; }
  .connection .connection__flow li::after { flex:1; margin:0 0 0 12px; }
  .connection .connection__flow::after { display:none; }
  .connection .connection__flow li:last-child::after { flex:none; width:12px; height:12px; }
}
/* === section: standard === */
.standard { background:var(--ink); color:var(--ivory); border-top:1px solid var(--rule); }
.standard .standard__inner { display:grid; grid-template-columns:44% 52%; gap:4%; padding-block:57px 42px; }
.standard h2 { font-size:clamp(45px,6.4vw,120px); line-height:.95; margin-block:25px 32px; }
.standard .standard__heading > p:last-child { font-size:clamp(19px,2.05vw,37px); }
.standard .standard__list li { display:grid; grid-template-columns:10% 35% 1fr; column-gap:4%; align-items:start; }
.standard .standard__list li > * { border-bottom:1px solid var(--rule); padding-block:19px; height:100%; }
.standard .standard__list li:first-child > * { padding-top:0; }
.standard .standard__list li:last-child > * { border-bottom:0; padding-bottom:0; }
.standard .standard__number { color:var(--violet-light); font-size:clamp(19px,2vw,35px); font-weight:500; }
.standard .standard__list h3 { font-size:clamp(18px,1.8vw,32px); font-weight:500; line-height:1.2; text-wrap:initial; letter-spacing:-.045em; }
.standard .standard__list p { font-size:clamp(16px,1.6vw,29px); line-height:1.35; letter-spacing:-.04em; }
@media(max-width:1000px) { .standard .standard__inner { grid-template-columns:39% 57%; } .standard .standard__list li { grid-template-columns:30px 1fr; gap:0 15px; border-bottom:1px solid var(--rule); padding:13px 0; } .standard .standard__list li > * { padding:0; border:0; } .standard .standard__list p { grid-column:2; padding-top:6px; } .standard .standard__list li:last-child { border:0; } }
@media(max-width:700px) { .standard .standard__inner { display:block; padding-block:35px; } .standard h2 { font-size:52px; margin-block:20px 24px; } .standard .standard__list { margin-top:32px; } .standard .standard__list li { padding:16px 0; } .standard .standard__list h3 { font-size:21px; } .standard .standard__list p { font-size:17px; } }
/* === section: capability === */
.capability { padding-top:28px; overflow:hidden; }
.capability .capability__feature { position:relative; min-height:400px; display:grid; grid-template-columns:62% 38%; }
.capability .capability__copy { position:relative; z-index:1; padding-top:20px; padding-bottom:38px; }
.capability h2 { font-size:clamp(33px,4.35vw,80px); margin-bottom:24px; }
.capability .capability__copy h3 { font-size:clamp(20px,2.1vw,38px); font-weight:600; margin-bottom:3px; }
.capability .capability__lead { font-size:clamp(19px,2.05vw,37px); margin-bottom:10px; }
.capability .capability__copy > p:last-child { font-size:clamp(17px,1.85vw,33px); }
.capability .capability__feature img { position:absolute; right:calc(-1 * var(--gutter)); width:49%; height:100%; object-fit:cover; object-position:65% center; mix-blend-mode:multiply; mask-image:linear-gradient(to right,transparent,#000 17%); }
.capability .capability__item { border-top:1px solid var(--rule); }
.capability .capability__item:last-child { border-bottom:1px solid var(--rule); }
.capability .capability__item button { border:0; background:none; display:flex; gap:42px; align-items:center; width:100%; text-align:left; padding:19px 10px; font-size:clamp(19px,2.05vw,36px); font-weight:600; letter-spacing:-.045em; transition:color var(--duration) var(--ease); }
.capability .capability__item button:hover { color:var(--violet); }
.capability .capability__icon { position:relative; width:30px; height:30px; flex:0 0 30px; }
.capability .capability__icon::before,.capability .capability__icon::after { content:''; background:var(--violet); position:absolute; top:14px; left:0; width:30px; height:3px; }
.capability .capability__icon::after { transform:rotate(0deg); transition:transform var(--duration) var(--ease); }
.capability [aria-expanded="false"] .capability__icon::after { transform:rotate(90deg); }
.capability .capability__panel { display:grid; grid-template-rows:1fr; transition:grid-template-rows var(--duration) var(--ease),visibility var(--duration) var(--ease); }
.capability .capability__panel > div { min-height:0; overflow:hidden; }
.capability .capability__panel p { padding:0 0 24px 82px; font-size:clamp(18px,1.8vw,30px); }
.capability .capability__panel.is-closed { grid-template-rows:0fr; visibility:hidden; }
@media(min-width:1600px) { .capability .capability__feature { min-height:500px; } }
@media(max-width:700px) { .capability { padding-top:20px; } .capability .capability__feature { display:flex; flex-direction:column; } .capability h2 { font-size:35px; margin-bottom:26px; } .capability .capability__copy { padding-bottom:15px; } .capability .capability__feature img { position:static; width:calc(100% + var(--gutter) * 2); max-width:none; margin-left:calc(-1 * var(--gutter)); height:auto; aspect-ratio:1.8; mask-image:none; } .capability .capability__item button { gap:18px; padding:20px 0; font-size:19px; } .capability .capability__icon { transform:scale(.75); } .capability .capability__panel p { padding-left:48px; } }
/* === section: how-we-work === */
.how-we-work { padding-top:45px; }
.how-we-work .how-we-work__inner { border-top:1px solid var(--rule); padding-block:36px 55px; }
.how-we-work h2 { margin-bottom:10px; }
.how-we-work .how-we-work__inner > p:not(.eyebrow) { font-size:clamp(18px,1.95vw,34px); }
.how-we-work .how-we-work__steps { display:grid; grid-template-columns:1fr 1.08fr .93fr; margin-top:42px; }
.how-we-work .how-we-work__steps li { padding-inline:48px 20px; border-left:1px solid var(--rule); }
.how-we-work .how-we-work__steps li:first-child { padding-left:0; border:0; }
.how-we-work .how-we-work__steps span { color:var(--violet); font-size:clamp(25px,2.7vw,45px); font-weight:650; line-height:1; }
.how-we-work .how-we-work__steps p { margin-top:6px; font-size:clamp(18px,2vw,36px); }
@media(max-width:700px) { .how-we-work { padding-top:32px; } .how-we-work .how-we-work__inner { padding-block:30px 34px; } .how-we-work h2 { font-size:36px; } .how-we-work .how-we-work__steps { grid-template-columns:1fr; margin-top:30px; gap:24px; } .how-we-work .how-we-work__steps li { padding:0; border:0; display:grid; grid-template-columns:45px 1fr; gap:10px; } .how-we-work .how-we-work__steps p { margin:0; } }
@media(min-width:701px) and (max-width:1000px) { .how-we-work .how-we-work__steps li { padding-inline:22px 12px; } }
/* === section: cta === */
.cta .cta__inner { border-top:1px solid var(--rule); padding-block:48px 58px; display:grid; grid-template-columns:63% 37%; }
.cta h2 { font-size:clamp(31px,4.05vw,74px); margin-block:22px 16px; }
.cta .cta__copy { padding-right:30px; }
.cta .cta__copy > p:last-child { font-size:clamp(18px,1.95vw,34px); line-height:1.5; }
.cta .cta__form-wrap { border-left:1px solid var(--rule); padding-left:36px; margin-top:26px; }
.cta form { transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease); }
.cta .cta__field { position:relative; border-bottom:1px solid var(--rule); margin-bottom:19px; }
.cta label { display:block; font-size:clamp(14px,1.3vw,22px); letter-spacing:-.025em; }
.cta input { width:100%; background:transparent; border:0; padding:3px 0; font-size:18px; line-height:1.3; }
.cta input:focus-visible { outline-offset:2px; }
.cta .button { width:100%; margin-top:13px; padding:22px 15px; font-size:clamp(16px,1.7vw,29px); gap:20px; }
.cta .cta__note { font-size:clamp(12px,1.25vw,21px); margin-top:15px; letter-spacing:-.025em; }
.cta .cta__thanks { transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease); }
.cta .cta__thanks h3 { font-size:40px; margin-bottom:15px; }
.cta .is-leaving,.cta .is-entering { opacity:0; transform:translateY(8px); }
@media(max-width:1000px) { .cta .cta__inner { grid-template-columns:56% 44%; } .cta .cta__form-wrap { padding-left:25px; } }
@media(max-width:700px) { .cta .cta__inner { grid-template-columns:1fr; padding-block:32px 40px; } .cta h2 { font-size:36px; } .cta .cta__copy { padding:0; } .cta .cta__form-wrap { padding:0; border:0; margin-top:32px; } .cta .cta__field { margin-bottom:24px; } .cta label { font-size:15px; } .cta input { padding-block:7px; } .cta .cta__note { font-size:13px; } }
/* === section: footer === */
.footer { background:var(--ink); color:var(--ivory); padding-block:55px 80px; }
.footer .footer__top { display:flex; align-items:center; justify-content:space-between; padding-bottom:42px; }
.footer .wordmark { font-size:clamp(42px,5.3vw,96px); }
.footer .footer__top p { margin-top:13px; font-size:clamp(19px,2.25vw,40px); }
.footer .square { width:34px; height:34px; }
.footer .footer__bottom { border-top:1px solid var(--rule); padding-top:32px; display:flex; justify-content:space-between; gap:20px; font-size:clamp(13px,1.65vw,28px); }
.footer a { transition:color var(--duration) var(--ease); }
.footer a:hover { color:var(--violet-light); }
@media(max-width:700px) { .footer { padding-block:38px 45px; } .footer .footer__top { padding-bottom:30px; } .footer .square { width:19px; height:19px; } .footer .wordmark { font-size:42px; } .footer .footer__bottom { padding-top:23px; font-size:12px; } }
