:root {
  --msb-color-primary: #173454;
  --msb-color-primary-soft: rgba(23, 52, 84, 0.045);
  --msb-color-primary-soft-strong: rgba(23, 52, 84, 0.075);
  --msb-section-title-size: 1rem;
  --msb-mobile-section-gutter: 20px;
  --msb-section-gap: 29px;
  --msb-section-gap-mobile: 25px;
  --msb-content-max: 1000px;
  --msb-line-color: #d9dfeb;
  --msb-text-main: #172033;
  --msb-text-muted: #70798a;
}

/* Natal input form */
.mm-input-form,
.mm-input-form * {
  box-sizing:border-box;
}
.mm-input-form {
  width:100%;
  max-width:none;
  margin:0;
  padding:34px 36px 36px;
  display:grid;
  gap:27px;
  background:var(--msb-color-primary-soft);
  color:#172033;
}
.mm-input-form__field {
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.mm-input-form__label,
.mm-input-form__label-row {
  margin:0 0 10px;
}
.mm-input-form__label {
  display:block;
  color:var(--msb-color-primary);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.2em;
  line-height:1.25;
  text-transform:uppercase;
}
.mm-input-form__label span {
  color:#7c8794;
  font-size:.64rem;
  letter-spacing:.14em;
}
.mm-input-form__label-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.mm-input-form__label-row .mm-input-form__label {
  margin:0;
}
.mm-input-form__line-input,
.mm-input-form__compact-input {
  width:100%;
  border:0;
  border-bottom:1px solid rgba(23, 52, 84, .2);
  border-radius:0;
  outline:0;
  background:transparent;
  color:#172033;
  font-family:inherit;
  transition:border-color .18s ease, background-color .18s ease;
}
.mm-input-form__line-input {
  padding:4px 0 10px;
  font-size:1.2rem;
  line-height:1.35;
}
.mm-input-form__compact-input {
  padding:6px 6px 10px;
  font-size:1rem;
  line-height:1.25;
  text-align:center;
}
.mm-input-form__line-input::placeholder,
.mm-input-form__compact-input::placeholder {
  color:rgba(23, 52, 84, .52);
  opacity:1;
}
.mm-input-form__line-input:focus,
.mm-input-form__compact-input:focus {
  border-bottom-color:var(--msb-color-primary);
}
.mm-input-form [aria-invalid="true"] {
  border-bottom-color:#a64545;
  background:rgba(166, 69, 69, .04);
}
.mm-input-form__date-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr)) minmax(0, 1.4fr);
  gap:16px;
}
.mm-input-form__time-row {
  display:grid;
  grid-template-columns:minmax(0, 500px) max-content;
  align-items:center;
  gap:24px;
}
.mm-input-form__time-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr) auto;
  align-items:center;
  gap:10px;
}
.mm-input-form__time-separator {
  color:rgba(23, 52, 84, .6);
  font-size:1.1rem;
}
.mm-input-form__time-format {
  color:#7c8794;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.mm-input-form.is-time-unknown .mm-input-form__time-grid {
  opacity:.4;
}
.mm-input-form__switch {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:36px;
  padding:4px 0;
  color:var(--msb-color-primary);
  cursor:pointer;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.2;
  text-transform:uppercase;
}
.mm-input-form__switch input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mm-input-form__switch-track {
  width:40px;
  height:22px;
  padding:3px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(23, 52, 84, .4);
  border-radius:999px;
  background:rgba(255, 255, 255, .55);
  transition:background-color .18s ease, border-color .18s ease;
}
.mm-input-form__switch-track span {
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--msb-color-primary);
  transition:transform .18s ease, background-color .18s ease;
}
.mm-input-form__switch input:checked + .mm-input-form__switch-track {
  border-color:var(--msb-color-primary);
  background:var(--msb-color-primary);
}
.mm-input-form__switch input:checked + .mm-input-form__switch-track span {
  background:#fff;
  transform:translateX(18px);
}
.mm-input-form__switch input:focus-visible + .mm-input-form__switch-track {
  outline:2px solid var(--msb-color-primary);
  outline-offset:3px;
}
.mm-input-form__error {
  min-height:1.1em;
  margin:5px 0 0;
  color:#a64545;
  font-size:.78rem;
  line-height:1.35;
}
.mm-input-form__submit {
  width:100%;
  min-height:56px;
  margin-top:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid var(--msb-color-primary);
  border-radius:0;
  background:var(--msb-color-primary);
  color:#fff;
  cursor:pointer;
  font-family:inherit;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.2em;
  line-height:1.2;
  text-transform:uppercase;
  transition:background-color .18s ease, color .18s ease;
}
.mm-input-form__submit:hover,
.mm-input-form__submit:focus-visible {
  background:#fff;
  color:var(--msb-color-primary);
}
.mm-ac-wrap {
  position:relative;
}
.mm-suggest {
  position:absolute;
  z-index:1000;
  top:100%;
  right:0;
  left:0;
  display:none;
  max-height:300px;
  margin:0;
  padding:0;
  overflow:auto;
  border:1px solid rgba(23, 52, 84, .18);
  border-top:0;
  background:#fff;
  box-shadow:0 14px 24px rgba(23, 52, 84, .1);
  list-style:none;
}
.mm-suggest li {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
  padding:11px 12px;
  border-bottom:1px solid rgba(23, 52, 84, .1);
  color:#172033;
  cursor:pointer;
  line-height:1.35;
}
.mm-suggest li:last-child {
  border-bottom:0;
}
.mm-suggest__name {
  min-width:0;
  overflow:hidden;
  font-size:.98rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mm-suggest__context {
  color:#70798a;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-align:right;
  text-transform:uppercase;
}
.mm-suggest li:hover,
.mm-suggest li.is-active {
  background:var(--msb-color-primary-soft-strong);
}
@media (max-width:640px) {
  .mm-input-form {
    padding:25px 20px 26px;
    gap:23px;
  }
  .mm-input-form__line-input {
    font-size:1.06rem;
  }
  .mm-input-form__date-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
  }
  .mm-input-form__label-row {
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .mm-input-form__time-row {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:10px;
  }
  .mm-input-form__time-grid {
    grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr) auto;
    max-width:none;
  }
  .mm-input-form__switch {
    justify-self:start;
  }
  .mm-suggest li {
    display:block;
  }
  .mm-suggest__name,
  .mm-suggest__context {
    display:block;
  }
  .mm-suggest__context {
    margin-top:3px;
    text-align:left;
  }
}

.gh-section > .gh-section-title { font-size:var(--msb-section-title-size); }
@media (max-width: 800px) {
  .gh-section {
    box-sizing:border-box;
    padding-left:var(--msb-mobile-section-gutter);
    padding-right:var(--msb-mobile-section-gutter);
  }
}

/* Public myStarBook style classes */
.msb-section,
.msb-section * {
  box-sizing:border-box;
}
.msb-section {
  width:100%;
  max-width:var(--msb-content-max);
  margin:var(--msb-section-gap) auto;
  color:var(--msb-text-main);
  text-align:left;
}
.msb-section--tight {
  margin-top:0;
}
.msb-section--full {
  max-width:none;
}
.msb-section-header {
  position:relative;
  max-width:var(--msb-content-max);
  margin:0 auto;
}
.msb-section-title,
.msb-eyebrow {
  margin:0;
  color:var(--msb-text-muted);
  font-size:var(--msb-section-title-size);
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.msb-section-title {
  padding:0 140px 18px 0;
}
.msb-section-title-row {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.msb-info-toggle {
  position:absolute;
  top:0;
  right:0;
  width:max-content;
  border:0;
  background:transparent;
  color:#38465a;
  cursor:pointer;
  font:inherit;
  font-family:Georgia, "Times New Roman", serif;
  font-size:.95rem;
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
  line-height:1.2;
  list-style:none;
  padding:0;
  text-decoration:none;
  text-transform:none;
}
.msb-info-toggle::-webkit-details-marker,
.msb-info-toggle::marker {
  display:none;
  content:"";
}
.msb-info-toggle:hover,
.msb-info-toggle:focus-visible {
  background:transparent;
  color:var(--msb-color-primary);
  text-decoration:none;
}
.msb-info-box,
.msb-soft-box {
  max-width:var(--msb-content-max);
  margin:0 auto 24px;
  padding:20px 24px;
  background:var(--msb-color-primary-soft-strong);
  color:#2e3440;
  line-height:1.45;
}
.msb-info-box p,
.msb-soft-box p {
  margin:0;
}
.msb-info-box p + p,
.msb-soft-box p + p {
  margin-top:12px;
}
.msb-card {
  max-width:var(--msb-content-max);
  margin:0 auto;
  padding:26px 28px;
  background:var(--msb-color-primary-soft);
  color:var(--msb-text-main);
}
.msb-hero {
  margin-top:0;
  padding-top:18px;
  padding-bottom:6px;
}
.msb-hero-header {
  text-align:left;
}
.msb-hero-eyebrow {
  margin:0 0 10px;
}
.msb-hero-title {
  max-width:760px;
  margin:0;
  color:var(--msb-text-main);
  font-family:inherit;
  font-size:clamp(2rem, 4vw, 3.75rem);
  font-weight:400;
  line-height:1.02;
}
.msb-hero-title em {
  color:var(--msb-color-primary);
  font-style:italic;
}
.msb-hero-intro {
  max-width:640px;
  margin:18px 0 0;
  color:#556174;
  font-size:1.02rem;
  line-height:1.55;
}
.msb-list,
.msb-more-toggle {
  max-width:var(--msb-content-max);
  margin-left:auto;
  margin-right:auto;
}
.msb-list {
  display:block;
}
.msb-list-row {
  display:grid;
  grid-template-columns:28px minmax(0, 1fr) auto;
  align-items:center;
  column-gap:14px;
  min-height:64px;
  padding:12px 4px;
  border-top:1px solid var(--msb-line-color);
}
.msb-list-row[hidden] {
  display:none !important;
}
.msb-list-row:last-child {
  border-bottom:1px solid var(--msb-line-color);
}
.msb-list-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.msb-list-icon img,
.msb-icon {
  display:block;
  width:18px;
  height:18px;
  margin:0;
  object-fit:contain;
}
.msb-list-main {
  min-width:0;
  color:var(--msb-text-main);
  font-size:1rem;
  line-height:1.35;
}
.msb-list-meta {
  color:var(--msb-text-muted);
  font-size:.86rem;
  letter-spacing:.08em;
  white-space:nowrap;
}
.msb-more-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:16px 4px 0;
  border:0;
  border-top:1px solid var(--msb-line-color);
  background:transparent;
  color:var(--msb-text-muted);
  cursor:pointer;
  font:inherit;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.msb-more-toggle:hover,
.msb-more-toggle:focus-visible {
  background:transparent !important;
  border-color:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--msb-text-muted) !important;
  text-decoration:none;
}
.msb-form {
  display:grid;
  gap:18px;
  max-width:var(--msb-content-max);
  margin:0 auto;
  padding:24px 26px 26px;
  background:var(--msb-color-primary-soft-strong);
}
.msb-form-row {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:start;
  gap:22px;
}
.msb-field {
  display:grid;
  gap:9px;
  min-width:0;
  margin:0;
}
.msb-label {
  color:var(--msb-color-primary);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.msb-input,
.msb-form input[type="text"],
.msb-form input[type="number"],
.msb-form input[type="email"],
.msb-form input[type="url"],
.msb-form select,
.msb-form textarea {
  width:100%;
  min-height:42px;
  margin:0;
  border:0;
  border-bottom:1px solid rgba(23, 52, 84, .24);
  border-radius:0;
  outline:0;
  background:rgba(255, 255, 255, .42);
  color:var(--msb-text-main);
  font:inherit;
  font-size:1rem;
}
.msb-input,
.msb-form input,
.msb-form select {
  padding:8px 10px;
}
.msb-form textarea {
  padding:10px;
  resize:vertical;
}
.msb-input:focus,
.msb-form input:focus,
.msb-form select:focus,
.msb-form textarea:focus {
  border-color:var(--msb-color-primary);
  background:#fff;
}
.msb-button,
.msb-button-primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  border:1px solid var(--msb-color-primary);
  border-radius:0;
  cursor:pointer;
  font:inherit;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.2;
  text-decoration:none;
  text-transform:uppercase;
}
.msb-button-primary {
  background:var(--msb-color-primary);
  color:#fff;
}
.msb-button-primary:hover,
.msb-button-primary:focus-visible {
  background:#fff;
  color:var(--msb-color-primary);
  text-decoration:none;
}
.msb-dark-nav {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:stretch;
  min-height:78px;
  max-width:var(--msb-content-max);
  margin:0 auto;
  background:var(--msb-color-primary);
  color:#fff;
}
.msb-dark-nav-current {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
  padding:14px 20px;
  text-align:center;
}
.msb-dark-nav-button {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  color:#fff;
  font-size:1.3rem;
  line-height:1;
  text-decoration:none;
}
.msb-dark-nav-button:hover,
.msb-dark-nav-button:focus-visible {
  background:rgba(255, 255, 255, .08);
  color:#fff;
  text-decoration:none;
}
@media (max-width:800px) {
  .msb-section {
    max-width:none;
    margin-top:var(--msb-section-gap-mobile);
    margin-bottom:var(--msb-section-gap-mobile);
    padding-left:var(--msb-mobile-section-gutter);
    padding-right:var(--msb-mobile-section-gutter);
  }
  .msb-section-title {
    padding-right:112px;
    font-size:var(--msb-section-title-size);
    letter-spacing:.13em;
  }
  .msb-info-toggle {
    font-size:.9rem;
  }
  .msb-info-box,
  .msb-soft-box {
    margin-bottom:18px;
    padding:16px;
    font-size:.94rem;
  }
  .msb-card,
  .msb-form {
    padding:18px;
  }
  .msb-hero {
    padding-top:10px;
    padding-bottom:4px;
  }
  .msb-hero-title {
    font-size:clamp(2rem, 10vw, 3rem);
  }
  .msb-hero-intro {
    font-size:.98rem;
  }
  .msb-form-row {
    grid-template-columns:1fr;
    gap:16px;
  }
  .msb-list-row {
    grid-template-columns:24px minmax(0, 1fr) auto;
    column-gap:10px;
    min-height:58px;
    padding:10px 2px;
  }
  .msb-list-icon img,
  .msb-icon {
    width:16px;
    height:16px;
  }
  .msb-list-main {
    font-size:.94rem;
  }
  .msb-list-meta {
    font-size:.76rem;
    letter-spacing:.04em;
  }
  .msb-more-toggle {
    padding-top:14px;
    font-size:.68rem;
    letter-spacing:.13em;
  }
  .msb-dark-nav {
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .msb-dark-nav-current {
    grid-column:1 / -1;
    grid-row:1;
    min-height:70px;
  }
  .msb-dark-nav-button {
    min-width:0;
    min-height:44px;
    border-top:1px solid rgba(255, 255, 255, .24);
    border-right:1px solid rgba(255, 255, 255, .24);
  }
}

.mm-wrap { margin: 8px 0 14px; }
.mm-section.mm-section-planets-rel h3 { margin: 0 0 8px; }
.mm-planets-rel-list { display: grid; gap: 4px; }
.mm-planets-rel-item { line-height: 1.4; }
.mm-section.mm-section-houses h3 { margin: 12px 0 8px; }
.mm-houses-list { display: grid; gap: 4px; }
.mm-houses-item { line-height: 1.4; }
.mm-section.mm-section-aspects h3 { margin: 12px 0 8px; }
.mm-aspects-list { display: grid; gap: 4px; }
.mm-aspects-item { line-height: 1.4; }

/* Personal */
.gh-section.gh-section-personal { margin: 19px 0 var(--msb-section-gap); text-align: left; }
.gh-section.gh-section-personal .gh-section-title { text-align: left; }
.gh-section.gh-section-personal .gh-personal-card {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.gh-section.gh-section-personal .gh-personal-meta {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 48px;
}
.gh-section.gh-section-personal .gh-personal-meta-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
}
.gh-section.gh-section-personal .gh-personal-meta-label {
  margin: 0;
  color: #70798a;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}
.gh-section.gh-section-personal .gh-personal-meta-value {
  margin: 0;
  color: #172033;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.35;
}
@media (max-width: 640px) {
  .gh-section.gh-section-personal { margin: 17px 0 var(--msb-section-gap-mobile); }
  .gh-section.gh-section-personal .gh-personal-card { padding: 0; }
  .gh-section.gh-section-personal .gh-personal-meta { gap: 18px 20px; }
  .gh-section.gh-section-personal .gh-personal-meta-value { font-size: 0.98rem; }
}

/* Einheitliches Raster fuer interaktive Sektions-Header */
.gh-section.gh-section-aspects .gh-aspects-title,
.gh-section.gh-section-houses .gh-houses-title,
.gh-section.gh-section-patterns-redesign .gh-patterns-title {
  display:flex;
  align-items:center;
  gap:8px;
}

/* Aspekte */
.gh-section.gh-section-aspects { margin-top:var(--msb-section-gap); scroll-margin-top:75px; }
.gh-section.gh-section-aspects .gh-aspects-header { position:relative; max-width:1000px; margin:0 auto; }
.gh-section.gh-section-aspects .gh-aspects-title {
  margin:0;
  padding:0 140px 18px 0;
  color:#70798a;
  font-size:var(--msb-section-title-size);
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-aspects-details { margin:0; }
.gh-aspects-explanation-toggle {
  position:absolute;
  top:0;
  right:0;
  width:max-content;
  color:#38465a;
  cursor:pointer;
  font-size:0.95rem;
  font-style:italic;
  line-height:1.2;
  list-style:none;
}
.gh-aspects-explanation-toggle::-webkit-details-marker { display:none; }
.gh-aspects-explanation-toggle:hover,
.gh-aspects-explanation-toggle:focus-visible { color:var(--msb-color-primary); text-decoration:none; }
.gh-aspects-explanation-toggle-close { display:none; }
.gh-aspects-details[open] .gh-aspects-explanation-toggle-open { display:none; }
.gh-aspects-details[open] .gh-aspects-explanation-toggle-close { display:inline; }
.gh-aspects-explanation {
  margin:0 0 24px;
  padding:20px 24px;
  box-sizing:border-box;
  background:var(--msb-color-primary-soft-strong);
  color:#2e3440;
  line-height:1.45;
}
.gh-aspects-explanation p { margin:0; }
.gh-aspects-explanation p + p { margin-top:12px; }
.gh-aspects-empty,
.gh-aspects-list,
.gh-aspects-more-toggle { max-width:1000px; margin-left:auto; margin-right:auto; }
.gh-section.gh-section-aspects .gh-aspect-row {
  display:grid;
  grid-template-columns:28px minmax(0, 1fr) auto;
  align-items:center;
  column-gap:14px;
  min-height:64px;
  padding:12px 4px;
  border-top:1px solid #d9dfeb;
  box-sizing:border-box;
}
.gh-section.gh-section-aspects .gh-aspect-row[hidden] { display:none !important; }
.gh-section.gh-section-aspects .gh-aspect-icon-wrap { display:flex; align-items:center; justify-content:center; line-height:1; }
.gh-section.gh-section-aspects .gh-aspect-icon { display:block; width:18px; height:18px; margin:0; }
.gh-section.gh-section-aspects .gh-aspect-label { min-width:0; color:#172033; font-size:1rem; line-height:1.35; }
.gh-section.gh-section-aspects .gh-aspect-planet { font-weight:500; }
.gh-section.gh-section-aspects .gh-aspect-relation { color:#70798a; font-style:italic; }
.gh-section.gh-section-aspects .gh-aspect-orb { color:#70798a; font-size:0.86rem; letter-spacing:0.08em; white-space:nowrap; }
.gh-aspects-more-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:16px 4px 0;
  border:0;
  border-top:1px solid #d9dfeb;
  background:transparent;
  color:#70798a;
  cursor:pointer;
  font:inherit;
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-aspects-more-toggle:hover {
  background:transparent !important;
  border-color:transparent !important;
  border-radius:0 !important;
  color:#70798a !important;
  box-shadow:none !important;
  text-decoration:none;
}
.gh-aspects-more-toggle:focus-visible { background:transparent; color:#70798a; text-decoration:none; }
.gh-aspects-more-toggle-close,
.gh-aspects-more-toggle-arrow--close,
.gh-section.gh-section-aspects.is-expanded .gh-aspects-more-toggle-open,
.gh-section.gh-section-aspects.is-expanded .gh-aspects-more-toggle-arrow--open { display:none; }
.gh-section.gh-section-aspects.is-expanded .gh-aspects-more-toggle-close,
.gh-section.gh-section-aspects.is-expanded .gh-aspects-more-toggle-arrow--close { display:inline; }
@media (max-width: 640px) {
  .gh-section.gh-section-aspects { margin-top:var(--msb-section-gap-mobile); }
  .gh-section.gh-section-aspects .gh-aspects-title { padding-right:112px; font-size:var(--msb-section-title-size); letter-spacing:0.13em; }
  .gh-aspects-explanation-toggle { font-size:0.9rem; }
  .gh-aspects-explanation { margin-bottom:18px; padding:16px; font-size:0.94rem; }
  .gh-section.gh-section-aspects .gh-aspect-row { grid-template-columns:24px minmax(0, 1fr) auto; column-gap:10px; min-height:58px; padding:10px 2px; }
  .gh-section.gh-section-aspects .gh-aspect-icon { width:16px; height:16px; }
  .gh-section.gh-section-aspects .gh-aspect-label { font-size:0.94rem; }
  .gh-section.gh-section-aspects .gh-aspect-orb { font-size:0.76rem; letter-spacing:0.04em; }
  .gh-aspects-more-toggle { padding-top:14px; font-size:0.68rem; letter-spacing:0.13em; }
}

/* Planetenpositionen */
.gh-section.gh-section-planets-rel .gh-section-title {
  max-width: 1000px;
  margin: 0 auto 18px;
  color: #70798a;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
}
.gh-section.gh-section-planets-rel .gh-planets-rel { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; max-width: 1000px; margin-left: auto; margin-right: auto; }
.gh-section.gh-section-planets-rel .gh-planets-rel-item { display:grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 14px; align-items:center; width:100%; padding:16px 4px; border-top:1px solid #d9dfeb; box-sizing:border-box; }
.gh-section.gh-section-planets-rel .gh-planets-rel-figure { width:28px; display:flex; align-items:center; justify-content:center; }
.gh-section.gh-section-planets-rel .gh-planets-rel-text { min-width:0; }
.gh-section.gh-section-planets-rel .gh-planets-rel-line { display:flex; align-items:center; gap:8px; min-width:0; line-height:1.3; }
.gh-section.gh-section-planets-rel .gh-planets-rel-line--primary { justify-content:space-between; }
.gh-section.gh-section-planets-rel .gh-planets-rel-line--secondary { margin-top:4px; color:#647086; font-size:0.82rem; }
.gh-section.gh-section-planets-rel .gh-planets-rel-position { display:inline-flex; align-items:baseline; gap:5px; min-width:0; }
.gh-section.gh-section-planets-rel .gh-planets-rel-planet { color:#172033; font-size:1rem; font-weight:600; }
.gh-section.gh-section-planets-rel .gh-planets-rel-sign-prefix { color:#647086; font-style:italic; }
.gh-section.gh-section-planets-rel .gh-planets-rel-sign-text { color:#172033; }
.gh-section.gh-section-planets-rel .gh-planets-rel-coordinates { display:inline-flex; align-items:baseline; gap:7px; flex:0 0 auto; color:#647086; font-size:0.86rem; letter-spacing:0.08em; }
.gh-section.gh-section-planets-rel .gh-planets-rel-movement { color:var(--msb-color-primary); font-weight:700; }
.gh-section.gh-section-planets-rel .gh-icon-planet { display:block; width:20px !important; height:20px !important; margin:0; }
@media (max-width: 768px) {
  .gh-section.gh-section-planets-rel .gh-section-title { margin-bottom:14px; }
  .gh-section.gh-section-planets-rel .gh-planets-rel { grid-template-columns:1fr; }
  .gh-section.gh-section-planets-rel .gh-planets-rel-item { grid-template-columns:26px minmax(0, 1fr); column-gap:12px; padding:14px 2px; }
  .gh-section.gh-section-planets-rel .gh-planets-rel-figure { width:26px; }
  .gh-section.gh-section-planets-rel .gh-planets-rel-planet { font-size:0.98rem; }
  .gh-section.gh-section-planets-rel .gh-planets-rel-coordinates { font-size:0.78rem; letter-spacing:0.04em; }
}

/* Mondphase */
.gh-section.gh-section-moon-phase { margin:31px 0 var(--msb-section-gap); }
.gh-section.gh-section-moon-phase .gh-section-title {
  max-width:1000px;
  margin:0 auto 18px;
  color:#70798a;
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-moon-phase-card {
  display:grid;
  grid-template-columns:96px minmax(0, 1fr);
  align-items:center;
  gap:18px;
  max-width:1000px;
  margin:0 auto;
  padding:26px 28px;
  box-sizing:border-box;
  background:var(--msb-color-primary-soft);
}
.gh-moon-phase-figure { display:flex; align-items:center; justify-content:center; }
.gh-moon-phase-icon { display:block; width:80px; height:80px; margin:0; }
.gh-moon-phase-content { min-width:0; }
.gh-moon-phase-name {
  color:#172033;
  font-size:1.28rem;
  font-style:italic;
  line-height:1.2;
}
.gh-moon-phase-meta {
  margin-top:7px;
  color:#70798a;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.16em;
  line-height:1.35;
  text-transform:uppercase;
}
.gh-moon-phase-description {
  margin-top:10px;
  color:#172033;
  font-size:1rem;
  line-height:1.4;
}
@media (max-width: 640px) {
  .gh-section.gh-section-moon-phase { margin:var(--msb-section-gap-mobile) 0; }
  .gh-section.gh-section-moon-phase .gh-section-title { margin-bottom:14px; }
  .gh-moon-phase-card { grid-template-columns:72px minmax(0, 1fr); gap:14px; padding:20px 16px; }
  .gh-moon-phase-icon { width:66px; height:66px; }
  .gh-moon-phase-name { font-size:1.1rem; }
  .gh-moon-phase-meta { font-size:0.66rem; letter-spacing:0.1em; }
  .gh-moon-phase-description { margin-top:8px; font-size:0.94rem; }
}

/* Zusatzpunkte jenseits der klassischen Planeten */
.gh-section.gh-section-beyond-planets { position:relative; margin:var(--msb-section-gap) 0 0; }
.gh-section.gh-section-beyond-planets .gh-beyond-planets-details {
  max-width:1000px;
  margin:-37px auto 18px;
}
.gh-beyond-planets-toggle {
  display:block;
  width:max-content;
  margin-left:auto;
  color:#38465a;
  cursor:pointer;
  font-size:0.95rem;
  font-style:italic;
  line-height:1.2;
  list-style:none;
}
.gh-beyond-planets-toggle::-webkit-details-marker { display:none; }
.gh-beyond-planets-toggle:hover,
.gh-beyond-planets-toggle:focus-visible { color:var(--msb-color-primary); text-decoration:none; }
.gh-beyond-planets-toggle-close { display:none; }
.gh-beyond-planets-details[open] .gh-beyond-planets-toggle-open { display:none; }
.gh-beyond-planets-details[open] .gh-beyond-planets-toggle-close { display:inline; }
.gh-beyond-planets-explanation {
  margin-top:18px;
  padding:20px 24px;
  box-sizing:border-box;
  background:var(--msb-color-primary-soft-strong);
  color:#2e3440;
  line-height:1.45;
}
.gh-beyond-planets-explanation p { margin:0; }
.gh-beyond-planets-explanation p + p { margin-top:12px; }
@media (max-width: 768px) {
  .gh-section.gh-section-beyond-planets { margin-top:var(--msb-section-gap-mobile); }
  .gh-section.gh-section-beyond-planets .gh-beyond-planets-details { margin-top:-33px; }
  .gh-beyond-planets-toggle { font-size:0.9rem; }
  .gh-beyond-planets-explanation { margin-top:14px; padding:16px; font-size:0.94rem; }
}

/* Haeuser */
.gh-section.gh-section-houses { margin-top:var(--msb-section-gap); scroll-margin-top:75px; }
.gh-section.gh-section-houses .gh-houses-header { position:relative; max-width:1000px; margin:0 auto; }
.gh-section.gh-section-houses .gh-houses-title {
  margin:0;
  padding:0 140px 18px 0;
  color:#70798a;
  font-size:var(--msb-section-title-size);
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-houses-explanation-details { margin:0; }
.gh-houses-explanation-toggle {
  position:absolute;
  top:0;
  right:0;
  width:max-content;
  color:#38465a;
  cursor:pointer;
  font-size:0.95rem;
  font-style:italic;
  line-height:1.2;
  list-style:none;
}
.gh-houses-explanation-toggle::-webkit-details-marker,
.gh-house-summary::-webkit-details-marker { display:none; }
.gh-houses-explanation-toggle::marker,
.gh-house-summary::marker { content:""; }
.gh-houses-explanation-toggle:hover,
.gh-houses-explanation-toggle:focus-visible { color:var(--msb-color-primary); text-decoration:none; }
.gh-houses-explanation-toggle-close { display:none; }
.gh-houses-explanation-details[open] .gh-houses-explanation-toggle-open { display:none; }
.gh-houses-explanation-details[open] .gh-houses-explanation-toggle-close { display:inline; }
.gh-houses-explanation {
  margin:0 0 24px;
  padding:20px 24px;
  box-sizing:border-box;
  background:var(--msb-color-primary-soft-strong);
  color:#2e3440;
  line-height:1.45;
}
.gh-houses-explanation p { margin:0; }
.gh-houses-empty,
.gh-houses-list,
.gh-houses-more-toggle { max-width:1000px; margin-left:auto; margin-right:auto; }
.gh-section.gh-section-houses .gh-house-row { border-top:1px solid #d9dfeb; }
.gh-section.gh-section-houses .gh-house-row[hidden] { display:none !important; }
.gh-section.gh-section-houses .gh-house-summary {
  display:grid;
  grid-template-columns:56px minmax(0, 1fr) minmax(72px, auto);
  align-items:center;
  column-gap:18px;
  min-height:76px;
  padding:14px 4px;
  box-sizing:border-box;
  cursor:pointer;
  list-style:none;
}
.gh-section.gh-section-houses .gh-house-roman {
  color:#202733;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.35rem;
  font-style:italic;
  line-height:1;
}
.gh-section.gh-section-houses .gh-house-overview { display:grid; gap:5px; min-width:0; }
.gh-section.gh-section-houses .gh-house-title { color:#172033; font-size:1.05rem; font-weight:600; line-height:1.25; }
.gh-section.gh-section-houses .gh-house-cusp {
  display:flex;
  flex-wrap:wrap;
  gap:0 7px;
  color:#70798a;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.14em;
  line-height:1.35;
  text-transform:uppercase;
}
.gh-section.gh-section-houses .gh-house-occupants-summary {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.gh-section.gh-section-houses .gh-house-occupant-icon { display:block; width:18px; height:18px; margin:0; }
.gh-section.gh-section-houses .gh-house-axis-icon { width:19px; height:19px; }
.gh-section.gh-section-houses .gh-house-empty-label,
.gh-section.gh-section-houses .gh-house-occupant-fallback {
  color:#87909e;
  font-size:0.66rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
}
.gh-section.gh-section-houses .gh-house-detail {
  margin:0 4px 0 74px;
  padding:0 0 18px;
  color:#38465a;
  line-height:1.45;
}
.gh-section.gh-section-houses .gh-house-detail-intro,
.gh-section.gh-section-houses .gh-house-empty-detail { margin:0; }
.gh-section.gh-section-houses .gh-house-empty-detail { font-style:italic; }
.gh-section.gh-section-houses .gh-house-occupants-detail { display:grid; gap:6px; margin-top:10px; }
.gh-section.gh-section-houses .gh-house-occupant-detail {
  display:grid;
  grid-template-columns:20px minmax(72px, auto) minmax(0, 1fr);
  align-items:center;
  column-gap:8px;
}
.gh-section.gh-section-houses .gh-house-occupant-detail-icon { display:flex; align-items:center; justify-content:center; }
.gh-section.gh-section-houses .gh-house-occupant-detail-icon img { display:block; width:16px; height:16px; margin:0; }
.gh-section.gh-section-houses .gh-house-occupant-detail-position { color:#70798a; font-size:0.82rem; letter-spacing:0.08em; }
.gh-section.gh-section-houses .gh-house-occupant-detail-movement { color:var(--msb-color-primary); }
.gh-section.gh-section-houses .gh-house-rulers {
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid #d9dfeb;
}
.gh-section.gh-section-houses .gh-house-ruler { margin:0; }
.gh-section.gh-section-houses .gh-house-ruler + .gh-house-ruler { margin-top:4px; }
.gh-houses-more-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:16px 4px 0;
  border:0;
  border-top:1px solid #d9dfeb;
  background:transparent;
  color:#70798a;
  cursor:pointer;
  font:inherit;
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-houses-more-toggle:hover {
  background:transparent !important;
  border-color:transparent !important;
  border-radius:0 !important;
  color:#70798a !important;
  box-shadow:none !important;
  text-decoration:none;
}
.gh-houses-more-toggle:focus-visible { background:transparent; color:#70798a; text-decoration:none; }
.gh-houses-more-toggle-close,
.gh-houses-more-toggle-arrow--close,
.gh-section.gh-section-houses.is-expanded .gh-houses-more-toggle-open,
.gh-section.gh-section-houses.is-expanded .gh-houses-more-toggle-arrow--open { display:none; }
.gh-section.gh-section-houses.is-expanded .gh-houses-more-toggle-close,
.gh-section.gh-section-houses.is-expanded .gh-houses-more-toggle-arrow--close { display:inline; }
@media (max-width: 640px) {
  .gh-section.gh-section-houses { margin-top:var(--msb-section-gap-mobile); }
  .gh-section.gh-section-houses .gh-houses-title { padding-right:112px; font-size:var(--msb-section-title-size); letter-spacing:0.13em; }
  .gh-houses-explanation-toggle { font-size:0.9rem; }
  .gh-houses-explanation { margin-bottom:18px; padding:16px; font-size:0.94rem; }
  .gh-section.gh-section-houses .gh-house-summary { grid-template-columns:34px minmax(0, 1fr) auto; column-gap:10px; min-height:70px; padding:12px 2px; }
  .gh-section.gh-section-houses .gh-house-roman { font-size:1.18rem; }
  .gh-section.gh-section-houses .gh-house-title { font-size:0.96rem; }
  .gh-section.gh-section-houses .gh-house-cusp { gap:0 5px; font-size:0.59rem; letter-spacing:0.1em; }
  .gh-section.gh-section-houses .gh-house-occupants-summary { gap:6px; max-width:78px; }
  .gh-section.gh-section-houses .gh-house-occupant-icon { width:15px; height:15px; }
  .gh-section.gh-section-houses .gh-house-axis-icon { width:16px; height:16px; }
  .gh-section.gh-section-houses .gh-house-detail { margin-left:46px; padding-bottom:16px; font-size:0.94rem; }
  .gh-section.gh-section-houses .gh-house-occupant-detail { grid-template-columns:18px minmax(64px, auto) minmax(0, 1fr); column-gap:6px; }
  .gh-section.gh-section-houses .gh-house-occupant-detail-icon img { width:14px; height:14px; }
  .gh-section.gh-section-houses .gh-house-occupant-detail-position { font-size:0.74rem; letter-spacing:0.04em; }
  .gh-houses-more-toggle { padding-top:14px; font-size:0.68rem; letter-spacing:0.13em; }
}

/* Aspektfiguren / Aspektmotive */
.gh-section.gh-section-patterns .gh-section-title { text-align: center; }
.gh-section.gh-section-patterns .gh-patterns-list { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 44px; max-width: 980px; margin-left: auto; margin-right: auto; justify-items: stretch; }
.gh-section.gh-section-patterns .gh-patterns-item { display:grid; grid-template-columns: 130px minmax(0, 1fr); column-gap: 14px; align-items:center; width:100%; max-width:520px; margin:0; }
.gh-section.gh-section-patterns .gh-patterns-figure { width:130px; display:flex; align-items:center; justify-content:center; }
.gh-section.gh-section-patterns .gh-patterns-svg-img { display:block; width:130px; height:130px; margin:0; }
.gh-section.gh-section-patterns .gh-patterns-text { min-width:0; text-align:left; }
.gh-section.gh-section-patterns .gh-patterns-title-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:4px; }
.gh-section.gh-section-patterns .gh-patterns-type { font-weight:600; line-height:1.25; }
.gh-section.gh-section-patterns .gh-patterns-badge { display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; background:#eef3f7; color:#415160; font-size:0.82em; line-height:1; }
.gh-section.gh-section-patterns .gh-patterns-summary { display:flex; align-items:center; gap:6px; flex-wrap:wrap; color:#111; line-height:1.35; }
.gh-section.gh-section-patterns .gh-patterns-summary-part { display:inline-flex; align-items:center; gap:6px; min-width:0; }
.gh-section.gh-section-patterns .gh-patterns-summary-sep { color:#888; }
.gh-section.gh-section-patterns .gh-patterns-summary-icon { width:16px; height:16px; display:inline-block; margin:0; flex:0 0 auto; }
.gh-section.gh-section-patterns .gh-patterns-trigger { margin-top:4px; color:#555; font-size:0.95em; line-height:1.35; }
@media (max-width: 768px) {
  .gh-section.gh-section-patterns .gh-patterns-list { grid-template-columns: 1fr; gap: 18px; }
  .gh-section.gh-section-patterns .gh-patterns-item { grid-template-columns: 130px minmax(0, 1fr); }
}

/* Aspektfiguren Redesign */
.gh-section.gh-section-patterns-redesign { margin-top:var(--msb-section-gap); scroll-margin-top:75px; }
.gh-section.gh-section-patterns-redesign .gh-patterns-header { position:relative; max-width:1000px; margin:0 auto; }
.gh-section.gh-section-patterns-redesign .gh-patterns-title {
  margin:0;
  padding:0 140px 18px 0;
  color:#70798a;
  font-size:var(--msb-section-title-size);
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-patterns-view-toggle {
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:auto !important;
  min-height:0 !important;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-transform:inherit;
}
.gh-patterns-view-toggle:hover,
.gh-patterns-view-toggle:focus-visible {
  border:0 !important;
  background:transparent !important;
  color:var(--msb-color-primary) !important;
  box-shadow:none !important;
  text-decoration:none;
}
.gh-patterns-view-toggle-icon {
  position:relative;
  display:inline-block;
  width:8px;
  height:12px;
  flex:0 0 auto;
}
.gh-patterns-view-toggle-icon::before,
.gh-patterns-view-toggle-icon::after {
  position:absolute;
  left:2px;
  width:4px;
  height:4px;
  border-top:1px solid currentColor;
  border-left:1px solid currentColor;
  content:"";
}
.gh-patterns-view-toggle-icon::before { top:1px; transform:rotate(45deg); }
.gh-patterns-view-toggle-icon::after { bottom:1px; transform:rotate(225deg); }
.gh-patterns-explanation-details { margin:0; }
.gh-patterns-explanation-toggle {
  position:absolute;
  top:0;
  right:0;
  width:max-content;
  color:#38465a;
  cursor:pointer;
  font-size:0.95rem;
  font-style:italic;
  line-height:1.2;
  list-style:none;
}
.gh-patterns-explanation-toggle::-webkit-details-marker,
.gh-pattern-summary::-webkit-details-marker { display:none; }
.gh-patterns-explanation-toggle::marker,
.gh-pattern-summary::marker { display:none; content:""; }
.gh-patterns-explanation-toggle:hover,
.gh-patterns-explanation-toggle:focus-visible { color:var(--msb-color-primary); text-decoration:none; }
.gh-patterns-explanation-toggle-close { display:none; }
.gh-patterns-explanation-details[open] .gh-patterns-explanation-toggle-open { display:none; }
.gh-patterns-explanation-details[open] .gh-patterns-explanation-toggle-close { display:inline; }
.gh-patterns-explanation {
  margin:0 0 26px;
  padding:20px 24px;
  border:1px solid rgba(23, 52, 84, 0.08);
  background:var(--msb-color-primary-soft-strong);
  color:#263446;
  font-size:1rem;
  line-height:1.55;
}
.gh-patterns-explanation p { margin:0; }
.gh-patterns-explanation p + p { margin-top:12px; }
.gh-section.gh-section-patterns-redesign .gh-patterns-view,
.gh-section.gh-section-patterns-redesign .gh-patterns-empty,
.gh-section.gh-section-patterns-redesign .gh-patterns-list,
.gh-section.gh-section-patterns-redesign .gh-patterns-more-toggle { max-width:1000px; margin-left:auto; margin-right:auto; }
.gh-section.gh-section-patterns-redesign .gh-patterns-list { display:block; }
.gh-pattern-row { border-top:1px solid #d9dfeb; }
.gh-pattern-row[hidden] { display:none !important; }
.gh-pattern-row:last-child { border-bottom:1px solid #d9dfeb; }
.gh-pattern-summary {
  display:grid;
  grid-template-columns:72px minmax(0, 1fr) auto;
  column-gap:16px;
  align-items:center;
  min-height:126px;
  padding:14px 4px;
  cursor:pointer;
  list-style:none;
}
.gh-pattern-summary:hover .gh-pattern-name,
.gh-pattern-summary:focus-visible .gh-pattern-name { color:var(--msb-color-primary); }
.gh-pattern-preview { display:grid; justify-items:center; gap:3px; }
.gh-pattern-preview-svg,
.gh-pattern-preview-svg svg { display:block; width:62px; height:62px; }
.gh-pattern-index {
  color:#70798a;
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1;
}
.gh-pattern-overview { display:grid; gap:7px; min-width:0; }
.gh-section.gh-section-patterns-redesign .gh-pattern-summary,
.gh-section.gh-section-motifs-redesign .gh-pattern-summary,
.gh-section.gh-section-patterns-redesign .gh-pattern-overview,
.gh-section.gh-section-motifs-redesign .gh-pattern-overview { text-align:left; }
.gh-pattern-name { color:#172033; font-size:1.1rem; font-style:italic; line-height:1.2; }
.gh-pattern-context { color:#172033; font-size:1rem; line-height:1.45; }
.gh-pattern-description { color:#70798a; }
.gh-pattern-trigger { color:#70798a; font-size:0.86rem; line-height:1.35; }
.gh-pattern-scope {
  color:var(--msb-color-primary);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.1em;
  line-height:1.35;
  text-transform:uppercase;
}
.gh-pattern-badge {
  align-self:start;
  margin-top:10px;
  color:#70798a;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.16em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-pattern-detail {
  display:grid;
  grid-template-columns:260px minmax(0, 1fr);
  gap:28px;
  align-items:center;
  padding:0 4px 26px 88px;
}
.gh-pattern-detail-chart { display:flex; align-items:center; justify-content:center; width:230px; height:230px; }
.gh-section.gh-section-patterns-redesign .gh-pattern-detail-chart .gh-patterns-svg-img { width:230px; height:230px; }
.gh-pattern-detail-title {
  margin-bottom:12px;
  color:#70798a;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-pattern-detail-list { display:grid; gap:8px; }
.gh-pattern-detail-row {
  display:grid;
  grid-template-columns:20px minmax(0, 1fr);
  column-gap:8px;
  align-items:center;
  color:#263446;
  font-size:0.94rem;
  line-height:1.35;
}
.gh-pattern-detail-icon,
.gh-pattern-detail-icon img { display:block; width:17px; height:17px; }
.gh-patterns-more-toggle,
.gh-motifs-more-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:16px 4px 0;
  border:0;
  border-top:1px solid #d9dfeb;
  background:transparent;
  color:#70798a;
  cursor:pointer;
  font:inherit;
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-patterns-more-toggle:hover,
.gh-motifs-more-toggle:hover {
  background:transparent !important;
  border-color:transparent !important;
  border-radius:0 !important;
  color:#70798a !important;
  box-shadow:none !important;
  text-decoration:none;
}
.gh-patterns-more-toggle:focus-visible,
.gh-motifs-more-toggle:focus-visible { background:transparent; color:#70798a; text-decoration:none; }
.gh-patterns-more-toggle-close,
.gh-patterns-more-toggle-arrow--close,
.gh-patterns-view.is-expanded .gh-patterns-more-toggle-open,
.gh-patterns-view.is-expanded .gh-patterns-more-toggle-arrow--open,
.gh-motifs-more-toggle-close,
.gh-motifs-more-toggle-arrow--close,
.gh-section.gh-section-motifs-redesign.is-expanded .gh-motifs-more-toggle-open,
.gh-section.gh-section-motifs-redesign.is-expanded .gh-motifs-more-toggle-arrow--open { display:none; }
.gh-patterns-view.is-expanded .gh-patterns-more-toggle-close,
.gh-patterns-view.is-expanded .gh-patterns-more-toggle-arrow--close,
.gh-section.gh-section-motifs-redesign.is-expanded .gh-motifs-more-toggle-close,
.gh-section.gh-section-motifs-redesign.is-expanded .gh-motifs-more-toggle-arrow--close { display:inline; }
@media (max-width: 640px) {
  .gh-section.gh-section-patterns-redesign { margin-top:var(--msb-section-gap-mobile); }
  .gh-section.gh-section-patterns-redesign .gh-patterns-title { padding-right:108px; font-size:var(--msb-section-title-size); letter-spacing:0.13em; }
  .gh-patterns-explanation-toggle { font-size:0.9rem; }
  .gh-patterns-explanation { margin-bottom:18px; padding:16px; font-size:0.94rem; }
  .gh-pattern-summary { grid-template-columns:62px minmax(0, 1fr) auto; column-gap:10px; min-height:106px; padding:12px 2px; }
  .gh-pattern-preview-svg,
  .gh-pattern-preview-svg svg { width:54px; height:54px; }
  .gh-pattern-name { font-size:1rem; }
  .gh-pattern-context { font-size:0.92rem; line-height:1.38; }
  .gh-pattern-trigger { font-size:0.78rem; }
  .gh-pattern-scope { font-size:0.66rem; letter-spacing:0.07em; }
  .gh-pattern-badge { margin-top:6px; font-size:0.6rem; letter-spacing:0.1em; }
  .gh-pattern-detail { grid-template-columns:1fr; gap:12px; padding:0 2px 20px 72px; }
  .gh-pattern-detail-chart { width:190px; height:190px; }
  .gh-section.gh-section-patterns-redesign .gh-pattern-detail-chart .gh-patterns-svg-img { width:190px; height:190px; }
  .gh-pattern-detail-title { font-size:0.66rem; letter-spacing:0.13em; }
  .gh-pattern-detail-row { font-size:0.86rem; }
  .gh-patterns-more-toggle,
  .gh-motifs-more-toggle { padding-top:14px; font-size:0.68rem; letter-spacing:0.13em; }
}

/* Aspektmotive Redesign */
.gh-section.gh-section-motifs-redesign { margin-top:var(--msb-section-gap); scroll-margin-top:75px; }
.gh-section.gh-section-motifs-redesign .gh-motifs-header { position:relative; max-width:1000px; margin:0 auto; }
.gh-section.gh-section-motifs-redesign .gh-motifs-title {
  margin:0;
  padding:0 140px 18px 0;
  color:#70798a;
  font-size:var(--msb-section-title-size);
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-motifs-explanation-details { margin:0; }
.gh-motifs-explanation-toggle {
  position:absolute;
  top:0;
  right:0;
  width:max-content;
  color:#38465a;
  cursor:pointer;
  font-size:0.95rem;
  font-style:italic;
  line-height:1.2;
  list-style:none;
}
.gh-motifs-explanation-toggle::-webkit-details-marker { display:none; }
.gh-motifs-explanation-toggle::marker { display:none; content:""; }
.gh-motifs-explanation-toggle:hover,
.gh-motifs-explanation-toggle:focus-visible { color:var(--msb-color-primary); text-decoration:none; }
.gh-motifs-explanation-toggle-close { display:none; }
.gh-motifs-explanation-details[open] .gh-motifs-explanation-toggle-open { display:none; }
.gh-motifs-explanation-details[open] .gh-motifs-explanation-toggle-close { display:inline; }
.gh-motifs-explanation {
  margin:0 0 26px;
  padding:20px 24px;
  border:1px solid rgba(23, 52, 84, 0.08);
  background:var(--msb-color-primary-soft-strong);
  color:#263446;
  font-size:1rem;
  line-height:1.55;
}
.gh-motifs-explanation p { margin:0; }
.gh-section.gh-section-motifs-redesign .gh-motifs-empty,
.gh-section.gh-section-motifs-redesign .gh-motifs-list { display:block; max-width:1000px; margin-left:auto; margin-right:auto; }
.gh-section.gh-section-motifs-redesign .gh-motifs-more-toggle { max-width:1000px; margin-left:auto; margin-right:auto; }
.gh-section.gh-section-motifs-redesign .gh-pattern-detail-chart .gh-patterns-svg-img { width:230px; height:230px; }
@media (max-width: 640px) {
  .gh-section.gh-section-motifs-redesign { margin-top:var(--msb-section-gap-mobile); }
  .gh-section.gh-section-motifs-redesign .gh-motifs-title { padding-right:108px; font-size:var(--msb-section-title-size); letter-spacing:0.13em; }
  .gh-motifs-explanation-toggle { font-size:0.9rem; }
  .gh-motifs-explanation { margin-bottom:18px; padding:16px; font-size:0.94rem; }
  .gh-section.gh-section-motifs-redesign .gh-pattern-detail-chart .gh-patterns-svg-img { width:190px; height:190px; }
}

/* Chartsignatur */
.gh-section.gh-section-chart-signature { margin-top:var(--msb-section-gap); scroll-margin-top:75px; }
.gh-section.gh-section-chart-signature .gh-chart-signature-header { position:relative; max-width:1000px; margin:0 auto; }
.gh-section.gh-section-chart-signature .gh-chart-signature-title {
  margin:0;
  padding:0 140px 18px 0;
  color:#70798a;
  font-size:var(--msb-section-title-size);
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.gh-chart-signature-details { margin:0; }
.gh-chart-signature-toggle {
  position:absolute;
  top:0;
  right:0;
  width:max-content;
  color:#38465a;
  cursor:pointer;
  font-size:0.95rem;
  font-style:italic;
  line-height:1.2;
  list-style:none;
}
.gh-chart-signature-toggle::-webkit-details-marker { display:none; }
.gh-chart-signature-toggle::marker { display:none; content:""; }
.gh-chart-signature-toggle:hover,
.gh-chart-signature-toggle:focus-visible { color:var(--msb-color-primary); text-decoration:none; }
.gh-chart-signature-toggle-close { display:none; }
.gh-chart-signature-details[open] .gh-chart-signature-toggle-open { display:none; }
.gh-chart-signature-details[open] .gh-chart-signature-toggle-close { display:inline; }
.gh-chart-signature-explanation {
  margin:0 0 26px;
  padding:20px 24px;
  border:1px solid rgba(23, 52, 84, 0.08);
  box-sizing:border-box;
  background:var(--msb-color-primary-soft-strong);
  color:#263446;
  font-size:1rem;
  line-height:1.55;
}
.gh-chart-signature-explanation p { margin:0; }
.gh-chart-signature-explanation p + p { margin-top:12px; }
.gh-chart-signature-distributions,
.gh-section.gh-section-chart-signature .gh-special-list { max-width:1000px; margin-left:auto; margin-right:auto; }
.gh-chart-signature-distributions {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:36px;
  padding:24px 0 26px;
  border-top:1px solid #d9dfeb;
  border-bottom:1px solid #d9dfeb;
}
.gh-chart-signature-distribution-title {
  margin:0 0 14px;
  color:#70798a;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-chart-signature-distribution-row {
  display:grid;
  grid-template-columns:92px minmax(0, 1fr) 20px;
  align-items:center;
  gap:12px;
  min-height:28px;
  color:#172033;
  font-size:0.98rem;
}
.gh-chart-signature-distribution-track { display:block; height:2px; background:rgba(23, 52, 84, 0.12); }
.gh-chart-signature-distribution-fill { display:block; height:100%; min-width:0; background:#172033; }
.gh-chart-signature-distribution-row.is-dominant .gh-chart-signature-distribution-fill { background:var(--msb-color-primary); }
.gh-chart-signature-distribution-value { color:#70798a; font-size:0.82rem; text-align:right; }
.gh-section.gh-section-chart-signature .gh-special-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:44px;
}
.gh-section.gh-section-chart-signature .gh-special-item {
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  column-gap:14px;
  align-items:start;
  min-height:100px;
  padding:18px 4px;
  border-bottom:1px solid #d9dfeb;
  box-sizing:border-box;
}
.gh-section.gh-section-chart-signature .gh-special-figure { display:flex; align-items:flex-start; justify-content:center; padding-top:3px; }
.gh-section.gh-section-chart-signature .gh-special-icon { display:block; width:62px; height:62px; margin:0; object-fit:contain; }
.gh-section.gh-section-chart-signature .gh-special-title { color:#172033; font-size:1.04rem; font-weight:400; line-height:1.35; }
.gh-section.gh-section-chart-signature .gh-special-desc { margin-top:3px; color:#4d5869; font-size:0.94rem; font-style:italic; line-height:1.42; }
@media (max-width: 640px) {
  .gh-section.gh-section-chart-signature { margin-top:var(--msb-section-gap-mobile); }
  .gh-section.gh-section-chart-signature .gh-chart-signature-title { padding-right:108px; font-size:var(--msb-section-title-size); letter-spacing:0.13em; }
  .gh-chart-signature-toggle { font-size:0.9rem; }
  .gh-chart-signature-explanation { margin-bottom:18px; padding:16px; font-size:0.94rem; }
  .gh-chart-signature-distributions { grid-template-columns:1fr; gap:20px; padding:18px 0 20px; }
  .gh-chart-signature-distribution-row { grid-template-columns:82px minmax(0, 1fr) 18px; gap:10px; font-size:0.94rem; }
  .gh-section.gh-section-chart-signature .gh-special-list { grid-template-columns:1fr; }
  .gh-section.gh-section-chart-signature .gh-special-item { grid-template-columns:62px minmax(0, 1fr); column-gap:10px; min-height:94px; padding:16px 2px; }
  .gh-section.gh-section-chart-signature .gh-special-icon { width:54px; height:54px; }
  .gh-section.gh-section-chart-signature .gh-special-title { font-size:1rem; }
  .gh-section.gh-section-chart-signature .gh-special-desc { font-size:0.9rem; }
}

/* Moment chart */
.gh-section.gh-section-moment-hero,
.gh-section.gh-section-moment-picker {
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
  color:#172033;
  text-align:left;
}
.gh-section.gh-section-moment-hero {
  margin-top:0;
  margin-bottom:var(--msb-section-gap);
  padding:18px 0px 6px;
}
.gh-moment-hero__eyebrow {
  margin:0 0 10px;
  color:#70798a;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.2em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-moment-hero__title {
  max-width:760px;
  margin:0;
  color:#172033;
  font-family:inherit;
  font-size:clamp(2rem, 4vw, 3.75rem);
  font-weight:400;
  line-height:1.02;
}
.gh-moment-hero__title em {
  color:var(--msb-color-primary);
  font-style:italic;
}
.gh-moment-hero__intro {
  max-width:640px;
  margin:18px 0 0;
  color:#556174;
  font-size:1.02rem;
  line-height:1.55;
}
.gh-section.gh-section-moment-picker {
  margin-top:var(--msb-section-gap);
  margin-bottom:var(--msb-section-gap);
  padding:0 12px;
}
.gh-section.gh-section-moment-picker .gh-moment-picker-title {
  margin:0 0 16px;
  color:#70798a;
  font-size:var(--msb-section-title-size);
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-moment-nav {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:stretch;
  min-height:78px;
  background:var(--msb-color-primary);
  color:#fff;
}
.gh-moment-nav__side {
  display:grid;
  grid-template-columns:repeat(2, 52px);
}
.gh-moment-nav__button {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  border-right:1px solid rgba(255, 255, 255, .24);
  color:#fff;
  font-size:1.3rem;
  line-height:1;
  text-decoration:none;
}
.gh-moment-nav__side--right .gh-moment-nav__button {
  border-right:0;
  border-left:1px solid rgba(255, 255, 255, .24);
}
.gh-moment-nav__button:hover,
.gh-moment-nav__button:focus-visible {
  background:rgba(255, 255, 255, .08);
  color:#fff;
  text-decoration:none;
}
.gh-moment-nav__current {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
  padding:14px 20px;
  cursor:pointer;
  text-align:center;
}
.gh-moment-nav__current:hover,
.gh-moment-nav__current:focus-visible {
  background:rgba(255, 255, 255, .08);
  outline:0;
}
.gh-moment-nav__date {
  overflow:hidden;
  max-width:100%;
  font-size:1.05rem;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gh-moment-nav__meta {
  overflow:hidden;
  max-width:100%;
  color:rgba(255, 255, 255, .72);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.25;
  text-transform:uppercase;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gh-moment-editor {
  margin:18px 0 0;
  border-top:1px solid #d9dfeb;
}
.gh-moment-editor__summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:58px;
  color:#70798a;
  cursor:pointer;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  list-style:none;
  text-transform:uppercase;
}
.gh-moment-editor__summary::-webkit-details-marker,
.gh-moment-editor__summary::marker {
  display:none;
  content:'';
}
.gh-moment-editor__edit {
  color:#172033;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:1rem;
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}
.gh-moment-editor__summary:hover,
.gh-moment-editor__summary:focus-visible,
.gh-moment-editor__summary:hover .gh-moment-editor__edit,
.gh-moment-editor__summary:focus-visible .gh-moment-editor__edit {
  color:var(--msb-color-primary);
  text-decoration:none;
}
.gh-moment-form {
  display:grid;
  gap:18px;
  margin:0 0 22px;
  padding:24px 26px 26px;
  background:var(--msb-color-primary-soft-strong);
}
.gh-moment-form__row {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(180px, 240px);
  align-items:start;
  gap:22px;
}
.gh-moment-form label,
.gh-moment-form__place {
  display:grid;
  gap:9px;
  margin:0;
}
.gh-moment-form label > span,
.gh-moment-form__place > span {
  color:var(--msb-color-primary);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-moment-form select,
.gh-moment-form input[type="number"],
.gh-moment-form input[type="text"] {
  width:100%;
  height:42px;
  min-height:42px;
  margin:0;
  border:0;
  border-bottom:1px solid rgba(23, 52, 84, .24);
  border-radius:0;
  outline:0;
  background:rgba(255, 255, 255, .42);
  color:#172033;
  font:inherit;
  font-size:1rem;
}
.gh-moment-form input[type="number"] {
  -moz-appearance:textfield;
  appearance:textfield;
}
.gh-moment-form input[type="number"]::-webkit-outer-spin-button,
.gh-moment-form input[type="number"]::-webkit-inner-spin-button {
  margin:0;
  -webkit-appearance:none;
}
.gh-moment-form select {
  padding:8px 10px;
}
.gh-moment-form input[type="number"],
.gh-moment-form input[type="text"] {
  padding:8px 10px;
}
.gh-moment-form select:focus,
.gh-moment-form input:focus {
  border-color:var(--msb-color-primary);
  background:#fff;
}
.gh-moment-form__date {
  display:grid;
  grid-template-columns:84px 84px minmax(110px, 1fr);
  gap:10px;
}
.gh-moment-form__time {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:8px;
}
.gh-moment-form__time span {
  color:#70798a;
}
.gh-moment-ac-wrap {
  position:relative;
}
.gh-moment-suggest {
  position:absolute;
  z-index:50;
  top:calc(100% + 4px);
  left:0;
  right:0;
  display:none;
  max-height:280px;
  margin:0;
  padding:0;
  overflow:auto;
  border:1px solid rgba(23, 52, 84, .16);
  background:#fff;
  box-shadow:0 16px 34px rgba(23, 52, 84, .12);
  list-style:none;
}
.gh-moment-suggest li {
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  gap:10px;
  min-height:46px;
  align-items:center;
  padding:9px 12px;
  cursor:pointer;
  color:#172033;
  font-size:.94rem;
}
.gh-moment-suggest li + li {
  border-top:1px solid rgba(23, 52, 84, .08);
}
.gh-moment-suggest li:hover {
  background:var(--msb-color-primary-soft);
}
.gh-moment-suggest__index {
  color:#70798a;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
}
.gh-moment-form__actions {
  display:flex;
  justify-content:flex-end;
}
.gh-moment-form__actions button {
  min-height:42px;
  padding:10px 18px;
  border:1px solid var(--msb-color-primary);
  border-radius:0;
  background:var(--msb-color-primary);
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gh-moment-form__actions button:hover,
.gh-moment-form__actions button:focus-visible {
  background:#fff;
  color:var(--msb-color-primary);
}

/* Shared date/time/place form */
.msb-time-form,
.msb-time-form * {
  box-sizing:border-box;
}
.msb-time-form {
  width:100%;
  max-width:none;
  margin:0 0 22px;
  padding:24px 26px 26px;
  display:grid;
  gap:18px;
  background:var(--msb-color-primary-soft-strong);
  color:var(--msb-text-main);
}
.msb-time-form .msb-field {
  display:grid;
  gap:9px;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.msb-time-form .msb-label {
  display:block;
  margin:0;
  color:var(--msb-color-primary);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.msb-time-form .msb-label span {
  color:#7c8794;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.14em;
}
.msb-time-form__row {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(180px, 240px);
  align-items:start;
  gap:22px;
}
.msb-time-form__date {
  display:grid;
  grid-template-columns:84px 84px minmax(110px, 1fr);
  gap:10px;
}
.msb-time-form__control-row {
  display:grid;
  align-items:start;
  min-height:42px;
}
.msb-time-form__time-row {
  display:grid;
  grid-template-columns:minmax(180px, 240px) max-content;
  align-items:start;
  gap:22px;
}
.msb-time-form__time {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr) auto;
  align-items:center;
  gap:8px;
}
.msb-time-form__separator {
  color:var(--msb-text-muted);
  font-size:1rem;
  line-height:1;
}
.msb-time-form__format {
  color:var(--msb-text-muted);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}
.msb-time-form__place {
  display:grid;
  gap:9px;
}
.msb-time-form__input,
.msb-time-form .msb-input {
  width:100%;
  height:42px;
  min-height:42px;
  margin:0;
  padding:8px 10px;
  border:0;
  border-bottom:1px solid rgba(23, 52, 84, .24);
  border-radius:0;
  outline:0;
  background:rgba(255, 255, 255, .42);
  color:var(--msb-text-main);
  font:inherit;
  font-size:1rem;
  line-height:1.25;
  transition:border-color .18s ease, background-color .18s ease;
}
.msb-time-form input.msb-time-form__input,
.msb-time-form select.msb-time-form__input {
  box-sizing:border-box;
}
.msb-time-form__input--compact {
  text-align:center;
}
.msb-time-form input[type="number"] {
  -moz-appearance:textfield;
  appearance:textfield;
}
.msb-time-form input[type="number"]::-webkit-outer-spin-button,
.msb-time-form input[type="number"]::-webkit-inner-spin-button {
  margin:0;
  -webkit-appearance:none;
}
.msb-time-form__input::placeholder,
.msb-time-form .msb-input::placeholder {
  color:rgba(23, 52, 84, .52);
  opacity:1;
}
.msb-time-form__input:focus,
.msb-time-form .msb-input:focus,
.msb-time-form select:focus,
.msb-time-form input:focus {
  border-color:var(--msb-color-primary);
  background:#fff;
}
.msb-time-form [aria-invalid="true"] {
  border-bottom-color:#a64545;
  background:rgba(166, 69, 69, .04);
}
.msb-time-form.is-time-unknown .msb-time-form__time {
  opacity:.4;
}
.msb-switch {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 2px;
  color:var(--msb-color-primary);
  cursor:pointer;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.2;
  text-transform:uppercase;
}
.msb-time-form .msb-switch {
  align-self:end;
}
.msb-switch input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.msb-switch-track {
  width:44px;
  height:24px;
  padding:3px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(23, 52, 84, .4);
  border-radius:999px;
  background:rgba(255, 255, 255, .55);
  transition:background-color .18s ease, border-color .18s ease;
}
.msb-switch-track span {
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--msb-color-primary);
  transition:transform .18s ease, background-color .18s ease;
}
.msb-switch input:checked + .msb-switch-track {
  border-color:var(--msb-color-primary);
  background:var(--msb-color-primary);
}
.msb-switch input:checked + .msb-switch-track span {
  background:#fff;
  transform:translateX(20px);
}
.msb-switch input:focus-visible + .msb-switch-track {
  outline:2px solid var(--msb-color-primary);
  outline-offset:3px;
}
.msb-form-error {
  min-height:1.1em;
  margin:5px 0 0;
  color:#a64545;
  font-size:.78rem;
  line-height:1.35;
}
.msb-time-form__actions {
  display:flex;
  justify-content:flex-end;
}
.msb-time-form__submit {
  width:100%;
  min-height:46px;
  gap:12px;
}
.msb-natal-form {
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:start;
}
.msb-natal-form__name,
.msb-natal-form > .msb-time-form__place,
.msb-natal-form > .msb-time-form__submit {
  grid-column:1 / -1;
}
.msb-natal-form__time .msb-time-form__time-row {
  grid-template-columns:minmax(150px, 280px) max-content;
}
.msb-natal-form__date .msb-time-form__date-row {
  grid-template-columns:1fr;
}
.msb-ac-wrap {
  position:relative;
}
.msb-suggest {
  position:absolute;
  z-index:1000;
  top:calc(100% + 4px);
  right:0;
  left:0;
  display:none;
  max-height:300px;
  margin:0;
  padding:0;
  overflow:auto;
  border:1px solid rgba(23, 52, 84, .16);
  background:#fff;
  box-shadow:0 16px 34px rgba(23, 52, 84, .12);
  list-style:none;
}
.msb-suggest li {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  min-height:46px;
  padding:9px 12px;
  border-bottom:1px solid rgba(23, 52, 84, .08);
  color:var(--msb-text-main);
  cursor:pointer;
  font-size:.94rem;
  line-height:1.35;
}
.msb-suggest li:last-child {
  border-bottom:0;
}
.msb-suggest li:hover,
.msb-suggest li.is-active {
  background:var(--msb-color-primary-soft);
}
.gh-moment-suggest.msb-suggest li {
  grid-template-columns:38px minmax(0, 1fr);
}
.gh-moment-suggest.msb-suggest li + li {
  border-top:0;
}
.mm-suggest.msb-suggest li {
  grid-template-columns:minmax(0, 1fr) auto;
}

.gh-moment-facts {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px 48px;
  margin:26px 0 0;
}
.gh-moment-facts__row {
  display:grid;
  gap:5px;
  min-width:0;
}
.gh-moment-facts__row span {
  color:#70798a;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-moment-facts__row strong {
  color:#172033;
  font-size:1.05rem;
  font-weight:400;
  line-height:1.35;
}
@media (max-width: 800px) {
  .gh-section.gh-section-moment-hero,
  .gh-section.gh-section-moment-picker {
    width:100%;
    max-width:none;
    padding-left:var(--msb-mobile-section-gutter);
    padding-right:var(--msb-mobile-section-gutter);
  }
  .gh-section.gh-section-moment-hero {
    margin-bottom:var(--msb-section-gap-mobile);
    padding-top:10px;
  }
  .gh-section.gh-section-moment-picker {
    margin-top:var(--msb-section-gap-mobile);
    margin-bottom:var(--msb-section-gap-mobile);
  }
  .gh-moment-nav {
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .gh-moment-nav__side {
    display:contents;
  }
  .gh-moment-nav__current {
    grid-column:1 / -1;
    grid-row:1;
    min-height:70px;
  }
  .gh-moment-nav__button,
  .gh-moment-nav__side--right .gh-moment-nav__button {
    min-width:0;
    min-height:44px;
    border-top:1px solid rgba(255, 255, 255, .24);
    border-right:1px solid rgba(255, 255, 255, .24);
    border-left:0;
  }
  .gh-moment-nav__side--right .gh-moment-nav__button:last-child {
    border-right:0;
  }
  .gh-moment-form {
    padding:18px;
  }
  .gh-moment-form__row,
  .gh-moment-facts {
    grid-template-columns:1fr;
    gap:16px;
  }
  .gh-moment-form__date {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .msb-time-form {
    padding:18px;
    gap:16px;
  }
  .msb-natal-form {
    grid-template-columns:1fr;
  }
  .msb-natal-form__name,
  .msb-natal-form > .msb-time-form__place,
  .msb-natal-form > .msb-time-form__submit {
    grid-column:auto;
  }
  .msb-time-form__row,
  .msb-time-form__time-row,
  .msb-natal-form__time .msb-time-form__time-row,
  .gh-moment-facts {
    grid-template-columns:1fr;
    gap:16px;
  }
  .msb-time-form__date {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .msb-time-form__time {
    grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr) auto;
    max-width:none;
  }
  .msb-switch {
    justify-self:start;
  }
  .msb-suggest li {
    display:block;
  }
  .msb-suggest__name,
  .msb-suggest__context {
    display:block;
  }
  .msb-suggest__context {
    margin-top:3px;
    text-align:left;
  }
}

/* Timepager */
.mm-timepager {
  margin: 0 auto 18px;
  max-width: 760px;
  width: 100%;
  display: flex;
  justify-content: center;
}
.mm-timepager-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.mm-timepager-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 12px;
  border: 1px solid #d8dde3;
  border-radius: 999px;
  background: #fff;
  color: #17212b;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  font-size: 0.95rem;
  line-height: 1;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.mm-timepager-btn:hover,
.mm-timepager-btn:focus-visible {
  background: #f6f8fa;
  border-color: #c1cad4;
  color: #111;
}
.mm-timepager-btn--place {
  cursor: pointer;
}
.mm-timepager-label {
  display: inline-block;
}
.mm-timepager-label--full {
  display: inline-block;
}
.mm-timepager-label--compact {
  display: none !important;
}
@media (max-width: 680px) {
  .mm-timepager-links {
    gap: 6px;
  }
  .mm-timepager-btn {
    min-height: 38px;
    padding: 9px 8px;
    font-size: 0.88rem;
  }
}
@media (max-width: 520px) {
  .mm-timepager-links {
    grid-template-columns: repeat(5, minmax(44px, 1fr));
  }
  .mm-timepager-label--full {
    display: none !important;
  }
  .mm-timepager-label--compact {
    display: inline-block !important;
  }
  .mm-timepager-btn {
    padding: 9px 6px;
  }
}

.mm-timepager-place-overlay[hidden] {
  display: none !important;
}
.mm-timepager-place-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(12, 17, 24, 0.42);
}
.mm-timepager-place-dialog {
  width: min(100%, 440px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
  padding: 18px;
}
.mm-timepager-place-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.mm-timepager-place-title {
  font-size: 1rem;
  font-weight: 700;
  color: #17212b;
}
.mm-timepager-place-close {
  border: 0;
  background: transparent;
  color: #51606f;
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1;
  padding: 0;
}
.mm-timepager-place-form {
  display: grid;
  gap: 14px;
}
.mm-timepager-place-label {
  display: grid;
  gap: 6px;
}
.mm-timepager-place-label > span {
  font-weight: 600;
  color: #17212b;
}
.mm-timepager-ac-wrap {
  position: relative;
}
.mm-timepager-place-input {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #cfd6de;
  border-radius: 12px;
  background: #fff;
}
.mm-timepager-suggest {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  display: none;
  margin: 0;
  padding: 4px;
  list-style: none;
  border: 1px solid #d8dde3;
  background: #fff;
  border-radius: 12px;
  max-height: 240px;
  overflow: auto;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
}
.mm-timepager-suggest li {
  padding: 7px 9px;
  cursor: pointer;
  border-radius: 8px;
}
.mm-timepager-suggest li:hover {
  background: #f4f6f8;
}
.mm-timepager-place-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.mm-timepager-place-btn {
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid #17212b;
  border-radius: 999px;
  background: #17212b;
  color: #fff;
  cursor: pointer;
}
.mm-timepager-place-btn--secondary {
  border-color: #d8dde3;
  background: #fff;
  color: #17212b;
}
body.mm-timepager-dialog-open {
  overflow: hidden;
}
@media (max-width: 520px) {
  .mm-timepager-place-dialog {
    padding: 16px;
    border-radius: 16px;
  }
  .mm-timepager-place-actions {
    flex-direction: column-reverse;
  }
  .mm-timepager-place-btn {
    width: 100%;
  }
}

/* Share and save */
.gh-section.gh-section-share {
  max-width:1000px;
  margin:var(--msb-section-gap) auto 0;
  padding:28px 30px 24px;
  box-sizing:border-box;
  background:var(--msb-color-primary-soft);
  color:#172033;
}
.gh-share-eyebrow {
  margin:0 0 11px;
  color:var(--msb-color-primary);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.22em;
  line-height:1.3;
  text-transform:uppercase;
}
.gh-share-heading {
  margin:0 0 24px;
  color:#172033;
  font-family:inherit;
  font-size:1.46rem;
  font-style:italic;
  font-weight:400;
  line-height:1.25;
}
.gh-share-actions {
  border-top:1px solid rgba(23, 52, 84, .18);
}
.gh-share-action {
  width:100%;
  min-height:64px;
  display:grid;
  grid-template-columns:28px minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
  padding:13px 0;
  border:0;
  border-bottom:1px solid rgba(23, 52, 84, .18);
  border-radius:0;
  background:transparent;
  color:#172033;
  font:inherit;
  text-align:left;
}
button.gh-share-action {
  cursor:pointer;
}
button.gh-share-action:hover,
button.gh-share-action:focus-visible {
  background:transparent;
  color:#172033;
}
.gh-share-action.is-disabled {
  color:#657286;
}
.gh-share-icon {
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--msb-color-primary);
}
.gh-share-icon svg {
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.35;
}
.gh-share-action-label {
  min-width:0;
  font-size:1rem;
  line-height:1.35;
}
.gh-share-action-meta {
  color:var(--msb-color-primary);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
}
.gh-share-result {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  margin-top:16px;
}
.gh-share-result[hidden],
.gh-share-error[hidden] {
  display:none !important;
}
.gh-share-url {
  width:100%;
  min-width:0;
  padding:12px 14px;
  border:1px solid rgba(23, 52, 84, .2);
  border-radius:0;
  background:rgba(255, 255, 255, .58);
  color:#172033;
  font:inherit;
  font-size:.9rem;
}
.gh-share-copy {
  min-width:112px;
  padding:11px 16px;
  border:1px solid var(--msb-color-primary);
  border-radius:0;
  background:var(--msb-color-primary);
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gh-share-copy:hover,
.gh-share-copy:focus-visible {
  background:#fff;
  color:var(--msb-color-primary);
}
.gh-share-error {
  margin:12px 0 0;
  color:#a64545;
  font-size:.88rem;
  line-height:1.4;
}
.gh-share-closing {
  margin:22px 0 0;
  color:#647086;
  font-size:.94rem;
  font-style:italic;
  line-height:1.4;
}
@media (max-width: 640px) {
  .gh-section.gh-section-share {
    margin-top:var(--msb-section-gap-mobile);
    padding:22px var(--msb-mobile-section-gutter) 20px;
  }
  .gh-share-heading {
    margin-bottom:20px;
    font-size:1.28rem;
  }
  .gh-share-action {
    grid-template-columns:24px minmax(0, 1fr) auto;
    gap:10px;
    min-height:60px;
    padding:12px 0;
  }
  .gh-share-action-label {
    font-size:.94rem;
  }
  .gh-share-action-meta {
    font-size:.58rem;
    letter-spacing:.12em;
  }
  .gh-share-result {
    grid-template-columns:1fr;
  }
  .gh-share-copy {
    min-height:44px;
    width:100%;
  }
}
