:root{
  --ca-bg:#000;
  --ca-fg:#f4f4f5;
  --ca-muted:#8a8a8a;
  --ca-dim:#525252;
  --ca-line:#1a1a1a;
  --ca-sans:"Geist","Inter",ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:#000}
body{
  font-family:var(--ca-sans);
  background:#000;color:var(--ca-fg);
  font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.ca-wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.ca-wrap{padding:0 40px}}

.ca-announce{
  border-bottom:1px solid var(--ca-line);
  min-height:40px;display:flex;align-items:center;justify-content:center;
}
.ca-announce a{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#a1a1a1}
.ca-announce a:hover{color:#fff}

.ca-nav{
  position:sticky;top:0;z-index:20;
  background:rgba(0,0,0,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ca-line);
  transition:background .25s,border-color .25s;
}
.ca-nav.is-on{background:rgba(0,0,0,.9);border-bottom-color:#2a2a2a}
.ca-nav-inner{display:flex;align-items:center;min-height:56px;gap:20px}
.ca-logo{display:flex;align-items:center;gap:8px;font-weight:500;letter-spacing:-.03em}
.ca-logo-mark{
  width:26px;height:26px;border-radius:6px;display:inline-flex;
  align-items:center;justify-content:center;background:#fff;color:#000;
  font-size:15px;font-weight:600;line-height:1;
}
.ca-nav-links{display:none;gap:20px;margin-left:auto}
@media(min-width:800px){.ca-nav-links{display:flex}}
.ca-nav-links a{font-size:14px;color:#a1a1a1}
.ca-nav-links a:hover{color:#fff}
.ca-nav-right{display:flex;align-items:center;gap:12px;margin-left:auto}
@media(min-width:800px){.ca-nav-right{margin-left:0}}
.ca-lang{font-size:12px;color:#555}
.ca-lang a{color:#555}
.ca-lang a.is-on{color:#fff}
.ca-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:0 14px;border-radius:999px;
  background:#fff;color:#000;font-size:13px;font-weight:500;
}
.ca-btn:hover{opacity:.85}
.ca-btn-light{min-height:40px;padding:0 18px}

.ca-hero{padding:88px 0 48px}
@media(min-width:960px){.ca-hero{padding:120px 0 64px}}
.ca-kicker{font-size:13px;color:#8a8a8a;margin-bottom:22px}
.ca-hero h1{
  font-size:clamp(2.8rem,8vw,5.6rem);
  line-height:.96;letter-spacing:-.05em;font-weight:500;
}
.ca-hero h1 span{display:block}
.ca-lead{margin-top:22px;max-width:540px;font-size:18px;color:#8b8b8b}
.ca-giant{
  margin-top:56px;font-size:clamp(3.4rem,10vw,7.2rem);
  line-height:.9;letter-spacing:-.06em;font-weight:500;
}
.ca-giant-l{margin-top:12px;font-size:15px;color:#8a8a8a;max-width:420px}

.ca-bleed{position:relative;margin:0;overflow:hidden;background:#050505}
.ca-bleed img{width:100%;height:min(78vh,820px);object-fit:cover}
.ca-bleed-tight img{height:min(62vh,640px)}
.ca-wire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:overlay}

.ca-block{padding:88px 0}
@media(min-width:960px){.ca-block{padding:120px 0}}
.ca-label{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:#5a5a5a;margin-bottom:14px;
}
.ca-block h2{
  font-size:clamp(2rem,4.4vw,3.2rem);
  letter-spacing:-.04em;font-weight:500;line-height:1.05;
}
.ca-copy{max-width:640px}
.ca-copy>p{margin-top:16px;color:#8b8b8b;font-size:17px}

.ca-path{
  list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;
}
.ca-path li{
  font-size:13px;color:#cfcfcf;border:1px solid #242424;
  border-radius:999px;padding:6px 12px;
}

.ca-stats{
  display:grid;grid-template-columns:1fr;gap:40px 32px;margin-top:56px;
}
@media(min-width:720px){.ca-stats{grid-template-columns:1fr 1fr}}
.ca-stat{
  font-size:clamp(3.2rem,7vw,5.4rem);
  letter-spacing:-.05em;font-weight:500;line-height:.95;
}
.ca-stat small{font-size:.38em;margin-left:4px;color:#8a8a8a;font-weight:400}
.ca-stats p:last-child{margin-top:10px;font-size:14px;color:#8a8a8a;max-width:34ch}

.ca-grid{
  display:grid;grid-template-columns:1fr;gap:28px;margin-top:48px;
  border-top:1px solid var(--ca-line);padding-top:36px;
}
@media(min-width:800px){.ca-grid{grid-template-columns:1fr 1fr}}
.ca-grid h3{font-size:20px;font-weight:500;letter-spacing:-.03em;margin-bottom:8px}
.ca-grid p{color:#8a8a8a;font-size:15px}

.ca-line{
  list-style:none;display:grid;grid-template-columns:1fr;gap:28px;
  margin-top:48px;padding-top:8px;position:relative;
}
@media(min-width:800px){
  .ca-line{grid-template-columns:repeat(4,1fr);gap:20px}
  .ca-line::before{
    content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#222;
  }
}
.ca-line li{position:relative;padding-top:18px}
.ca-line li::before{
  content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;
  border-radius:50%;background:#fff;
}
.ca-line strong{display:block;font-size:16px;font-weight:500;margin-bottom:6px}
.ca-line span{display:block;font-size:14px;color:#8a8a8a}

.ca-cta{padding:100px 0 88px;border-top:1px solid var(--ca-line);text-align:center}
.ca-cta h2{font-size:clamp(2.2rem,6vw,4rem);letter-spacing:-.05em;font-weight:500}
.ca-cta p{margin:14px auto 0;max-width:420px;color:#8a8a8a}
.ca-cta-row{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}
.ca-link{font-size:14px;color:#cfcfcf;border-bottom:1px solid #333;padding-bottom:1px}
.ca-link:hover{color:#fff;border-color:#fff}

.ca-foot{border-top:1px solid var(--ca-line);padding:28px 0 40px}
.ca-foot .ca-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ca-foot p{font-size:13px;color:#555}

html.ca-fx .ca-hero h1,html.ca-fx .ca-lead,html.ca-fx .ca-giant,html.ca-fx .ca-giant-l{
  animation:ca-rise .9s cubic-bezier(.16,1,.3,1) both;
}
html.ca-fx .ca-lead{animation-delay:.08s}
html.ca-fx .ca-giant{animation-delay:.16s}
html.ca-fx .ca-giant-l{animation-delay:.22s}
html.ca-fx .ca-reveal{
  opacity:0;transform:translate3d(0,28px,0);
  transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);
}
html.ca-fx .ca-reveal.is-in{opacity:1;transform:none}
@keyframes ca-rise{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}

@media(max-width:767px){
  .ca-hero{padding:48px 0 32px}
  .ca-block{padding:56px 0}
  .ca-bleed img{height:46vh}
}
