/**
 * V1E-C Control / Integration family.
 * Presentation-only and fully scoped beneath .swv1-control.
 */
.swv1-control {
  color: var(--swv1-color-text);
  background: var(--swv1-color-surface);
  font-family: var(--swv1-font-body);
  overflow: clip;
  overflow-wrap: anywhere;
}
.swv1-control *, .swv1-control *::before, .swv1-control *::after { box-sizing: border-box; }
.swv1-control-frame {
  inline-size: min(100% - (2 * var(--swv1-gutter)), var(--swv1-container));
  max-inline-size: 1200px;
  margin-inline: auto;
}
.swv1-control-hero {
  padding-block: clamp(64px, 8vw, 104px);
  color: #fff;
  background:
    linear-gradient(120deg, rgba(40, 53, 231, 0.18), transparent 42%),
    linear-gradient(135deg, #0d273b 0%, #143a52 58%, #1d6077 100%);
}
.swv1-control-hero-layout { display: grid; gap: var(--swv1-space-5); max-inline-size: 980px; }
.swv1-control-hero h1 {
  max-inline-size: 900px;
  margin: 0;
  color: #fff;
  font-family: var(--swv1-font-display);
  font-size: clamp(38px, 5vw, 66px);
  font-weight: 400;
  line-height: 1.05;
}
.swv1-control-hero p, .swv1-control-hero li { max-inline-size: 800px; color: rgba(255,255,255,.9); }
.swv1-control-hero > .swv1-control-frame > p:first-child,
.swv1-control-hero .sw26-kicker {
  margin: 0;
  color: #b9e8ef;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.swv1-control-section { padding-block: clamp(48px, 6vw, 78px); }
.swv1-control-section--soft, .swv1-control-section--intro { background: var(--swv1-color-surface-soft); }
.swv1-control-section-inner { display: grid; gap: var(--swv1-space-4); }
.swv1-control-section-inner > h2,
.swv1-control-section-inner > p,
.swv1-control-section-inner > ul,
.swv1-control-section-inner > ol { max-inline-size: 800px; }
.swv1-control h2, .swv1-control h3 {
  margin-block: 0;
  color: var(--swv1-color-heading);
  font-family: var(--swv1-font-display);
  text-wrap: balance;
}
.swv1-control h2 { font-size: clamp(28px, 3.3vw, 44px); line-height: 1.14; }
.swv1-control h3 { font-size: clamp(19px, 1.8vw, 26px); line-height: 1.25; }
.swv1-control p, .swv1-control li, .swv1-control td, .swv1-control th { font-size: clamp(16px, 1.12vw, 18px); line-height: 1.68; }
.swv1-control p { margin-block: 0; }
.swv1-control ul, .swv1-control ol { margin-block: 0; padding-inline-start: 1.35em; }
.swv1-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--swv1-space-4);
  min-inline-size: 0;
}
.swv1-control-card {
  min-inline-size: 0;
  padding: var(--swv1-space-5);
  background: #fff;
  border: 1px solid var(--swv1-color-border);
  border-block-start: 3px solid #6aa8bc;
  border-radius: var(--swv1-radius-md);
}
.swv1-control-card > :last-child { margin-block-end: 0; }
.swv1-control-path {
  display: flex;
  flex-wrap: wrap;
  gap: var(--swv1-space-2);
  align-items: center;
  max-inline-size: 100%;
  padding: var(--swv1-space-5);
  background: #e9f3f7;
  border-inline-start: 4px solid #2d819a;
  border-radius: var(--swv1-radius-md);
}
.swv1-control-notice {
  max-inline-size: 900px;
  padding: var(--swv1-space-4) var(--swv1-space-5);
  background: #e9f3f7;
  border-inline-start: 4px solid #2d819a;
  border-radius: var(--swv1-radius-md);
}
.swv1-control-table-wrap {
  inline-size: 100%;
  max-inline-size: 100%;
  overflow-x: auto;
  border: 1px solid var(--swv1-color-border);
  border-radius: var(--swv1-radius-md);
  -webkit-overflow-scrolling: touch;
}
.swv1-control-table { inline-size: 100%; min-inline-size: 760px; border-collapse: collapse; background: #fff; }
.swv1-control-table th, .swv1-control-table td { padding: 12px 14px; text-align: start; vertical-align: top; border: 1px solid var(--swv1-color-border); }
.swv1-control-table th { color: #fff; background: var(--swv1-color-heading); font-weight: 700; }
.swv1-control-media { margin: 0; overflow: hidden; background: var(--swv1-color-surface-soft); border-radius: var(--swv1-radius-md); }
.swv1-control-media-asset { display: block; inline-size: 100%; max-inline-size: 100%; block-size: auto; }
.swv1-control-button, .swv1-control .sw26-btn, .swv1-control .ast-button, .swv1-control-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 44px;
  padding: 11px 20px;
  border: 1px solid var(--swv1-color-primary);
  border-radius: var(--swv1-radius-sm);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.swv1-control-button--primary, .swv1-control .sw26-btn--fill, .swv1-control .ast-button, .swv1-control-final a { color: #fff; background: var(--swv1-color-primary); }
.swv1-control-button--secondary { color: var(--swv1-color-primary); background: #fff; }
.swv1-control-actions, .swv1-control .sw26-actions { display: flex; flex-wrap: wrap; gap: var(--swv1-space-3); }
.swv1-control-final { padding-block: clamp(54px, 7vw, 88px); color: #fff; background: var(--swv1-color-surface-strong); }
.swv1-control-final h2, .swv1-control-final p { color: #fff; }
.swv1-control-final .swv1-control-section-inner { grid-template-columns: minmax(0, 1fr); }
.swv1-control a:focus-visible { outline: 2px solid var(--swv1-color-primary); outline-offset: 3px; box-shadow: var(--swv1-focus); }
@media (min-width: 900px) {
  .swv1-control-grid:has(> :nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .swv1-control-grid { grid-template-columns: minmax(0, 1fr); }
  .swv1-control-card, .swv1-control-notice, .swv1-control-path { padding: var(--swv1-space-4); }
  .swv1-control-actions, .swv1-control .sw26-actions { align-items: stretch; }
  .swv1-control-actions a, .swv1-control .sw26-actions a, .swv1-control-final a { inline-size: 100%; max-inline-size: 100%; }
}
