



.ca-h2 {
  max-width: 30ch;
  margin: 0 0 var(--sp-4);
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: 650;
  line-height: 1.14;
  letter-spacing: -.012em;
  color: var(--ink);
}

.ca-p {
  max-width: var(--wrap-txt);
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--ink);
}

.ca-more {
  margin: var(--sp-6) 0 0;
  font-size: var(--fs-small);
  font-weight: 600;
}

.ca-ledger {
  margin: var(--sp-6) 0 0;
  padding-block: var(--sp-2);
  border-block-start: 1px solid var(--rule-soft);
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .06em;
  line-height: 1.9;
  color: var(--ink-muted);
}



.ca-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: min(88vh, 760px);
  padding-block-end: clamp(2.5rem, 5vw, 4rem);
  overflow: hidden;
  background: var(--ground-cool);
}

.ca-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ca-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, var(--scrim-heavy) 0%, var(--scrim) 50%, transparent 82%);
}

.ca-hero__in { position: relative; z-index: 1; }

.ca-hero__band { max-width: 48%; }

.ca-hero__h1 {
  margin: var(--sp-4) 0 var(--sp-6);
  font-family: var(--font-display);
  font-size: clamp(2.3rem, 3.2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.022em;
  color: var(--ink);
}


.ca-hero__figs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-6);
  margin: 0 0 var(--sp-6);
  padding-block-start: var(--sp-4);
  border-block-start: 2px solid var(--rule);
}

.ca-hero__figk {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}

.ca-hero__sub {
  max-width: 48ch;
  margin: 0;
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--ink);
}



.ca-cmp {
  background: var(--sheet);
  border-block-start: 1px solid var(--rule);
}

.ca-cmp__band {
  max-width: 70%;
  margin-block-start: var(--sp-8);
}

.ca-cmp__row {
  display: grid;
  grid-template-columns: minmax(0, 9rem) minmax(0, 1fr) minmax(0, 1.1fr);
  gap: var(--sp-4);
  align-items: start;
  padding-block: var(--sp-4);
  border-block-start: 1px solid var(--rule-soft);
}

.ca-cmp__row:last-child { border-block-end: 1px solid var(--rule-soft); }

.ca-cmp__row--head { align-items: end; }

.ca-cmp__k {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.ca-cmp__h {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 650;
  line-height: 1.25;
  color: var(--ink-muted);
}


.ca-cmp__h--on,
.ca-cmp__v--on {
  padding-inline-start: var(--sp-4);
  border-inline-start: 2px solid var(--accent);
}

.ca-cmp__h--on { color: var(--ink); }

.ca-cmp__v {
  font-size: var(--fs-small);
  line-height: 1.55;
  color: var(--ink);
}

.ca-cmp__v--base { color: var(--ink-muted); }

.ca-cmp__fig {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--fs-figure);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--ink);
}

.ca-cmp__note {
  display: block;
  margin-block-start: var(--sp-2);
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}



.ca-proof {
  background: var(--ground);
  border-block-start: 1px solid var(--rule);
}

.ca-proof__grid {  

  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.ca-rows {
  display: grid;
  margin: var(--sp-6) 0 0;
}

.ca-row {
  display: grid;
  grid-template-columns: minmax(0, 7rem) minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block: var(--sp-3);
  border-block-start: 1px solid var(--rule-soft);
}

.ca-row:last-child { border-block-end: 1px solid var(--rule-soft); }

.ca-row dt {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.ca-row dd {
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.5;
  color: var(--ink);
}

.ca-proof__figs {
  display: grid;
  gap: var(--sp-6);
}

.ca-strip {
  display: grid;
  gap: var(--sp-3);
}

.ca-strip--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ca-strip--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }


.ca-scan {
  display: grid;
  gap: var(--sp-2);
  align-content: start;
  margin: 0;
}

.ca-scan img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  background: var(--sheet);
  border-radius: var(--r-flat);
}

.ca-scan figcaption {
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}



.ca-deploy {
  background: var(--sheet);
  border-block-start: 1px solid var(--rule);
}

.ca-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-6);
  margin: var(--sp-8) 0 0;
  padding: var(--sp-4) 0 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
}

.ca-step {
  display: grid;
  gap: var(--sp-3);
  align-content: start;
  padding-block-start: var(--sp-2);
  border-block-start: 2px solid var(--rule);
}

.ca-step__wk {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .16em;
  color: var(--ink);
}

.ca-step__t {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 650;
  line-height: 1.25;
}

.ca-step__d {
  max-width: 40ch;
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.55;
  color: var(--ink-muted);
}



.ca-air {
  background: var(--ground);
  border-block-start: 1px solid var(--rule);
}

.ca-air__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.ca-fig {
  display: grid;
  gap: var(--sp-3);
  align-content: start;
  margin: 0;
  padding: var(--sp-6);
  background: var(--sheet);
  border: 1px solid var(--rule-soft);
  border-radius: var(--r-flat);
}

.ca-cross {
  display: block;
  width: 100%;
  height: auto;
}

.ca-cross__line {
  fill: none;
  stroke: var(--ink);
  stroke-width: 1.5;
  stroke-linecap: square;
  stroke-linejoin: miter;
}


.ca-cross__cold {
  fill: none;
  stroke: var(--accent);
  stroke-width: 2;
  stroke-linecap: square;
}

.ca-cross__warm {
  fill: none;
  stroke: var(--ink-muted);
  stroke-width: 1.5;
  stroke-linecap: square;
}

.ca-cross__mix {
  fill: none;
  stroke: var(--ink-muted);
  stroke-width: 1.5;
  stroke-linecap: square;
  stroke-dasharray: 4 4;
}

.ca-cross__lbl text {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  fill: var(--ink-muted);
}

.ca-fig figcaption {
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}



.ca-spec {
  background: var(--sheet);
  border-block-start: 1px solid var(--rule);
}

.ca-table th[scope="row"] { width: 34%; }



.ca-bleed {
  position: relative;
  overflow: hidden;
  background: var(--ground-cool);
}

.ca-bleed__img {
  display: block;
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
}


.ca-bleed::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--ground);
  opacity: .18;
}

.ca-bleed__cap {
  position: relative;
  z-index: 1;
  max-width: 82ch;
  margin: 0;
  padding-block: var(--sp-4) clamp(2rem, 4vw, 3rem);
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}



.ca-cta__in {
  display: grid;
  gap: var(--sp-4);
  justify-items: start;
}

.ca-cta .ca-h2 { margin: 0; max-width: 30ch; }
.ca-cta__acts { margin: 0; display: flex; flex-wrap: wrap; gap: var(--sp-4); }



@media (max-width: 1080px) {
  .ca-cmp__band { max-width: 100%; }
  .ca-strip--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ca-strip--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .ca-hero {
    min-height: auto;
    padding-block: var(--head-h) clamp(2.5rem, 8vw, 4rem);
  }
  .ca-hero__band { max-width: 100%; }
  .ca-hero::after { background: var(--scrim); }
  .ca-proof__grid,
  .ca-air__grid { grid-template-columns: minmax(0, 1fr); }
  .ca-cmp__row { grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); }
  .ca-cmp__h--on,
  .ca-cmp__v--on { grid-column: 2; }
  .ca-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .ca-hero__figs { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
  .ca-strip--4,
  .ca-strip--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ca-cmp__row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
  .ca-cmp__h--on,
  .ca-cmp__v--on { grid-column: auto; }
  .ca-steps { grid-template-columns: minmax(0, 1fr); }
  .ca-bleed__img { aspect-ratio: 16 / 9; }
  .ca-row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-1); }
}
