/**
 * V1E-C Architectural / Technical family.
 * Presentation-only and fully scoped beneath .swv1-technical.
 */
.swv1-technical {
  color: var(--swv1-color-text);
  background: var(--swv1-color-surface);
  font-family: var(--swv1-font-body);
  overflow: clip;
  overflow-wrap: anywhere;
}
.swv1-technical *, .swv1-technical *::before, .swv1-technical *::after { box-sizing: border-box; }
.swv1-technical-frame {
  inline-size: min(100% - (2 * var(--swv1-gutter)), var(--swv1-container));
  max-inline-size: 1200px;
  margin-inline: auto;
}
.swv1-technical-hero {
  padding-block: clamp(64px, 8vw, 104px);
  background:
    linear-gradient(125deg, rgba(40,53,231,.08), transparent 46%),
    linear-gradient(135deg, #e8f2f6 0%, #fff 62%, #eef4ee 100%);
  border-block-end: 1px solid var(--swv1-color-border);
}
.swv1-technical-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--swv1-space-6);
  align-items: center;
}
.swv1-technical-hero-layout:has(figure) { grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); }
.swv1-technical-hero h1 {
  max-inline-size: 900px;
  margin: 0;
  color: var(--swv1-color-heading);
  font-family: var(--swv1-font-display);
  font-size: clamp(38px, 5vw, 66px);
  font-weight: 400;
  line-height: 1.05;
}
.swv1-technical-hero p { max-inline-size: 780px; font-size: clamp(17px, 1.3vw, 21px); line-height: 1.62; }
.swv1-technical-section { padding-block: clamp(48px, 6vw, 78px); }
.swv1-technical-section--soft, .swv1-technical-section--intro { background: var(--swv1-color-surface-soft); }
.swv1-technical-section-inner { display: grid; gap: var(--swv1-space-4); }
.swv1-technical-section-inner > h2, .swv1-technical-section-inner > p, .swv1-technical-section-inner > ul, .swv1-technical-section-inner > ol { max-inline-size: 800px; }
.swv1-technical h2, .swv1-technical h3 { margin: 0; color: var(--swv1-color-heading); font-family: var(--swv1-font-display); text-wrap: balance; }
.swv1-technical h2 { font-size: clamp(28px, 3.3vw, 44px); line-height: 1.14; }
.swv1-technical h3 { font-size: clamp(20px, 1.9vw, 28px); line-height: 1.24; }
.swv1-technical p, .swv1-technical li, .swv1-technical td, .swv1-technical th { font-size: clamp(16px, 1.12vw, 18px); line-height: 1.68; }
.swv1-technical p { margin-block: 0; }
.swv1-technical ul, .swv1-technical ol { margin-block: 0; padding-inline-start: 1.35em; }
.swv1-technical-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--swv1-space-4); min-inline-size: 0; }
.swv1-technical-card {
  min-inline-size: 0;
  padding: var(--swv1-space-5);
  background: #fff;
  border: 1px solid var(--swv1-color-border);
  border-radius: var(--swv1-radius-md);
}
.swv1-technical-system-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--swv1-space-6); margin-block-start: var(--swv1-space-5); }
.swv1-technical-system { display: grid; align-content: start; gap: var(--swv1-space-3); min-inline-size: 0; }
.swv1-technical-system .swv1-technical-media { order: -1; aspect-ratio: 16 / 10; }
.swv1-technical-media { margin: 0; overflow: hidden; background: #e8f0f4; border-radius: var(--swv1-radius-md); box-shadow: var(--swv1-shadow-subtle); }
.swv1-technical-media-asset { display: block; inline-size: 100%; max-inline-size: 100%; block-size: 100%; object-fit: cover; }
.swv1-technical-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-technical-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-technical-table { inline-size: 100%; min-inline-size: 680px; border-collapse: collapse; background: #fff; }
.swv1-technical-table th, .swv1-technical-table td { padding: 12px 14px; text-align: start; vertical-align: top; border: 1px solid var(--swv1-color-border); }
.swv1-technical-table th { color: var(--swv1-color-heading); background: var(--swv1-color-surface-soft); font-weight: 700; }
.swv1-technical-actions, .swv1-technical .sw26-actions { display: flex; flex-wrap: wrap; gap: var(--swv1-space-3); }
.swv1-technical-button, .swv1-technical .sw26-btn, .swv1-technical [class*="-cta"], .swv1-technical-final a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 44px;
  padding: 11px 20px;
  color: #fff;
  background: var(--swv1-color-primary);
  border: 1px solid var(--swv1-color-primary);
  border-radius: var(--swv1-radius-sm);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.swv1-technical-button--secondary { color: var(--swv1-color-primary); background: #fff; }
.swv1-technical-final { padding-block: clamp(54px, 7vw, 88px); color: #fff; background: var(--swv1-color-surface-strong); }
.swv1-technical-final h2, .swv1-technical-final p { color: #fff; }
.swv1-technical-final .swv1-technical-actions { justify-content: flex-start; }
.swv1-technical a:focus-visible { outline: 2px solid var(--swv1-color-primary); outline-offset: 3px; box-shadow: var(--swv1-focus); }
@media (min-width: 900px) { .swv1-technical-grid:has(> :nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .swv1-technical-hero-layout:has(figure), .swv1-technical-system-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .swv1-technical-grid { grid-template-columns: minmax(0, 1fr); }
  .swv1-technical-card, .swv1-technical-notice { padding: var(--swv1-space-4); }
  .swv1-technical-actions, .swv1-technical .sw26-actions { align-items: stretch; }
  .swv1-technical-actions a, .swv1-technical .sw26-actions a, .swv1-technical-final a { inline-size: 100%; max-inline-size: 100%; }
}
