:root {
  --swc-ink: #101a2d;
  --swc-copy: #607089;
  --swc-red: #df3547;
  --swc-red-soft: #fff0f2;
  --swc-pine: #2f6d61;
  --swc-pine-soft: #edf5f2;
  --swc-sand: #e6d2af;
  --swc-paper: #fffefd;
  --swc-wash: #f4f7f8;
  --swc-line: #d7e0e5;
  --swc-max: 1180px;
}

.swc-hero,
.swc-evidence,
.swc-brief,
.swc-choice,
.swc-delivery,
.swc-technology,
.swc-faq,
.swc-editorial {
  color: var(--swc-ink);
  font-family: "Plus Jakarta Sans", sans-serif;
}

.swc-shell {
  width: min(var(--swc-max), calc(100% - 3rem));
  margin-inline: auto;
}

.swc-kicker {
  margin: 0;
  color: var(--swc-red);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.swc-hero {
  padding: 6.55rem 0 2.4rem;
  border-bottom: 1px solid var(--swc-line);
  background: linear-gradient(135deg, #fff 0%, #fff 52%, #f4f7f8 100%);
}

.swc-status {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-block: 1px solid var(--swc-line);
  color: var(--swc-copy);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.swc-status span:last-child { color: var(--swc-pine); }

.swc-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(2.25rem, 5vw, 5rem);
  padding-top: 2.7rem;
}

.swc-hero__layout > * { min-width: 0; }

.swc-hero__copy h1 {
  max-width: 12.5ch;
  margin: .72rem 0 1rem;
  font-size: clamp(2.8rem, 5.15vw, 4.75rem);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.062em;
}

.swc-hero__copy h1 em {
  color: var(--swc-red);
  font-style: normal;
}

.swc-hero__lead {
  max-width: 39rem;
  margin: 0;
  color: var(--swc-copy);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.6;
}

.swc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.55rem;
}

.swc-actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: .75rem 1.1rem;
  border: 1px solid var(--swc-line);
  border-radius: 7px;
  color: var(--swc-ink);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}

.swc-actions a:first-child {
  border-color: var(--swc-ink);
  background: var(--swc-ink);
  color: #fff;
}

.swc-actions a:hover { border-color: var(--swc-red); color: var(--swc-red); }
.swc-actions a:first-child:hover { background: var(--swc-red); color: #fff; }

.swc-hero__visual {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--swc-line);
  border-radius: 20px;
  background: var(--swc-wash);
  box-shadow: 0 25px 58px rgba(16, 26, 45, .11);
}

.swc-hero__visual picture,
.swc-hero__visual img { display: block; width: 100%; }

.swc-hero__visual img {
  aspect-ratio: 44 / 31;
  object-fit: contain;
  background: var(--swc-wash);
}

.swc-hero__visual figcaption {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 1rem;
  padding: .8rem 1rem;
  border-top: 1px solid var(--swc-line);
  background: #fff;
  color: var(--swc-copy);
  font-size: .72rem;
  line-height: 1.48;
}

.swc-hero__visual figcaption strong { color: var(--swc-ink); }

.swc-evidence {
  padding: 1.6rem 0;
  border-bottom: 1px solid var(--swc-line);
  background: #fff;
}

.swc-evidence__layout {
  display: grid;
  grid-template-columns: minmax(15rem, .82fr) minmax(0, 1.18fr) minmax(13rem, .72fr);
  border-block: 1px solid var(--swc-line);
}

.swc-evidence__layout > * {
  min-width: 0;
  padding: 1.1rem 1.2rem;
}

.swc-evidence__layout > * + * { border-left: 1px solid var(--swc-line); }
.swc-evidence__layout header { padding-left: 0; }

.swc-evidence h2 {
  max-width: 20ch;
  margin: .48rem 0 0;
  font-size: 1.48rem;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.04em;
}

.swc-evidence article strong {
  display: block;
  font-size: .9rem;
  line-height: 1.4;
}

.swc-evidence article p {
  margin: .42rem 0 0;
  color: var(--swc-copy);
  font-size: .82rem;
  line-height: 1.52;
}

.swc-evidence aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.swc-evidence aside span {
  color: var(--swc-red);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.swc-evidence__limit {
  margin: .45rem 0 0;
  color: var(--swc-copy);
  font-size: .78rem;
  line-height: 1.55;
}

.swc-evidence a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--swc-ink);
  font-size: .73rem;
  font-weight: 800;
  text-decoration: none;
}

.swc-brief {
  padding: clamp(3.4rem, 5.8vw, 5.7rem) 0;
  background: var(--swc-paper);
}

.swc-brief__layout {
  display: grid;
  grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(2.4rem, 5vw, 5.5rem);
}

.swc-brief__intro h2,
.swc-choice h2,
.swc-delivery h2,
.swc-technology h2,
.swc-faq h2 {
  margin: .55rem 0 0;
  font-size: clamp(2rem, 3.65vw, 3.35rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.052em;
}

.swc-brief__intro > p:last-child {
  margin: 1rem 0 0;
  color: var(--swc-copy);
  font-size: .95rem;
  line-height: 1.62;
}

.swc-folio-spec {
  margin: 0;
  border-top: 1px solid var(--swc-line);
}

.swc-folio-spec > div {
  display: grid;
  grid-template-columns: minmax(8.5rem, .62fr) minmax(0, 1.38fr);
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--swc-line);
}

.swc-folio-spec dt {
  color: var(--swc-red);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.swc-folio-spec dd {
  margin: 0;
  color: var(--swc-copy);
  font-size: .88rem;
  line-height: 1.52;
}

.swc-folio-spec dd strong { color: var(--swc-ink); }

.swc-choice {
  padding: clamp(3.25rem, 5vw, 5.25rem) 0;
  border-block: 1px solid var(--swc-line);
  background: var(--swc-wash);
}

.swc-choice__header {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  align-items: end;
  gap: 2rem;
  margin-bottom: 1.7rem;
}

.swc-choice__header p:last-child {
  max-width: 38rem;
  margin: 0;
  color: var(--swc-copy);
  font-size: .94rem;
  line-height: 1.6;
}

.swc-choice__sheet {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(17rem, .68fr);
  overflow: hidden;
  border: 1px solid var(--swc-line);
  border-radius: 16px;
  background: #fff;
}

.swc-choice__rows { margin: 0; padding: 0; list-style: none; }

.swc-choice__rows li {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.05rem 1.2rem;
  border-bottom: 1px solid var(--swc-line);
}

.swc-choice__rows li:last-child { border-bottom: 0; }
.swc-choice__rows b { color: var(--swc-red); font-size: .7rem; }
.swc-choice__rows strong { display: block; font-size: .94rem; line-height: 1.35; }
.swc-choice__rows span { display: block; margin-top: .34rem; color: var(--swc-copy); font-size: .8rem; line-height: 1.5; }

.swc-choice__tradeoff {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.45rem;
  border-left: 1px solid var(--swc-line);
  background: var(--swc-red-soft);
}

.swc-choice__tradeoff strong { color: var(--swc-red); font-size: .78rem; }
.swc-choice__tradeoff p { margin: .65rem 0 0; color: #7c3f49; font-size: .84rem; line-height: 1.55; }

.swc-delivery {
  padding: clamp(3.4rem, 5.8vw, 5.7rem) 0;
  background: #fff;
}

.swc-delivery__layout {
  display: grid;
  grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(2.3rem, 5vw, 5rem);
}

.swc-delivery ol { margin: 0; padding: 0; border-top: 1px solid var(--swc-line); list-style: none; }
.swc-delivery li { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .8rem; padding: .95rem 0; border-bottom: 1px solid var(--swc-line); }
.swc-delivery li b { color: var(--swc-red); font-size: .7rem; }
.swc-delivery li strong { display: block; font-size: .88rem; }
.swc-delivery li span { display: block; margin-top: .28rem; color: var(--swc-copy); font-size: .76rem; line-height: 1.48; }

.swc-technology {
  padding: 2.65rem 0;
  border-block: 1px solid var(--swc-line);
  background: var(--swc-paper);
}

.swc-technology__layout {
  display: grid;
  grid-template-columns: .76fr 1.24fr;
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.swc-technology h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }

.swc-technology dl { margin: 0; border-top: 1px solid var(--swc-line); }
.swc-technology dl > div { display: grid; grid-template-columns: minmax(9rem, .7fr) minmax(0, 1.3fr); gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--swc-line); }
.swc-technology dt { font-size: .8rem; font-weight: 800; }
.swc-technology dd { margin: 0; color: var(--swc-copy); font-size: .76rem; line-height: 1.5; }

.swc-faq {
  padding: clamp(3.4rem, 5.8vw, 5.7rem) 0;
  background: var(--swc-wash);
}

.swc-faq__layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(2.3rem, 5vw, 5rem);
}

.swc-faq header p:last-child { margin: 1rem 0 0; color: var(--swc-copy); font-size: .84rem; line-height: 1.55; }
.swc-faq__list { border-top: 1px solid var(--swc-line); }
.swc-faq details { border-bottom: 1px solid var(--swc-line); }
.swc-faq summary { display: grid; min-height: 68px; grid-template-columns: 2.4rem minmax(0, 1fr) 1rem; align-items: center; gap: .75rem; cursor: pointer; list-style: none; }
.swc-faq summary::-webkit-details-marker { display: none; }
.swc-faq summary span { color: var(--swc-red); font-size: .68rem; font-weight: 800; }
.swc-faq summary strong { font-size: .88rem; line-height: 1.4; }
.swc-faq summary i { position: relative; width: 14px; height: 14px; }
.swc-faq summary i::before,
.swc-faq summary i::after { position: absolute; top: 6px; left: 1px; width: 12px; height: 2px; background: var(--swc-red); content: ""; }
.swc-faq summary i::after { transform: rotate(90deg); transition: transform .2s ease; }
.swc-faq details[open] summary i::after { transform: rotate(0); }
.swc-faq details > div { padding: 0 1.5rem 1rem 3.15rem; color: var(--swc-copy); font-size: .84rem; line-height: 1.56; }

.swc-editorial {
  display: flex;
  width: min(var(--swc-max), calc(100% - 3rem));
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-inline: auto;
  border-bottom: 1px solid var(--swc-line);
  background: #fff;
}

.swc-editorial div { display: flex; flex-direction: column; gap: .24rem; }
.swc-editorial strong { font-size: .78rem; }
.swc-editorial span { color: var(--swc-copy); font-size: .7rem; }
.swc-editorial nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .85rem; }
.swc-editorial a { min-height: 44px; display: inline-flex; align-items: center; color: var(--swc-ink); font-size: .7rem; font-weight: 700; text-decoration: none; }

.swc-actions a:focus-visible,
.swc-evidence a:focus-visible,
.swc-editorial a:focus-visible,
.swc-faq summary:focus-visible {
  outline: 3px solid var(--swc-red);
  outline-offset: 4px;
}

.swc-evidence a:hover,
.swc-editorial a:hover { color: var(--swc-red); }

@media (max-width: 900px) {
  .swc-hero__layout,
  .swc-brief__layout,
  .swc-delivery__layout,
  .swc-technology__layout,
  .swc-faq__layout { grid-template-columns: 1fr; }
  .swc-evidence__layout { grid-template-columns: 1fr 1fr; }
  .swc-evidence__layout header { grid-column: 1 / -1; padding-left: 1.2rem; }
  .swc-evidence__layout > * + * { border-top: 1px solid var(--swc-line); border-left: 0; }
  .swc-evidence aside { border-left: 1px solid var(--swc-line) !important; }
  .swc-choice__header { grid-template-columns: 1fr; align-items: start; gap: .7rem; }
  .swc-choice__sheet { grid-template-columns: 1fr; }
  .swc-choice__tradeoff { border-top: 1px solid var(--swc-line); border-left: 0; }
  .swc-editorial { padding-block: 1rem; }
}

@media (max-width: 700px) {
  .swc-shell,
  .swc-editorial { width: min(100% - 2rem, var(--swc-max)); }
  .swc-hero { padding-top: 5.8rem; }
  .swc-status { align-items: flex-start; flex-direction: column; justify-content: center; gap: .15rem; padding-block: .45rem; }
  .swc-hero__layout { gap: 1.7rem; padding-top: 1.7rem; }
  .swc-hero__copy h1 { max-width: 13ch; font-size: clamp(2.48rem, 12.4vw, 3.35rem); }
  .swc-actions { flex-direction: column; }
  .swc-actions a { width: 100%; }
  .swc-hero__visual img { aspect-ratio: 3 / 4; }
  .swc-hero__visual figcaption { grid-template-columns: 1fr; }
  .swc-evidence__layout { grid-template-columns: 1fr; border-bottom: 0; }
  .swc-evidence__layout > * { padding: 1rem 0; }
  .swc-evidence__layout header { grid-column: auto; padding-left: 0; }
  .swc-evidence aside { border-left: 0 !important; }
  .swc-folio-spec > div,
  .swc-technology dl > div { grid-template-columns: 1fr; gap: .42rem; }
  .swc-choice__rows li { grid-template-columns: 2.2rem minmax(0, 1fr); padding-inline: 1rem; }
  .swc-editorial { align-items: flex-start; flex-direction: column; }
  .swc-editorial nav { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .swc-hero *,
  .swc-evidence *,
  .swc-brief *,
  .swc-choice *,
  .swc-delivery *,
  .swc-technology *,
  .swc-faq * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
