@font-face{font-family:"Archivo";src:url(/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  /* Dark throughout: ink and rules are light by default. The quote form flips back to paper as the page's one lit surface. */
  --black:#050506;--black-fade:rgba(5,5,6,0);
  --paper:#f1efea;--paper-ink:#0d0d0e;--paper-muted:#5f5e5a;--paper-rule:rgba(13,13,14,.15);
  --ink:#eef1f5;--muted:#9a9aa0;--rule:rgba(238,241,245,.13);
  --night:var(--black);--night-ink:var(--ink);--night-muted:var(--muted);--night-rule:var(--rule);
  /* Orange is reserved for actions: buttons and the brand dot. Everything else is white, gray, or the spectrum. */
  --accent:#ff4a17;
  --pad:clamp(16px,2.2vw,32px);--radius:14px;--section:clamp(80px,10vw,150px);--bar:66px;
  /* Sampled from the hero's wafer reflection, so accents elsewhere echo the chrome */
  --spectrum:linear-gradient(90deg,#c43cf0,#6a5cff 25%,#2ec8e6 50%,#9be35a 75%,#f2c93a);
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img,video{display:block;max-width:100%}
h1,h2,h3,p,ol,figure{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:10px;z-index:50;background:var(--ink);color:var(--black);padding:10px 14px;font:500 12px/1 var(--mono)}
.skip:focus{left:10px}

/* Shared type: every headline speaks in the wordmark's wide Archivo, sentence case; the second clause steps back to gray. */
h1,h2{font-family:var(--sans);font-weight:700;font-stretch:115%;letter-spacing:-.045em;line-height:1}
h1 em,h2 em{font-style:normal;color:var(--muted)}
.eyebrow,.mono{font:500 12px/1.45 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:24px}
.pulse{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px rgba(238,241,245,.14)}
.section-wrap{padding-left:var(--pad);padding-right:var(--pad)}
.hero-lede{font-size:19px;color:var(--muted);max-width:560px}

/* Buttons */
.pill,.button{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;border:0;border-radius:999px;background:var(--ink);color:var(--black);font:500 12px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.pill:hover,.button:hover{background:var(--accent);color:#fff}
.pill-accent,.button-primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 24px -10px rgba(255,74,23,.6)}
.pill-accent:hover,.button-primary:hover{background:#ff6a3d}
.pill-lg,.button{height:54px;padding:0 26px;font-size:13px}
/* Links are white; the spectrum underline appears on hover. */
.link{font:500 12px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.link:hover{border-image:var(--spectrum) 1}

/* Header */
.bar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:var(--bar);padding:0 var(--pad);background:var(--black);color:var(--night-ink)}
.brand{display:inline-flex;align-items:center;gap:11px;font:700 15px/1 var(--sans);font-stretch:92%;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.glyph{flex:none;width:24px;height:13px;border-radius:4px;background:radial-gradient(circle at 78% 62%,var(--accent) 0 1.6px,transparent 2.2px),linear-gradient(180deg,#c9c7c2,#8d8b86);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.bar-tag{justify-self:center;color:var(--night-muted);white-space:nowrap}
.bar-nav{justify-self:end;display:flex;white-space:nowrap;align-items:center;gap:24px;font:500 12px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.bar-nav a:not(.pill){text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.bar-nav a:not(.pill):hover{border-bottom-color:currentColor}
.bar-nav a[aria-current=page]{border-image:var(--spectrum) 1}

/* Masthead: black above the fold, a full-bleed live scene, white wordmark along the bottom */
.masthead{--giant:calc((100cqw - 2 * var(--pad)) * .1906);position:relative;isolation:isolate;overflow:hidden;height:calc(100svh - var(--bar));min-height:560px;max-height:1200px;background:var(--black);color:var(--night-ink);container-type:inline-size}
.giant{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(10px,1.4vw,22px);z-index:3;pointer-events:none;font-weight:700;font-stretch:125%;font-size:var(--giant);line-height:.74;letter-spacing:-.05em;white-space:nowrap;margin:0 0 0 -.035em;padding-top:.04em;color:var(--night-ink)}
.panel{position:absolute;inset:0;background:var(--black)}
.panel-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;animation:drift 26s ease-in-out infinite alternate}
.panel-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .9s ease}
.masthead::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:4;height:2px;background:var(--spectrum)}
.panel-canvas.is-ready{opacity:1}
.panel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(5,5,6,.7),var(--black-fade) 38%)}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.09) translate(-1.2%,-.8%)}}

/* Ruled 4-column system: every grid below snaps to the same quarter lines */
.quarters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.quarters>*{padding-left:var(--pad);padding-right:var(--pad)}

/* Statement: every block hangs from the first quarter line, the same left edge as every section below. */
.statement{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(64px,8vw,120px);row-gap:clamp(24px,2.6vw,40px)}
.note{grid-column:1/-1;color:var(--muted);margin:0}
.statement h1{grid-column:1/4;font-size:clamp(40px,5.4vw,96px)}
.statement-foot{grid-column:1/3;display:grid;gap:34px;margin-top:clamp(8px,1.4vw,24px)}
.statement-foot .lede{font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--muted);max-width:620px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px}

/* Signal cells */
.cells{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
/* Four equal cells: label on top, content on one shared line beneath it, whatever its length. */
.cells>*{display:flex;flex-direction:column;gap:clamp(28px,3.4vw,52px);padding-top:24px;padding-bottom:30px;border-left:1px solid var(--rule)}
.cells>:first-child{border-left:0}
.cells p{font-size:15px;color:var(--muted);max-width:300px}
.cells strong{flex:none;white-space:nowrap;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cells span{font:600 clamp(20px,1.8vw,26px)/1.12 var(--sans);font-stretch:110%;letter-spacing:-.03em}
.cells p a{color:var(--ink);text-underline-offset:3px}

.dark-head{padding-top:var(--section);padding-bottom:clamp(40px,5vw,72px);border-bottom:1px solid var(--rule);row-gap:28px}
.dark-head h2{grid-column:1/4;font-size:clamp(38px,5vw,88px)}
.dark-head p{grid-column:4;align-self:end;color:var(--muted);font-size:16px}
.dark-head p a{color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pad);padding:clamp(40px,5vw,72px) var(--pad) var(--section)}
/* Staggered images, shared headline baseline: each card drops by --drop and its image shrinks by the same amount. */
.card{--drop:0px;container-type:inline-size;display:grid;align-content:start;gap:18px;margin-top:var(--drop);text-decoration:none}
.card:nth-child(2){--drop:clamp(0px,7vw,120px)}
.card:nth-child(3){--drop:clamp(0px,3vw,48px)}
.card-label{color:var(--muted)}
/* Scenes run past the card bounds; feather every edge into the black page so nothing ends on a hard cut. */
.card-media{overflow:hidden;border-radius:var(--radius);height:calc(125cqw - var(--drop));background:var(--black);--feather:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:var(--feather);-webkit-mask-composite:source-in;mask-image:var(--feather);mask-composite:intersect}
.card-media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.card:hover .card-media video{transform:scale(1.035)}
.card h3{font:700 clamp(22px,1.9vw,30px)/1.1 var(--sans);font-stretch:112%;letter-spacing:-.035em}
.card-go{color:var(--ink)}

/* Principle columns: a heading column plus three articles whose label, title, body and link rows line up across
   the section (subgrid), so the eye can read straight across instead of stepping down. */
.cols{border-top:1px solid var(--rule);grid-template-rows:repeat(4,auto)}
.cols>*{padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(48px,6vw,88px);border-left:1px solid var(--rule)}
.cols>:first-child{border-left:0}
.cols-head{grid-row:1/span 4}
.cols-head h2{font-size:clamp(28px,3vw,48px)}
.cols-head .eyebrow{margin-bottom:22px}
.col{grid-row:1/span 4;display:grid;grid-template-rows:subgrid;row-gap:0;align-content:start}
.col-index{color:var(--muted);margin-bottom:22px}
.col h3{font:700 clamp(21px,1.8vw,27px)/1.12 var(--sans);font-stretch:110%;letter-spacing:-.03em;margin-bottom:14px}
.col p{font-size:16px;color:var(--muted)}
.col .link{justify-self:start;align-self:start;margin-top:26px}

/* Numbered rows */
.rows{padding-top:var(--section);padding-bottom:var(--section)}
.rows+.rows{padding-top:0}
.rows-head{padding-bottom:clamp(36px,4.5vw,64px);row-gap:22px}
.rows-head h2{font-size:clamp(34px,4.2vw,72px)}
.rows-head>div{grid-column:1/3}
.rows-head>p{grid-column:4;align-self:end;color:var(--muted);font-size:16px}
/* Timeline: a live flow stream runs down the first column and the step numbers sit on it like stations. */
.row-track{position:relative;border-top:1px solid var(--rule)}
.row-flow{position:absolute;top:0;bottom:0;left:0;width:34%;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent),linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 55%,transparent),linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask-composite:intersect}
.row-list{position:relative;list-style:none;padding:0}
.row-list li{align-items:baseline;padding-top:clamp(20px,2.4vw,34px);padding-bottom:clamp(20px,2.4vw,34px);border-bottom:1px solid var(--rule)}
.row-n{font:800 clamp(58px,7.4vw,128px)/.78 var(--sans);font-stretch:62%;color:transparent;-webkit-text-stroke:1px var(--ink);text-shadow:0 0 28px var(--black),0 0 10px var(--black);transition:color .25s}
.row-list li:hover .row-n{color:var(--ink)}
.row-list h3{grid-column:2/4;font:700 clamp(22px,2.3vw,36px)/1.08 var(--sans);font-stretch:110%;letter-spacing:-.035em}
.row-list p{grid-column:4;color:var(--muted);font-size:16px}

/* Use-case grid */
.uses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.use{min-height:250px;display:flex;flex-direction:column;gap:14px;padding:26px var(--pad) 34px;border-bottom:1px solid var(--rule);border-left:1px solid var(--rule)}
.use:nth-child(3n+1){border-left:0}
.use strong{font:500 12px/1 var(--mono);letter-spacing:.1em;color:var(--muted);margin-bottom:auto}
.use h3{font:700 clamp(20px,1.7vw,25px)/1.14 var(--sans);font-stretch:110%;letter-spacing:-.03em;margin-top:56px}
.use p{font-size:15.5px;color:var(--muted);max-width:420px}

/* FAQ */
.faq{padding-top:var(--section);padding-bottom:var(--section);border-top:1px solid var(--rule)}
.faq-head h2{font-size:clamp(34px,3.6vw,60px)}
.faq-list{grid-column:2/5}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:28px;cursor:pointer;padding:28px 0;font:600 clamp(19px,1.8vw,27px)/1.25 var(--sans);font-stretch:108%;letter-spacing:-.025em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:400 28px/1 var(--mono);transition:transform .25s,color .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{max-width:760px;padding:0 0 30px;color:var(--muted)}

/* Quote */
.quote{border-top:1px solid var(--rule)}
.quote-copy{grid-column:1/3;padding-top:var(--section);padding-bottom:var(--section)}
.quote-copy h2{font-size:clamp(40px,5vw,88px)}
.quote-copy>p{max-width:470px;margin-top:30px;color:var(--muted);font-size:18px}
.quote-note{display:flex;gap:14px;margin-top:40px;color:var(--ink)}
/* The one lit surface on the page: a paper card sitting on the black. */
.quote-form{--ink:var(--paper-ink);--muted:var(--paper-muted);--rule:var(--paper-rule);grid-column:3/5;align-self:start;display:grid;align-content:start;gap:28px;margin:var(--section) var(--pad);padding:clamp(28px,3vw,44px)!important;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 40px 120px -40px rgba(238,241,245,.18)}
.form-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--ink)}
.form-heading strong{font:700 26px/1 var(--sans);font-stretch:112%;letter-spacing:-.035em}
.quote-form label{display:grid;gap:8px;font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;color:var(--ink);font:400 18px/1.4 var(--sans);letter-spacing:0;text-transform:none;-webkit-appearance:none;appearance:none}
.quote-form select{padding-right:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%230d0d0e' stroke-width='1.4'/%3E%3C/svg%3E") right 4px center no-repeat}
.quote-form textarea{resize:vertical;min-height:110px}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:none;border-bottom-color:var(--accent)}
.quote-form ::placeholder{color:#9b9a95}
.quote-form .button{justify-self:start;margin-top:8px}
.honeypot{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-privacy{font:400 12px/1.5 var(--mono);color:var(--muted)}

/* Footer */
.foot{background:var(--night);color:var(--night-ink);padding:clamp(56px,7vw,110px) var(--pad) 30px;container-type:inline-size;position:relative;isolation:isolate;overflow:hidden}
/* A halftone field sits behind the wordmark; the mask keeps it off the footer's top edge and its small text. */
.foot>.panel-canvas{z-index:-1;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 58%,transparent 88%);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 58%,transparent 88%)}
.foot-giant{--wordmark:.1832;position:relative;font-weight:800;font-stretch:125%;font-size:calc(100cqw * var(--wordmark));line-height:.8;letter-spacing:-.05em;white-space:nowrap;margin-left:-.035em;padding:.04em 0 .06em;color:transparent;background:var(--spectrum);-webkit-background-clip:text;background-clip:text;-webkit-user-select:none;user-select:none}
/* Heat wordmark (hero/wordmark.js): the canvas paints the heat sweep through a mask of these glyphs, overhanging
   the box so the glyphs' ink is never clipped. The spectrum text stays as the fallback until the first frame. */
.foot-giant .baseline{display:inline-block;width:0;height:0}
.foot-giant>canvas{position:absolute;left:-.1em;top:-.3em;width:calc(100% + .2em);height:calc(100% + .6em);pointer-events:none}
.foot-giant.is-ready{background:none}
.foot-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--pad);align-items:start;margin-top:clamp(28px,4vw,56px);padding-top:24px;border-top:1px solid transparent;border-image:var(--spectrum) 1;color:var(--night-muted);font-size:14px}
.foot .brand{color:var(--night-ink)}
.foot-links{display:grid;gap:10px}
.foot-links a,.foot-meta{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.foot-links a:hover{color:var(--ink)}
.foot-meta{justify-self:end;text-align:right}

@media (max-width:1100px){
  .bar-tag{display:none}
  .bar{grid-template-columns:1fr auto}
}
@media (max-width:860px){
  :root{--section:88px;--bar:60px}
  .bar-nav a:not(.pill){display:none}
  .masthead{min-height:520px}
  .foot>.panel-canvas{-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 32%,transparent 55%);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 32%,transparent 55%)}
  .panel-media{object-position:72% 50%}
  .panel::after{background:linear-gradient(0deg,rgba(5,5,6,.85),var(--black-fade) 50%)}
  .quarters{grid-template-columns:minmax(0,1fr)}
  .quarters>*{grid-column:1/-1!important}
  .row-flow{width:100%;opacity:.55}
  .statement{row-gap:30px}
  .cols>*{grid-row:auto}
  .col{display:block}
  .col-index{display:block}
  .col .link{display:inline-block}
  .cells>*{min-height:0;border-left:0;border-top:1px solid var(--rule);flex-direction:row;align-items:baseline;justify-content:flex-start;gap:18px;padding-top:20px;padding-bottom:20px}
  .cells>:first-child{border-top:0}
  .dark-head p,.rows-head>p{align-self:start}
  .cards{grid-template-columns:minmax(0,1fr);gap:56px}
  .card:nth-child(n){--drop:0px}
  .cols>*{border-left:0;border-top:1px solid var(--rule);padding-top:40px!important;padding-bottom:44px}
  .cols>:first-child{border-top:0}
  .row-list li{row-gap:14px}
  .row-n{font-size:64px}
  .uses{grid-template-columns:minmax(0,1fr)}
  .use{border-left:0;min-height:0}
  .use h3{margin-top:24px}
  .faq{row-gap:24px}
  .quote-copy{padding-bottom:40px}
  .quote-form{border-left:0;padding-top:0}
  .foot-bar{grid-template-columns:minmax(0,1fr)}
  .foot-meta{justify-self:start;text-align:left}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .panel-media{animation:none}
  *{transition:none!important}
}
