/* Reading rhythm for learning questions, people, places and final invitation. */
.nla-learning-section {
  border-top: 1px solid var(--nla-line);
}
.nla-learning-section[data-learning-stage="wie"],
.nla-learning-section[data-learning-stage="wozu"] {
  background: #edf0e8;
}
.nla-v2 main [id] {
  scroll-margin-top: 100px;
}
.nla-course-teaser {
  background: #e8ede5;
}
.nla-course-teaser .nla-eyebrow {
  margin-top: 48px;
}
.nla-course-teaser h1 {
  margin-top: 16px;
  font-family: var(--display);
  font-size: clamp(1.5rem, 3vw, 2.3rem);
  font-weight: 500;
  letter-spacing: -0.035em;
}
.nla-course-teaser .nla-teaser-question {
  max-width: 1050px;
  margin-block: 26px 36px;
  font-family: var(--serif);
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.nla-reflection-hook {
  background: #e8ede5;
}
.nla-reflection-hook h2 {
  max-width: 1100px;
  margin-block: 26px 48px;
  font-family: var(--serif);
  font-size: clamp(2.4rem, 4.8vw, 4.8rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
}
.nla-reflection-hook .nla-decision-grid {
  align-items: start;
}
.nla-reflection-hook .nla-decision-impulses h3 {
  margin-top: 16px;
}
@media (max-width: 760px) {
  .nla-course-teaser .nla-eyebrow {
    margin-top: 32px;
  }
  .nla-reflection-hook h2 {
    margin-bottom: 32px;
  }
}

/* Native controls replace the prototype's React UI primitives. */
.nla-workshop-detail-hero .nla-workshop-price-link {
  margin-top: 24px;
  color: #e6eee5;
  font-size: 0.9375rem;
}
.nla-offer-card h3 {
  margin-block: 24px 12px;
  font-family: var(--serif);
  font-size: 1.8rem;
  line-height: 1.2;
}
.nla-offer-card h3 + p {
  margin-bottom: 18px;
}
.nla-course-teaser h1 + p {
  max-width: 760px;
  margin-top: 24px;
}
.nla-learning-methods {
  margin-top: 28px;
}
.nla-learning-methods > div {
  padding-block: 20px;
  border-top: 1px solid var(--nla-line);
}
.nla-learning-methods dt {
  margin-bottom: 8px;
  font-weight: 600;
}
.nla-learning-methods dd {
  margin: 0;
  color: var(--nla-muted);
  line-height: 1.7;
}

.nla-workshop-desktop-links {
  gap: 18px 28px;
}
.nla-trainer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 28px;
}
.nla-portrait-frame { overflow: hidden; aspect-ratio: 4 / 5; background: #e8ece3; }
.nla-portrait-frame > img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; border-radius: 0; }
.nla-portrait-frame[data-portrait="alexandra"] > img { transform: scale(1.2); transform-origin: center top; }
.nla-portrait-frame[data-portrait="andreas-moosdorf"] > img { transform: scale(1.14) translateY(-3%); transform-origin: center top; }
.nla-trainer-profile {
  min-width: 0;
  padding-top: 24px;
  border-top: 1px solid var(--nla-line);
}
.nla-trainer-copy {
  padding-block: 28px;
}
.nla-trainer-copy h3 {
  margin-block: 14px 18px;
  font-family: var(--display);
  font-size: clamp(1.5rem, 3vw, 2.3rem);
  line-height: 1.2;
}
.nla-trainer-copy > p:last-child {
  color: var(--nla-muted);
  line-height: 1.7;
}
.nla-trainer-portrait {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: 50% 7%;
  border-radius: 7px;
}
.nla-trainer-placeholder {
  display: grid;
  place-items: center;
  background: #e0e4d9;
  color: var(--nla-muted);
  font-size: 14px;
}
.nla-location {
  background: #edf0e8;
}
.nla-v2 .nla-practitioner-schedule > p { margin-top: 24px; max-width: 68ch; }
.nla-v2 .nla-practitioner-hours { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-block: 32px; }
.nla-v2 .nla-practitioner-hours > div { border-top: 1px solid var(--nla-line); padding-top: 16px; }
.nla-v2 .nla-practitioner-hours dt { font-size: 13px; }
.nla-v2 .nla-practitioner-hours dd { margin: 8px 0 0; font-size: 20px; font-weight: 600; }
.nla-v2 .nla-calendar-legend { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.nla-v2 .nla-calendar-legend > span { width: 16px; height: 16px; flex: 0 0 16px; background: var(--nla-ink); }
.nla-v2 .nla-calendar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; margin-top: 28px; }
.nla-v2 .nla-calendar-month { min-width: 0; border-top: 1px solid var(--nla-line); padding-top: 20px; }
.nla-v2 .nla-calendar-month table { width: 100%; border-collapse: collapse; table-layout: fixed; font-variant-numeric: tabular-nums; }
.nla-v2 .nla-calendar-month caption { padding-bottom: 18px; text-align: left; font-size: 21px; font-weight: 600; }
.nla-v2 .nla-calendar-month caption > span { display: block; margin-top: 6px; font-size: 12px; font-weight: 400; }
.nla-v2 .nla-calendar-month th { height: 32px; text-align: center; font-size: 11px; font-weight: 500; }
.nla-v2 .nla-calendar-month td { height: 36px; text-align: center; font-size: 14px; }
.nla-v2 .nla-calendar-month .nla-calendar-training { color: var(--nla-paper); background: var(--nla-ink); font-weight: 700; }
.nla-v2 .nla-calendar-month .nla-calendar-date { margin-top: 14px; font-size: 13px; font-weight: 600; }
.nla-v2 .nla-practitioner-price { font-size: clamp(22px, 3vw, 30px); }
@media (max-width: 1000px) {
  .nla-v2 .nla-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .nla-v2 .nla-practitioner-hours { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
  .nla-v2 .nla-practitioner-hours dd { font-size: 18px; }
  .nla-v2 .nla-calendar-grid { grid-template-columns: minmax(0, 1fr); }
}
.nla-location-image {
  width: 100%;
  height: auto;
  margin-top: 32px;
  border-radius: 7px;
}
@media (max-width: 760px) {
  .nla-trainer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  padding: 12px 18px;
  background: white;
  z-index: 100;
  transform: translateY(-160%);
}
.skip-link:focus {
  transform: none;
}
.noscript-note {
  padding: 20px;
  background: #f5f3eb;
  text-align: center;
}
dialog.nla-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  border: 1px solid #d3dcd6;
  box-shadow: 0 20px 100px #0004;
  overscroll-behavior: contain;
}
dialog.nla-dialog::backdrop {
  background: #0008;
}
dialog.nla-dialog[open] {
  display: grid;
}
body:has(dialog:modal) {
  overflow: hidden;
}
.nla-dialog [data-step] {
  display: grid;
  gap: 20px;
}
.nla-dialog form {
  margin: 0;
}
.nla-form input[data-slot="input"] {
  width: 100%;
  min-width: 0;
  border: 1px solid #899f91;
}
.nla-consent input {
  appearance: auto;
  accent-color: #19373b;
}
.nla-faq summary {
  list-style: none;
}
.nla-faq summary::-webkit-details-marker {
  display: none;
}
.nla-faq summary > span {
  font-size: 1.4rem;
  font-weight: 400;
  transition: transform 0.15s;
}
.nla-faq details[open] summary > span {
  transform: rotate(45deg);
}
.nla-faq [data-slot="accordion-content"] {
  padding-bottom: 24px;
}
.nla-home-intro > div:last-child .nla-home-source {
  font-size: 0.875rem;
}
.nla-home-foundations {
  background: #e8ede5;
}
.nla-home-foundations .nla-home-intro {
  border-top: 0;
}
.nla-home-foundations .nla-button {
  margin-top: 26px;
}
.nla-home-inquiry {
  border-left: 1px solid var(--nla-line);
  padding-left: 55px;
}
.nla-home-inquiry h3 {
  font-size: 1.375rem;
  margin-block: 28px 10px;
}
.nla-home-inquiry p:not(.nla-eyebrow) {
  color: var(--nla-muted);
}
@media (max-width: 760px) {
  .nla-home-inquiry {
    border-left: 0;
    border-top: 1px solid var(--nla-line);
    padding: 30px 0 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .nla-faq summary > span {
    transition: none;
  }
}
