:root {
  --color-primary: #1f3a5f;
  --color-primary-hover: #2a4e7a;
  --color-secondary: #5fa8a0;
  --color-accent-soft: #e7f1f0;

  --color-bg: #ffffff;
  --color-bg-alt: #f7f9fb;
  --color-bg-highlight: #eef6f5;

  --color-border: #e5eaf0;
  --color-border-strong: #dce3ea;

  --color-text: #0f172a;
  --color-text-soft: #475569;
  --color-text-muted: #94a3b8;

  --shadow-sm: 0 4px 12px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 10px 30px rgba(15, 23, 42, 0.08);

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;

  --container: 1200px;
  --space-section-y: 96px;
  --space-section-y-sm: 72px;
}


* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
}

a { color: inherit; text-decoration: none; }

:focus-visible {
  outline: 3px solid var(--color-secondary);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1001;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--color-primary);
  color: #fff;
  font-weight: 700;
  transition: transform 0.18s ease;
}

.skip-link:focus { transform: translateY(0); }

h1, h2, h3 {
  margin: 0;
  line-height: 1.24;
}

h1 {
  font-size: clamp(40px, 5vw, 56px);
  font-weight: 700;
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(28px, 3.2vw, 36px);
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
}

h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 10px;
}

p { margin: 0; }

.section-text {
  color: var(--color-text-soft);
  font-size: 18px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}


.shell,
.container {
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
}

.narrow {
  max-width: 900px;
}

.section {
  padding: var(--space-section-y) 0;
}

.section--alt {
  background: var(--color-bg-alt);
}

.section--highlight {
  background: var(--color-bg-highlight);
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.cards-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1024px) {
  .cards-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .shell,
  .container {
    width: min(var(--container), calc(100% - 32px));
  }

  .section {
    padding: var(--space-section-y-sm) 0;
  }

  .cards-grid,
  .cards-grid-3 {
    grid-template-columns: 1fr;
  }
}


.eyebrow {
  margin-bottom: 12px;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 13px;
}

.btn,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.btn:disabled,
.button:disabled {
  cursor: not-allowed;
}

.btn:hover,
.button:hover {
  transform: translateY(-1px);
}

.btn-small {
  min-height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.btn-primary,
.button--primary {
  background: var(--color-primary);
  color: #fff;
  box-shadow: var(--shadow-sm);
}

.btn-primary:hover,
.button--primary:hover {
  background: var(--color-primary-hover);
}

.btn-secondary,
.button--secondary {
  background: #fff;
  color: var(--color-primary);
  border-color: var(--color-border-strong);
}

.btn-secondary:hover,
.button--secondary:hover {
  border-color: var(--color-primary);
  background: var(--color-bg-alt);
}

.card {
  background: #fff;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 22px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02);
}

.card p,
.product-card p,
.benefit-card p,
.workflow-step-content p,
.faq-item p,
.problem-list li {
  color: var(--color-text-soft);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--color-border);
}

.site-header--conversion {
  background: rgba(255, 255, 255, 0.98);
}

.site-header--legal {
  position: static;
  backdrop-filter: none;
  background: #fff;
}

.site-header--legal .site-header-inner {
  min-height: 68px;
}

.site-header--legal .site-nav,
.site-header--legal .site-header-cta {
  display: none;
}

.site-header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.brand-wordmark {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.brand-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  border-radius: 8px;
}

.brand-logo {
  display: block;
  width: auto;
  height: 34px;
  max-width: min(100%, 172px);
  object-fit: contain;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 10px;
}

.site-nav-link {
  color: var(--color-text-soft);
  font-weight: 600;
  padding: 8px 10px;
  border-radius: 8px;
}

.site-nav-link:hover {
  color: var(--color-text);
  background: var(--color-bg-alt);
}

.site-footer {
  background: #fff;
  border-top: 1px solid var(--color-border);
}

.site-footer-inner {
  padding: 34px 0 46px;
}

.footer-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.footer-column-title {
  font-size: 15px;
  margin-bottom: 10px;
}

.footer-column-links {
  display: grid;
  gap: 8px;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-link {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 8px 12px;
  color: var(--color-text);
  font-weight: 600;
}

.footer-note {
  margin-top: 16px;
  color: var(--color-text-soft);
  font-size: 14px;
}

.consent-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1000;
  background: #fff;
  border: 1px solid var(--color-border-strong);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}

.consent-banner__content {
  padding: 16px;
}

.consent-banner__headline {
  margin: 0 0 8px;
  font-weight: 700;
}

.consent-banner__text {
  margin: 0;
  color: var(--color-text-soft);
}

.consent-banner__link {
  color: var(--color-primary);
  text-decoration: underline;
}

.consent-banner__actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.consent-manage {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999;
  border: 1px solid var(--color-border-strong);
  background: #fff;
  color: var(--color-text);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.consent-manage-inline-wrap {
  max-width: 1180px;
  margin: 14px auto 0;
  padding: 0 24px;
}

.consent-manage--inline {
  position: static;
}

.consent-inline-grid {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.consent-inline-option {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}

.consent-inline-actions {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.consent-inline-status {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 14px;
}

@media (max-width: 980px) {
  .footer-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .site-header-inner {
    min-height: auto;
    padding: 12px 0;
    flex-wrap: wrap;
  }

  .site-nav {
    order: 3;
    width: 100%;
    gap: 8px;
    flex-wrap: wrap;
  }

  .site-nav-link {
    border: 1px solid var(--color-border);
    background: #fff;
  }

  .brand-logo {
    height: 30px;
  }

  .hero-actions .btn,
  .cta-band__actions .btn,
  .hero-actions .button,
  .cta-band__actions .button {
    width: 100%;
  }
}


.hero {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-bottom: 1px solid var(--color-border);
}

.section-has-media {
  position: relative;
  overflow: hidden;
}

.section-has-media > .shell {
  position: relative;
  z-index: 1;
}

.section-media {
  position: relative;
  z-index: 0;
  aspect-ratio: var(--section-media-aspect-ratio, auto);
}

.section-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--section-media-object-fit, cover);
  object-position: var(--section-media-object-position, center center);
}

.section-media-fit--cover {
  --section-media-object-fit: cover;
}

.section-media-fit--contain {
  --section-media-object-fit: contain;
  background: #f8fafc;
}

.section-has-media--background .section-media,
.section-has-media--background-light .section-media {
  position: absolute;
  inset: 0;
}

.section-has-media--background .section-media img,
.section-has-media--background-light .section-media img {
  min-height: 100%;
}

.section-has-media--background .section-media {
  opacity: 1;
}

.section-has-media--background .section-media-overlay--soft-dark::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(9, 15, 26, 0.58) 0%,
    rgba(9, 15, 26, 0.3) 55%,
    rgba(9, 15, 26, 0) 100%
  );
}

.section-has-media--background .section-media-overlay--soft-light::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(248, 250, 252, 0.72) 0%,
    rgba(248, 250, 252, 0.62) 60%,
    rgba(248, 250, 252, 0.26) 78%,
    rgba(248, 250, 252, 0) 100%
  );
}

.section-has-media--background .section-media-overlay--dark::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(2, 6, 16, 0.7) 0%,
    rgba(2, 6, 16, 0.44) 55%,
    rgba(2, 6, 16, 0.06) 78%,
    rgba(2, 6, 16, 0) 100%
  );
}

.section-has-media--background .section-media-overlay--light::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.86) 0%,
    rgba(255, 255, 255, 0.74) 55%,
    rgba(255, 255, 255, 0.24) 80%,
    rgba(255, 255, 255, 0) 100%
  );
}

.section-has-media--background-light .section-media {
  opacity: 0.14;
}

.section-split {
  display: grid;
  gap: 28px;
  align-items: stretch;
}

.section-content {
  min-width: 0;
}

.section-has-media--right .section-split {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
}

.section-workflow.section-has-media--right .section-split {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 560px);
  align-items: start;
}

.section-problem.section-has-media--right .section-content {
  padding-left: 20px;
  padding-right: 20px;
}

.section-problem.section-has-media--right .section-split {
  align-items: start;
}

.section-has-media--right .section-media {
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  background: #fff;
}

.section-has-media--right .section-media.section-media-slot--process-graphic,
.section-has-media--right .section-media.section-media-slot--ui-mockup {
  background: #f8fafc;
  padding: 10px;
}

.section-has-media--right .section-media.section-media-slot--process-graphic {
  aspect-ratio: var(--section-media-aspect-ratio, 16 / 9);
  min-height: clamp(260px, 26vw, 420px);
}

.section-media.section-media-slot--process-graphic.section-media-fit--cover,
.section-media.section-media-slot--ui-mockup.section-media-fit--cover {
  --section-media-object-fit: contain;
}

.section-media.section-media-slot--process-graphic img,
.section-media.section-media-slot--ui-mockup img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.section-problem.section-has-media--right .section-media::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(31, 58, 95, 0.24), rgba(71, 85, 105, 0.18));
}

.section-problem.section-has-media--right .section-media {
  aspect-ratio: var(--section-media-aspect-ratio, 4 / 3);
  min-height: clamp(280px, 30vw, 380px);
}

.section-workflow.section-has-media--background-light > .shell {
  width: min(60%, var(--container));
}

.section-workflow:not(.section-has-media) > .shell {
  width: min(60%, var(--container));
  margin-left: auto;
  margin-right: auto;
}

.hero--compact {
  padding: 72px 0;
}

.hero--compact h1 {
  font-size: clamp(34px, 4.2vw, 46px);
}

.legal-hero {
  padding: 56px 0 42px;
  border-bottom: 1px solid var(--color-border);
  background: #fff;
}

.legal-shell {
  max-width: 860px;
}

.hero-subheadline {
  margin-top: 18px;
  color: var(--color-text-soft);
  font-size: 18px;
}

.hero--booking {
  padding: 48px 0 40px;
}

.hero-split {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  gap: 22px;
  align-items: start;
}

.hero-split.hero-split--email-confirm-only,
.section-split.hero-split--email-confirm-only {
  grid-template-columns: minmax(0, 520px);
  justify-content: center;
}

.hero-split.hero-split--email-confirm-only .hero-booking-content,
.section-split.hero-split--email-confirm-only .hero-booking-content,
.tabuni-email-confirm-only .hero--booking .hero-booking-content {
  display: none;
}

.tabuni-email-confirm-only .hero--booking .section-split {
  grid-template-columns: minmax(0, 520px);
  justify-content: center;
}

.hero-booking-content h1 {
  margin-bottom: 14px;
}

.hero-benefits,
.problem-list,
.product-card ul {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.hero-benefits {
  margin-top: 30px;
  margin-bottom: 10px;
}

.hero-benefits li,
.problem-list li,
.product-card ul li {
  color: var(--color-text);
  font-weight: 600;
  position: relative;
  padding-left: 22px;
}

.hero-benefits li::before,
.problem-list li::before,
.product-card ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(31, 58, 95, 0.12);
}

.hero-trust-indicators {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hero-trust-indicators li {
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 13px;
  color: var(--color-text-soft);
  font-weight: 600;
  background: #fff;
}

.hero-booking-card {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border-color: #c9d7ea;
  box-shadow: 0 18px 40px rgba(31, 58, 95, 0.14);
}

.hero-booking-card:hover {
  transform: none;
  border-color: #c9d7ea;
  box-shadow: 0 18px 40px rgba(31, 58, 95, 0.14);
}

.hero-booking-card > h2 {
  margin: 0;
  font-size: clamp(26px, 2.2vw, 32px);
  letter-spacing: -0.01em;
}

.hero-booking-badge {
  margin: 0;
  display: inline-flex;
  align-self: flex-start;
  border: 1px solid #c9d7ea;
  border-radius: 999px;
  padding: 5px 9px;
  background: #f1f6fd;
  color: #1f3a5f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.hero-booking-text {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 15px;
}

.hero-booking-widget {
  margin-top: 4px;
}

.hero-booking-card--confirmation-only > h2,
.hero-booking-card--confirmation-only > .hero-booking-text,
.hero-booking-card--confirmation-only > .hero-booking-badge {
  display: none;
}

.hero-booking-card--confirmation-only {
  gap: 0;
}

.hero-booking-card--confirmation-only .hero-booking-widget {
  margin-top: 0;
}

.hero-booking-widget [data-tabuni-booking-widget] {
  width: 100%;
}

#demo-benefits.section,
#demo-differentiation.section,
#demo-target-groups.section,
#form.section {
  padding-top: 58px;
  padding-bottom: 58px;
}

.hero.section-has-media--background > .shell.narrow {
  width: min(60%, var(--container));
  background: rgba(255, 255, 255, 0);
  border-radius: var(--radius-lg);
  padding: 28px 32px;
  margin-left: max(24px, calc((100% - min(var(--container), calc(100% - 48px))) / 2));
  margin-right: auto;
}

.section-has-media--background.section-content-panel--left-soft > .shell,
.section-has-media--background.section-content-panel--left-soft > .shell.narrow,
.section-has-media--background-light.section-content-panel--left-soft > .shell,
.section-has-media--background-light.section-content-panel--left-soft > .shell.narrow {
  width: min(var(--section-content-panel-width, 62%), var(--container));
  background: rgba(255, 255, 255, var(--section-content-panel-opacity, 0.84));
  border-radius: var(--radius-lg);
  padding: 28px 32px;
  margin-left: max(24px, calc((100% - min(var(--container), calc(100% - 48px))) / 2));
  margin-right: auto;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.1);
}

.section-has-media--background.section-content-panel--left-solid > .shell,
.section-has-media--background.section-content-panel--left-solid > .shell.narrow,
.section-has-media--background-light.section-content-panel--left-solid > .shell,
.section-has-media--background-light.section-content-panel--left-solid > .shell.narrow {
  width: min(var(--section-content-panel-width, 58%), var(--container));
  background: rgba(255, 255, 255, var(--section-content-panel-opacity, 0.94));
  border-radius: var(--radius-lg);
  padding: 30px 34px;
  margin-left: max(24px, calc((100% - min(var(--container), calc(100% - 48px))) / 2));
  margin-right: auto;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.14);
}

.hero-actions,
.cta-band__actions {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.trust-line {
  margin-top: 32px;
  display: flex;
  width: fit-content;
  border: 1px solid var(--color-border-strong);
  border-radius: 999px;
  padding: 6px 10px;
  background: #fff;
  color: #334155;
  font-weight: 700;
  font-size: 13px;
}

.product-grid,
.benefits-grid,
.feature-grid,
.case-studies-grid,
.audiences-grid,
.vertical-links-grid,
.use-cases-grid,
.values-grid,
.faq-groups-grid,
.contact-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.product-card,
.benefit-card,
.feature-card,
.case-study-card,
.audience-card,
.vertical-link-card,
.use-case-card,
.value-card,
.faq-group,
.contact-card {
  padding: 28px 24px;
}

.section-text-block .section-text {
  max-width: 78ch;
}

.section-legal-blocks {
  padding-top: 52px;
}

.legal-blocks-stack {
  display: grid;
  gap: 14px;
}

.legal-block {
  padding: 22px;
}

.legal-list {
  margin: 12px 0 0;
  padding-left: 20px;
  color: var(--color-text-soft);
  display: grid;
  gap: 8px;
}

.section-trust-strip {
  padding-top: 36px;
  padding-bottom: 36px;
}

.trust-strip-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.trust-strip-item {
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  background: #fff;
  padding: 10px 12px;
  text-align: center;
  color: var(--color-text-soft);
  font-weight: 600;
  font-size: 14px;
}

.contact-card-link {
  color: var(--color-primary);
  font-weight: 600;
}

.contact-card-value {
  margin: 0;
}

.form-intro-form {
  margin-top: 24px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  background: #fff;
  padding: 18px;
}

.contact-form {
  display: grid;
  gap: 14px;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.contact-field {
  display: grid;
  gap: 8px;
  font-weight: 600;
  color: var(--color-text);
}

.contact-field span {
  font-size: 14px;
}

.contact-field input,
.contact-field textarea {
  width: 100%;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  padding: 12px;
  font: inherit;
  color: var(--color-text);
  background: #fff;
}

.timeline-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 18px;
}

.timeline-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
}

.timeline-dot {
  margin-top: 8px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(31, 58, 95, 0.12);
}

.timeline-content {
  border-left: 1px solid var(--color-border-strong);
  padding-left: 16px;
}

.product-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.product-badge {
  align-self: flex-start;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1e3a8a;
  background: #dbe7ff;
  border-radius: 999px;
  padding: 5px 10px;
}

.product-card-cta {
  margin-top: auto;
}

.problem-list { margin-top: 0; }

.flow-section__intro {
  max-width: 760px;
  margin-bottom: 22px;
}

.flow-section__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 10px;
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid var(--color-border-strong);
  background: #f3f7fd;
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.flow-builder-preview {
  position: relative;
}

.workflow-flow {
  margin: 0;
  padding: 0;
  list-style: none;
}

.workflow-flow--vertical {
  display: grid;
  gap: 14px;
  max-width: 940px;
}

.workflow-flow__item {
  display: grid;
  gap: 12px;
}

.flow-card {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow: var(--shadow-md);
  padding: 20px;
}

.flow-card--with-icon {
  grid-template-columns: 56px 56px minmax(0, 1fr);
}

.flow-card--offset-right {
  margin-left: 88px;
}

.flow-card--offset-left {
  margin-right: 88px;
}

.flow-card__badge {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #eaf1f8;
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
}

.flow-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #ecf3fb;
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
}

.flow-card__title {
  margin: 0 0 8px;
}

.flow-card__description {
  margin: 0;
  color: var(--color-text-soft);
}

.flow-card__tags {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.flow-tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #d7e1f0;
  background: #f3f7fd;
  color: #2b4b7b;
  font-size: 12px;
  font-weight: 700;
}

.flow-connector {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow-connector--down {
  height: 50px;
}

.flow-connector--down .flow-connector__line {
  width: 2px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(180deg, #c3d2e6 0%, #3b5f8e 100%);
}

.flow-connector--curve .flow-connector__line {
  width: 110px;
  height: 34px;
  border-top: 2px dashed #8ea8c8;
  border-right: 2px dashed #8ea8c8;
  border-radius: 0 22px 0 0;
  background: transparent;
}

.flow-connector__arrow {
  position: absolute;
  width: 10px;
  height: 10px;
  border-right: 2px solid #3b5f8e;
  border-bottom: 2px solid #3b5f8e;
}

.flow-connector--down .flow-connector__arrow {
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.flow-connector--curve .flow-connector__arrow {
  right: calc(50% - 59px);
  top: 18px;
  transform: rotate(45deg);
}

.workflow-flow--horizontal {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(250px, 300px);
  align-items: start;
  gap: 14px;
  overflow-x: auto;
  max-width: 100%;
  min-width: 0;
  padding-bottom: 6px;
}

.workflow-flow--horizontal .workflow-flow__item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
}

.flow-card--compact {
  min-height: 176px;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  padding: 16px;
}

.flow-card--compact.flow-card--with-icon {
  grid-template-columns: 44px 44px 1fr;
}

.flow-card--compact .flow-card__title {
  margin-bottom: 6px;
  font-size: 23px;
}

.flow-card--compact .flow-card__description {
  display: none;
}

.flow-connector--right {
  width: 44px;
  min-width: 44px;
  height: 2px;
}

.flow-connector--right .flow-connector__line {
  width: 44px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #c3d2e6 0%, #3b5f8e 100%);
}

.flow-connector--right .flow-connector__arrow {
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.integration-note-box {
  background: #fff;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 26px;
}

.card-link {
  display: block;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.card-link:hover,
.card:hover:not(.hero-booking-card) {
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.faq-list {
  display: grid;
  gap: 12px;
}

.faq-item {
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  background: #fff;
}

.faq-item summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item p {
  margin-top: 10px;
}

.section-heading {
  margin-bottom: 32px;
}

.section-heading h2 {
  margin: 0;
}

.section-heading p {
  margin: 12px 0 0;
  color: var(--color-text-soft);
}

.section-heading--center {
  text-align: center;
}

.section-heading--center p {
  margin-left: auto;
  margin-right: auto;
}

.section-case-studies > .shell {
  max-width: 1280px;
}

.section-case-hero {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-bottom: 1px solid var(--color-border);
}

.case-hero-customer {
  margin-top: 16px;
  color: var(--color-text-soft);
  font-weight: 600;
}

.case-hero-logo {
  margin-top: 12px;
  max-height: 38px;
  width: auto;
}

.metrics-grid {
  gap: 20px;
}

.metric-card {
  text-align: center;
  padding: 20px;
}

.metric-value {
  margin: 0;
  color: var(--color-primary);
  font-size: clamp(30px, 5vw, 42px);
  font-weight: 700;
  line-height: 1.1;
}

.metric-label {
  margin: 8px 0 0;
  color: var(--color-text-soft);
}

.before-after-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.before-after-card {
  padding: 24px;
}

.before-after-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.before-after-list li {
  position: relative;
  padding-left: 20px;
}

.before-after-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--color-primary);
}

.case-quote {
  margin: 0;
  border-left: 4px solid var(--color-border-strong);
  padding: 16px 20px;
  background: #fff;
  border-radius: var(--radius-md);
}

.case-quote p {
  margin: 0;
  font-size: 20px;
  line-height: 1.4;
}

.case-quote cite {
  display: block;
  margin-top: 12px;
  color: var(--color-text-soft);
  font-style: normal;
  font-weight: 600;
}

.case-quote-note {
  margin: 10px 0 0;
  color: var(--color-text-muted);
  font-size: 12px;
}

.section-case-profile .shell,
.section-case-problem .shell,
.section-case-results .shell,
.section-case-implementation .shell {
  max-width: 860px;
}

.case-profile-card {
  padding: 22px;
}

.case-profile-list {
  margin: 14px 0 0;
  display: grid;
  gap: 10px;
}

.case-profile-list div {
  display: grid;
  grid-template-columns: minmax(150px, 240px) 1fr;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border);
}

.case-profile-list dt {
  margin: 0;
  color: var(--color-text-soft);
  font-weight: 600;
}

.case-profile-list dd {
  margin: 0;
}

.section-case-results {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.case-implementation-steps {
  margin: 16px 0 0;
  padding-left: 20px;
  display: grid;
  gap: 10px;
}

.case-implementation-note {
  margin: 16px 0 0;
  color: var(--color-text-soft);
}

.case-studies-highlights {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 14px;
  color: var(--color-text-soft);
}

.case-studies-highlights li,
.case-study-bullets li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.case-studies-highlights span,
.case-study-bullets span {
  color: var(--color-secondary);
  font-weight: 700;
}

.case-studies-grid {
  gap: 28px;
}

.case-study-card {
  min-height: 100%;
  border: 1px solid var(--color-border-strong);
  border-radius: 16px;
  padding: 24px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.case-study-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.1);
}

.case-study-card--featured {
  border-color: #b5c7de;
  box-shadow: 0 14px 30px rgba(31, 58, 95, 0.12);
}

.case-studies-more {
  margin-top: 1.25rem;
  padding-top: 0.5rem;
}

.case-studies-more-list {
  margin: 0.5rem 0 0;
  padding-left: 1.2rem;
}

.case-studies-more-list li + li {
  margin-top: 0.35rem;
}

.case-study-label {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--color-text-soft);
}

.case-study-card h3 {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text);
}

.case-study-bullets {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
  font-size: 15px;
  color: var(--color-text-soft);
  line-height: 1.5;
}

.case-study-metrics {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.case-study-metrics li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 10px;
  border: 1px solid #d9e3f0;
  background: #f8fbff;
  color: #475569;
  font-size: 13px;
}

.case-study-metrics strong {
  color: #1f3a5f;
  font-size: 16px;
  font-weight: 700;
}

.case-study-quote {
  margin: 0 0 16px;
  border-left: 3px solid var(--color-border);
  padding-left: 12px;
  color: var(--color-text-soft);
  font-size: 14px;
  font-style: italic;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.case-study-attribution {
  margin: 0 0 14px;
  color: var(--color-text-muted);
  font-size: 12px;
  font-weight: 500;
}

.case-study-link {
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.case-study-link--placeholder {
  font-size: 12px;
  color: #94a3b8;
  font-weight: 500;
}

.case-study-card:hover .case-study-link {
  text-decoration: underline;
}

.cta-band {
  background: var(--color-bg-highlight);
}

.cta-band__inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.cta-band__actions {
  justify-content: center;
}

@media (max-width: 1024px) {
  .product-grid,
  .benefits-grid,
  .feature-grid,
  .case-studies-grid,
  .audiences-grid,
  .vertical-links-grid,
  .use-cases-grid,
  .values-grid,
  .faq-groups-grid,
  .contact-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .flow-card--offset-right,
  .flow-card--offset-left {
    margin-left: 0;
    margin-right: 0;
  }

  .before-after-grid {
    grid-template-columns: 1fr;
  }

  .workflow-flow--horizontal {
    grid-auto-columns: minmax(230px, 270px);
  }
}

@media (max-width: 768px) {
  .hero--booking {
    padding: 40px 0 32px;
  }

  .hero-split {
    grid-template-columns: 1fr;
  }

  .hero-booking-card {
    padding: 12px;
  }

  .hero-booking-card > h2 {
    font-size: clamp(24px, 7vw, 30px);
  }

  #demo-benefits.section,
  #demo-differentiation.section,
  #demo-target-groups.section,
  #form.section {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .section-workflow.section-has-media--background-light > .shell {
    width: min(var(--container), calc(100% - 32px));
  }

  .section-workflow:not(.section-has-media) > .shell {
    width: min(var(--container), calc(100% - 32px));
  }

  .hero.section-has-media--background > .shell.narrow {
    width: min(var(--container), calc(100% - 32px));
    padding: 22px 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .hero--compact {
    padding: 56px 0;
  }

  .section-has-media--right .section-split {
    grid-template-columns: 1fr;
  }

  .section-workflow.section-has-media--right .section-split {
    grid-template-columns: 1fr;
  }

  .section-has-media--right .section-media {
    min-height: 220px;
  }

  .section-problem.section-has-media--right .section-content {
    padding-left: 0;
    padding-right: 0;
  }

  .flow-card,
  .flow-card--compact {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 16px;
    gap: 10px;
  }

  .flow-card--with-icon,
  .flow-card--compact.flow-card--with-icon {
    grid-template-columns: 44px 44px minmax(0, 1fr);
  }

  .flow-card__title {
    font-size: 24px;
  }

  .flow-card__description {
    font-size: 16px;
  }

  .flow-connector--curve .flow-connector__line {
    width: 82px;
  }

  .flow-connector--curve .flow-connector__arrow {
    right: calc(50% - 44px);
  }

  .workflow-flow--horizontal {
    grid-auto-columns: minmax(210px, 250px);
  }

  .trust-strip-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-grid,
  .benefits-grid,
  .feature-grid,
  .case-studies-grid,
  .audiences-grid,
  .vertical-links-grid,
  .use-cases-grid,
  .values-grid,
  .faq-groups-grid,
  .contact-cards-grid {
    grid-template-columns: 1fr;
  }

  .product-card,
  .benefit-card,
  .feature-card,
  .case-study-card,
  .audience-card,
  .vertical-link-card,
  .use-case-card,
  .value-card,
  .faq-group,
  .contact-card {
    padding: 24px 20px;
  }

  .contact-form-grid {
    grid-template-columns: 1fr;
  }

.case-profile-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

.tabuni-page.has-sales-deck .site-footer {
  display: none;
}

.tabuni-page.has-sales-deck .site-header {
  display: none;
}

.tabuni-page.has-sales-deck {
  height: 100dvh;
  overflow: hidden;
}

.tabuni-page.has-sales-deck main {
  height: 100dvh;
  overflow: hidden;
  padding-top: 0;
}

.section-sales-deck {
  padding: 0;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
}

@supports (height: 100svh) {
  .tabuni-page.has-sales-deck,
  .tabuni-page.has-sales-deck main,
  .section-sales-deck {
    height: 100svh;
    min-height: 100svh;
  }
}

.sales-deck-shell {
  height: 100%;
  min-height: 100%;
  width: min(1520px, calc(100% - 28px));
  margin: 0 auto;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.sales-deck-topbar {
  position: fixed;
  top: 10px;
  left: 14px;
  right: 14px;
  z-index: 28;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
}

.sales-deck-title {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text-soft) 82%, #ffffff);
  font-weight: 700;
}

.sales-deck-progress {
  width: min(132px, 33vw);
  display: grid;
  gap: 4px;
}

.sales-deck-progress-text {
  margin: 0;
  font-size: 0.74rem;
  color: color-mix(in srgb, var(--color-text-soft) 86%, #ffffff);
  text-align: right;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.sales-deck-progress-track {
  height: 2px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-primary) 22%, #ffffff);
  overflow: hidden;
}

.sales-deck-progress-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--color-primary);
  transition: width 180ms ease;
}

.sales-deck-stage {
  position: relative;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  outline: none;
  isolation: isolate;
}

.sales-deck-slide {
  display: flex;
  position: absolute;
  inset: 0;
  height: 100%;
  min-height: 100%;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: max(clamp(54px, 8dvh, 76px), calc(var(--sales-deck-topbar-offset, 50px) + 8px)) clamp(12px, 2.1vw, 24px) clamp(58px, 10dvh, 90px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 260ms ease, transform 260ms ease, visibility 0ms linear 260ms;
}

.sales-deck-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition: opacity 260ms ease, transform 260ms ease;
}

.sales-deck-slide-inner {
  width: min(1400px, 95vw);
  max-width: min(1400px, 95vw);
  display: grid;
  gap: clamp(14px, 2.2dvh, 24px);
  margin: 0 auto;
  justify-items: center;
  text-align: center;
  align-content: center;
  max-height: 100%;
  position: relative;
  z-index: 2;
}

.sales-deck-visual {
  position: absolute;
  top: clamp(78px, 11dvh, 118px);
  bottom: clamp(76px, 10dvh, 112px);
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  border-radius: 26px;
}

.sales-deck-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(0.84) contrast(0.95);
  transform: scale(1.02);
}

.sales-deck-visual--fit-contain img {
  object-fit: contain;
  transform: none;
  padding: 0;
  border-radius: 14px;
}

.sales-deck-visual--fit-contain {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  max-height: min(54dvh, 430px);
  display: grid;
  place-items: center;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

.sales-deck-visual--fit-cover img {
  object-fit: cover;
}

.sales-deck-visual--tone-soft img {
  opacity: 0.2;
}

.sales-deck-visual--tone-ambient img {
  opacity: 0.24;
}

.sales-deck-visual--tone-rich img {
  opacity: 0.3;
}

.sales-deck-visual--align-right {
  left: max(62%, calc(100% - min(34vw, 440px)));
  right: clamp(8px, 2.2vw, 24px);
}

.sales-deck-visual--align-left {
  left: clamp(8px, 2.2vw, 24px);
  right: max(62%, calc(100% - min(34vw, 440px)));
}

.sales-deck-visual--align-full {
  top: clamp(64px, 9dvh, 96px);
  bottom: clamp(62px, 8dvh, 92px);
  left: clamp(8px, 1.8vw, 22px);
  right: clamp(8px, 1.8vw, 22px);
  border-radius: 0;
}

.sales-deck-slide::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.92) 56%, rgba(255, 255, 255, 0.98) 100%);
}

.sales-deck-composition--hero-statement::before,
.sales-deck-slide--transition::before {
  background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.9) 58%, rgba(255, 255, 255, 0.98) 100%);
}

.sales-deck-composition--editorial-left .sales-deck-slide-inner {
  justify-items: start;
  text-align: left;
  width: min(860px, 82vw);
  margin-left: 0;
  margin-right: auto;
}

.sales-deck-composition--editorial-left .sales-deck-headline,
.sales-deck-composition--editorial-left .sales-deck-subheadline {
  max-width: 18ch;
}

.sales-deck-slide--with-visual.sales-deck-slide--visual-right .sales-deck-slide-inner {
  width: min(920px, 66vw);
  max-width: min(920px, 66vw);
  margin-left: clamp(16px, 3.8vw, 56px);
  margin-right: auto;
}

.sales-deck-slide--with-visual.sales-deck-slide--visual-left .sales-deck-slide-inner {
  width: min(920px, 66vw);
  max-width: min(920px, 66vw);
  margin-right: clamp(16px, 3.8vw, 56px);
  margin-left: auto;
}

.sales-deck-slide--bullets .sales-deck-slide-inner,
.sales-deck-slide--list .sales-deck-slide-inner,
.sales-deck-slide--workflow .sales-deck-slide-inner,
.sales-deck-slide--comparison .sales-deck-slide-inner {
  width: min(1360px, 94vw);
  max-width: min(1360px, 94vw);
  justify-items: start;
  text-align: left;
}

.sales-deck-slide-index {
  margin: 0;
  font-size: 0.84rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-soft);
  font-weight: 700;
}

.sales-deck-headline {
  margin: 0;
  font-size: clamp(2.05rem, 4.3vw, 4.05rem);
  line-height: 1.1;
  max-width: 30ch;
  letter-spacing: -0.01em;
}

.sales-deck-subheadline {
  margin: 0;
  font-size: clamp(1.02rem, 1.45vw, 1.24rem);
  line-height: 1.45;
  color: var(--color-text-soft);
  max-width: 74ch;
}

.sales-deck-slide--statement .sales-deck-slide-inner,
.sales-deck-slide--transition .sales-deck-slide-inner {
  width: min(1320px, 92vw);
  max-width: min(1320px, 92vw);
  gap: clamp(30px, 6.2dvh, 72px);
  align-content: center;
}

.sales-deck-slide--statement .sales-deck-headline,
.sales-deck-slide--transition .sales-deck-headline {
  max-width: 24ch;
  font-size: clamp(2.3rem, 4.8vw, 4.65rem);
  line-height: 1.06;
  letter-spacing: -0.01em;
}

.sales-deck-slide--statement .sales-deck-subheadline,
.sales-deck-slide--transition .sales-deck-subheadline {
  max-width: 56ch;
  font-size: clamp(1.06rem, 1.45vw, 1.3rem);
}

.sales-deck-slide--transition .sales-deck-slide-inner {
  min-height: clamp(440px, 72dvh, 780px);
  padding-block: clamp(38px, 11dvh, 148px);
  gap: clamp(62px, 11dvh, 148px);
}

.sales-deck-slide--transition .sales-deck-slide-index,
.sales-deck-slide--statement .sales-deck-slide-index {
  opacity: 0.72;
}

.sales-deck-slide--bullets .sales-deck-headline,
.sales-deck-slide--list .sales-deck-headline,
.sales-deck-slide--workflow .sales-deck-headline,
.sales-deck-slide--comparison .sales-deck-headline,
.sales-deck-slide--bullets .sales-deck-subheadline,
.sales-deck-slide--list .sales-deck-subheadline,
.sales-deck-slide--workflow .sales-deck-subheadline,
.sales-deck-slide--comparison .sales-deck-subheadline,
.sales-deck-slide--bullets .presentationInsightCards,
.sales-deck-slide--bullets .presentationImpactCards,
.sales-deck-slide--bullets .presentation-points,
.sales-deck-slide--workflow .presentationProcessSteps,
.sales-deck-slide--workflow .presentation-steps,
.sales-deck-slide--list .presentationProcessSteps,
.sales-deck-slide--list .presentation-steps,
.sales-deck-slide--comparison .presentationComparison,
.sales-deck-slide--comparison .presentation-comparison,
.sales-deck-slide--list .presentationOfferCards,
.sales-deck-slide--list .presentation-offer-grid {
  width: 100%;
  max-width: 100%;
}

.sales-deck-composition--insight-cards .sales-deck-slide-inner,
.sales-deck-composition--comparison .sales-deck-slide-inner,
.sales-deck-composition--process-horizontal .sales-deck-slide-inner,
.sales-deck-composition--offer-compact .sales-deck-slide-inner {
  width: min(1380px, 94vw);
}

.presentationInsightCards,
.presentationImpactCards,
.presentation-points {
  margin: 0;
  display: grid;
  gap: 0.85rem;
  width: min(1260px, 100%);
}

.sales-deck-slide--insight .presentationInsightCards,
.sales-deck-slide--insight .presentationImpactCards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1260px, 100%);
}

.presentationInsightCards .presentation-point-card,
.presentationImpactCards .presentation-point-card,
.presentation-point-card {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  border: 1px solid color-mix(in srgb, var(--color-border) 74%, #ffffff);
  border-radius: 14px;
  padding: 0.98rem 1.08rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}

.presentation-point-marker {
  width: 7px;
  height: 7px;
  margin-top: 0.5em;
  border-radius: 999px;
  background: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 16%, #ffffff);
}

.presentation-point-text {
  margin: 0;
  font-size: clamp(1rem, 1.3vw, 1.14rem);
  line-height: 1.3;
  text-align: left;
}

.presentationImpactCards .presentation-point-card {
  background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
  border-color: color-mix(in srgb, var(--color-primary) 24%, var(--color-border));
}

.presentation-points--compact .presentation-point-card {
  padding: 0.56rem 0.78rem;
}

.presentation-points--compact .presentation-point-text {
  font-size: clamp(1rem, 1.45vw, 1.15rem);
}

.presentationProcessSteps,
.presentation-steps {
  margin: 0;
  display: grid;
  gap: 14px;
  width: min(1320px, 100%);
}

.presentationProcessSteps.presentation-steps--workflow,
.presentation-steps--workflow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  width: min(1320px, 100%);
  gap: 12px;
}

.presentation-step-card {
  position: relative;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  padding: 16px 14px;
  min-height: 0;
}

.presentation-step-index {
  position: absolute;
  top: -10px;
  left: 14px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--color-primary);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 0.76rem;
  font-weight: 700;
}

.presentation-step-card--workflow {
  min-height: 82px;
  text-align: center;
  border-color: color-mix(in srgb, var(--color-border) 82%, #ffffff);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: none;
  padding: 12px 10px;
}

.presentation-step-card--workflow .presentation-step-text {
  text-align: center;
  font-size: clamp(0.9rem, 0.98vw, 1rem);
  line-height: 1.24;
}

.presentation-step-card--workflow:not(:last-child)::after {
  content: '\2192';
  position: absolute;
  right: -16px;
  top: 50%;
  transform: translateY(-50%);
  color: color-mix(in srgb, var(--color-primary) 42%, #64748b);
  font-size: 1rem;
  font-weight: 600;
}

.presentation-step-card--numbered {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  border: 1px solid color-mix(in srgb, var(--color-border) 78%, #ffffff);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  padding: 0.72rem 0.9rem;
}

.presentation-step-card--numbered .presentation-step-index {
  position: static;
  width: 34px;
  height: 34px;
  background: color-mix(in srgb, var(--color-primary) 16%, #ffffff);
  color: var(--color-primary);
  font-size: 0.96rem;
}

.presentation-step-text {
  margin: 0;
  font-size: clamp(1.03rem, 1.7vw, 1.28rem);
  line-height: 1.35;
  text-align: left;
}

.presentationComparison,
.presentation-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
  width: min(1320px, 100%);
  align-items: stretch;
}

.sales-deck-composition--comparison .presentation-comparison-card--right {
  transform: none;
}

.presentationComparisonCard,
.presentation-comparison-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fafcff 100%);
  display: grid;
  gap: 10px;
  align-content: start;
}

.presentation-comparison-card h3 {
  margin: 0;
  font-size: 1.06rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-soft);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.55rem;
}

.presentation-comparison-card--right {
  border-color: color-mix(in srgb, var(--color-primary) 34%, var(--color-border));
  box-shadow: var(--shadow-card-soft);
  background: linear-gradient(180deg, #ffffff 0%, #f2f8ff 100%);
}

.presentation-comparison-card--right .presentation-point-marker {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-primary) 22%, #ffffff);
}

.presentationOfferCards,
.presentation-offer-grid {
  margin: 0;
  display: grid;
  gap: 10px;
  width: min(860px, 100%);
}

.presentationOfferCards .presentationOfferCard,
.presentation-offer-card {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  padding: 0.9rem 1rem;
  border: 1px solid color-mix(in srgb, var(--color-border) 76%, #ffffff);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.presentation-offer-values {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.45rem;
}

.presentation-offer-old-value {
  color: color-mix(in srgb, var(--color-text-soft) 88%, #64748b);
  font-size: 0.9rem;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: color-mix(in srgb, var(--color-text-soft) 72%, #64748b);
}

.sales-deck-composition--offer-compact .presentation-offer-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.sales-deck-slide--offer .presentationOfferCards {
  width: min(1320px, 100%);
}

.presentation-offer-label {
  color: var(--color-text-soft);
}

.presentation-offer-value {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--color-primary);
}

.sales-deck-slide--bullets .presentationInsightCards,
.sales-deck-slide--bullets .presentationImpactCards,
.sales-deck-slide--workflow .presentationProcessSteps,
.sales-deck-slide--list .presentationProcessSteps,
.sales-deck-slide--comparison .presentationComparison,
.sales-deck-slide--list .presentationOfferCards,
.sales-deck-slide--list .presentation-steps,
.sales-deck-slide--workflow .presentation-steps,
.sales-deck-slide--bullets .presentation-points,
.sales-deck-slide--comparison .presentation-comparison,
.sales-deck-slide--list .presentation-offer-grid {
  margin-top: clamp(0.55rem, 1.1dvh, 0.95rem);
}

.presentation-layout--focus .sales-deck-slide-inner {
  width: min(1380px, 92vw);
  max-width: min(1380px, 92vw);
  text-align: center;
  justify-items: center;
}

.presentation-layout--editorial .sales-deck-slide-inner {
  width: min(1380px, 94vw);
  max-width: min(1380px, 94vw);
}

.presentation-layout--split .sales-deck-slide-inner {
  width: min(1380px, 94vw);
  max-width: min(1380px, 94vw);
}

.presentation-layout--process .sales-deck-slide-inner {
  width: min(1420px, 94vw);
  max-width: min(1420px, 94vw);
}

.presentation-layout--comparison .sales-deck-slide-inner {
  width: min(1420px, 94vw);
  max-width: min(1420px, 94vw);
}

.sales-deck-slide[data-sales-slide="2"] .sales-deck-headline,
.sales-deck-slide[data-sales-slide="3"] .sales-deck-headline,
.sales-deck-slide[data-sales-slide="7"] .sales-deck-headline,
.sales-deck-slide[data-sales-slide="8"] .sales-deck-headline,
.sales-deck-slide[data-sales-slide="9"] .sales-deck-headline {
  max-width: 28ch;
}

.sales-deck-slide[data-sales-slide="10"] .presentation-step-card--workflow {
  min-height: 76px;
}

.sales-deck-slide[data-sales-slide="13"] .sales-deck-headline {
  max-width: 26ch;
}

.sales-deck-momentum {
  margin: 0;
  font-size: clamp(1.16rem, 2vw, 1.7rem);
  line-height: 1.4;
  font-weight: 700;
  color: var(--color-primary);
  max-width: 62ch;
}

.sales-deck-inline-cta {
  margin: 0;
  font-size: clamp(1.3rem, 2.3vw, 1.9rem);
  font-weight: 700;
}

.sales-deck-nav {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 30;
  display: flex;
  gap: 8px;
  margin: 0;
}

.sales-deck-nav-btn {
  inline-size: 42px;
  block-size: 42px;
  min-width: 42px;
  min-height: 42px;
  border-radius: 999px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  font-size: 0;
  line-height: 1;
  position: relative;
}

.sales-deck-nav-btn[data-sales-prev]::before {
  content: '<';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1;
}

.sales-deck-nav-btn[data-sales-next]::before {
  content: '>';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1;
}

.sales-deck-nav-btn:disabled {
  opacity: 0.42;
}

.tabuni-page.has-sales-deck .consent-manage--link {
  left: 10px;
  right: auto;
  bottom: 10px;
  z-index: 12;
  padding: 6px 9px;
  font-size: 0.74rem;
  opacity: 0.84;
}

.tabuni-page.has-sales-deck.consent-decided .consent-manage--link {
  display: none;
}

@media (max-width: 1024px) {
  .sales-deck-visual--align-right,
  .sales-deck-visual--align-left {
    left: max(56%, calc(100% - min(40vw, 380px)));
    right: 8px;
    top: clamp(66px, 8dvh, 86px);
    bottom: clamp(58px, 8dvh, 76px);
    border-radius: 0;
  }

  .sales-deck-slide--with-visual.sales-deck-slide--visual-right .sales-deck-slide-inner,
  .sales-deck-slide--with-visual.sales-deck-slide--visual-left .sales-deck-slide-inner {
    width: min(1060px, 72vw);
    max-width: min(1060px, 72vw);
    margin-left: clamp(8px, 2.2vw, 24px);
    margin-right: auto;
  }

  .sales-deck-slide--insight .presentationInsightCards,
  .sales-deck-slide--insight .presentationImpactCards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .presentationProcessSteps.presentation-steps--workflow,
  .presentation-steps--workflow {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: min(1160px, 100%);
  }

  .presentation-step-card--workflow:not(:last-child)::after {
    display: none;
  }

  .sales-deck-composition--offer-compact .presentation-offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .presentationComparison,
  .presentation-comparison {
    width: min(1120px, 100%);
  }
}

@media (max-width: 768px) {
  .sales-deck-shell {
    width: min(100%, calc(100% - 18px));
    min-height: 100%;
    padding: 0;
  }

  .sales-deck-topbar {
    top: 8px;
    left: 10px;
    right: 10px;
    gap: 6px;
  }

  .sales-deck-progress-text {
    text-align: left;
    font-size: 0.7rem;
  }

  .sales-deck-slide {
    min-height: 100%;
    align-items: start;
    padding: 42px 4px 58px;
    position: absolute;
  }

  .sales-deck-slide-inner {
    gap: 12px;
    padding-top: 0;
  }

  .sales-deck-slide--statement .sales-deck-headline,
  .sales-deck-slide--transition .sales-deck-headline {
    font-size: clamp(1.85rem, 7.6vw, 2.75rem);
    line-height: 1.08;
    max-width: 21ch;
  }

  .sales-deck-slide--bullets .sales-deck-slide-inner,
  .sales-deck-slide--list .sales-deck-slide-inner,
  .sales-deck-slide--workflow .sales-deck-slide-inner,
  .sales-deck-slide--comparison .sales-deck-slide-inner {
    width: min(100%, 92vw);
    max-width: min(100%, 92vw);
  }

  .sales-deck-slide--with-visual .sales-deck-slide-inner {
    width: min(100%, 92vw);
    max-width: min(100%, 92vw);
    margin-left: auto;
    margin-right: auto;
  }

  .sales-deck-visual {
    display: none;
  }

  .presentationProcessSteps.presentation-steps--workflow,
  .presentation-steps--workflow,
  .presentationComparison,
  .presentation-comparison {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .sales-deck-composition--comparison .presentation-comparison-card--right {
    transform: none;
  }

  .sales-deck-nav {
    right: 10px;
    bottom: 10px;
  }

  .sales-deck-nav-btn {
    inline-size: 38px;
    block-size: 38px;
    min-width: 38px;
    min-height: 38px;
  }
}

@media (max-height: 860px) {
  .sales-deck-slide {
    padding-top: 46px;
    padding-bottom: 54px;
  }

  .sales-deck-headline {
    font-size: clamp(1.9rem, 3.8vw, 3.1rem);
    line-height: 1.08;
  }

  .sales-deck-slide--statement .sales-deck-headline,
  .sales-deck-slide--transition .sales-deck-headline {
    font-size: clamp(2.05rem, 4.2vw, 3.7rem);
    max-width: 22ch;
  }

  .sales-deck-subheadline {
    font-size: clamp(1rem, 1.4vw, 1.2rem);
  }

  .presentationInsightCards .presentation-point-card,
  .presentationImpactCards .presentation-point-card,
  .presentation-point-card {
    padding: 0.74rem 0.84rem;
  }

  .presentation-step-card--workflow {
    min-height: 68px;
    padding: 10px 8px;
  }

  .presentation-comparison-card {
    padding: 12px;
    gap: 8px;
  }

  .sales-deck-slide--insight .presentationInsightCards,
  .sales-deck-slide--insight .presentationImpactCards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-height: 740px) {
  .sales-deck-slide {
    padding-top: 38px;
    padding-bottom: 48px;
  }

  .sales-deck-slide-inner {
    gap: 10px;
  }

  .eyebrow {
    font-size: 0.72rem;
  }

  .sales-deck-headline {
    font-size: clamp(1.62rem, 2.9vw, 2.45rem);
  }

  .sales-deck-slide--statement .sales-deck-headline,
  .sales-deck-slide--transition .sales-deck-headline {
    font-size: clamp(1.8rem, 3.55vw, 2.75rem);
  }

  .sales-deck-subheadline {
    font-size: clamp(0.95rem, 1.18vw, 1.06rem);
    line-height: 1.34;
  }

  .sales-deck-slide--insight .presentationInsightCards,
  .sales-deck-slide--insight .presentationImpactCards {
    gap: 0.56rem;
  }

  .presentation-point-text {
    font-size: 0.92rem;
    line-height: 1.22;
  }

  .presentationProcessSteps.presentation-steps--workflow,
  .presentation-steps--workflow {
    gap: 6px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .sales-deck-visual--tone-rich img {
    opacity: 0.22;
  }

  .presentation-step-card--workflow .presentation-step-text {
    font-size: 0.8rem;
    line-height: 1.2;
  }

  .sales-deck-slide--insight .presentationInsightCards,
  .sales-deck-slide--insight .presentationImpactCards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .sales-deck-composition--offer-compact .presentation-offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

.tabuni-page.has-sales-deck .consent-manage--link:hover {
  background: #fff;
}

.tabuni-page.has-sales-deck #tabuni-consent-banner,
.tabuni-page.has-sales-deck #tabuni-consent-manage {
  display: none !important;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-shell {
  width: min(100%, calc(100% - 12px));
  padding: 0 6px 8px;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-topbar {
  top: 8px;
  left: 10px;
  right: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-title {
  font-size: 0.74rem;
  line-height: 1.2;
  margin-top: 2px;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-progress {
  width: clamp(138px, 44vw, 210px);
  max-width: 100%;
  justify-self: end;
  gap: 5px;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-progress-text {
  font-size: 0.72rem;
  line-height: 1.2;
  white-space: nowrap;
  text-align: right;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-progress-track {
  margin-top: 1px;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-stage {
  min-height: 100%;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-slide {
  min-height: 100%;
  align-items: start;
  padding: calc(var(--sales-deck-topbar-offset, 56px) + 20px) 8px 84px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-slide-inner {
  width: min(100%, 90vw);
  max-width: min(100%, 90vw);
  gap: 12px;
  padding-top: 0;
  align-content: start;
  max-height: none;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-headline {
  font-size: clamp(1.7rem, 7vw, 2.45rem);
  line-height: 1.1;
  max-width: 22ch;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-subheadline {
  font-size: clamp(0.94rem, 3.8vw, 1.05rem);
  line-height: 1.34;
  max-width: 58ch;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-slide--statement .sales-deck-headline,
.tabuni-page.has-sales-deck-mobile .sales-deck-slide--transition .sales-deck-headline {
  font-size: clamp(1.95rem, 8vw, 2.8rem);
  max-width: 20ch;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-visual {
  display: none;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-slide--insight .presentationInsightCards,
.tabuni-page.has-sales-deck-mobile .sales-deck-slide--insight .presentationImpactCards,
.tabuni-page.has-sales-deck-mobile .presentationInsightCards,
.tabuni-page.has-sales-deck-mobile .presentationImpactCards,
.tabuni-page.has-sales-deck-mobile .presentation-points {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.62rem;
}

.tabuni-page.has-sales-deck-mobile .presentationProcessSteps.presentation-steps--workflow,
.tabuni-page.has-sales-deck-mobile .presentation-steps--workflow,
.tabuni-page.has-sales-deck-mobile .presentationProcessSteps.presentation-steps--numbered,
.tabuni-page.has-sales-deck-mobile .presentation-steps--numbered {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.62rem;
}

.tabuni-page.has-sales-deck-mobile .presentation-step-card--workflow:not(:last-child)::after {
  display: none;
}

.tabuni-page.has-sales-deck-mobile .presentationComparison,
.tabuni-page.has-sales-deck-mobile .presentation-comparison {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.tabuni-page.has-sales-deck-mobile .presentationOfferCards,
.tabuni-page.has-sales-deck-mobile .presentation-offer-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-nav {
  right: 10px;
  bottom: 10px;
}

.tabuni-page.has-sales-deck-mobile .sales-deck-nav-btn {
  inline-size: 40px;
  block-size: 40px;
  min-width: 40px;
  min-height: 40px;
}

.section-sales-link-builder .shell.narrow {
  max-width: 920px;
}

.sales-link-builder-form {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}

.sales-link-builder-grid {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: 1fr;
}

.sales-link-builder-form .contact-field input,
.sales-link-builder-form .contact-field select {
  width: 100%;
}

.sales-link-builder-form .contact-field select {
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  padding: 12px;
  font: inherit;
  color: var(--color-text);
  background: #fff;
}

.sales-link-builder-radio {
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 0.7rem 0.85rem 0.8rem;
  margin: 0;
}

.sales-link-builder-radio legend {
  padding: 0 0.35rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-text-soft);
}

.sales-link-builder-radio-group {
  display: grid;
  gap: 0.45rem;
}

.sales-link-builder-radio-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-weight: 500;
}

.sales-link-builder-radio input[type='radio'] {
  width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  margin: 0;
  accent-color: var(--color-primary);
}

.sales-link-builder-custom-input {
  margin-top: 0.5rem;
}

.sales-link-builder-actions {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.sales-link-builder-output input[readonly] {
  background: #f8fbff;
}

.sales-link-builder-open {
  margin: 0;
}

.sales-link-builder-note {
  margin: 0;
  color: var(--color-text-soft);
  font-size: 0.95rem;
}

.tabuni-page.has-executive-deck .site-header,
.tabuni-page.has-executive-deck .site-footer {
  display: none;
}

.tabuni-page.has-executive-deck main {
  margin: 0;
}

.section-executive-deck {
  padding: 0;
  margin: 0;
  background:
    radial-gradient(1200px 540px at 18% -20%, rgba(15, 99, 187, 0.07), transparent 60%),
    radial-gradient(1100px 560px at 108% 118%, rgba(30, 64, 175, 0.08), transparent 58%),
    linear-gradient(180deg, #f9fbff 0%, #f4f8fd 52%, #f9fbff 100%);
}

.executive-deck-shell {
  position: relative;
}

.executive-deck-title {
  position: fixed;
  top: clamp(10px, 2vh, 18px);
  left: clamp(16px, 3vw, 32px);
  margin: 0;
  z-index: 10;
  font-size: clamp(0.75rem, 1.2vw, 0.86rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #5f7087;
  font-weight: 650;
}

.executive-deck-stage {
  position: relative;
}

.executive-slide {
  min-height: 100dvh;
  height: 100dvh;
  display: none;
  padding: clamp(52px, 7vh, 82px) clamp(18px, 5.4vw, 84px) clamp(104px, 14vh, 146px);
  align-items: stretch;
}

.executive-slide.is-active {
  display: block;
}

.executive-slide-layout {
  width: min(1440px, 100%);
  height: 100%;
  margin: 0 auto;
  display: grid;
  align-items: center;
  gap: clamp(20px, 5.5vh, 56px);
}

.executive-slide-layout--statement {
  justify-items: center;
  text-align: center;
  align-content: center;
}

.executive-slide-layout--statement .executive-slide-copy {
  max-width: min(1100px, 100%);
}

.executive-slide-layout--statement .executive-headline {
  margin-inline: auto;
  max-width: 16ch;
}

.executive-slide-layout--statement .executive-subline {
  margin-inline: auto;
  max-width: 66ch;
}

.executive-slide-layout--split {
  grid-template-columns: minmax(340px, 0.86fr) minmax(460px, 1.14fr);
}

.executive-slide-copy {
  min-width: 0;
  align-self: center;
}

.executive-eyebrow {
  margin: 0 0 clamp(10px, 1.6vh, 18px);
  font-size: clamp(0.8rem, 1.15vw, 0.96rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4f6684;
  font-weight: 700;
}

.executive-headline {
  margin: 0;
  max-width: 15ch;
  font-size: clamp(2.25rem, 5.8vw, 5.2rem);
  line-height: 1.02;
  color: #0f2744;
  letter-spacing: -0.026em;
}

.executive-subline {
  margin: clamp(14px, 2.2vh, 24px) 0 0;
  max-width: 64ch;
  font-size: clamp(1rem, 1.65vw, 1.3rem);
  line-height: 1.42;
  color: #395069;
}

.executive-subline-note {
  margin: clamp(8px, 1.3vh, 14px) 0 0;
  max-width: 58ch;
  font-size: clamp(0.82rem, 1.06vw, 0.95rem);
  line-height: 1.36;
  color: #5a718b;
}

.executive-copy-media {
  margin: clamp(14px, 2.1vh, 22px) 0 0;
}

.executive-copy-media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.executive-copy-media--seal {
  width: min(500px, 100%);
}

.executive-copy-media--seal img {
  width: 100%;
  max-height: clamp(240px, 34vh, 380px);
  object-fit: contain;
}

.executive-slide-visual {
  min-width: 0;
  align-self: center;
}

.executive-image-visual {
  margin: 0;
  border-radius: 20px;
  border: 1px solid #cfdeef;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(17, 43, 72, 0.09);
  background: #fff;
}

.executive-image-visual img {
  width: 100%;
  height: auto;
  display: block;
}

.executive-slide--visual-hero-entry .executive-headline {
  font-size: clamp(2.8rem, 7.2vw, 6.2rem);
  max-width: 14ch;
}

.executive-slide--visual-hero-question .executive-headline {
  font-size: clamp(2.6rem, 6.4vw, 5.6rem);
}

.executive-slide--workflow .executive-headline,
.executive-slide--comparison .executive-headline,
.executive-slide--insight .executive-headline {
  font-size: clamp(2.1rem, 4.6vw, 4rem);
  max-width: 16ch;
}

.executive-process {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.86rem 0.74rem;
  padding: 0;
}

.executive-process-step-wrap {
  display: flex;
  align-items: center;
  gap: 0.72rem;
  flex: 1 1 250px;
}

.executive-process-step {
  min-height: clamp(102px, 13vh, 130px);
  width: 100%;
  padding: clamp(12px, 2.1vh, 20px) clamp(12px, 1.8vw, 18px);
  border-radius: 16px;
  border: 1px solid #cbd8e7;
  background: #fff;
  box-shadow: 0 10px 26px rgba(16, 41, 69, 0.07);
  display: grid;
  gap: 0.52rem;
  align-content: start;
}

.executive-process-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf2fb;
  color: #13406f;
  font-weight: 700;
  font-size: 0.94rem;
}

.executive-process-text {
  margin: 0;
  font-size: clamp(0.95rem, 1.3vw, 1.06rem);
  line-height: 1.34;
  color: #173a5d;
  font-weight: 600;
}

.executive-process-arrow {
  display: inline-flex;
  width: 18px;
  height: 18px;
  border-top: 2px solid #7493b6;
  border-right: 2px solid #7493b6;
  transform: rotate(45deg);
}

.executive-before-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 20px);
}

.executive-before-after-column {
  border-radius: 18px;
  border: 1px solid #ccdae9;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 38, 62, 0.06);
  padding: clamp(16px, 2.4vh, 24px);
}

.executive-before-after-column h3 {
  margin: 0 0 0.9rem;
  font-size: clamp(1.12rem, 1.7vw, 1.4rem);
  color: #1d3d61;
}

.executive-before-after-column--target {
  border-color: #9bb9da;
  background: linear-gradient(180deg, #f8fbff 0%, #f1f6fd 100%);
}

.executive-before-after-list {
  display: grid;
  gap: 0.52rem;
}

.executive-before-after-step {
  display: grid;
  gap: 0.5rem;
}

.executive-before-after-step span {
  display: block;
  border: 1px solid #d3dfec;
  border-radius: 14px;
  background: #fff;
  padding: 0.64rem 0.74rem;
  color: #23486f;
  font-size: clamp(0.92rem, 1.2vw, 1.02rem);
  font-weight: 600;
}

.executive-before-after-step i {
  width: 14px;
  height: 14px;
  justify-self: center;
  border-right: 2px solid #7d96b3;
  border-bottom: 2px solid #7d96b3;
  transform: rotate(45deg);
}

.executive-vertical-flow {
  display: grid;
  gap: 0.52rem;
}

.executive-vertical-step-wrap {
  display: grid;
  justify-items: stretch;
  gap: 0.52rem;
}

.executive-vertical-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.76rem;
  border: 1px solid #cbdae8;
  border-radius: 16px;
  background: #fff;
  padding: 0.72rem 0.82rem;
  box-shadow: 0 10px 24px rgba(15, 37, 60, 0.07);
}

.executive-vertical-step--address {
  border-color: #8fb2d8;
  background: linear-gradient(180deg, #f8fbff 0%, #f0f7ff 100%);
}

.executive-vertical-step p {
  margin: 0;
  font-size: clamp(0.92rem, 1.24vw, 1.06rem);
  line-height: 1.32;
  color: #123b62;
  font-weight: 650;
  word-break: break-word;
}

.executive-vertical-step-index {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #e8f1fb;
  color: #123f6e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  font-weight: 700;
}

.executive-vertical-step-arrow {
  width: 12px;
  height: 12px;
  justify-self: center;
  border-right: 2px solid #7394b7;
  border-bottom: 2px solid #7394b7;
  transform: rotate(45deg);
}

.executive-subdomain-journey {
  position: relative;
  min-height: clamp(420px, 56vh, 560px);
  display: grid;
  align-content: center;
  justify-items: center;
  gap: clamp(18px, 2.8vh, 28px);
  padding: clamp(10px, 1.6vh, 22px) clamp(8px, 1.2vw, 18px);
}

.executive-subdomain-flow {
  width: min(560px, 88%);
  display: grid;
  justify-items: center;
  gap: clamp(6px, 1.1vh, 12px);
}

.executive-subdomain-stage {
  margin: 0;
  display: grid;
  justify-items: center;
  gap: clamp(8px, 1.2vh, 12px);
}

.executive-subdomain-stage-text {
  margin: 0;
  padding: clamp(10px, 1.4vh, 16px) clamp(16px, 2vw, 24px);
  color: #0f2f4f;
  font-size: clamp(1.28rem, 2.05vw, 1.85rem);
  line-height: 1.16;
  font-weight: 650;
  letter-spacing: -0.018em;
  text-align: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 255, 0.98) 100%);
  border: 1px solid rgba(186, 203, 221, 0.72);
  border-radius: 16px;
  min-width: min(430px, 84vw);
}

.executive-subdomain-stage-arrow {
  width: 2px;
  height: clamp(26px, 3.6vh, 38px);
  background: linear-gradient(180deg, rgba(124, 148, 174, 0.3) 0%, rgba(124, 148, 174, 0.84) 100%);
  border-radius: 999px;
  position: relative;
}

.executive-subdomain-stage-arrow::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 9px;
  height: 9px;
  border-right: 1.8px solid rgba(116, 142, 170, 0.9);
  border-bottom: 1.8px solid rgba(116, 142, 170, 0.9);
  transform: translateX(-50%) rotate(45deg);
}

.executive-subdomain-footnote {
  width: min(600px, 90%);
  display: grid;
  gap: 6px;
  text-align: center;
}

.executive-subdomain-example {
  margin: 0;
  color: #4a607a;
  font-size: clamp(0.82rem, 1.08vw, 0.94rem);
  line-height: 1.32;
}

.executive-subdomain-note {
  margin: 0;
  color: #647b95;
  font-size: clamp(0.74rem, 0.94vw, 0.84rem);
  line-height: 1.3;
}

.executive-slide--visual-subdomain-flow .executive-slide-layout--split {
  grid-template-columns: minmax(300px, 0.7fr) minmax(680px, 1.3fr);
  gap: clamp(26px, 4vw, 58px);
}

.executive-slide--visual-subdomain-flow .executive-slide-copy {
  align-self: center;
}

.executive-slide--visual-subdomain-flow .executive-slide-visual {
  align-self: stretch;
  display: grid;
  align-items: center;
}

.executive-api-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: clamp(14px, 1.8vw, 22px);
}

.executive-api-stage {
  position: relative;
  border: 1px solid #c9d7e7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(14, 36, 59, 0.07);
  padding: clamp(12px, 1.9vh, 20px);
  min-height: clamp(180px, 28vh, 248px);
  display: grid;
  align-content: space-between;
  gap: 0.82rem;
}

.executive-api-call {
  margin: 0;
  color: #0f365d;
  font-size: clamp(0.9rem, 1.04vw, 1.04rem);
  font-weight: 700;
  line-height: 1.22;
  white-space: nowrap;
}

.executive-api-result {
  margin: 0;
  border-top: 1px solid #d3e0ee;
  padding-top: 0.8rem;
  color: #24496f;
  font-size: clamp(0.96rem, 1.2vw, 1.06rem);
  line-height: 1.32;
  font-weight: 600;
}

.executive-api-arrow {
  position: absolute;
  right: -13px;
  top: 50%;
  width: 18px;
  height: 18px;
  border-top: 2px solid #7595b7;
  border-right: 2px solid #7595b7;
  transform: translateY(-50%) rotate(45deg);
}

.executive-slide--visual-api-pipeline .executive-slide-layout--split {
  grid-template-columns: minmax(270px, 0.7fr) minmax(760px, 1.3fr);
  gap: clamp(22px, 3.4vw, 50px);
}

.executive-marketing-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-content: start;
  gap: clamp(8px, 1vh, 14px);
  width: 100%;
}

.executive-marketing-entry {
  display: grid;
  gap: 0.42rem;
  width: min(640px, 100%);
}

.executive-marketing-entry p {
  margin: 0;
  border: 1px solid #cfdeed;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  padding: 0.5rem 0.62rem;
  color: #24486d;
  font-size: clamp(0.84rem, 1.06vw, 0.92rem);
  line-height: 1.2;
  font-weight: 610;
  text-align: center;
  overflow-wrap: anywhere;
}

.executive-marketing-connector {
  width: 2px;
  height: clamp(14px, 2.2vh, 22px);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(125, 149, 174, 0.86) 0%, rgba(125, 149, 174, 0.28) 100%);
  position: relative;
}

.executive-marketing-connector::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid rgba(114, 141, 169, 0.84);
  border-bottom: 1.5px solid rgba(114, 141, 169, 0.84);
  transform: translateX(-50%) rotate(45deg);
}

.executive-marketing-start {
  border: 1px solid #bfd3e6;
  border-radius: 14px;
  background: linear-gradient(180deg, #f9fcff 0%, #f3f8ff 100%);
  padding: 0.76rem 1rem;
  width: min(420px, 100%);
}

.executive-marketing-start p {
  margin: 0;
  color: #10355a;
  font-size: clamp(0.96rem, 1.18vw, 1.08rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  overflow-wrap: anywhere;
}

.executive-marketing-compact {
  display: grid;
  gap: 0.3rem;
  width: min(420px, 100%);
}

.executive-marketing-compact article {
  display: grid;
  justify-items: center;
  gap: 0.28rem;
}

.executive-marketing-compact p {
  margin: 0;
  color: #173d63;
  font-size: clamp(0.92rem, 1.14vw, 1rem);
  line-height: 1.2;
  font-weight: 640;
}

.executive-marketing-compact span {
  width: 2px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(124, 147, 171, 0.84) 0%, rgba(124, 147, 171, 0.3) 100%);
  position: relative;
}

.executive-marketing-compact span::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 6px;
  height: 6px;
  border-right: 1.4px solid rgba(118, 143, 169, 0.88);
  border-bottom: 1.4px solid rgba(118, 143, 169, 0.88);
  transform: translateX(-50%) rotate(45deg);
}

.executive-marketing-source-strip {
  margin-top: 0.1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-top: 0;
  width: min(560px, 100%);
}

.executive-marketing-source-strip::before {
  display: none;
}

.executive-marketing-source-strip span {
  border: 1px solid #d4e1ef;
  border-radius: 999px;
  padding: 0.24rem 0.46rem;
  background: rgba(255, 255, 255, 0.9);
  color: #4d6580;
  font-size: clamp(0.7rem, 0.88vw, 0.78rem);
  line-height: 1.2;
  font-weight: 620;
  overflow-wrap: anywhere;
  max-width: 100%;
}

.executive-marketing-end {
  border: 1px solid #bfd3e6;
  border-radius: 14px;
  background: linear-gradient(180deg, #f9fcff 0%, #f3f8ff 100%);
  padding: 0.76rem 1rem;
  width: min(420px, 100%);
}

.executive-marketing-end p {
  margin: 0;
  color: #10355a;
  font-size: clamp(0.96rem, 1.18vw, 1.08rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  overflow-wrap: anywhere;
}

.executive-it-architecture {
  width: min(760px, 100%);
  display: grid;
  justify-items: center;
  align-content: start;
  gap: clamp(8px, 1vh, 14px);
}

.executive-it-node {
  width: min(420px, 100%);
  border: 1px solid #c7d8e9;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
  box-shadow: 0 10px 24px rgba(15, 37, 60, 0.07);
  padding: clamp(12px, 1.8vh, 18px) clamp(12px, 1.4vw, 18px);
}

.executive-it-node p {
  margin: 0;
  color: #14385e;
  font-size: clamp(0.96rem, 1.16vw, 1.06rem);
  line-height: 1.24;
  font-weight: 650;
  text-align: center;
  overflow-wrap: anywhere;
}

.executive-it-node-title {
  margin: 0;
  color: #14385e;
  font-size: clamp(1.02rem, 1.28vw, 1.15rem);
  line-height: 1.24;
  font-weight: 680;
}

.executive-it-node-url {
  margin: 0.2rem 0 0;
  color: #4a6380;
  font-size: clamp(0.78rem, 0.98vw, 0.9rem);
  line-height: 1.28;
  font-weight: 600;
}

.executive-it-node--target {
  width: min(470px, 100%);
  border-color: #b7cde4;
  background: linear-gradient(180deg, #f9fcff 0%, #eef6ff 100%);
}

.executive-it-node--platform {
  border-color: #b9cfe5;
  background: linear-gradient(180deg, #f9fcff 0%, #eef5ff 100%);
  width: min(240px, 100%);
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.executive-it-node--extension {
  border-color: #cddbea;
  background: rgba(248, 251, 255, 0.95);
  box-shadow: none;
  width: min(390px, 100%);
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.executive-it-node--extension p {
  width: 100%;
  display: grid;
  justify-items: center;
  gap: 0.14rem;
}

.executive-it-extension-line {
  display: block;
  white-space: nowrap;
}

.executive-it-cta {
  width: min(280px, 100%);
  border: 1px solid #b3cbe3;
  border-radius: 999px;
  background: linear-gradient(180deg, #f2f8ff 0%, #e8f2ff 100%);
  box-shadow: 0 10px 22px rgba(17, 42, 69, 0.1);
  padding: 0.58rem 1rem;
}

.executive-it-cta p {
  margin: 0;
  color: #0f355b;
  font-size: clamp(0.94rem, 1.1vw, 1rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
}

.executive-it-switch {
  color: #516b86;
  font-size: clamp(0.74rem, 0.92vw, 0.82rem);
  line-height: 1;
  font-weight: 700;
}

.executive-it-link {
  width: 2px;
  height: clamp(12px, 1.8vh, 18px);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(121, 145, 170, 0.84) 0%, rgba(121, 145, 170, 0.26) 100%);
  position: relative;
}

.executive-it-link::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 6px;
  height: 6px;
  border-right: 1.4px solid rgba(113, 139, 166, 0.84);
  border-bottom: 1.4px solid rgba(113, 139, 166, 0.84);
  transform: translateX(-50%) rotate(45deg);
}

.executive-it-link--subtle {
  background: linear-gradient(180deg, rgba(121, 145, 170, 0.58) 0%, rgba(121, 145, 170, 0.18) 100%);
}

.executive-it-platform-stack {
  width: min(700px, 100%);
  position: relative;
  display: grid;
  justify-items: center;
  min-height: 110px;
}

.executive-it-optional-branch {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: clamp(132px, 13vw, 168px);
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, 1vw, 14px);
}

.executive-it-side-link {
  width: clamp(18px, 2vw, 30px);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(121, 145, 170, 0.76) 0%, rgba(121, 145, 170, 0.28) 100%);
  position: relative;
}

.executive-it-side-link::after {
  content: '';
  position: absolute;
  right: -1px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 1.4px solid rgba(113, 139, 166, 0.84);
  border-top: 1.4px solid rgba(113, 139, 166, 0.84);
  transform: translateY(-50%) rotate(45deg);
}

.executive-it-checks {
  margin: 0.92rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.54rem;
  width: min(520px, 100%);
}

.executive-it-checks li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.52rem;
  margin: 0;
  color: #284c70;
  font-size: clamp(0.92rem, 1.12vw, 1rem);
  line-height: 1.32;
  font-weight: 620;
}

.executive-it-checks li span {
  color: #2c5c8a;
  font-size: 0.9em;
  line-height: 1.2;
  padding-top: 0.05rem;
  font-weight: 700;
}

.executive-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.8vh, 16px);
}

.executive-insight-card {
  margin: 0;
  min-height: clamp(140px, 20vh, 220px);
  border-radius: 18px;
  border: 1px solid #ccdae9;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 37, 60, 0.07);
  padding: clamp(16px, 2.8vh, 26px);
  display: flex;
  align-items: flex-start;
}

.executive-insight-card p {
  margin: 0;
  color: #163a60;
  font-size: clamp(1.05rem, 1.5vw, 1.26rem);
  line-height: 1.34;
  font-weight: 620;
}

.executive-workstyle-matrix-wrap {
  display: grid;
  gap: 0.82rem;
}

.executive-workstyle-kicker {
  margin: 0;
  font-size: clamp(0.76rem, 1vw, 0.88rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #607791;
  font-weight: 650;
}

.executive-workstyle-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2vh, 22px);
}

.executive-workstyle-card {
  border: 1px solid #c9d8e8;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 14px 32px rgba(16, 40, 66, 0.08);
  min-height: clamp(170px, 24vh, 246px);
  padding: clamp(20px, 3vh, 30px) clamp(18px, 2.2vw, 26px);
  display: grid;
  align-content: center;
  gap: 0.62rem;
}

.executive-workstyle-label {
  margin: 0;
  color: #6a7f97;
  font-size: clamp(0.78rem, 1.05vw, 0.9rem);
  letter-spacing: 0.03em;
  font-weight: 620;
}

.executive-workstyle-title {
  margin: 0;
  color: #0f2744;
  font-size: clamp(1.45rem, 2.5vw, 2.3rem);
  line-height: 1.08;
  letter-spacing: -0.018em;
  font-weight: 700;
}

.executive-workstyle-meta {
  margin: 0;
  color: #3d5570;
  font-size: clamp(0.9rem, 1.22vw, 1.05rem);
  line-height: 1.26;
  font-weight: 600;
}

.executive-slide--visual-workstyle-matrix .executive-subline {
  max-width: 42ch;
}

.executive-entry-hub {
  position: relative;
}

.executive-entry-hub-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(58px, 7vw, 82px);
  height: clamp(58px, 7vw, 82px);
  border-radius: 999px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle at 30% 28%, #7ab0e8, #2f5f94);
  box-shadow: 0 14px 34px rgba(22, 66, 109, 0.34);
}

.executive-entry-hub-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.8vh, 16px);
  position: relative;
  z-index: 1;
}

.executive-entry-hub-node {
  border: 1px solid #c9d8e8;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 24px rgba(18, 44, 70, 0.07);
  padding: clamp(14px, 2.2vh, 20px);
  min-height: 110px;
  display: flex;
  align-items: center;
}

.executive-entry-hub-node p {
  margin: 0;
  font-size: clamp(0.96rem, 1.24vw, 1.06rem);
  line-height: 1.3;
  color: #1a426a;
  font-weight: 620;
}

.executive-integration-map {
  display: grid;
  gap: 0.72rem;
}

.executive-integration-center {
  border: 1px solid #9fbddd;
  border-radius: 18px;
  background: linear-gradient(180deg, #f5faff 0%, #edf5ff 100%);
  padding: 0.86rem 1rem;
  box-shadow: 0 10px 24px rgba(17, 47, 78, 0.12);
}

.executive-integration-center p {
  margin: 0;
  color: #13406e;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  font-weight: 700;
}

.executive-integration-spokes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.executive-integration-spoke {
  border: 1px solid #c9d9e8;
  border-radius: 14px;
  background: #fff;
  padding: 0.68rem 0.8rem;
}

.executive-integration-spoke p {
  margin: 0;
  color: #1d4369;
  font-size: clamp(0.92rem, 1.18vw, 1.02rem);
  line-height: 1.3;
  font-weight: 600;
}

.executive-known-data {
  display: grid;
  gap: 0.72rem;
}

.executive-known-data-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.56rem;
}

.executive-known-data-chip {
  border: 1px solid #caddf0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(16, 40, 66, 0.06);
  padding: 0.62rem 0.86rem;
}

.executive-known-data-chip p {
  margin: 0;
  color: #1b436b;
  font-size: clamp(0.88rem, 1.08vw, 0.98rem);
  line-height: 1.28;
  font-weight: 620;
}

.executive-known-data-arrow {
  justify-self: center;
  width: 16px;
  height: 16px;
  border-right: 2px solid #7a99b9;
  border-bottom: 2px solid #7a99b9;
  transform: rotate(45deg);
}

.executive-member-expansion {
  width: min(900px, 100%);
  display: grid;
  grid-template-columns: minmax(230px, 1.02fr) auto minmax(330px, 1.24fr);
  align-items: start;
  gap: clamp(14px, 1.8vw, 24px);
}

.executive-member-origin {
  border: 1px solid #c7d8e8;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  padding: clamp(14px, 2.2vh, 20px);
  box-shadow: 0 10px 24px rgba(16, 40, 65, 0.07);
}

.executive-member-origin-title {
  margin: 0;
  color: #12385f;
  font-size: clamp(1.02rem, 1.28vw, 1.16rem);
  line-height: 1.2;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.executive-member-origin-list {
  margin-top: 0.68rem;
  display: grid;
  gap: 0.48rem;
}

.executive-member-origin-list p {
  margin: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.42rem;
  color: #23496f;
  font-size: clamp(0.86rem, 1.02vw, 0.94rem);
  line-height: 1.26;
  font-weight: 610;
}

.executive-member-origin-list span {
  color: #2c5f8f;
  font-size: 0.9em;
  line-height: 1.2;
  padding-top: 0.03rem;
}

.executive-member-handoff {
  align-self: start;
  margin-top: clamp(12px, 1.6vh, 18px);
  border: 1px solid #c2d5e8;
  border-radius: 999px;
  background: linear-gradient(180deg, #f5faff 0%, #ebf4ff 100%);
  padding: 0.64rem 0.92rem;
  min-width: 190px;
  position: relative;
}

.executive-member-handoff::before,
.executive-member-handoff::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(122, 146, 171, 0.8) 0%, rgba(122, 146, 171, 0.3) 100%);
}

.executive-member-handoff::before {
  left: -20px;
}

.executive-member-handoff::after {
  right: -20px;
}

.executive-member-handoff p {
  margin: 0;
  text-align: center;
  color: #123d66;
  font-size: clamp(0.82rem, 0.98vw, 0.9rem);
  line-height: 1.2;
  font-weight: 680;
}

.executive-member-booking {
  border: 1px solid #c7d8e8;
  border-radius: 18px;
  background: #fff;
  padding: clamp(14px, 2.2vh, 20px);
  box-shadow: 0 10px 24px rgba(16, 40, 65, 0.07);
  display: grid;
  gap: 0.36rem;
}

.executive-member-booking article {
  display: grid;
  justify-items: center;
  gap: 0.26rem;
}

.executive-member-booking p {
  margin: 0;
  color: #173f67;
  font-size: clamp(0.92rem, 1.08vw, 1rem);
  line-height: 1.26;
  font-weight: 620;
  text-align: center;
}

.executive-member-booking span {
  width: 2px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(122, 146, 171, 0.84) 0%, rgba(122, 146, 171, 0.28) 100%);
  position: relative;
}

.executive-member-booking span::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 6px;
  height: 6px;
  border-right: 1.4px solid rgba(114, 140, 168, 0.86);
  border-bottom: 1.4px solid rgba(114, 140, 168, 0.86);
  transform: translateX(-50%) rotate(45deg);
}

.executive-member-result {
  margin-top: 0.28rem;
  border: 1px solid #b6cde4;
  border-radius: 14px;
  background: linear-gradient(180deg, #f3f9ff 0%, #eaf3ff 100%);
  padding: 0.72rem 0.84rem;
}

.executive-member-result p {
  color: #0f375d;
  font-size: clamp(0.9rem, 1.06vw, 0.98rem);
  line-height: 1.22;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.executive-prep-funnel {
  width: min(760px, 100%);
  display: grid;
  justify-items: center;
  align-content: start;
  gap: clamp(8px, 1vh, 14px);
}

.executive-prep-node {
  width: min(520px, 100%);
  border: 1px solid #c7d8e8;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  padding: clamp(12px, 1.8vh, 18px) clamp(12px, 1.4vw, 18px);
  box-shadow: 0 10px 24px rgba(15, 37, 60, 0.07);
}

.executive-prep-node p {
  margin: 0;
  text-align: center;
  color: #143b62;
  font-size: clamp(0.95rem, 1.12vw, 1.02rem);
  line-height: 1.24;
  font-weight: 650;
}

.executive-prep-node--top {
  width: min(340px, 100%);
}

.executive-prep-node--start {
  width: min(620px, 100%);
}

.executive-prep-note {
  margin-top: 0.4rem;
  color: #5b728c;
  font-size: clamp(0.74rem, 0.9vw, 0.82rem);
  line-height: 1.24;
  font-weight: 580;
}

.executive-prep-branches {
  width: min(720px, 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 14px);
}

.executive-prep-branch {
  border: 1px solid #d0deec;
  border-radius: 12px;
  background: #fff;
  padding: clamp(10px, 1.5vh, 14px) clamp(10px, 1vw, 12px);
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.executive-prep-branch p {
  margin: 0;
  text-align: center;
  color: #1f456b;
  font-size: clamp(0.84rem, 1vw, 0.92rem);
  line-height: 1.24;
  font-weight: 620;
}

.executive-prep-arrow {
  width: 2px;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(121, 145, 170, 0.84) 0%, rgba(121, 145, 170, 0.28) 100%);
  position: relative;
}

.executive-prep-arrow::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 6px;
  height: 6px;
  border-right: 1.4px solid rgba(113, 139, 166, 0.84);
  border-bottom: 1.4px solid rgba(113, 139, 166, 0.84);
  transform: translateX(-50%) rotate(45deg);
}

.executive-prep-arrow--merge {
  height: 18px;
}

.executive-prep-node--outcome {
  width: min(620px, 100%);
  border-color: #b4cce4;
  background: linear-gradient(180deg, #f3f9ff 0%, #eaf3ff 100%);
  padding-top: clamp(16px, 2.3vh, 24px);
  padding-bottom: clamp(16px, 2.3vh, 24px);
}

.executive-prep-node--outcome p {
  color: #0f365d;
  font-size: clamp(1.06rem, 1.34vw, 1.18rem);
  line-height: 1.2;
  font-weight: 700;
}

.executive-prep-hints {
  margin-top: 0.18rem;
  width: min(700px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1vh, 12px) clamp(14px, 1.6vw, 20px);
}

.executive-prep-hints p {
  margin: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.42rem;
  color: #3d5570;
  font-size: clamp(0.78rem, 0.96vw, 0.88rem);
  line-height: 1.28;
  font-weight: 600;
}

.executive-prep-hints span {
  color: #2c5f8f;
  font-size: 0.9em;
  line-height: 1.2;
  padding-top: 0.03rem;
}

.executive-timeline-cards {
  display: grid;
  gap: 0.56rem;
}

.executive-timeline-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.72rem;
  border: 1px solid #ccdae8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17, 42, 69, 0.07);
  padding: 0.68rem 0.84rem;
}

.executive-timeline-point {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eaf2fb;
  color: #16406c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.88rem;
  font-weight: 700;
}

.executive-timeline-card p {
  margin: 0;
  color: #1a426a;
  font-size: clamp(0.92rem, 1.2vw, 1.02rem);
  line-height: 1.3;
  font-weight: 610;
}

.executive-innovation-layout {
  width: min(780px, 100%);
  display: grid;
  align-content: start;
  gap: clamp(14px, 1.9vh, 22px);
}

.executive-innovation-logos {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(18px, 2vw, 28px);
  padding: clamp(14px, 2vh, 20px) clamp(16px, 1.8vw, 26px);
  border: 1px solid #d7e2ee;
  border-radius: 14px;
  background: #fff;
}

.executive-innovation-logo {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: clamp(108px, 15vh, 156px);
}

.executive-innovation-logo img {
  max-width: 100%;
  max-height: clamp(96px, 13vh, 138px);
  width: auto;
  height: auto;
  display: block;
}

.executive-insight-grid--innovation {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.6vh, 18px);
}

.executive-insight-grid--innovation .executive-insight-card {
  min-height: clamp(122px, 16vh, 160px);
  border-radius: 16px;
  box-shadow: 0 9px 22px rgba(15, 37, 60, 0.06);
}

.executive-insight-grid--innovation .executive-insight-card p {
  font-size: clamp(1rem, 1.34vw, 1.16rem);
  line-height: 1.3;
  color: #14385e;
}

.executive-innovation-trust {
  border: 1px solid #c7d8e8;
  border-radius: 14px;
  background: linear-gradient(180deg, #f9fcff 0%, #f1f6fd 100%);
  padding: clamp(12px, 1.8vh, 18px) clamp(14px, 1.6vw, 20px);
}

.executive-innovation-trust-title {
  margin: 0;
  color: #123f6a;
  font-size: clamp(1.02rem, 1.34vw, 1.18rem);
  line-height: 1.26;
  font-weight: 690;
  text-align: center;
}

.executive-innovation-trust-meta {
  margin: 0.34rem 0 0;
  color: #4f6882;
  font-size: clamp(0.78rem, 0.95vw, 0.88rem);
  line-height: 1.28;
  font-weight: 600;
}

.executive-slide--visual-innovation-cards .executive-slide-layout {
  align-items: start;
}

.executive-slide--visual-innovation-cards .executive-slide-copy {
  align-content: start;
}

.executive-slide--visual-innovation-cards .executive-slide-visual {
  align-self: start;
}

.executive-decision {
  display: grid;
  gap: 0.78rem;
}

.executive-decision-intro {
  border: 1px solid #b7cde6;
  border-radius: 16px;
  background: linear-gradient(180deg, #f5faff 0%, #edf4fd 100%);
  box-shadow: 0 10px 24px rgba(18, 47, 78, 0.12);
  padding: clamp(14px, 2.2vh, 20px);
}

.executive-decision-intro p {
  margin: 0;
  color: #143f6c;
  font-size: clamp(0.95rem, 1.26vw, 1.06rem);
  line-height: 1.34;
  font-weight: 620;
}

.executive-decision-branches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.executive-decision-branch {
  border: 1px solid #ccdae8;
  border-radius: 14px;
  background: #fff;
  padding: 0.72rem 0.82rem;
}

.executive-decision-branch--alt {
  background: linear-gradient(180deg, #f9fbff 0%, #f4f8fd 100%);
}

.executive-decision-branch h3 {
  margin: 0 0 0.52rem;
  font-size: clamp(0.96rem, 1.16vw, 1.06rem);
  color: #1b4269;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.executive-decision-branch div {
  display: grid;
  gap: 0.42rem;
}

.executive-decision-branch article {
  border: 1px solid #d2deeb;
  border-radius: 12px;
  background: #fff;
  padding: 0.56rem 0.62rem;
}

.executive-decision-branch p {
  margin: 0;
  color: #23496f;
  font-size: clamp(0.86rem, 1.02vw, 0.96rem);
  line-height: 1.28;
  font-weight: 600;
}

.executive-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 18px);
}

.executive-compare-column {
  border-radius: 18px;
  border: 1px solid #ccdae9;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 38, 62, 0.07);
  padding: clamp(16px, 2.6vh, 24px);
}

.executive-compare-column h3 {
  margin: 0 0 0.8rem;
  font-size: clamp(1.08rem, 1.75vw, 1.42rem);
  color: #1d3d61;
  font-weight: 700;
}

.executive-compare-column--accent {
  border-color: #9bb9da;
  background: linear-gradient(180deg, #f8fbff 0%, #f1f6fd 100%);
}

.executive-compare-flow {
  display: grid;
  gap: 0.48rem;
}

.executive-compare-flow article {
  display: grid;
  gap: 0.4rem;
}

.executive-compare-flow p {
  margin: 0;
  border: 1px solid #d2dfed;
  border-radius: 12px;
  background: #fff;
  padding: 0.56rem 0.68rem;
  color: #23486f;
  font-size: clamp(0.9rem, 1.18vw, 1.02rem);
  line-height: 1.3;
  font-weight: 620;
}

.executive-compare-flow span {
  width: 12px;
  height: 12px;
  justify-self: center;
  border-right: 2px solid #7e97b4;
  border-bottom: 2px solid #7e97b4;
  transform: rotate(45deg);
}

.executive-slide--comparison .executive-subline,
.executive-slide--insight .executive-subline {
  max-width: 50ch;
}

.executive-deck-controls {
  position: fixed;
  left: clamp(14px, 2.8vw, 30px);
  right: clamp(14px, 2.8vw, 30px);
  bottom: clamp(10px, 2.2vh, 20px);
  z-index: 15;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  pointer-events: none;
}

.executive-deck-progress {
  pointer-events: auto;
  display: grid;
  gap: 0.38rem;
  min-width: min(206px, 46vw);
}

.executive-deck-progress-text {
  color: #4f6781;
  font-size: clamp(0.78rem, 1.2vw, 0.9rem);
}

.executive-deck-progress-track {
  height: 4px;
  border-radius: 999px;
  background: #d8e2ed;
  overflow: hidden;
}

.executive-deck-progress-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f7bea 0%, #0a4f9d 100%);
}

.executive-deck-nav {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 0.44rem;
}

.executive-deck-nav-btn {
  min-width: 88px;
  min-height: 34px;
  padding: 0.42rem 0.74rem;
  border-radius: 999px;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
}

@media (max-width: 1160px) {
  .executive-slide-layout--split {
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
  }

  .executive-insight-grid,
  .executive-workstyle-matrix,
  .executive-marketing-flow,
  .executive-entry-hub-grid,
  .executive-compare-grid,
  .executive-before-after,
  .executive-api-flow,
  .executive-decision-branches {
    grid-template-columns: minmax(0, 1fr);
  }

  .executive-api-stage {
    min-height: 120px;
  }

  .executive-api-arrow {
    right: auto;
    top: auto;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%) rotate(135deg);
  }

  .executive-slide--visual-subdomain-flow .executive-slide-layout--split {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .executive-subdomain-journey {
    min-height: 0;
    padding: 0;
    gap: 12px;
  }

  .executive-subdomain-flow {
    width: min(520px, 100%);
    gap: 4px;
  }

  .executive-subdomain-stage-text {
    min-width: 0;
    width: min(420px, 92%);
    font-size: clamp(1.06rem, 3.8vw, 1.34rem);
    padding: 10px 14px;
  }

  .executive-subdomain-stage-arrow {
    height: 18px;
  }

  .executive-subdomain-stage-arrow::after {
    width: 8px;
    height: 8px;
    border-right-width: 1.5px;
    border-bottom-width: 1.5px;
  }

  .executive-subdomain-footnote {
    width: 100%;
    gap: 4px;
  }

  .executive-subdomain-example {
    font-size: clamp(0.76rem, 2.3vw, 0.84rem);
  }

  .executive-subdomain-note {
    font-size: clamp(0.7rem, 2.1vw, 0.78rem);
  }

  .executive-marketing-flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .executive-marketing-connector {
    width: 2px;
    height: 16px;
    justify-self: center;
    background: linear-gradient(180deg, rgba(125, 149, 174, 0.8) 0%, rgba(125, 149, 174, 0.22) 100%);
  }

  .executive-marketing-connector::after {
    left: 50%;
    bottom: -1px;
    transform: translateX(-50%) rotate(45deg);
  }

  .executive-marketing-source-strip {
    margin-top: 2px;
  }

  .executive-it-platform-stack,
  .executive-it-checks {
    grid-template-columns: minmax(0, 1fr);
  }

  .executive-it-node,
  .executive-it-node--platform,
  .executive-it-node--extension {
    width: min(100%, 460px);
  }

  .executive-it-optional-branch {
    position: static;
    transform: none;
    margin-left: 0;
    display: grid;
    justify-items: center;
    gap: 8px;
    margin-top: 8px;
  }

  .executive-it-side-link {
    width: 2px;
    height: 14px;
    justify-self: center;
    background: linear-gradient(180deg, rgba(121, 145, 170, 0.76) 0%, rgba(121, 145, 170, 0.24) 100%);
  }

  .executive-it-side-link::after {
    right: 50%;
    top: auto;
    bottom: -1px;
    transform: translateX(50%) rotate(135deg);
  }
}

@media (max-width: 860px) {
  .executive-slide {
    height: auto;
    min-height: 100dvh;
    padding: 58px 16px 118px;
  }

  .executive-slide-layout {
    min-height: calc(100dvh - 176px);
    height: auto;
    gap: 20px;
  }

  .executive-slide--visual-api-pipeline .executive-slide-layout--split {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .executive-slide--visual-api-pipeline .executive-slide-copy,
  .executive-slide--visual-api-pipeline .executive-slide-visual {
    width: 100%;
    min-width: 0;
  }

  .executive-slide--visual-api-pipeline .executive-slide-visual {
    width: 100%;
    min-width: 0;
  }

  .executive-slide--visual-api-pipeline .executive-api-flow {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .executive-slide--visual-api-pipeline .executive-api-stage {
    min-height: 0;
    min-width: 0;
  }

  .executive-slide--visual-api-pipeline .executive-api-call {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .executive-slide--visual-api-pipeline .executive-api-result {
    overflow-wrap: anywhere;
  }

  .executive-slide-layout--statement {
    text-align: left;
    justify-items: start;
  }

  .executive-slide-layout--statement .executive-headline,
  .executive-slide-layout--statement .executive-subline {
    margin-inline: 0;
  }

  .executive-headline {
    max-width: none;
    font-size: clamp(1.8rem, 8.2vw, 2.85rem);
  }

  .executive-subline {
    font-size: clamp(0.96rem, 3.9vw, 1.08rem);
  }

  .executive-subline-note {
    font-size: clamp(0.8rem, 3.1vw, 0.9rem);
  }

  .executive-copy-media--seal {
    width: min(360px, 100%);
  }

  .executive-copy-media--seal img {
    max-height: clamp(180px, 40vw, 260px);
  }

  .executive-process-step-wrap {
    flex-basis: 100%;
  }

  .executive-process-arrow {
    display: none;
  }

  .executive-insight-card {
    min-height: 116px;
  }

  .executive-workstyle-card {
    min-height: 132px;
    padding: 16px;
    gap: 0.44rem;
  }

  .executive-workstyle-title {
    font-size: clamp(1.2rem, 5vw, 1.5rem);
  }

  .executive-insight-card p {
    font-size: clamp(0.98rem, 3.6vw, 1.05rem);
  }

  .executive-known-data-list,
  .executive-integration-spokes,
  .executive-member-expansion,
  .executive-prep-branches,
  .executive-prep-hints {
    grid-template-columns: minmax(0, 1fr);
  }

  .executive-member-handoff {
    justify-self: center;
  }

  .executive-member-handoff::before,
  .executive-member-handoff::after {
    display: none;
  }

  .executive-deck-controls {
    align-items: stretch;
    gap: 0.74rem;
  }

  .executive-deck-nav {
    justify-content: flex-end;
  }
}

@media (max-height: 760px) and (min-width: 861px) {
  .executive-slide {
    padding-top: 46px;
    padding-bottom: 92px;
  }

  .executive-slide-layout {
    gap: 16px;
  }

  .executive-headline {
    font-size: clamp(2rem, 4.8vw, 3.9rem);
  }

  .executive-subline {
    font-size: clamp(0.94rem, 1.38vw, 1.13rem);
  }

  .executive-subline-note {
    font-size: clamp(0.8rem, 1.1vw, 0.94rem);
  }

  .executive-copy-media--seal {
    width: min(420px, 100%);
  }

  .executive-process-step {
    min-height: 90px;
  }
}





/* Site theme: loaded only by the Immosek site configuration. */
.theme--immosek {
  --color-primary: #061c33;
  --color-primary-hover: #0d355d;
  --color-secondary: #a0c0bb;
  --color-accent-soft: #edf5f3;
  --color-bg: #ffffff;
  --color-bg-alt: #f6f8f8;
  --color-bg-highlight: #edf5f3;
  --color-border: #dbe4e3;
  --color-border-strong: #c8d8d5;
  --color-text: #061c33;
  --color-text-soft: #405462;
  --color-text-muted: #71818a;
  --shadow-sm: 0 10px 28px rgba(6, 28, 51, 0.07);
  --shadow-md: 0 22px 52px rgba(6, 28, 51, 0.11);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --container: 1240px;
  --space-section-y: 120px;
  --space-section-y-sm: 76px;
  font-family: Manrope, Inter, system-ui, sans-serif;
}

.theme--immosek h1,
.theme--immosek h2,
.theme--immosek h3 {
  letter-spacing: -0.035em;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.theme--immosek .btn { border-radius: 999px; min-height: 52px; padding-inline: 24px; }

.theme--immosek .site-header { box-shadow: 0 1px 0 rgba(6, 28, 51, 0.07); }
.theme--immosek .site-header-inner { min-height: 96px; gap: 32px; }
.theme--immosek .brand-link { min-height: 60px; }
.theme--immosek .brand-logo { height: 60px; max-width: 282px; }
.theme--immosek .site-nav { gap: 16px; }
.theme--immosek .site-nav-link { font-size: 0.92rem; padding: 10px 8px; }

.theme--immosek .card { border-color: transparent; box-shadow: var(--shadow-sm); }

.theme--immosek .site-header {
  border-color: rgba(6, 28, 51, 0.08);
  background: rgba(255, 255, 255, 0.9);
}

.theme--immosek .site-footer { border: 0; background: var(--color-primary); color: #fff; }

.theme--immosek .site-footer .footer-link,
.theme--immosek .site-footer .footer-note { color: rgba(255, 255, 255, 0.76); }

.theme--immosek .hero {
  border: 0;
  background: linear-gradient(115deg, #f7fbfa 0%, #ffffff 62%);
  min-height: min(650px, calc(100vh - 96px));
  padding-block: 72px;
  display: grid;
  align-items: center;
}

.theme--immosek .hero--image-slot { min-height: min(680px, calc(100vh - 96px)); }
.theme--immosek .hero-image-slot-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.64fr); align-items: center; gap: clamp(32px, 4vw, 68px); }
.theme--immosek .hero--image-slot .section-content { min-width: 0; }
.theme--immosek .hero-image-slot {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 4.65;
  min-height: 420px;
  border-radius: 44% 44% 24px 24px;
  background: linear-gradient(145deg, rgba(160, 192, 187, 0.72), rgba(237, 245, 243, 0.38) 48%, rgba(6, 28, 51, 0.1));
  box-shadow: inset 0 0 0 1px rgba(6, 28, 51, 0.06), 0 30px 80px rgba(6, 28, 51, 0.09);
}
.theme--immosek .hero-image-slot picture,
.theme--immosek .hero-image-slot img { display: block; width: 100%; height: 100%; }
.theme--immosek .hero-image-slot img { object-fit: cover; }
.theme--immosek .hero-image-slot--focal-left img { object-position: left center; }
.theme--immosek .hero-image-slot--focal-right img { object-position: right center; }
.theme--immosek .hero-image-slot--focal-top img { object-position: center top; }
.theme--immosek .hero-image-slot--focal-bottom img { object-position: center bottom; }
.theme--immosek .hero-image-slot--focal-top-left img { object-position: left top; }
.theme--immosek .hero-image-slot--focal-top-right img { object-position: right top; }
.theme--immosek .hero-image-slot--focal-bottom-left img { object-position: left bottom; }
.theme--immosek .hero-image-slot--focal-bottom-right img { object-position: right bottom; }
.theme--immosek .hero-image-slot__description { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.theme--immosek .hero--image-slot .hero-image-slot { aspect-ratio: 1 / 1.04; }
.theme--immosek .hero--image-slot .hero-image-slot::after { content: ''; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(180deg, transparent, rgba(6, 28, 51, 0.14)); pointer-events: none; }

.theme--immosek .hero .narrow { max-width: 820px; margin-left: max(24px, calc((100% - min(var(--container), calc(100% - 48px))) / 2)); }

.theme--immosek .hero--erstgespraech { min-height: auto; padding-block: clamp(44px, 5vw, 64px); }
.theme--immosek .hero--erstgespraech .hero-split { grid-template-columns: minmax(0, 1fr) minmax(460px, 590px); align-items: start; gap: clamp(40px, 4vw, 64px); }
.theme--immosek .hero--erstgespraech .hero-booking-content { padding-top: clamp(4px, 1.5vw, 20px); }
.theme--immosek .hero.hero--erstgespraech h1 { max-width: none; font-size: clamp(2.6rem, 3.4vw, 3.25rem); line-height: 1.08; }
.theme--immosek .hero--erstgespraech .hero-subheadline { max-width: 54ch; }
.theme--immosek .hero--erstgespraech .hero-booking-card { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 22px; box-shadow: var(--shadow-md); }
.theme--immosek .hero--erstgespraech .hero-booking-card:hover { border-color: var(--color-border); box-shadow: var(--shadow-md); }
.theme--immosek .hero--erstgespraech .hero-booking-card > h2 { color: var(--color-primary); font-size: clamp(1.45rem, 2vw, 1.9rem); }
.theme--immosek .hero--erstgespraech .trust-line { margin-top: 22px; display: block; width: auto; border: 0; border-radius: 0; padding: 0; background: transparent; color: var(--color-text-muted); font-size: 0.9rem; font-weight: 700; }
.theme--immosek .hero--erstgespraech.is-confirmation-focus .hero-split { grid-template-columns: minmax(0, 590px); justify-content: center; }
.theme--immosek .hero--erstgespraech.is-confirmation-focus .hero-booking-content,
.theme--immosek .hero--erstgespraech.is-confirmation-focus .hero-booking-badge,
.theme--immosek .hero--erstgespraech.is-confirmation-focus .hero-booking-card > h2,
.theme--immosek .hero--erstgespraech.is-confirmation-focus .hero-booking-text { display: none; }
.theme--immosek .hero--erstgespraech.is-confirmation-focus .hero-booking-card { width: 100%; }

.theme--immosek .hero--termin-verwalten { min-height: auto; padding: clamp(44px, 5vw, 64px) 0 16px; }
.theme--immosek .hero.hero--termin-verwalten h1 { max-width: none; font-size: clamp(2.6rem, 3.4vw, 3.25rem); line-height: 1.08; }
.theme--immosek #terminverwaltung { padding: 24px 0 72px; }
.theme--immosek #terminverwaltung .shell.narrow { max-width: 820px; margin-left: max(24px, calc((100% - min(var(--container), calc(100% - 48px))) / 2)); margin-right: auto; }

.theme--immosek .hero h1 { max-width: 15ch; font-size: clamp(3.2rem, 5.8vw, 6rem); line-height: 1.02; text-wrap: balance; }
.theme--immosek .hero--image-slot h1 { font-size: clamp(3.2rem, 4.2vw, 4.7rem); }

.theme--immosek .hero-subheadline { max-width: 60ch; font-size: clamp(1.08rem, 1.4vw, 1.3rem); line-height: 1.65; }

.theme--immosek .hero-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 880px; }
.theme--immosek .hero-benefits li { font-size: 0.9rem; color: var(--color-text-soft); font-weight: 700; }
.theme--immosek .hero-benefits li::before { background: var(--color-secondary); box-shadow: 0 0 0 4px rgba(160, 192, 187, 0.24); }

.theme--immosek .section-heading { max-width: 680px; }
.theme--immosek .section-heading h2,
.theme--immosek .section-intro h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); }

.theme--immosek .feature-card,
.theme--immosek .audience-card { min-height: 250px; padding: 34px 30px; box-shadow: 0 8px 24px rgba(6, 28, 51, 0.05); transition: transform 180ms ease, box-shadow 180ms ease; }
.theme--immosek .feature-card:hover,
.theme--immosek .audience-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.theme--immosek .section-trust-strip { padding-block: 28px; background: #eff6f4; color: var(--color-primary); }
.theme--immosek .trust-strip-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.theme--immosek .trust-strip-item { display: flex; align-items: center; justify-content: center; gap: 11px; border: 0; border-radius: 0; background: transparent; padding: 12px 8px; color: var(--color-primary); font-size: 0.96rem; font-weight: 800; }
.theme--immosek .trust-strip-item::before { content: '✓'; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 999px; background: var(--color-primary); color: #fff; font-size: 0.78rem; }

.theme--immosek .faq-item { border-color: rgba(6, 28, 51, 0.14); }
.theme--immosek .cta-band { border-radius: 0; background: var(--color-accent-soft); }
.theme--immosek .section-workflow { overflow: hidden; }
.theme--immosek .section-workflow:not(.section-has-media) > .shell { width: min(1720px, calc(100% - 64px)); }
.theme--immosek .section-workflow .flow-section__intro { max-width: 900px; margin-inline: auto; text-align: center; }
.theme--immosek .workflow-flow--horizontal {
  display: grid;
  grid-auto-flow: row;
  grid-auto-columns: auto;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px;
  overflow: visible;
  padding: 54px 0 12px;
}
.theme--immosek .workflow-flow--horizontal .workflow-flow__item { position: relative; min-width: 0; display: block; }
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:not(:last-child)::after { content: ''; position: absolute; z-index: 0; top: 86px; left: calc(100% + 1px); width: 27px; height: 1px; background: rgba(6, 28, 51, 0.4); }
.theme--immosek .workflow-flow--horizontal .flow-card { position: relative; z-index: 1; min-height: 258px; min-width: 0; display: block; padding: 118px 22px 28px; border: 0; background: #fff; text-align: center; box-shadow: 0 16px 42px rgba(6, 28, 51, 0.08); transition: transform 180ms ease, box-shadow 180ms ease; }
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:hover .flow-card,
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:focus-within .flow-card { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(6, 28, 51, 0.13); }
.theme--immosek .workflow-flow--horizontal .flow-card::before { content: ''; position: absolute; top: 46px; left: 50%; width: 52px; height: 52px; transform: translateX(-50%); background: center / contain no-repeat; }
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:nth-child(1) .flow-card::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23061c33' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 12h44v31H30L18 53V43h-8z'/%3E%3Ccircle cx='23' cy='27' r='2'/%3E%3Ccircle cx='32' cy='27' r='2'/%3E%3Ccircle cx='41' cy='27' r='2'/%3E%3C/svg%3E"); }
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:nth-child(2) .flow-card::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23061c33' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='14' y='12' width='34' height='44' rx='3'/%3E%3Cpath d='M25 12V8h12v4M23 25h15M23 35h15M23 45h8M51 42l7 7-12 12-8-8z'/%3E%3C/svg%3E"); }
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:nth-child(3) .flow-card::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23061c33' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12c3 0 6 7 7 10l-6 5c4 8 8 12 16 16l5-6c3 1 10 4 10 7 0 4-4 8-8 8-15 0-33-18-33-33 0-4 4-7 9-7z'/%3E%3Cpath d='M43 12c6 1 10 5 11 11M43 20c2 0 4 2 4 4'/%3E%3C/svg%3E"); }
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:nth-child(4) .flow-card::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23061c33' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='15' width='48' height='35' rx='3'/%3E%3Cpath d='m10 18 22 17 22-17'/%3E%3C/svg%3E"); }
.theme--immosek .workflow-flow--horizontal .workflow-flow__item:nth-child(5) .flow-card::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23061c33' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='18' r='7'/%3E%3Ccircle cx='44' cy='18' r='7'/%3E%3Ccircle cx='20' cy='46' r='7'/%3E%3Ccircle cx='44' cy='46' r='7'/%3E%3Cpath d='M26 21h12M20 25v14M44 25v14M26 43h12'/%3E%3C/svg%3E"); }
.theme--immosek .workflow-flow--horizontal .flow-card__title { margin-bottom: 10px; font-size: clamp(1.15rem, 1.35vw, 1.45rem); }
.theme--immosek .workflow-flow--horizontal .flow-card__description { display: block; font-size: 0.94rem; line-height: 1.55; }
.theme--immosek .workflow-flow--horizontal .flow-card__badge { position: absolute; z-index: 2; top: -22px; left: 50%; display: grid; width: 44px; height: 44px; margin: 0; place-items: center; transform: translateX(-50%); background: var(--color-primary); color: #fff; }
.theme--immosek .workflow-flow--horizontal .flow-connector--right { display: none; }
.theme--immosek .footer-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, 0.15); margin-top: 36px; padding-top: 20px; }
.theme--immosek .footer-social-links { display: flex; flex-wrap: wrap; gap: 12px; }
.theme--immosek .footer-social-link { color: rgba(255, 255, 255, 0.76); font-size: 14px; font-weight: 700; }

@media (max-width: 1024px) {
  .theme--immosek { --space-section-y: 76px; }
  .theme--immosek .site-header-inner { min-height: auto; gap: 12px; }
  .theme--immosek .brand-link { min-height: 48px; }
  .theme--immosek .brand-logo { height: 40px; max-width: 196px; }
  .theme--immosek .hero { min-height: auto; padding-top: 48px; }
  .theme--immosek .hero-image-slot-layout { grid-template-columns: 1fr; gap: 40px; }
  .theme--immosek .hero-image-slot { min-height: 0; aspect-ratio: 4 / 3; border-radius: 28px 28px 72px 72px; }
  .theme--immosek .hero .narrow { width: min(var(--container), calc(100% - 32px)); margin-inline: auto; }
  .theme--immosek .hero h1 { max-width: 13ch; font-size: clamp(1.75rem, 8.6vw, 3.75rem); line-height: 1.08; }
  .theme--immosek .hero--erstgespraech .hero-split { grid-template-columns: 1fr; gap: 32px; }
  .theme--immosek .hero--erstgespraech .hero-booking-content { padding-top: 0; }
  .theme--immosek .hero--erstgespraech .hero-booking-card { padding: 16px; }
  .theme--immosek #terminverwaltung { padding: 24px 0 56px; }
  .theme--immosek #terminverwaltung .shell.narrow { width: min(var(--container), calc(100% - 32px)); margin-inline: auto; }
  .theme--immosek .section-heading h2,
  .theme--immosek .section-intro h2 { font-size: clamp(1.5rem, 8vw, 2.2rem); line-height: 1.14; }
  .theme--immosek .hero-benefits { grid-template-columns: 1fr; gap: 8px; }
  .theme--immosek .trust-strip-list { grid-template-columns: 1fr; gap: 2px; }
  .theme--immosek .trust-strip-item { justify-content: flex-start; padding-inline: 0; }
  .theme--immosek .workflow-flow--horizontal { grid-template-columns: 1fr; gap: 24px; padding: 46px 0 0; }
  .theme--immosek .workflow-flow--horizontal .workflow-flow__item::after { display: none; }
  .theme--immosek .workflow-flow--horizontal .flow-card { min-height: 0; padding: 108px 24px 28px; }
  .theme--immosek .feature-card,
  .theme--immosek .audience-card { min-height: 0; padding: 28px 24px; }
  .theme--immosek .footer-meta { align-items: flex-start; flex-direction: column; }
}

@media (min-width: 761px) and (max-width: 1024px) {
  .theme--immosek .site-header-inner { min-height: 74px; gap: 18px; }
  .theme--immosek .brand-link { min-height: 52px; }
  .theme--immosek .brand-logo { height: 42px; max-width: 208px; }
  .theme--immosek .section-workflow:not(.section-has-media) > .shell { width: min(1380px, calc(100% - 40px)); }
  .theme--immosek .workflow-flow--horizontal { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; padding-top: 50px; }
  .theme--immosek .workflow-flow--horizontal .workflow-flow__item::after { display: none; }
  .theme--immosek .workflow-flow--horizontal .flow-card { min-height: 252px; }
}

@media (prefers-reduced-motion: no-preference) {
  .theme--immosek .hero-image-slot,
  .theme--immosek .feature-card,
  .theme--immosek .audience-card,
  .theme--immosek .cta-band { animation: immosek-settle 520ms ease both; }
}

@keyframes immosek-settle {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
