



.cloud-crumb { margin-block-end: var(--sp-4); }
.cloud-crumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--fs-micro);
  color: var(--ink-muted);
}
.cloud-crumb li + li::before { content: "/"; margin-inline-end: var(--sp-2); }
.cloud-crumb [aria-current="page"] { color: var(--ink); }



.cloud-ico {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: var(--ink-muted);
  stroke-width: 1.5;
  stroke-linecap: square;
  stroke-linejoin: miter;
}



.cloud-hero {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  background: var(--ground);
  min-height: clamp(560px, 72vh, 780px);
  padding-block-end: 0;
}
.cloud-hero__media { position: absolute; inset: 0; overflow: hidden; }
.cloud-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.cloud-hero__veil { z-index: 1; }
.cloud-hero__band {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  align-content: center;
  align-self: center;
  padding-block: clamp(2rem, 5vw, 3.5rem);
}
.cloud-hero__txt { grid-column: 1; min-width: 0; }
.cloud-hero__h1 {
  margin: var(--sp-3) 0 var(--sp-3);
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 4vw, 3.5rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.02em;
}
.cloud-hero__claim {
  max-width: 32ch;
  margin: 0 0 var(--sp-6);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.4;
}


.cloud-strip {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4);
  margin: 0;
  padding: var(--sp-4);
  border-block-start: 1px solid var(--rule);
  background: var(--scrim-heavy);
  -webkit-backdrop-filter: blur(10px) saturate(1.05);
  backdrop-filter: blur(10px) saturate(1.05);
}
.cloud-strip__cell { display: grid; gap: var(--sp-2); align-content: start; }
.cloud-strip__k {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.cloud-strip__v { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--sp-2); margin: 0; }
.cloud-strip__n {
  font-family: var(--font-mono);
  font-size: var(--fs-figure);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: .95;
  letter-spacing: -.02em;
  color: var(--ink);
}
.cloud-strip__u {
  font-family: var(--font-body);
  font-size: var(--fs-h3);
  font-weight: 600;
  color: var(--ink-muted);
}



.cloud-risk__list {
  display: grid;
  margin-block-start: var(--sp-6);
  border-block-start: 1px solid var(--rule);
}
.cloud-risk__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  padding-block: var(--sp-6);
  border-block-end: 1px solid var(--rule-soft);
}
.cloud-risk__lead { display: grid; gap: var(--sp-3); align-content: start; }
.cloud-risk__h { margin: 0; font-size: var(--fs-h3); font-weight: 650; }
.cloud-risk__p {
  max-width: 40ch;
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.55;
  color: var(--ink-muted);
}
.cloud-risk__fix {
  display: grid;
  gap: var(--sp-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.cloud-risk__fix li {
  display: grid;
  grid-template-columns: minmax(0, 10ch) minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block-end: var(--sp-3);
  border-block-end: 1px solid var(--rule-soft);
}
.cloud-risk__fix li:last-child { border-block-end: 0; padding-block-end: 0; }
.cloud-risk__k {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.cloud-risk__v { font-size: var(--fs-small); line-height: 1.55; }



.cloud-route__lede {
  max-width: 66ch;
  margin: var(--sp-3) 0 var(--sp-6);
  color: var(--ink-muted);
}
.cloud-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-1);
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
}
.cloud-steps__i {
  display: grid;
  gap: var(--sp-2);
  align-content: start;
  padding: var(--sp-4) var(--sp-4) var(--sp-4) 0;
  border-block-end: 1px solid var(--rule-soft);
}

.cloud-steps__i--mark {
  padding-inline-start: var(--sp-3);
  border-inline-start: 2px solid var(--accent);
}
.cloud-steps__n {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-variant-numeric: tabular-nums;
  letter-spacing: .1em;
  color: var(--ink-muted);
}
.cloud-steps__h { margin: 0; font-size: var(--fs-small); font-weight: 650; line-height: 1.35; }
.cloud-steps__p {
  margin: 0;
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}
.cloud-route__figs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-6);
  margin-block-start: var(--sp-8);
}
.cloud-route__fig { margin: 0; }
.cloud-route__fig img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.cloud-route__fig figcaption {
  margin-block-start: var(--sp-3);
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}



.cloud-spec__table th[scope="row"] { width: 28%; }



.cloud-row__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.cloud-row__fig { margin: 0; }
.cloud-row__fig img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.cloud-row__fig figcaption {
  margin-block-start: var(--sp-3);
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}
.cloud-row__txt h2 { margin: var(--sp-2) 0 var(--sp-4); }
.cloud-row__txt > p { max-width: 56ch; margin: 0 0 var(--sp-4); }
.cloud-row__figs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-4);
  margin: var(--sp-6) 0 0;
  padding-block-start: var(--sp-4);
  border-block-start: 1px solid var(--rule);
}
.cloud-row__cell { display: grid; gap: var(--sp-1); align-content: start; }
.cloud-row__k {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.cloud-row__v { display: flex; align-items: baseline; gap: var(--sp-2); margin: var(--sp-1) 0 0; }
.cloud-row__n {
  font-family: var(--font-mono);
  font-size: var(--fs-h2);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--ink);
}
.cloud-row__u {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 600;
  color: var(--ink-muted);
}



.cloud-rep__list {
  margin: var(--sp-6) 0 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--rule);
}
.cloud-rep__row {
  display: grid;
  grid-template-columns: minmax(0, 6ch) minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-6);
  align-items: start;
  padding-block: var(--sp-6);
  border-block-end: 1px solid var(--rule-soft);
}
.cloud-rep__row--system { grid-template-columns: minmax(0, 6ch) minmax(0, 1fr); }
.cloud-rep__id {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  font-variant-numeric: tabular-nums;
  color: var(--ink-muted);
}
.cloud-rep__main { min-width: 0; }
.cloud-rep__h { margin: 0 0 var(--sp-2); font-size: var(--fs-small); font-weight: 650; }
.cloud-rep__meta {
  margin: 0;
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}
.cloud-rep__fig { margin: 0; max-width: 260px; }
.cloud-rep__fig img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  background: var(--sheet);
  border: 1px solid var(--rule);
}
.cloud-rep__fig figcaption {
  margin-block-start: var(--sp-2);
  font-size: var(--fs-micro);
  line-height: 1.45;
  color: var(--ink-muted);
}
.cloud-rep__foot {
  max-width: 78ch;
  margin: var(--sp-6) 0 0;
  padding-block-start: var(--sp-4);
  border-block-start: 1px solid var(--rule-soft);
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-muted);
}



.cloud-proj__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.cloud-proj__txt h2 { margin: var(--sp-2) 0 var(--sp-4); }
.cloud-proj__txt > p { max-width: 56ch; margin: 0 0 var(--sp-4); }
.cloud-proj__facts { margin: 0; border-block-start: 1px solid var(--rule); }
.cloud-proj__fact {
  display: grid;
  grid-template-columns: minmax(0, 11ch) minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block: var(--sp-3);
  border-block-end: 1px solid var(--rule-soft);
}
.cloud-proj__fact dt {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.cloud-proj__fact dd { margin: 0; font-size: var(--fs-small); line-height: 1.55; }
.cloud-proj__fig { margin: 0; }
.cloud-proj__fig img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.cloud-proj__fig figcaption {
  margin-block-start: var(--sp-3);
  font-size: var(--fs-micro);
  line-height: 1.5;
  color: var(--ink-muted);
}



.cloud-cta { position: relative; overflow: hidden; }
.cloud-cta__media { position: absolute; inset: 0; overflow: hidden; }
.cloud-cta__media img { width: 100%; height: 100%; object-fit: cover; }

.cloud-cta__veil {
  z-index: 1;
  background: var(--deep);
  opacity: .78;
}
.cloud-cta__wrap {
  position: relative;
  z-index: 2;
  display: grid;
  gap: var(--sp-4);
  justify-items: start;
}
.cloud-cta__h2 { margin: 0; max-width: 26ch; }
.cloud-cta__line {
  max-width: 62ch;
  margin: 0;
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--ink-muted);
}
.cloud-cta__acts { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-block-start: var(--sp-2); }
.cloud-cta__promise { max-width: 62ch; margin: 0; font-size: var(--fs-small); }
.cloud-cta__rel {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3) var(--sp-6);
  margin: var(--sp-4) 0 0;
  padding: var(--sp-4) 0 0;
  border-block-start: 1px solid var(--rule-soft);
  list-style: none;
  font-size: var(--fs-small);
}



@media (max-width: 1080px) {
  .cloud-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cloud-rep__row { grid-template-columns: minmax(0, 6ch) minmax(0, 1fr); }
  .cloud-rep__fig { grid-column: 2; }
}
@media (max-width: 900px) {
  .cloud-hero__veil { background: var(--scrim-heavy); background-image: none; }
  .cloud-hero__band { grid-template-columns: minmax(0, 1fr); }
  .cloud-hero__txt { grid-column: 1; }
  .cloud-risk__row { grid-template-columns: minmax(0, 1fr); }
  .cloud-row__grid,
  .cloud-proj__grid { grid-template-columns: minmax(0, 1fr); }
  .cloud-route__figs { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .cloud-strip { grid-template-columns: minmax(0, 1fr); }
  .cloud-steps { grid-template-columns: minmax(0, 1fr); }
  .cloud-row__figs { grid-template-columns: minmax(0, 1fr); }
  .cloud-risk__fix li,
  .cloud-proj__fact { grid-template-columns: minmax(0, 1fr); gap: var(--sp-1); }
}
