/* Startseiten-Navigation separat erhalten. Der Hero bekommt am Dateiende
   eigene Regeln: Adins neuester Auftrag bezieht den gesamten Einstieg ein. */
/* THETA · 04.10.2026
   Raster und Abstände: andreasbaulig.de (1100px Inhalt, 20px Rand).
   Schrift und Titel-Ausrichtung: Bellevue Estates (Inter).
   Adins Feinkorrektur: Headlines leicht kleiner, weiterhin kräftig (Gewicht 750).
   Gemeinsame Regeln für alle 67 Seiten; Inhalte und Funktionen bleiben erhalten.
   Die Höhe folgt dem Inhalt. Keine Schriftverkleinerung nach Bildschirmhöhe. */
@font-face {
  font-family: "Inter Variable";
  src: url("/public/media/fonts/inter-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

body:not(.theta-home),
.theta-home main > :not(#hero),
.theta-home > .footer {
  --font-sans: "Inter Variable", Inter, Arial, sans-serif;
  --font-display: var(--font-sans);
  --maxw: 1140px;
  --gutter: 20px;
  --space-section: 60px;
  --space-block: 40px;
  --text-sm: 16px;
  --text-base: 17px;
  --text-lead: 19px;
  --text-h4: 21px;
  --text-h3: 26px;
  --text-h2: 44px;
  --text-display: 52px;
  --leading-tight: 1.1;
  --leading-body: 1.65;
  --tracking-tight: -.045em;
  --site-nav-height: 90px;
}

body:not(.theta-home),
.theta-home main > :not(#hero),
.theta-home > .footer {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  font-synthesis: none;
}

button:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
input:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
select:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
textarea:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-family: inherit; }

h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
h3:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
h4:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.h4:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.h3:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.cta-h:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.relay-title:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  font-family: var(--font-display);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.1;
}

h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
h3:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { overflow-wrap: break-word; }

.accent-word:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.relay-title em:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-style: normal; font-weight: inherit; }

.shell:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.page-hero > .shell:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  width: 100%;
  max-width: var(--maxw);
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.section:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .section:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-block: var(--space-section); }

.section:not(#hero) { overflow-wrap: break-word; }
.psteps li > div { min-width: 0; }
.media-strip-heading { flex-wrap: wrap; }

.section .shell.narrow:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.shell.narrow:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { max-width: 840px; }

main:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { min-width: 0; }

section[id]:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
h2[id]:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { scroll-margin-top: calc(var(--site-nav-height) + 24px); }

/* The fixed navigation and the content share the same horizontal edges. */
.nav:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.nav.is-scrolled:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  height: var(--site-nav-height);
  min-height: var(--site-nav-height);
  padding: 16px max(20px, calc((100% - 1100px) / 2));
}

.nav .brand-logo:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { height: 54px; }

.nav-links:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { gap: 20px; }

.nav-links a:not(.btn):not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 14px; font-weight: 500; white-space: nowrap; }

.nav .btn:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  min-height: 46px;
  padding: 12px 20px;
  font-size: 14px;
  line-height: 1.4;
}

/* The same title/paragraph rhythm applies to landing pages and content pages. */

.btn:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.page-hero .hero-actions .btn:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.section .btn:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home main a.btn[href="/vor-dem-erstgespraech.html"]:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  min-height: 52px;
  height: auto;
  max-width: 100%;
  padding: 14px 24px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
  text-align: center;
}

.swiss-badge:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  width: 28px;
  height: 28px;
  margin-left: 8px;
  vertical-align: -.05em;
  flex-shrink: 0;
}

.page-hero:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-block: calc(var(--site-nav-height) + 36px) 60px; }

.crumbs:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-top: calc(var(--site-nav-height) + 24px); font-size: 14px; line-height: 1.6; }

.crumbs + .page-hero:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-top: 32px; }

.page-hero > .shell > .eyebrow:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { justify-content: flex-start; text-align: left; }

.page-hero-h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  max-width: none;
  margin: 16px 0 20px;
  font-size: 52px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.035em;
  text-align: left;
  text-wrap: pretty;
}

.page-hero > .shell > .lead:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  max-width: 72ch;
  margin-inline: 0;
  font-size: 19px;
  line-height: 1.65;
  text-align: left;
}

.page-hero .herochips:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { justify-content: flex-start; }

.page-hero .hero-actions:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.page-hero .hero-sub:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { text-align: left; }

.page-hero .hero-actions:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 28px; }

.section .h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
body:not(.theta-home) .section .h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .theta-future-heading .h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.cta-h:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) {
  max-width: none;
  font-size: var(--text-h2);
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.035em;
  text-wrap: pretty;
  text-align: left;
}

.section .h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-bottom: 20px; }

.section .lead:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 19px; line-height: 1.65; }

.theta-home .theta-future-heading:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { max-width: none; text-align: left; margin-bottom: 40px; }

.theta-home .theta-future-heading .lead:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-inline: 0; }

.theta-home .problem-head,
.theta-home .cta-shell { text-align: left; align-items: flex-start; }
.theta-home .problem-lead,
.theta-home .cta .lead { margin-inline: 0; }
.theta-home .cta-actions { align-items: flex-start; }

.schuld-layout:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.founder-layout:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.founder-hero:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { gap: 40px; }

.pain-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.steps:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.wege:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.compare:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.qualify-cols:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.jobs-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.team-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.card-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.ccols:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.group-children:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { gap: 24px; }

.pain-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.step:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.weg-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.compare-col:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.qualify-col:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.job-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.scard:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.ccol:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.authorbox:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding: 28px; min-width: 0; }

.pain-card p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-pain:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-card li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.weg-card > p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.weg-points li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.compare-col li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.qualify-col li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.step p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.schuld-copy p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.schuld-bullets li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.founder-copy p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .relay-text:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 17px; line-height: 1.65; }

.avatar-card .h3:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.job-card h3:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.relay-title:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 26px; line-height: 1.25; }

.theta-home .faq-list summary:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.faq-list summary:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 19px; font-weight: 750; line-height: 1.5; }

.faq-list details p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 17px; line-height: 1.65; }

.theta-home .section-end-cta:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 40px; }

.section .body + .body:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 20px; }

.section h2 + .body:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.section h2 + .ticks:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 20px; }

.section .body:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { max-width: 75ch; }

.legal.shell:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { max-width: 840px; padding-block: 40px 60px; }

.legal h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 52px; line-height: 1.2; }

.legal h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 30px; line-height: 1.25; }

.legal p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.legal li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 17px; line-height: 1.65; }

.footer:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-block: 60px 28px; }

.footer a:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.footer-links li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 15px; }

/* Questionnaires keep their independent navigation and natural document height. */
.funnel-page .funnel-top:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding: 20px; }

.funnel-page .funnel-main:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding: 40px 20px; }

.funnel-page .funnel-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { max-width: 760px; }

.funnel-page .funnel-head { text-align: left; }
.funnel-page .funnel-head .eyebrow { justify-content: flex-start; }

.funnel-page .funnel-h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 40px; line-height: 1.2; font-weight: 750; }

.funnel-page .fstep-q:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 34px; line-height: 1.25; font-weight: 750; }

.funnel-page .fstep-hint:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 16px; line-height: 1.6; }

.funnel-page .opt:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { min-height: 54px; padding: 16px; font-size: 17px; line-height: 1.5; }

.funnel-page .opt small:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 14px; line-height: 1.5; }

.funnel-page .fstep-nav:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 28px; }

.funnel-page .field input:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.funnel-page .field textarea:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 16px; }

.consultation-gate:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding: 32px 20px 20px; }

.consultation-gate .gate-main:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { max-width: 760px; margin-top: 40px; text-align: left; }

.consultation-gate .gate-main h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 44px; font-weight: 750; line-height: 1.2; margin-bottom: 24px; }

.consultation-gate .gate-main > p:not(.gate-effort):not(.gate-assurance):not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 18px; line-height: 1.65; margin-bottom: 20px; }

.consultation-gate .gate-footer:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-top: 32px; }

@media  (max-width: 1100px) {

  .nav-links a:not(.btn):not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 24px; font-weight: 430; white-space: normal; }

  .nav-links:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { gap: 20px; }

  .nav-links .btn:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 16px; white-space: normal; }

}

@media  (max-width: 991px) {

  body:not(.theta-home),
.theta-home main > :not(#hero),
.theta-home > .footer {
    --site-nav-height: 72px;
    --text-h2: 36px;
  }

  .nav .brand-logo:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { height: 46px; }

  .page-hero-h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 40px; }

  .schuld-layout:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.founder-layout:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.founder-hero:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .schuld-layout:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .founder-layout:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { grid-template-columns: 1fr; gap: 32px; }

  .pain-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.steps:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.jobs-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.team-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .pain-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .avatar-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .steps:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .theta-home .schuld-copy:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { display: block; }

  .theta-home .schuld-copy .h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .founder-copy .h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-bottom: 20px; }

  .theta-home .schuld-copy > .schuld-cta:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 28px; text-align: left; }

  .theta-home .schuld-portrait:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .founder-portrait:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { justify-self: start; }

  .theta-home .section-mobile-cta:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { display: block; margin-top: 32px; text-align: left; }

}

@media  (max-width: 640px) {

  body:not(.theta-home),
.theta-home main > :not(#hero),
.theta-home > .footer {
    --space-section: 45px;
    --space-block: 28px;
    --text-h2: 30px;
    --text-base: 16px;
    --text-sm: 15px;
    --text-lead: 17px;
  }

  .swiss-badge:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { width: 22px; height: 22px; }

  .page-hero:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-block: calc(var(--site-nav-height) + 28px) 45px; }

  .crumbs + .page-hero:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-top: 24px; }

  .page-hero-h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 34px; margin-block: 14px 20px; line-height: 1.2; }

  .page-hero > .shell > .lead:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.section .lead:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 17px; line-height: 1.65; }

  .page-hero .hero-actions .btn:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.section .btn:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { width: 100%; }

  .pain-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.steps:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.jobs-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.team-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.card-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.ccols:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.calc-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.factgrid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.wege:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.compare:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.qualify-cols:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.group-children:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .pain-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .avatar-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .steps:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { grid-template-columns: minmax(0, 1fr); }

  .pain-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.step:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.weg-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.compare-col:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.qualify-col:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.job-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.scard:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.ccol:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.authorbox:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .pain-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .avatar-card:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .step:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding: 24px; }

  .pain-card p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-pain:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.avatar-card li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.weg-card > p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.weg-points li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.compare-col li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.qualify-col li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.step p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.schuld-copy p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.schuld-bullets li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.founder-copy p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.theta-home .relay-text:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 16px; line-height: 1.65; }

  .avatar-card .h3:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.job-card h3:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 23px; }

  .legal.shell:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-block: 28px 45px; }

  .legal h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 34px; }

  .legal h2:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 26px; }

  .legal p:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.legal li:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 16px; }

  .footer:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-block: 45px 24px; }

  .funnel-page .funnel-top:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { min-height: 64px; padding: 12px 20px; }

  .funnel-page .funnel-main:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding: 24px 20px 32px; }

  .funnel-page .funnel-h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 30px; margin-top: 14px; }

  .funnel-page .funnel-head:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-bottom: 24px; }

  .funnel-page .fstep-q:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 28px; line-height: 1.25; margin-bottom: 12px; }

  .funnel-page .fstep-hint:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 15px; line-height: 1.55; margin-bottom: 20px; }

  .funnel-page .funnel-progress:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-bottom: 24px; }

  .funnel-page .opt-grid:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.funnel-page [data-multi]:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { grid-template-columns: 1fr; gap: 12px; }

  .funnel-page .opt:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)),
.funnel-page [data-multi] .opt:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding: 14px; min-height: 52px; font-size: 16px; line-height: 1.5; }

  .funnel-page .opt small:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 14px; line-height: 1.45; }

  .funnel-page .fstep-nav:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 24px; }

  .consultation-gate:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-top: 24px; }

  .consultation-gate .gate-main:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { margin-top: 32px; }

  .consultation-gate .gate-main h1:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 30px; line-height: 1.2; margin-bottom: 24px; }

  .consultation-gate .gate-main > p:not(.gate-effort):not(.gate-assurance):not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { font-size: 17px; line-height: 1.6; margin-bottom: 20px; }

  .consultation-gate .gate-footer:not(:where(#hero, #hero *, .theta-home > .nav, .theta-home > .nav *)) { padding-top: 28px; }

}

/* Consistent weight and scale for card titles, section subheads and questions. */
body:not(.theta-home) main :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4, .fstep-q),
.theta-home main > .section :is(h2, h3, h4, .h2, .h3, .h4, .cta-h, .relay-title) {
  font-weight: 750;
}
body:not(.theta-home) main :is(h3, .h3):not(.h4),
.theta-home main > .section :is(h3, .h3):not(.h4) { font-size: 26px; line-height: 1.25; }
body:not(.theta-home) main :is(h4, .h4),
.theta-home main > .section :is(h4, .h4) { font-size: 21px; line-height: 1.3; }
@media (max-width: 640px) {
  body:not(.theta-home) main :is(h3, .h3):not(.h4),
  .theta-home main > .section :is(h3, .h3):not(.h4) { font-size: 23px; }
  body:not(.theta-home) main :is(h4, .h4),
  .theta-home main > .section :is(h4, .h4) { font-size: 19px; }
  .theta-home .faq-list summary,
  .faq-list summary { font-size: 19px; }
}

.footer h4 { font-size: 14px; font-weight: 750; }

/* These comparison titles were already larger than ordinary card headings. */
.theta-home main > .section :is(.theta-flow-track, .theta-future-cta) :is(h3, .h3):not(.h4) {
  font-size: 34px;
}
@media (max-width: 640px) {
  .theta-home main > .section :is(.theta-flow-track, .theta-future-cta) :is(h3, .h3):not(.h4) {
    font-size: 28px;
  }
}

/* Homepage first screen: compact like the original, with Inter retained.
   Desktop includes objections; mobile keeps objections after the first CTA. */
#hero {
  --font-sans: "Inter Variable", Inter, Arial, sans-serif;
  --font-display: var(--font-sans);
  font-family: var(--font-sans);
  font-synthesis: none;
  padding-block: 72px 32px;
}
#hero .hero-shell {
  width: 100%;
  max-width: 1600px;
  padding-inline: 24px;
  align-items: center;
}
#hero .hero-eyebrow2 {
  align-self: center;
  margin: 0 0 8px;
  font-size: clamp(16px, 2svh, 18px);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}
#hero .hero-h1c {
  width: 100%;
  max-width: none;
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-size: clamp(28px, min(2.5vw, 4.5svh), 38px);
  font-weight: 750;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-align: center;
  overflow-wrap: break-word;
  text-wrap: balance;
}
#hero .hero-h1c .h1-main,
#hero .hero-h1c .h1-center {
  margin: 0;
  text-align: center;
  text-wrap: balance;
}
#hero .hero-h1c .swiss-badge {
  width: 24px;
  height: 24px;
  margin-left: 6px;
  vertical-align: -.08em;
}
#hero .hero-subc {
  max-width: 1200px;
  margin: 0;
  font-size: clamp(14px, 1.85svh, 16px);
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  text-wrap: pretty;
}
#hero .hero-grid {
  width: 100%;
  max-width: 1440px;
  margin-top: 16px;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  grid-template-areas: "video checks" "video cta";
  align-items: start;
  gap: 8px 24px;
}
#hero .hero-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
#hero .hero-right { min-width: 0; margin-top: 0; }
#hero .hero-checks { padding: 0; gap: 8px; }
#hero .hero-checks li { gap: 10px; }
#hero .hero-checks div { min-width: 0; font-size: clamp(14px, 1.95svh, 16px); line-height: 1.35; }
#hero .hero-checks em { font-size: 1em; font-weight: 750; font-style: normal; line-height: inherit; }
#hero .vsl,
#hero .hero-logos {
  width: 100%;
  max-width: var(--hero-video-width, 100%);
  justify-self: center;
}
#hero .hero-logos { margin-top: 0; }
#hero .hero-cta-block { margin-top: 0; justify-content: flex-end; }
#hero .hero-cta-block > .btn {
  width: 100%;
  max-width: 400px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  min-height: 48px;
  height: auto;
  padding: 12px 16px;
  white-space: normal;
}
#hero .vsl-sound { font-family: var(--font-sans); }
/* Extra-short desktop windows: compact text before reducing the video. */
#hero[data-hero-fit="compact"] { padding-top: 68px; }
#hero[data-hero-fit="compact"] .hero-h1c { font-size: 26px; line-height: 1.1; }
#hero[data-hero-fit="compact"] .hero-eyebrow2 { font-size: 16px; margin-bottom: 6px; }
#hero[data-hero-fit="compact"] .hero-subc { font-size: 14px; }
#hero[data-hero-fit="compact"] .hero-grid { margin-top: 10px; row-gap: 6px; }
#hero[data-hero-fit="compact"] .hero-checks { gap: 6px; }
#hero[data-hero-fit="compact"] .hero-checks div { font-size: 14px; line-height: 1.3; }
@media (max-width: 1100px) {
  #hero .hero-shell { max-width: 840px; padding-inline: 20px; }
  #hero .hero-h1c { font-size: clamp(22px, min(3.8vw, 4svh), 30px); }
  #hero .hero-eyebrow2 { font-size: 16px; margin-bottom: 6px; }
  #hero .hero-subc { font-size: 14px; }
  #hero .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "video" "logos" "cta" "checks";
    gap: 8px;
    margin-top: 12px;
  }
  #hero .hero-left { display: contents; }
  #hero .vsl,
  #hero .hero-logos { max-width: var(--hero-video-width, min(100%, 520px)); }
  #hero .hero-logos { height: 28px; padding: 0; }
  #hero .hero-logos .logo-track img { max-height: 24px; }
  #hero .hero-cta-block { justify-content: center; margin-top: 12px; }
  #hero .hero-right { margin-top: 28px; }
  #hero .hero-checks { gap: 24px; }
  #hero .hero-checks div { font-size: 16px; line-height: 1.5; }
  #hero .hero-checks em { font-size: 18px; }
}
@media (max-width: 640px) {
  #hero { padding-block: 64px 32px; }
  #hero .hero-shell { padding-inline: 16px; }
  #hero .hero-eyebrow2 { font-size: 14px; }
  #hero .hero-h1c { font-size: clamp(20px, 5.55vw, 24px); line-height: 1.12; }
  #hero .hero-h1c .swiss-badge { width: 20px; height: 20px; margin-left: 4px; }
  #hero .hero-subc { font-size: 14px; line-height: 1.35; }
  #hero .hero-grid { margin-top: 10px; gap: 6px; }
  #hero .vsl,
  #hero .hero-logos { max-width: var(--hero-video-width, min(100%, 320px)); }
  #hero .hero-logos { height: 24px; }
  #hero .hero-logos .logo-track img { max-height: 22px; }
  #hero .hero-cta-block { margin-top: 10px; }
  #hero .hero-cta-block > .btn { font-size: 14px; padding: 10px 12px; }
  #hero .vsl-sound {
    top: 8px;
    right: 8px;
    max-width: calc(100% - 16px);
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.2;
    gap: 6px;
  }
  #hero .vsl-sound-icon svg { width: 16px; height: 16px; }
}
@media (max-width: 640px) and (max-height: 700px) {
  #hero .hero-subc { font-size: 13px; }
  #hero .hero-h1c { font-size: 20px; }
}
/* Phone landscape: intro beside video, with objections below both columns. */
@media (min-width: 641px) and (max-width: 1100px) and (max-height: 500px) {
  #hero { padding-top: 68px; }
  #hero .hero-first-screen {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    grid-template-areas: "eyebrow video" "title video" "copy logos" "copy cta" "checks checks";
    gap: 6px 20px;
    align-items: start;
  }
  #hero .hero-eyebrow2 { grid-area: eyebrow; font-size: 14px; margin: 0; }
  #hero .hero-h1c { grid-area: title; font-size: 20px; margin: 0; }
  #hero .hero-subc { grid-area: copy; font-size: 13px; }
  #hero .hero-grid { display: contents; }
  #hero .hero-cta-block { margin-top: 0; }
  #hero .hero-cta-block > .btn { font-size: 14px; padding: 10px 12px; }
  #hero .vsl-sound { max-width: calc(100% - 16px); padding: 8px 10px; font-size: 12px; }
}
