/* === from: lizenzierung.json (lz-) === */
/* ── Lizenzierung Page Styles (lz-) ── */

/* Hero */
.lz-hero {
  background: #F5F8FC;
  padding: 104px 0 56px;
}
@media (max-width: 767px) {
  .lz-hero { padding: 72px 0 40px; }
}
.lz-eyebrow {
  display: inline-block;
  font-size: var(--type-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0D4E88;
  margin-bottom: 16px;
}
.lz-subtitle {
  font-size: var(--type-md);
  font-weight: 400;
  color: #4A5568;
  margin: 0 0 16px;
}
.lz-intro {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}
.lz-intro p {
  font-size: var(--type-md);
  color: #2a3a4e;
  line-height: var(--lh-relaxed);
  margin-bottom: 8px;
}
.lz-intro p:last-child {
  margin-bottom: 0;
}

/* Blue highlight card (free usage) */
.lz-highlight {
  background: linear-gradient(135deg, #0D4E88, #083A66);
  color: #fff;
  border-radius: 22px;
  padding: 36px;
  max-width: 780px;
  margin: 20px auto 0;
  box-shadow: 0 4px 24px rgba(8, 58, 102, 0.3);
}
.lz-highlight strong {
  display: block;
  color: #fff;
  font-size: var(--type-md);
  font-weight: 700;
  margin-bottom: 12px;
  line-height: var(--lh-normal);
}
.lz-highlight p {
  font-size: var(--type-base);
  color: rgba(255, 255, 255, 0.92);
  line-height: var(--lh-relaxed);
  margin: 0;
  opacity: 1;
}

/* Transition paragraph */
.lz-transition {
  max-width: 780px;
  margin: 20px auto 0;
  text-align: center;
}
.lz-transition p {
  font-size: var(--type-md);
  color: #2a3a4e;
  line-height: var(--lh-relaxed);
}

/* Card grid */
.lz-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  align-items: start;
  padding: 64px 0 0;
}
@media (max-width: 767px) and (min-width: 576px) {
  .lz-grid { grid-template-columns: repeat(2, 1fr); }
}
.lz-card {
  background: #fff;
  border-radius: 22px;
  border: 1px solid #DCE4EC;
  box-shadow: 0 2px 16px rgba(10, 36, 67, 0.08);
  padding: 24px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.lz-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(10, 36, 67, 0.13);
}
.lz-card-icon {
  width: 36px;
  height: 36px;
  color: #0D4E88;
  margin-bottom: 14px;
}
.lz-card-title {
  font-size: var(--type-md);
  font-weight: 700;
  color: #122033;
  margin: 0 0 8px;
  line-height: var(--lh-normal);
}
.lz-card-text {
  font-size: var(--type-base);
  color: #42566E;
  line-height: var(--lh-relaxed);
  margin: 0;
}

/* Bottom notice */
.lz-notice {
  background: #E8EFF7;
  border: 1px solid #C4D0DC;
  border-radius: 16px;
  padding: 24px 32px;
  text-align: center;
  margin: 48px auto 0;
  max-width: 780px;
}
.lz-notice p {
  font-size: var(--type-base);
  color: #2a3a4e;
  font-weight: 500;
  margin: 0;
  line-height: var(--lh-relaxed);
}

/* Card grid section variant (white background, no top gap) */
.lz-card-section {
  padding: 0 0 64px;
  background: #fff;
  margin-bottom: 0;
}

/* CTA section */
.lz-cta {
  background: #EDF3F9;
  border-top: 1px solid #DCE4EC;
  padding: 104px 24px;
}
.lz-cta-inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
.lz-cta h2 {
  font-size: var(--type-2xl);
  font-weight: 800;
  color: #0A1A2F;
  margin: 0 0 16px;
}
.lz-cta p {
  font-size: var(--type-md);
  color: #42566E;
  line-height: var(--lh-relaxed);
  max-width: 640px;
  margin: 0 auto 36px;
}
.lz-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
/* Responsive: 575px and below */
@media (max-width: 575px) {
  .lz-highlight {
    padding: 24px;
  }
  .lz-highlight strong {
    font-size: var(--type-md);
  }
  .lz-highlight p {
    font-size: var(--type-base);
  }
  .lz-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 48px 0 0;
  }
  .lz-card {
    padding: 20px;
  }
  .lz-cta {
    padding: 64px 20px;
  }
  .lz-cta-buttons {
    flex-direction: column;
    align-items: center;
  }
  .lz-cta-buttons .btn {
    width: 100%;
    max-width: 320px;
  }
}

/* === from: passwort-server.json (ps-) === */
/* =====================================================
   PS- (Passwort-Server) page-scoped styles
   ===================================================== */

/* --- GLOBAL BUTTONS --- */
.ps-hero .btn,
.ps-highlights-cta .btn,
.ps-dsgvo .btn,
.ps-understood .btn,
.ps-use-cta .btn,
.ps-contact .btn {
  padding: 18px 42px;
  font-size: var(--type-md);
  font-weight: 700;
  border-radius: 50px;
  transition: transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}
.ps-hero .btn:hover,
.ps-highlights-cta .btn:hover,
.ps-dsgvo .btn:hover,
.ps-understood .btn:hover,
.ps-use-cta .btn:hover,
.ps-contact .btn:hover {
  box-shadow: 0 4px 16px rgba(13,78,136,0.25);
  transform: translateY(-2px);
}

/* --- HERO --- */
/* .ps-hero: bewusste Flagship-/Landing-Ausnahme vom page-hero-System.
   Das Top-Spacing bleibt absichtlich größer als .page-hero--feature (96px),
   damit der große Gradient-Hintergrund und das Hero-Visual Raum bekommen.
   KEIN struktureller Header-Kompensationsfall (der Gradient läuft nicht
   unter dem Sticky-Header durch). Nicht als Muster für andere Heros
   übernehmen — neue Feature-Heros nutzen .page-hero--feature. */
.ps-hero {
  padding: 130px 0 100px;
  background: linear-gradient(180deg, #12263d, #0D1B2A);
  color: #fff;
  overflow: hidden;
}
.ps-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}
.ps-hero-copy .eyebrow {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.16);
  color: #fff;
  margin-bottom: 20px;
}
.ps-hero-copy h1 {
  color: #fff;
  margin: 0 0 24px;
  max-width: 640px;
}
.ps-hero-copy .ps-hero-sub {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: rgba(255,255,255,0.82);
  max-width: 52ch;
  margin: 0 0 36px;
}
.ps-hero-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  margin-top: 8px;
}
.ps-hero-cta .ps-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,0.75);
  font-size: var(--type-md);
  font-weight: 600;
  white-space: nowrap;
}
.ps-hero-cta .ps-phone a {
  color: rgba(255,255,255,0.9) !important;
  text-decoration: none !important;
}
.ps-hero-cta .ps-phone a:hover {
  color: #fff !important;
  text-decoration: none !important;
}
.ps-hero-cta .ps-phone svg {
  width: 22px;
  height: 22px;
  color: rgba(255,255,255,0.6);
}
.ps-hero-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ps-hero-visual img {
  max-width: 520px;
  width: 100%;
  height: auto;
}

@media (max-width: 991.98px) {
  .ps-hero { padding: 80px 0 56px; }
  .ps-hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ps-hero-visual { display: none !important; }
}

/* --- INTRO --- */
.ps-intro {
  background: #F5F8FC;
  padding: 96px 0;
}
.ps-intro-inner {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}
.ps-intro-inner h2 {
  color: #122033;
  margin-bottom: 20px;
  font-weight: 800;
}
.ps-intro-inner p {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: #1e2d3d;
  margin-bottom: 20px;
}
.ps-intro-inner p:last-child {
  margin-bottom: 0;
}

@media (max-width: 575.98px) {
  .ps-intro { padding: 64px 0; }
  .ps-intro-inner { text-align: left; }
}

/* --- HIGHLIGHTS CARDS --- */
.ps-highlights {
  padding: 96px 0;
}
.ps-highlights-header {
  text-align: center;
  margin-bottom: 48px;
}
.ps-highlights-header h2 {
  color: #122033;
  font-weight: 800;
}
.ps-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ps-card {
  background: #fff;
  border-radius: 22px;
  border: 1px solid #DCE4EC;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  padding: 36px 32px;
  transition: transform 260ms ease, box-shadow 260ms ease;
}
.ps-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(9,34,63,0.12);
}
.ps-card .ps-card-icon {
  margin-bottom: 16px;
}
.ps-card .ps-card-icon svg {
  width: 36px;
  height: 36px;
}
.ps-card h3 {
  font-size: var(--type-lg);
  font-weight: 700;
  color: #122033;
  margin-bottom: 10px;
  line-height: var(--lh-normal);
}
.ps-card p {
  font-size: var(--type-base);
  line-height: var(--lh-relaxed);
  color: #3a4a5e;
  margin: 0;
}
.ps-highlights-cta {
  text-align: center;
  margin-top: 32px;
}

@media (max-width: 767.98px) {
  .ps-highlights { padding: 64px 0; }
  .ps-card-grid { grid-template-columns: 1fr; gap: 16px; }
  .ps-card { padding: 28px 24px; }
}

/* --- DSGVO / SECURITY --- */
.ps-dsgvo {
  padding: 96px 0;
  background: #fff;
}
.ps-dsgvo-inner {
  max-width: 740px;
}
.ps-dsgvo-inner h2 {
  color: #122033;
  margin-bottom: 20px;
  font-weight: 800;
}
.ps-dsgvo-inner p {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: #2a3a4e;
  margin-bottom: 8px;
}
.ps-dsgvo-inner .btn {
  margin-top: 20px;
}

@media (max-width: 575.98px) {
  .ps-dsgvo { padding: 64px 0; }
}

/* --- VERSTAENDLICH (Two-Column) --- */
.ps-understood {
  padding: 96px 0;
  background: linear-gradient(180deg, rgba(237,243,249,0.8), rgba(245,248,252,0.6));
}
.ps-understood-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.ps-understood-visual img {
  max-width: 560px;
  width: 100%;
  height: auto;
}
.ps-understood-copy h2 {
  color: #122033;
  margin-bottom: 20px;
  font-weight: 800;
}
.ps-understood-copy p {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: #2a3a4e;
  margin-bottom: 8px;
}
.ps-understood-copy .btn {
  margin-top: 28px;
}

@media (max-width: 991.98px) {
  .ps-understood { padding: 64px 0; }
  .ps-understood-grid { grid-template-columns: 1fr; gap: 32px; }
  .ps-understood-visual { text-align: center; }
  .ps-understood-visual img { max-width: 480px; }
}
@media (max-width: 575.98px) {
  .ps-understood { padding: 64px 0; }
}

/* --- DARK USE-CASE SECTION --- */
.ps-use-section {
  padding: 96px 0;
  background: linear-gradient(180deg, #12263d, #0D1B2A);
  color: #fff;
}
.ps-use-header {
  text-align: center;
  margin-bottom: 48px;
}
.ps-use-header h2 {
  color: #fff;
  margin-bottom: 12px;
  font-weight: 800;
}
.ps-use-header p {
  color: rgba(255,255,255,0.75);
  font-size: var(--type-md);
}
.ps-use-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ps-use-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 22px;
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
}
.ps-use-card .ps-card-icon {
  margin-bottom: 16px;
}
.ps-use-card .ps-card-icon svg {
  width: 36px;
  height: 36px;
  color: rgba(255,255,255,0.85);
}
.ps-use-card h3 {
  font-size: var(--type-md);
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}
.ps-use-card p {
  font-size: var(--type-base);
  line-height: var(--lh-relaxed);
  color: rgba(255,255,255,0.88);
  margin: 0;
  flex: 1;
}
.ps-use-note {
  max-width: 820px;
  margin: 32px auto 32px;
  padding: 24px 0;
  text-align: center;
  color: rgba(255,255,255,0.7);
  font-size: var(--type-base);
  line-height: var(--lh-relaxed);
}
.ps-use-cta {
  text-align: center;
  margin-top: 8px;
}

@media (max-width: 767.98px) {
  .ps-use-section { padding: 64px 0; }
  .ps-use-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* --- LINKS / FURTHER RESOURCES --- */
.ps-links {
  padding: 96px 0;
  background: linear-gradient(180deg, rgba(237,243,249,0.8), rgba(245,248,252,0.6));
}
.ps-links-header {
  text-align: center;
  margin-bottom: 40px;
}
.ps-links-header h3 {
  font-size: var(--type-lg);
  color: #122033;
  font-weight: 700;
}
.ps-links-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.ps-link-tile {
  display: block;
}
.ps-link-tile a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 28px;
  background: #fff;
  border: 1px solid #DCE4EC;
  border-radius: 16px;
  box-shadow: 0 3px 16px rgba(0,0,0,0.09);
  transition: transform 260ms ease, box-shadow 260ms ease;
  color: #122033;
  text-decoration: none;
  height: 100%;
  gap: 12px;
  font-weight: 600;
  font-size: var(--type-base);
}
.ps-link-tile a:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(9,34,63,0.12);
  text-decoration: none;
  color: var(--brand-main-color);
}
.ps-link-tile a svg {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

@media (max-width: 991.98px) {
  .ps-links-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
  .ps-links { padding: 64px 0; }
  .ps-links-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* --- TRUST / CERTIFICATES --- */
.ps-trust-section {
  padding: 104px 0;
}
.ps-trust-section.ps-trust-alt {
  background: linear-gradient(180deg, rgba(237,243,249,0.8), rgba(245,248,252,0.6));
}
.ps-trust-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 48px;
  align-items: center;
  max-width: 840px;
  margin: 0 auto;
}
.ps-trust-badge {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ps-trust-badge img {
  max-width: 220px;
  height: auto;
}
.ps-trust-badge img[src*="tuev"],
.ps-trust-badge img[src*="teletrust"] {
  max-width: 180px;
}
.ps-trust-copy p {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: #1e2d3d;
  margin: 0;
}

@media (max-width: 767.98px) {
  .ps-trust-section { padding: 64px 0; }
  .ps-trust-row {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }
  .ps-trust-badge img { max-width: 160px !important; }
}

/* --- CONTACT CTA --- */
.ps-contact {
  padding: 104px 0;
  background: #F5F8FC;
  text-align: center;
}
.ps-contact-inner {
  max-width: 640px;
  margin: 0 auto;
}
.ps-contact-inner h3 {
  font-size: var(--type-2xl);
  color: #122033;
  margin-bottom: 16px;
  font-weight: 800;
}
.ps-contact-inner p {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: #2a3a4e;
  margin-bottom: 32px;
}
.ps-contact-inner p a {
  color: var(--brand-main-color);
  font-weight: 600;
}

@media (max-width: 575.98px) {
  .ps-contact { padding: 64px 16px; }
}

/* --- MOBILE REFINEMENTS --- */
@media (max-width: 575.98px) {
  .ps-hero .btn,
  .ps-highlights-cta .btn,
  .ps-dsgvo .btn,
  .ps-understood .btn,
  .ps-use-cta .btn,
  .ps-contact .btn {
    padding: 16px 36px;
    font-size: var(--type-base);
  }
  .ps-intro-inner p,
  .ps-dsgvo-inner p,
  .ps-understood-copy p,
  .ps-contact-inner p {
    font-size: var(--type-base);
  }
  .ps-card p,
  .ps-use-card p {
    font-size: var(--type-base);
  }
  .ps-card h3 {
    font-size: var(--type-md);
  }
}

/* === from: video-server.json (vs77-) === */
/* ── Video-Server 77 Page Styles ── */

.vs77-hero {
  padding-bottom: var(--space-system-72);
  background: linear-gradient(180deg, #F5F8FC 0%, #EDF3F9 100%);
}
.vs77-hero .row { align-items: center; }
.vs77-hero-copy { max-width: 520px; }
.vs77-hero-copy .eyebrow {
  display: inline-block;
  font-size: var(--type-sm);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-main-color);
  margin-bottom: var(--space-system-16);
}
.vs77-hero-copy h1 {
  font-size: var(--type-3xl);
  line-height: var(--lh-tight);
  letter-spacing: -0.035em;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: var(--space-system-24);
}
.vs77-hero-copy .lead {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: var(--text-secondary);
}
.vs77-video-wrap {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-strong);
  border: 1px solid var(--border-subtle);
}

/* ── Cards Section ── */
.vs77-cards { padding: var(--space-system-72) 0 var(--space-system-96); }
.vs77-cards .section-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto var(--space-system-48);
}
.vs77-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  padding: var(--space-system-36);
  box-shadow: var(--shadow-soft);
  height: 100%;
  transition: transform .2s, box-shadow .2s;
}
.vs77-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-strong);
}
.vs77-card .pd-info-icon {
  margin-bottom: var(--space-system-20);
}
.vs77-card h3 {
  font-size: var(--type-md);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: var(--space-system-12);
}
.vs77-card p {
  font-size: var(--type-base);
  line-height: var(--lh-relaxed);
  color: var(--text-secondary);
}
.vs77-card a {
  color: var(--brand-main-color);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s;
}
.vs77-card a:hover { border-bottom-color: var(--brand-main-color); }

/* ── CTA Section ── */
.vs77-cta {
  padding: var(--space-system-72) 0;
  background: linear-gradient(180deg, #12263d, #0D1B2A);
  text-align: center;
}
.vs77-cta h2 {
  color: #fff;
  margin-bottom: var(--space-system-16);
}
.vs77-cta p {
  color: rgba(255,255,255,.7);
  font-size: var(--type-md);
  max-width: 520px;
  margin: 0 auto var(--space-system-36);
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
  .vs77-hero { padding-bottom: var(--space-system-48); }
  .vs77-hero-copy { max-width: 100%; margin-bottom: var(--space-system-36); }
  .vs77-hero-copy h1 { font-size: var(--type-2xl); }
}
@media (max-width: 575.98px) {
  .vs77-hero { padding-bottom: var(--space-system-36); }
  .vs77-hero-copy h1 { line-height: var(--lh-tight); }
  .vs77-card { padding: var(--space-system-24); }
  .vs77-cards { padding: var(--space-system-48) 0 var(--space-system-60); }
}

/* === from: webinar-server.json (wb-) === */
/* ── Webinar Page – Refresh Design ── */

.main { background: var(--bg-page, #F5F8FC); }

/* ── Zone 1: Hero ── */
.wb-hero {
  padding-bottom: var(--space-system-72, 72px);
  text-align: center;
}
.wb-hero__inner {
  max-width: 720px;
  margin: 0 auto;
}
.wb-hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 1px solid rgba(13,78,136,0.12);
  background: rgba(13,78,136,0.06);
  color: var(--brand-main-darker, #083A66);
  border-radius: 999px;
  font-size: var(--type-xs);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.wb-hero h1 {
  color: var(--text-primary, #122033);
  margin: 0 0 20px;
}
.wb-hero__sub {
  font-size: var(--type-md);
  line-height: var(--lh-relaxed);
  color: var(--text-secondary, #42566E);
  max-width: 540px;
  margin: 0 auto;
}

/* ── Zone 2: Benefits Grid ── */
.wb-benefits {
  padding: 0 0 var(--space-system-72, 72px);
}
.wb-benefits__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.wb-card {
  background: #fff;
  border: 1px solid var(--border-subtle, #DCE4EC);
  border-radius: var(--radius-xl, 22px);
  box-shadow: 0 16px 40px rgba(10,36,67,0.08);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  transition: transform 260ms ease, box-shadow 260ms ease;
  height: 100%;
}
.wb-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(9,34,63,0.16);
}
.wb-card .iconfa {
  width: 36px;
  height: 36px;
  margin-bottom: 20px;
}
.wb-card h3 {
  font-size: var(--type-md);
  font-weight: 700;
  color: var(--text-primary, #122033);
  margin: 0 0 10px;
  line-height: var(--lh-normal);
}
.wb-card p {
  font-size: var(--type-base);
  line-height: var(--lh-relaxed);
  color: var(--text-secondary, #42566E);
  margin: 0;
}

/* ── Zone 3: Calendar ── */
.wb-calendar {
  padding: 0 0 var(--space-system-72, 72px);
}
.wb-calendar__header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto var(--space-system-48, 48px);
}
.wb-calendar__header h2 {
  font-size: var(--type-2xl);
  font-weight: 800;
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
  color: var(--text-primary, #122033);
  margin: 0 0 12px;
}
.wb-calendar__header p {
  font-size: var(--type-base);
  color: var(--text-secondary, #42566E);
  margin: 0;
  line-height: var(--lh-normal);
}
.wb-calendar__embed {
  margin: 0 auto;
}
.wb-noscript-msg { text-align: center; padding: 24px; }
.wb-consent-fallback { display: none; text-align: center; padding: 48px 24px; }
.wb-consent-text { margin: 0 0 16px; color: #42566E; }
.wb-consent-hint { margin: 16px 0 0; font-size: var(--type-sm); color: #6A7C93; }
.calendly-inline-widget {
  width: 100%;
  min-width: 320px;
  min-height: 660px;
}

/* ── Zone 4: CTA Buttons ── */
.wb-cta {
  padding: var(--space-system-48, 48px) 0 var(--space-system-96, 96px);
  text-align: center;
}
.wb-cta__text {
  font-size: var(--type-base);
  color: var(--text-secondary, #42566E);
  margin: 0 0 24px;
}
.wb-cta__buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .wb-benefits__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .calendly-inline-widget { min-height: 900px; }
}
@media (max-width: 767px) {
  .wb-hero { padding-bottom: var(--space-system-48, 48px); }
  .wb-hero__sub { font-size: var(--type-base); }
  .wb-benefits { padding: 0 0 var(--space-system-48, 48px); }
  .wb-calendar { padding: 0 0 var(--space-system-48, 48px); }
  .wb-cta { padding: var(--space-system-36, 36px) 0 var(--space-system-72, 72px); }
}
@media (max-width: 575px) {
  .wb-hero { padding-bottom: var(--space-system-36, 36px); text-align: left; }
  .wb-hero__inner { max-width: 100%; }
  .wb-hero__sub { margin-left: 0; margin-right: 0; }
  .wb-benefits__grid { grid-template-columns: 1fr; gap: 20px; }
  .wb-card { padding: 24px; }
  .wb-benefits { padding: 0 12px var(--space-system-36, 36px); }
  .wb-calendar { padding: 0 12px var(--space-system-36, 36px); }
  .wb-cta { padding: var(--space-system-24, 24px) 12px var(--space-system-48, 48px); }
  .wb-cta__buttons { flex-direction: column; align-items: center; }
  .wb-cta__buttons .btn { width: 100%; max-width: 320px; }
  .calendly-inline-widget { min-height: 1100px; }
}

/* --- Calendly consent / noscript --- */
.wb-noscript-msg { text-align: center; padding: 24px; }
.wb-consent-fallback { display: none; text-align: center; padding: 48px 24px; }
.wb-consent-text { margin: 0 0 16px; color: #42566E; }

/* --- Server variant: extended sections (psd-*) ---
   Architecture, identity-access, governance, operations, api-audit and
   technical-reference live alongside the original ps-* server layout. */

.psd-section {
  padding: 96px 0;
}
.psd-section + .psd-section {
  padding-top: 0;
}
.psd-section-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px;
}
.psd-section-header h2 {
  color: #122033;
  font-weight: 800;
  margin-bottom: 16px;
}
.psd-section-header p {
  color: #3a4a5e;
  font-size: var(--type-lg);
  line-height: var(--lh-relaxed);
  margin: 0;
}

.psd-item-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.psd-item {
  background: #fff;
  border-radius: 22px;
  border: 1px solid #DCE4EC;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  padding: 32px;
}
.psd-item-icon { margin-bottom: 16px; }
.psd-item-icon svg { width: 36px; height: 36px; }
.psd-item h3 {
  font-size: var(--type-lg);
  font-weight: 700;
  color: #122033;
  margin-bottom: 12px;
  line-height: var(--lh-normal);
}
.psd-item p {
  font-size: var(--type-base);
  line-height: var(--lh-relaxed);
  color: #3a4a5e;
  margin: 0;
}

.psd-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.psd-card {
  background: #fff;
  border-radius: 22px;
  border: 1px solid #DCE4EC;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  padding: 36px 32px;
  transition: transform 260ms ease, box-shadow 260ms ease;
}
.psd-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(9,34,63,0.12);
}
.psd-card .ps-card-icon { margin-bottom: 16px; }
.psd-card .ps-card-icon svg { width: 36px; height: 36px; }
.psd-card h3 {
  font-size: var(--type-lg);
  font-weight: 700;
  color: #122033;
  margin-bottom: 10px;
  line-height: var(--lh-normal);
}
.psd-card p {
  font-size: var(--type-base);
  line-height: var(--lh-relaxed);
  color: #3a4a5e;
  margin: 0;
}

.psd-architecture,
.psd-governance,
.psd-api-audit {
  background: #f6f9fc;
}

.psd-tech-reference .accordion-button {
  font-weight: 600;
  color: #122033;
}
.psd-tech-reference .accordion-button:not(.collapsed) {
  background: #f6f9fc;
  color: #122033;
}
.psd-tech-reference .accordion-body {
  color: #3a4a5e;
  line-height: var(--lh-relaxed);
}

@media (max-width: 767.98px) {
  .psd-section { padding: 64px 0; }
  .psd-item-grid,
  .psd-card-grid { grid-template-columns: 1fr; }
  .psd-section-header { margin-bottom: 32px; }
}
.wb-consent-note { margin: 16px 0 0; font-size: var(--type-sm); color: #6A7C93; }