/* Scoped layout refresh. Existing copy, form controls, consent and scripts stay intact. */
.layout-refresh main { overflow-wrap: break-word; }
.layout-refresh main :is(h1,h2,h3,p,li) { min-width: 0; }
.layout-refresh main > section { padding-block: var(--space-3); }
.layout-refresh .section-header { margin-bottom: var(--space-lg); }
.layout-refresh :is(.hero-ctas,.contact-row) { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; }
.layout-refresh .final-cta { min-height: 0; padding-block: var(--space-3); }
.layout-refresh .final-cta h2 { margin-bottom: var(--space-lg); }
.layout-refresh .final-cta .container > .btn { margin: 0; }
.layout-refresh .final-cta .container > p { margin: var(--space-lg) 0 0; }
.layout-refresh .final-cta .contact-row { margin-top: var(--space-md); gap: var(--space-lg); }
.layout-refresh .site-shell-nextsteps { gap: var(--space-lg); }
.layout-refresh .next-step__title,.layout-refresh .next-step__meta { display: block; }
.layout-refresh .next-step__meta { margin-top: var(--space-xs); }

/* Homepage: one clear entry, quiet services and compact credentials. */
.layout-home .hero--editorial { min-height: 0; padding-block: var(--space-3); }
.layout-home .hero--editorial .container { gap: var(--space-xl); align-items: center; }
.layout-home .hero h1 { font-size: var(--type-title); max-width: 20ch; }
.layout-home .hero h1 span { font-size: var(--type-note); line-height: var(--line-readable); margin-top: var(--space-md); }
.layout-home .hero-text { max-width: 58ch; }
.layout-home .hero-image-wrapper { max-width: 360px; }
.layout-home .home-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 var(--space-2); }
.layout-home .home-service-card { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-lg) 0; min-height: 0; border: 0; border-top: 1px solid var(--stone-200); border-radius: 0; background: transparent; box-shadow: none; transform: none; }
.layout-home .home-service-card::before,.layout-home .home-service-card > .icon { display: none; }
.layout-home .home-service-card:is(:hover,:focus-visible) { background: transparent; box-shadow: none; transform: none; border-color: var(--teal-700); }
.layout-home .home-service-card > :is(h3,h4),.layout-home .home-service-card > .icon + :is(h3,h4) { margin: 0; color: var(--teal-800); font-size: var(--type-card-title); }
.layout-home .home-service-card p { margin: 0; }
.layout-home .home-service-card .card-cta { align-self: flex-start; margin-top: auto; padding: var(--space-xs) 0; background: transparent; box-shadow: none; border: 0; border-radius: 0; font-weight: 500; text-decoration: underline; text-underline-offset: .2em; }
.layout-home .home-service-card:is(:hover,:focus-visible) .card-cta { background: transparent; box-shadow: none; transform: none; }
.layout-home .home-service-card .card-cta::after { display: none; }
.layout-home .home-video-section .container { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: var(--space-2); align-items: start; }
.layout-home .home-video-section .section-header { text-align: left; }
.layout-home .home-video-section h2 { font-style: normal; }
.layout-home .home-video-section .br-desktop { display: none; }
.layout-home .home-trust-band { padding-block: var(--space-2); }
.layout-home .home-trust-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-lg); }
.layout-home .home-trust-card { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: var(--space-2xs) var(--space-sm); align-content: start; padding: 0; min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.layout-home .home-trust-card:hover { background: transparent; box-shadow: none; transform: none; }
.layout-home .home-trust-card__icon { width: 24px; height: 24px; grid-row: 1/4; background: transparent; box-shadow: none; border-radius: 0; }
.layout-home .home-trust-card__eyebrow { font-weight: 400; letter-spacing: 0; text-transform: none; }
.layout-home .home-trust-card strong { font-size: var(--type-body); font-weight: 600; color: var(--teal-900); }
.layout-home .home-trust-card > span { font-size: var(--type-note); }
.layout-home .home-trust-press { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--stone-300); text-align: left; }
.layout-home .split-grid { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: var(--space-3); align-items: start; }
.layout-home .split-grid .lead,.layout-home .split-grid .intro-p { max-width: 56ch; }
.layout-home .home-editorial-card { padding: var(--space-lg); background: var(--teal-50); border: 0; border-left: 3px solid var(--teal-700); box-shadow: none; border-radius: 0 var(--radius-card) var(--radius-card) 0; min-height: 0; }
.layout-home .home-editorial-card .check-list { margin-top: var(--space-lg); }
.layout-home .home-newsletter__inner { gap: var(--space-2); align-items: start; }
.layout-home .newsletter-form__fields { gap: var(--space-md); }
.layout-home .newsletter-form { gap: var(--space-md); }

/* Compass: read down the page; axes share a clear grid. */
.layout-compass .compass-reading { width: min(100% - 3rem,920px); }
.layout-compass .compass-hero .compass-reading { max-width: 760px; }
.layout-compass .compass-topics ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-lg); }
.layout-compass .compass-topics li { padding-top: var(--space-md); }
.layout-compass .compass-topics h3 { font-size: var(--type-body); }
.layout-compass .compass-topics li p { font-size: var(--type-note); }
.layout-compass .compass-letter .compass-reading { display: grid; grid-template-columns: minmax(0,1fr) 150px; column-gap: var(--space-2); border: 0; padding-top: 0; }
.layout-compass .compass-letter .compass-reading > * { grid-column: 1; }
.layout-compass .compass-letter .compass-author { grid-column: 2; grid-row: 1/7; align-self: center; display: block; text-align: center; margin: 0; }
.layout-compass .compass-author img { width: 120px; height: 144px; object-fit: cover; object-position: top; border-radius: 70px 70px 12px 12px; margin: 0 auto var(--space-sm); }
.layout-compass .compass-letter .btn { justify-self: start; }
.layout-compass .compass-consultation .compass-reading { display: flex; justify-content: space-between; align-items: center; gap: var(--space-lg); }
.layout-compass .compass-consultation h2 { margin: 0; }

/* Booking: keep the real calendar and order flow, compact the offer. */
.layout-booking .booking-hero--compact { text-align: left; padding-block: var(--space-lg); }
.layout-booking .booking-hero .container { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-md); align-items: center; max-width: 920px; }
.layout-booking .booking-entry-links { grid-column: 1/-1; justify-content: flex-end; margin: 0; }
.layout-booking .booking-hero h1 { margin: 0; }
.layout-booking .booking-person { margin: 0; }
.layout-booking .booking-flow--compact { padding-top: 0; }
.layout-booking .booking-flow > .container { max-width: 920px; }
.layout-booking .booking-flow-card { box-shadow: none; }
.layout-booking .booking-letter-option { grid-template-columns: minmax(0,1fr) auto; column-gap: var(--space-lg); padding: var(--space-lg); margin-block: var(--space-lg); }
.layout-booking .booking-letter-option strong { grid-column: 1; grid-row: 2; font-size: var(--type-card-title); justify-content: flex-start; }
.layout-booking .booking-letter-option > .person-price { grid-column: 2; grid-row: 1/4; align-self: center; font-size: var(--type-card-title); }
.layout-booking .booking-details { padding-block: var(--space-2); }
.layout-booking .details-layout { display: block; }
.layout-booking .details-layout h2 { max-width: 30ch; font-size: var(--type-section); margin: 0; }
.layout-booking .price-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-lg); border: 0; margin: var(--space-lg) 0 var(--space-md); }
.layout-booking .price-row { display: block; border: 0; border-top: 1px solid rgba(255,255,255,.24); padding: var(--space-md) 0 0; }
.layout-booking .price-row span { display: block; text-align: left; margin-top: var(--space-xs); }
.layout-booking .price-row small { color: rgba(255,255,255,.85); }
.layout-booking .booking-faq { padding-block: var(--space-3); }

/* The complete event introduction shares a full-width gradient. */
.layout-speed .speed-intro-layout { position: relative; }
.layout-speed .speed-mobile-ticket { display: none; }
.layout-speed .speed-event-hero .info-chips { gap: var(--space-xs) var(--space-lg); align-items: baseline; }
.layout-speed .speed-event-hero .chip { display: block; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--teal-900); font-size: var(--type-body); font-weight: 400; }
.layout-speed .speed-event-hero .chip--price { font-weight: 600; }
.layout-speed .speed-language-switch { position: absolute; top: var(--space-xs); right: max(24px,calc((100% - 1180px)/2)); display: inline-flex; align-items: center; min-height: 44px; color: var(--teal-800); font-size: var(--type-note); text-decoration: underline; text-underline-offset: 3px; }
.layout-speed .speed-intro-layout { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: var(--space-2); padding: var(--space-3) max(24px,calc((100% - 1180px)/2)); background: linear-gradient(135deg,var(--warm-50),var(--teal-50) 60%,var(--warm-100)); }
.layout-speed .speed-intro-layout > section { padding: 0; margin: 0; background: transparent; min-height: 0; display: block; overflow: visible; }
.layout-speed .speed-intro-layout > section > .container { max-width: none; width: 100%; padding: 0; }
.layout-speed .speed-intro-layout .hero-inner { text-align: left; }
.layout-speed .speed-intro-layout .hero::before { display: none; }
.layout-speed .speed-intro-layout #tickets .speed-signup-layout { display: block; }
.layout-speed .speed-intro-layout .speed-signup-intro { margin-top: var(--space-2); padding-top: var(--space-lg); border-top: 1px solid var(--stone-300); }
.layout-speed .speed-intro-layout .speed-signup-intro h2 { font-size: var(--type-section); }
.layout-speed .signup-card { min-height: 0; height: auto; padding: var(--space-lg); box-shadow: none; }
.layout-speed .signup-form { gap: var(--space-md); }
.layout-speed .signup-card > p { margin-bottom: var(--space-md); }
.layout-speed .signup-card .event-total { margin: var(--space-xs) 0; }
.layout-speed .refresh-waitlist > .container { max-width: 980px; }
.layout-speed .refresh-waitlist .speed-signup-layout { display: block; }
.layout-speed .refresh-waitlist .speed-signup-intro { max-width: 68ch; margin-bottom: var(--space-lg); }
.layout-speed .refresh-waitlist .signup-card { padding: 0; background: transparent; border: 0; box-shadow: none; min-height: 0; }
.layout-speed .refresh-waitlist .signup-card h3 { margin-bottom: var(--space-lg); }
.layout-speed .waitlist-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-md) var(--space-lg); }
.layout-speed .waitlist-form > :nth-child(n+4) { grid-column: 1/-1; }
.layout-speed .waitlist-form .btn { width: auto; justify-self: start; }
.layout-speed .waitlist-form .signup-note { max-width: 80ch; margin: 0; }
.layout-speed #warteliste-berlin { padding-top: var(--space-lg); margin-top: var(--space-lg); border-top: 1px solid var(--stone-200); }
.layout-speed #warteliste-berlin .btn { width: auto; }
.layout-speed .final-cta .container { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-md) var(--space-2); align-items: center; text-align: left; }
.layout-speed .final-cta .container h2 { grid-column: 1; grid-row: 1/3; margin: 0; }
.layout-speed .final-cta .container > .btn { grid-column: 2; grid-row: 1; }
.layout-speed .final-cta .container > p { grid-column: 2; margin: 0; }
.layout-speed .final-cta .contact-row { grid-column: 1/-1; padding-top: var(--space-sm); margin-top: 0; }

@media(max-width:900px) {
  .layout-speed .speed-mobile-ticket { display: inline-flex; margin-top: var(--space-lg); }
  .layout-home .home-video-section .container,.layout-home .split-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .layout-home .home-trust-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .layout-compass .compass-topics ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-speed .speed-intro-layout { grid-template-columns: 1fr; gap: var(--space-2); }
}
@media(max-width:600px) {
  .layout-refresh main > section,.layout-refresh .final-cta { padding-block: var(--space-2); }
  .layout-home .hero--editorial { padding-block: var(--space-lg); }
  .layout-home .home-service-grid { grid-template-columns: 1fr; }
  .layout-home .home-trust-band { padding-block: var(--space-lg); }
  .layout-home .home-trust-card { padding: 0; }
  .layout-compass .compass-topics ul { grid-template-columns: 1fr; }
  .layout-compass .compass-letter .compass-reading { display: block; }
  .layout-compass .compass-letter .compass-author { display: flex; gap: var(--space-sm); text-align: left; margin-top: var(--space-lg); }
  .layout-compass .compass-author img { width: 64px; height: 80px; margin: 0; }
  .layout-compass .compass-consultation .compass-reading { display: block; }
  .layout-compass .compass-consultation .btn { margin-top: var(--space-lg); }
  .layout-booking .booking-hero .container { grid-template-columns: minmax(0,1fr) 80px; }
  .layout-booking .booking-person { flex-direction: column; gap: var(--space-2xs); text-align: center; }
  .layout-booking .booking-entry-links { justify-content: space-between; flex-wrap: wrap; }
  .layout-booking .booking-hero h1 { font-size: var(--type-section); }
  .layout-booking .booking-letter-option { padding: var(--space-md); gap: var(--space-xs) var(--space-sm); }
  .layout-booking .booking-letter-option strong { font-size: var(--type-body); }
  .layout-booking .price-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-speed .speed-intro-layout { padding: var(--space-2) var(--space-lg); }
  .layout-speed .waitlist-form { grid-template-columns: 1fr; }
  .layout-speed .waitlist-form > * { grid-column: 1; }
  .layout-speed .signup-card { padding: var(--space-lg); }
  .layout-speed .final-cta .container { grid-template-columns: 1fr; gap: var(--space-lg); }
  .layout-speed .final-cta .container > * { grid-column: 1; grid-row: auto; }
  .layout-speed .final-cta .contact-row { padding-top: 0; }
}
.layout-home .home-editorial-card .check-list li { padding: 0; background: transparent; box-shadow: none; border: 0; border-radius: 0; }
.layout-home .split-grid .btn-secondary { padding-inline: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.layout-speed .refresh-waitlist .speed-signup-intro h2 { font-size: var(--type-section); margin-bottom: var(--space-md); }
.layout-speed .refresh-waitlist .speed-signup-intro p { max-width: 72ch; }
.layout-speed .refresh-waitlist .signup-card { display: block; width: 100%; max-width: none; }
.layout-speed .refresh-waitlist .checkbox-row { padding: var(--space-sm); }
.layout-speed .refresh-waitlist .signup-error:empty { display: none; }
.layout-speed .process-timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-lg); padding: 0; margin-top: var(--space-lg); }
.layout-speed .process-timeline::before { display: none; }
.layout-speed .process-step { display: block; margin: 0; padding: 0; }
.layout-speed .process-step .step-number { position: static; margin-bottom: var(--space-md); }
@media(max-width:600px) {
  .layout-speed .process-timeline { grid-template-columns: 1fr; }
  .layout-speed .process-step { padding-bottom: var(--space-md); }
}

/* Homepage dark offers and closing invitation. */
.layout-home .home-sofort :is(.section-label,.section-header p,.dark-card h3,.dark-card p) { color: #fff; }
.layout-home .final-cta > .container { display: flex; flex-direction: column; align-items: center; gap: var(--space-lg); max-width: 920px; }
.layout-home .final-cta > .container > :is(h2,p,.btn,.contact-row) { margin: 0; }
.layout-home .final-cta > .container > p { color: #fff; max-width: 60ch; }
.layout-home .final-cta > .container > .btn { padding: var(--space-sm) var(--space-lg); font-size: var(--type-body); box-shadow: none; }
.layout-home .final-cta .contact-row { width: auto; justify-content: center; gap: var(--space-md) var(--space-lg); padding-top: var(--space-lg); border-top: 1px solid rgba(255,255,255,.2); }
.layout-home .final-cta .contact-row a { color: #fff; font-size: var(--type-body); }

/* Explicitly reset the desktop event grid when the actions stack. */
@media(max-width:600px) {
  .layout-speed .final-cta .container > :is(h2,.btn,.contact-row) { grid-column: 1/-1; grid-row: auto; }
}
