/* Page-specific compositions. Loaded only on the eight overview pages. */
.light-intro { background: var(--paper); color: var(--ink); }
.light-intro .breadcrumb, .light-intro .breadcrumb span, .stays-intro .breadcrumb, .stays-intro .breadcrumb span { color: var(--muted); }
.light-intro .eyebrow, .stays-intro .eyebrow { color: var(--gold-dark); }
.light-intro h1, .stays-intro h1, .broker-title h1 { font-size: clamp(2.5rem, 4.8vw, 4.6rem); line-height: 1.12; letter-spacing: -.055em; text-wrap: pretty; }
.light-intro h1 span, .stays-intro h1 span { color: var(--gold-dark); }
.service-page h3 { font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.3; letter-spacing: -.035em; }
.service-page .service-points { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 9px; }
.service-points li { position: relative; padding-left: 20px; font-size: .85rem; color: var(--muted); }
.service-points li::before { content: ''; position: absolute; left: 0; top: .7em; width: 6px; height: 1px; background: var(--gold-dark); }
.service-page #leistungen, .service-page #tarifpruefung, .service-accordion details, .collection-page #unterkunftsangebote, .collection-page #was-sie-erwartet { scroll-margin-top: 140px; }

/* Management: architectural panorama and a useful chapter index. */
.management-hero.subhero { padding-bottom: 0; }
.management-intro { display: grid; grid-template-columns: 1.45fr 1fr; gap: 70px; align-items: end; margin-bottom: 46px; }
.management-intro h1 { font-size: clamp(2.65rem, 4.5vw, 4.25rem); }
.management-intro .subhero-intro { margin: 0 0 24px; font-size: .98rem; }
.management-panorama { height: 330px; position: relative; overflow: hidden; }
.management-panorama img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.management-panorama p { position: absolute; bottom: 24px; left: 24px; padding: 22px 28px; background: var(--paper); color: var(--ink); font-size: 1.35rem; line-height: 1.4; letter-spacing: -.025em; }
.management-panorama p span { color: var(--gold-dark); }
.service-chapters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-chapters a { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px 16px; padding: 24px 20px; border-right: 1px solid #ffffff20; font-size: .8rem; transition: background .2s; }
.service-chapters a:first-child { padding-left: 0; }
.service-chapters a:last-child { border: 0; }
.service-chapters a span { grid-column: 1 / -1; color: var(--gold); font-size: .7rem; }
.service-chapters .icon { width: 16px; }
.service-chapters a:hover { background: #ffffff08; }
.management-overview-heading { display: grid; grid-template-columns: var(--service-copy-columns); gap: var(--service-copy-gap); align-items: start; margin-bottom: 48px; }
.management-overview-heading > div > h2 { margin-top: 20px; }
.management-overview-heading .certification { margin: 0; }

/* Brokerage: the property sets the scene, followed by an open sales journey. */
.broker-hero { position: relative; isolation: isolate; background: var(--night); color: var(--paper); }
.broker-backdrop { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: center 60%; z-index: -2; }
.broker-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #191919df 0%, #191919a8 40%, #19191933 78%); }
.broker-hero-inner { min-height: 650px; padding-top: 36px; padding-bottom: 48px; display: grid; grid-template-columns: 1fr 370px; gap: 30px 65px; align-items: end; }
.broker-hero .breadcrumb { grid-column: 1 / -1; align-self: start; color: #fff; margin-bottom: 0; }
.broker-hero .breadcrumb span { color: #e6e6e6; }
.broker-title { padding-bottom: 26px; }
.broker-title .eyebrow { color: var(--gold-light); margin-bottom: 26px; }
.broker-title h1 { font-size: clamp(2.75rem, 5.1vw, 4.9rem); }
.broker-title h1 span { color: var(--gold-light); }
.broker-note { background: var(--paper); color: var(--ink); padding: 32px; border-top: 3px solid var(--gold); }
.broker-note p { color: var(--muted); line-height: 1.85; font-size: .94rem; }
.broker-note .button { margin-top: 24px; width: 100%; }
.broker-note .text-link { margin-top: 14px; font-size: .8rem; }
.editorial-columns { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: start; }
.editorial-heading { position: sticky; top: 150px; }
.editorial-heading h2 { margin: 22px 0; }
.editorial-heading > p:not(.eyebrow) { color: var(--muted); margin-bottom: 20px; }
.sale-steps { list-style: none; padding: 0; margin: 0; }
.sale-steps > li { display: grid; grid-template-columns: 60px 1fr; gap: 24px; border-top: 1px solid var(--line); padding: 34px 0; }
.sale-steps > li:first-child { border-color: var(--gold); }
.step-number { font-size: 2.35rem; line-height: 1; font-weight: 300; color: var(--gold-dark); letter-spacing: -.04em; }
.sale-steps p, .energy-explained article p { margin-top: 16px; color: var(--muted); line-height: 1.85; font-size: .95rem; }

/* Finance: shared dark service opening and open consultation details. */
.finance-hero h1 { font-size: clamp(2.65rem, 4.5vw, 4.25rem); }
.finance-hero .subhero-intro { max-width: 43ch; font-size: .98rem; }
.finance-hero-visual { margin: 0; min-width: 0; }
.finance-hero-visual .subhero-image { height: 420px; min-height: 0; }
.finance-hero-visual img { object-position: center; }
.finance-hero-visual figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; padding-top: 18px; margin-top: 18px; border-top: 1px solid #ffffff25; font-size: .8rem; color: var(--gold-light); }
.finance-hero-visual figcaption span:last-child { color: #bbbbbb; }
.finance-hero :focus-visible { outline-color: var(--gold-light); }
.finance-advice .eyebrow { color: var(--gold-dark); }
.finance-advice .sale-steps > li:last-child { border-bottom: 1px solid var(--line); }
.topic-index { font-size: .75rem; color: var(--gold-dark); font-weight: 600; letter-spacing: .05em; }

/* Energy: compact introduction, immediately followed by the existing form. */
.energy-intro.subhero { padding-bottom: 0; }
.energy-intro-grid { display: grid; grid-template-columns: 1.6fr 1fr; align-items: center; gap: 90px; }
.energy-intro h1 { font-size: clamp(2.5rem, 4.4vw, 4rem); max-width: 760px; }
.energy-intro .subhero-intro { max-width: 61ch; font-size: .98rem; }
.energy-landscape { margin: 0; }
.energy-landscape img { width: 100%; height: 300px; object-fit: cover; }
.energy-landscape figcaption { border-top: 1px solid #ffffff25; margin-top: 16px; padding-top: 16px; font-size: .8rem; color: var(--gold-light); }
.energy-intro-foot { display: flex; flex-wrap: wrap; gap: 12px 45px; border-top: 1px solid #ffffff22; margin-top: 42px; padding: 22px 0; font-size: .8rem; color: #c8c8c8; }
.energy-intro-foot span { display: flex; align-items: center; gap: 12px; }
.energy-intro-foot span::before { content: ''; width: 5px; height: 5px; background: var(--gold); }
.energy-explained-heading { display: grid; grid-template-columns: var(--service-copy-columns); gap: var(--service-copy-gap); align-items: start; margin-bottom: 40px; }
.energy-explained-heading .eyebrow { color: var(--gold-dark); }
.energy-explained-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin-bottom: 30px; }
.energy-explained-grid article { border-top: 1px solid var(--line); padding-top: 22px; }
.energy-explained h3 { margin-top: 20px; }

/* About: an actual person and a conversational, portrait-led composition. */
.about-intro { padding: 36px 0 75px; }
.about-profile { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.about-profile-image { margin: 0; }
.about-profile-image img { width: 100%; height: 520px; object-fit: cover; object-position: 50% 20%; }
.about-profile-image figcaption { margin-top: 18px; font-size: .9rem; font-weight: 600; }
.about-profile-image figcaption span { display: block; margin-top: 5px; font-size: .75rem; font-weight: 400; color: var(--muted); }
.about-profile-copy h1 { font-size: clamp(2.5rem, 4.3vw, 4.1rem); margin: 22px 0 28px; }
.about-profile-copy > p:not(.eyebrow) { color: var(--muted); max-width: 54ch; line-height: 1.85; margin-bottom: 18px; }
.about-profile-copy > .about-lead { font-size: 1.25rem; color: var(--ink)!important; letter-spacing: -.025em; }
.about-profile-copy .text-link { margin-top: 4px; }
.about-principles { background: var(--soft); }
.about-principles-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; margin-bottom: 48px; }
.about-principles-heading .eyebrow { color: var(--gold-dark); align-self: start; }
.about-principles-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.about-principles-grid article { border-top: 1px solid #cacaca; padding-top: 24px; }
.about-principles-grid article > span { font-size: .7rem; color: var(--gold-dark); letter-spacing: .08em; }
.about-principles-grid h3 { font-size: 1.75rem; margin: 20px 0; }
.about-principles-grid p { color: var(--muted); line-height: 1.85; max-width: 56ch; }
.about-principles-grid .text-link { margin-top: 20px; }
.about-stays-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.about-stays h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); margin: 22px 0; }
.about-stays p:not(.eyebrow) { color: var(--muted); line-height: 1.85; margin-bottom: 24px; }
.about-stays img { width: 100%; height: 430px; object-fit: cover; }

/* Contact: direct contact and inquiry composer share one compact destination. */
.contact-page { padding: 36px 0 85px; }
.contact-desk { display: grid; grid-template-columns: 1.15fr 1fr; gap: 100px; align-items: start; }
.contact-welcome h1 { font-size: clamp(2.5rem, 4.3vw, 4.1rem); margin: 22px 0; }
.contact-welcome-intro { max-width: 45ch; color: var(--muted); line-height: 1.85; }
.contact-desk .contact-compose { padding: 38px; border-top: 3px solid var(--gold); }
.contact-desk .contact-compose h2 { margin-top: 15px; font-size: 2.3rem; }
.contact-person { display: flex; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 25px; margin-bottom: 30px; }
.contact-person img { width: 65px; height: 80px; object-fit: cover; object-position: 50% 20%; }
.contact-person p { font-size: .75rem; color: var(--muted); }
.contact-person strong { display: block; font-size: 1rem; color: var(--ink); font-weight: 600; margin: 3px 0; }
.contact-person span { font-size: .7rem; }
.contact-desk .contact-compose .button { width: 100%; }

/* Accommodation: a welcoming photographic opening; offers come before benefits. */
.stays-intro { padding: 36px 0 40px; background: var(--night); color: var(--paper); }
.stays-intro .breadcrumb, .stays-intro .breadcrumb span { color: #c6c6c6; }
.stays-intro .eyebrow, .stays-intro h1 span { color: var(--gold-light); }
.stays-intro :focus-visible { outline-color: var(--gold-light); }
.stays-title-row { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 36px; }
.stays-title-row h1 { margin-top: 20px; }
.stays-title-row .button { flex: none; margin-bottom: 8px; }
.stays-panorama { height: 400px; position: relative; }
.stays-panorama > img { width: 100%; height: 100%; object-fit: cover; object-position: center 53%; }
.stays-welcome { position: absolute; right: 28px; bottom: 28px; background: var(--dark); padding: 28px; max-width: 410px; border: 1px solid #555555; }
.stays-welcome > p:not(.eyebrow) { font-size: .9rem; color: #d2d2d2; margin: 14px 0 8px; line-height: 1.8; }
.stays-welcome .text-link { font-size: .8rem; color: var(--gold-light); }
.collection-page--stay > #unterkunftsangebote { padding-top: 60px; }

/* Benefits and inquiry form share one calm, anthracite closing chapter. */
.collection-page--stay .stay-highlights-full { background: var(--night); color: var(--paper); padding-bottom: clamp(48px, 6vw, 88px); }
.collection-page--stay .stay-highlights-layout { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.collection-page--stay .stay-highlights-heading { text-align: left; }
.collection-page--stay .stay-highlights-heading .eyebrow { justify-content: flex-start; color: var(--gold-light); }
.collection-page--stay .stay-highlights-full h2 { font-size: clamp(2.25rem, 3.7vw, 3.5rem); line-height: 1.15; max-width: 12ch; text-wrap: pretty; }
.collection-page--stay .stay-highlights-full .stay-highlights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 36px; }
.collection-page--stay .stay-highlights-full .stay-highlight { text-align: left; align-items: flex-start; border-top: 1px solid #555555; padding-top: 24px; }
.collection-page--stay .stay-highlights-full .stay-highlight > .icon { width: 30px; height: 30px; margin-bottom: 20px; color: var(--gold-light); }
.collection-page--stay .stay-highlights-full .stay-highlight h3 { min-height: 0; max-width: none; font-size: 1.25rem; line-height: 1.4; margin-bottom: 14px; }
.collection-page--stay .stay-highlights-full .stay-highlight p { max-width: 40ch; color: #c6c6c6; line-height: 1.85; }
.collection-page--stay > .inquiry-section { background: var(--night); color: var(--paper); padding-top: 0; }
.collection-page--stay .inquiry-section-grid { border-top: 1px solid #555555; padding-top: clamp(48px, 6vw, 88px); grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 6vw, 88px); }
.collection-page--stay .inquiry-section-intro { padding-top: 0; }
.collection-page--stay .inquiry-section-intro .eyebrow { color: var(--gold-light); }
.collection-page--stay .inquiry-section-intro h2 { max-width: 12ch; font-size: clamp(2.25rem, 3.7vw, 3.5rem); line-height: 1.15; }
.collection-page--stay .inquiry-section-intro > p:not(.eyebrow) { color: #c6c6c6; max-width: 35ch; }
.collection-page--stay .inquiry-section-intro .text-link { color: var(--gold-light); padding-block: 16px; border-bottom: 1px solid #777777; font-size: 1.125rem; gap: 16px; }
.collection-page--stay .inquiry-section-intro :focus-visible { outline-color: var(--gold-light); }
.collection-page--stay .inquiry-section-panel { background: var(--dark); color: var(--paper); border: 1px solid #555555; padding: clamp(24px, 3.4vw, 48px); color-scheme: dark; }
.collection-page--stay .inquiry-form { gap: 26px 20px; }
.collection-page--stay .inquiry-field label { font-size: .875rem; color: var(--paper); }
.collection-page--stay .inquiry-field label > span[aria-hidden] { color: var(--gold-light); }
.collection-page--stay .inquiry-optional,
.collection-page--stay .inquiry-privacy,
.collection-page--stay .inquiry-status:not(.action-notice) { color: #c6c6c6; }
.collection-page--stay .inquiry-privacy a,
.collection-page--stay .inquiry-unavailable a { color: var(--gold-light); }
.collection-page--stay .inquiry-field :is(input, select, textarea) { font-size: 1rem; min-height: 48px; border-radius: 2px; background: var(--night); color: var(--paper); border-color: #888888; }
.collection-page--stay .inquiry-field :is(input, textarea)::placeholder { color: #bcbcbc; opacity: 1; }
.collection-page--stay .inquiry-field input[readonly] { background: #303030; color: #d2d2d2; }
.collection-page--stay .inquiry-section-panel :focus-visible { outline-color: var(--gold-light); }
.collection-page--stay .inquiry-field :is(input, select, textarea):focus-visible { border-color: var(--gold-light); }
.collection-page--stay .field-error { color: #ffb7ac; }
.collection-page--stay .inquiry-field [aria-invalid=true] { border-color: #ffb7ac!important; }
.collection-page--stay .inquiry-field textarea { min-height: 160px; }
.collection-page--stay .inquiry-unavailable { padding-bottom: 22px; border-bottom: 1px solid #555555; }
@media (min-width: 1100px) {
  .management-panorama img { object-position: center 55%; }
}
@media (max-width: 1099px) {
  .collection-page--stay .stay-highlights-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .collection-page--stay .stay-highlights-full h2 { max-width: 22ch; }
  .collection-page--stay .inquiry-section-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; }
}
@media (max-width: 759px) {
  .collection-page--stay .stay-highlights-full .stay-highlights-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .collection-page--stay .stay-highlights-full .stay-highlight { padding-top: 20px; }
  .collection-page--stay .stay-highlights-full .stay-highlight > .icon { margin-bottom: 16px; }
  .collection-page--stay .inquiry-section-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .collection-page--stay .inquiry-section-intro h2 { max-width: 18ch; }
  .collection-page--stay .inquiry-section-panel { padding: 28px 22px; }
}
.property-intro { padding: 36px 0 45px; border-bottom: 1px solid var(--line); }
.property-intro-row { display: grid; grid-template-columns: 1.3fr 1fr; align-items: end; gap: 60px; }
.property-intro h1 { margin-top: 20px; }
.property-intro-row > div:last-child { color: var(--muted); }
.property-intro .text-link { margin-top: 20px; color: var(--ink); }
.collection-page--property > #unterkunftsangebote { padding-top: 48px; }

@media (max-width: 1099px) {
  .management-intro, .editorial-columns, .energy-intro-grid, .about-profile, .about-stays-grid, .contact-desk { gap: 40px; }
  .finance-hero-visual .subhero-image { height: 360px; }
  .about-principles-heading, .about-principles-grid { gap: 40px; }
  .broker-hero-inner { grid-template-columns: 1fr 330px; gap: 30px; }
  .broker-note { padding: 26px; }
  .service-chapters a { padding-inline: 12px; }
  .energy-explained-grid { gap: 28px; }
  .contact-desk .contact-compose { padding: 28px; }
}
@media (max-width: 759px) {
  .light-intro h1, .stays-intro h1, .broker-title h1, .management-intro h1, .energy-intro h1, .finance-hero h1 { font-size: clamp(2.25rem, 8.7vw, 3.3rem); }
  .management-intro, .management-overview-heading, .editorial-columns, .energy-intro-grid, .about-profile, .about-stays-grid, .contact-desk, .property-intro-row { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .management-intro { margin-bottom: 32px; }
  .management-panorama { height: 260px; }
  .management-panorama p { bottom: 16px; left: 16px; right: 16px; padding: 18px; font-size: 1.1rem; }
  .service-chapters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-chapters a { padding: 18px 12px; font-size: .75rem; border-bottom: 1px solid #ffffff20; }
  .service-chapters a:first-child { padding-left: 12px; }
  .service-chapters a:nth-child(2n) { border-right: 0; }
  .service-chapters a:nth-child(n+3) { border-bottom: 0; }
  .management-overview-heading { margin-bottom: 32px; }
  .broker-hero-inner { grid-template-columns: minmax(0, 1fr); padding-block: 28px; gap: 28px; }
  .broker-title { padding: 0; }
  .broker-backdrop { height: 430px; object-position: 65% center; }
  .broker-hero::before { background: linear-gradient(180deg, #19191980, #191919b0 330px, var(--night) 450px); }
  .broker-title .eyebrow { margin-bottom: 18px; font-size: .65rem; }
  .broker-note { margin-top: 16px; }
  .editorial-heading { position: static; }
  .sale-steps > li { grid-template-columns: 36px 1fr; gap: 16px; padding: 28px 0; }
  .step-number { font-size: 1.8rem; }
  .finance-hero.subhero { padding-bottom: 36px; }
  .finance-hero-visual .subhero-image { height: auto; aspect-ratio: 3 / 2; }
  .finance-hero-visual figcaption { padding-top: 14px; margin-top: 14px; font-size: .75rem; }
  .energy-landscape img { height: 190px; }
  .energy-landscape figcaption { margin-top: 12px; padding-top: 12px; }
  .energy-intro-foot { gap: 10px 22px; margin-top: 28px; font-size: .75rem; }
  .energy-explained-heading, .about-principles-heading { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .energy-explained-grid, .about-principles-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .energy-explained h3 { margin-top: 12px; }
  .about-intro { padding-bottom: 50px; }
  .about-profile-copy { grid-row: 1; }
  .about-profile-copy h1 { margin-top: 20px; }
  .about-profile-image img { height: auto; max-height: 520px; aspect-ratio: 1; }
  .about-principles-heading { margin-bottom: 32px; }
  .about-stays img { height: 280px; }
  .contact-page { padding-bottom: 55px; }
  .contact-desk { gap: 28px; }
  .contact-desk .contact-compose { padding: 26px 22px; }
  .contact-person { gap: 12px; }
  .contact-person img { width: 55px; height: 70px; }
  .stays-title-row { align-items: start; flex-direction: column; gap: 24px; }
  .stays-panorama { height: auto; }
  .stays-panorama > img { height: 250px; }
  .stays-welcome { position: relative; inset: auto; margin: -32px 14px 0; padding: 24px; max-width: none; }
  .collection-page--stay > #unterkunftsangebote { padding-top: 44px; }
  .property-intro { padding-bottom: 36px; }
}
@media (max-width: 459px) {
  .finance-advice .sale-steps > li { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .finance-advice .step-number { font-size: 1.5rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .broker-title, .about-profile-copy h1, .contact-welcome h1, .stays-title-row h1 { animation: enter-up .8s var(--ease) both; }
}

/* Vollständige Leistungsbeschreibungen innerhalb der bestehenden Seiten. */
.service-overview { max-width: 76ch; margin-bottom: clamp(36px, 5vw, 64px); }
.service-overview p, .service-copy p, .service-closing p { line-height: 1.85; margin-top: 18px; color: var(--muted); }
.service-overview .service-lead { color: var(--ink); font-size: 1.2rem; font-weight: 500; }
.service-copy h4 { margin-top: 32px; font-size: 1rem; font-weight: 600; line-height: 1.5; }
.sale-steps > li > div { min-width: 0; }
.service-copy, .sale-steps h3 { overflow-wrap: anywhere; }
.service-page :is(h1, h2, h3, h4, p) { overflow-wrap: anywhere; }
.service-page :is(h1, h2, h3, h4) { hyphens: auto; }
.service-page .service-copy .service-points { margin-top: 16px; }
.service-page .service-copy li { line-height: 1.75; }
.service-copy .service-note { padding-top: 16px; border-top: 1px solid var(--line); }
.management-grid { align-items: start; }
.management-aside { position: sticky; top: 140px; }
.service-supplementary { padding-top: 0; }
.service-supplementary article, .service-closing { max-width: 76ch; }
.service-supplementary article + article { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--line); }
.service-supplementary h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.service-chapters a { border-bottom: 1px solid #ffffff20; }
.service-chapters a { grid-template-columns: minmax(0, 1fr) auto; overflow-wrap: anywhere; hyphens: auto; }
.finance-hero .breadcrumb, .finance-hero .eyebrow { overflow-wrap: anywhere; }
.finance-hero .eyebrow { display: block; }
.finance-hero .eyebrow .label-line { display: inline-block; margin-right: 10px; vertical-align: middle; }
.service-chapters a:nth-child(3n) { border-right: 0; }
.service-chapters a:nth-child(n+4) { border-bottom: 0; }
#verwaltung-1 { scroll-margin-top: 140px; }
@media (max-width: 759px) {
  .management-aside { position: static; }
  .service-chapters a:nth-child(3n) { border-right: 1px solid #ffffff20; }
  .service-chapters a:nth-child(2n) { border-right: 0; }
  .service-chapters a:nth-child(n+3) { border-bottom: 1px solid #ffffff20; }
  .service-chapters a:nth-child(n+5) { border-bottom: 0; }
}

/* Leistungen: klare Einstiegsebene, thematische Icons und lesbare Detailgruppen. */
.service-page { --service-copy-columns: minmax(0, .9fr) minmax(0, 1.4fr); --service-copy-gap: clamp(28px, 5vw, 72px); }
.service-overview { max-width: none; display: grid; grid-template-columns: var(--service-copy-columns); gap: 24px var(--service-copy-gap); align-items: start; padding-block: 8px 48px; border-bottom: 1px solid var(--line); }
.service-overview-statement { min-width: 0; }
.service-overview > .service-overview-icon { grid-column: 1 / -1; width: 40px; height: 40px; color: var(--gold-dark); }
.service-overview .service-lead { font-size: clamp(1.55rem, 2.4vw, 2.2rem); line-height: 1.4; letter-spacing: -.035em; max-width: 24ch; margin: 0; }
.service-overview-copy { min-width: 0; max-width: 66ch; }
.service-overview-copy > p:first-child { margin-top: 0; font-weight: 600; color: var(--ink); }
.service-page .service-copy .service-points { gap: 0 28px; }
.service-page .service-copy .service-points li { display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 10px; align-items: start; padding: 11px 0; font-size: .9rem; line-height: 1.65; }
.service-page .service-copy .service-points li::before { content: none; }
.service-page .point-check { width: 16px; height: 16px; margin-top: .25em; color: var(--gold-dark); }
.service-group { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line); }
.service-group-heading { display: flex; align-items: center; gap: 14px; }
.service-group-heading > .icon { width: 26px; height: 26px; flex: none; color: var(--gold-dark); }
.service-group-heading h4 { margin: 0; font-size: 1.05rem; }
.service-summary-copy { min-width: 0; flex: 1; display: grid; gap: 8px; }
.service-summary-caption { color: var(--muted); font-size: .8125rem; font-weight: 400; letter-spacing: 0; line-height: 1.65; }
.service-stack details { --service-panel-inset: clamp(16px, 2vw, 28px); padding-inline: var(--service-panel-inset); transition: background 220ms ease; }
.service-stack details[open] { background: var(--soft); }
.service-stack summary { gap: 18px; align-items: center; margin-inline: calc(-1 * var(--service-panel-inset)); padding-inline: var(--service-panel-inset); }
.service-page .service-stack .service-feature-icon { background: transparent; border: 0; width: 40px; height: 40px; }
.service-page .service-stack .service-feature-icon > .icon { width: 30px; height: 30px; }
.service-stack .detail-content { padding: 0 0 28px 0; }
.service-stack .service-copy > p:first-child { max-width: 65ch; }
.service-stack .detail-content > .text-link { margin-top: 24px; }
.service-stack--numbered { list-style: none; margin: 0; padding: 0; }
.service-stack--numbered > li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 24px; }
.service-stack--numbered .step-number { padding-top: 28px; font-size: 1.7rem; }
.service-stack--numbered details:last-child { border-bottom: 0; }
.service-stack--numbered > li:last-child > details { border-bottom: 1px solid var(--line); }
.service-page .service-feature { min-width: 0; }
.finance-topics .service-feature summary { padding-block: 24px; gap: 20px; align-items: flex-start; }
.service-feature-icon { width: 36px; height: 36px; color: var(--gold-dark); flex: none; display: flex; align-items: center; justify-content: center; }
.service-feature-icon > .icon { width: 30px; height: 30px; }
.finance-topics .service-feature .plus { margin-top: 8px; }
.finance-topics .service-feature .detail-content { padding: 0 0 28px; }
.service-page .service-feature .service-copy > p:first-child { margin-top: 0; }
.finance-advice .editorial-columns { grid-template-columns: minmax(0, 1fr); gap: 40px; }
.finance-advice .editorial-heading { position: static; max-width: 65ch; }
.finance-topics.sale-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.finance-topics.sale-steps > li { display: block; padding: 0; border: 0; }
.finance-topics .service-feature { border: 1px solid var(--line); padding-inline: 28px; background: transparent; transition: background 220ms ease; }
.finance-topics .service-feature[open] { background: var(--soft); border-color: var(--gold-dark); }
.finance-topics.service-accordion details:last-child { border-bottom: 1px solid var(--line); }
.finance-topics .service-feature h3 { font-size: 1.3rem; }
.energy-explained-grid { gap: 24px; }
.energy-explained-grid article { background: var(--soft); border: 0; padding: clamp(24px, 3vw, 40px); }
.energy-topic-heading { display: flex; align-items: center; justify-content: space-between; }
.energy-topic-heading > .icon { width: 36px; height: 36px; color: var(--gold-dark); }
.energy-explained-grid h3 { margin-top: 26px; }
.service-supplementary article { max-width: none; display: grid; grid-template-columns: var(--service-copy-columns); gap: var(--service-copy-gap); padding-top: 40px; border-top: 1px solid var(--line); }
.service-supplementary article h2 { max-width: 24ch; line-height: 1.35; }
.service-supplementary article .service-copy { min-width: 0; max-width: 66ch; }
.service-supplementary article .service-copy > p:first-child { margin-top: 0; }
.service-closing { max-width: none; padding: clamp(28px, 4vw, 56px); background: var(--soft); }
.service-closing > p { max-width: 70ch; }
.service-closing > p:first-child { font-size: clamp(1.4rem, 2.3vw, 2rem); color: var(--ink); margin-top: 0; }
@media (min-width: 1100px) {
  .management-overview .management-grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; }
  .management-overview .management-aside { padding: 28px; }
  .management-overview .aside-statement { font-size: 1.9rem; }
  .management-overview .service-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .broker-process .editorial-columns { grid-template-columns: .75fr 1.25fr; gap: 64px; }
}
@media (max-width: 1099px) {
  .management-overview .management-grid { grid-template-columns: minmax(0, 1fr); }
  .management-overview .management-aside { position: static; min-height: 0; }
  .management-overview .service-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 759px) {
  .service-page { --service-copy-columns: minmax(0, 1fr); }
  .service-overview, .service-supplementary article { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .service-stack--numbered > li { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; }
  .service-stack--numbered .step-number { font-size: 1.3rem; }
  .service-overview { padding-bottom: 32px; }
  .service-overview .service-lead { max-width: none; }
  .service-supplementary article h2 { max-width: none; }
  .management-overview .service-points { grid-template-columns: minmax(0, 1fr); }
  .service-stack summary { gap: 12px; }
  .service-page .service-stack .service-feature-icon { width: 28px; height: 32px; }
  .service-page .service-stack .service-feature-icon > .icon { width: 26px; height: 26px; }
  .service-summary-caption { font-size: .8125rem; }
  .finance-topics .service-feature summary { gap: 12px; }
  .service-feature-icon { width: 28px; }
  .service-feature-icon > .icon { width: 26px; height: 26px; }
  .finance-topics.sale-steps { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .finance-topics .service-feature { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-stack details, .finance-topics .service-feature { transition: none; }
}
@media (forced-colors: active) {
  .service-page .point-check, .service-feature-icon, .service-group-heading > .icon, .energy-topic-heading > .icon, .service-overview-statement > .icon { color: CanvasText; }
  .finance-topics .service-feature, .finance-topics .service-feature[open] { border-color: CanvasText; }
}

/* Kleine dunkle Akzente; ausführliche Inhalte bleiben auf hellen Leseflächen. */
.service-page { --service-accent-surface: var(--dark); --service-on-accent: var(--paper); --service-on-accent-muted: #d2d2d2; }
.service-page :is(.management-overview, .broker-process, .finance-advice, .energy-explained) { padding-block: clamp(56px, 6vw, 88px); }
.service-overview { padding-bottom: 32px; margin-bottom: 40px; }
.finance-topics .service-feature { --service-panel-inset: 28px; }
.finance-topics .service-feature summary { margin-inline: calc(-1 * var(--service-panel-inset)); padding-inline: var(--service-panel-inset); }
.service-page :is(.service-stack, .finance-topics) summary { position: relative; border-radius: 14px; transition: box-shadow 360ms cubic-bezier(.22,1,.36,1); }

.service-page .service-feature { border-radius: 14px; }
.service-page .service-feature > .detail-content { padding-top: clamp(24px, 2.5vw, 32px); }
.service-page .service-feature[open]:not([data-expanding="false"]) > summary { box-shadow: 0 2px 4px #1717170a, 0 10px 18px -8px #17171733, 0 22px 34px -20px #17171740; }
.service-page .service-feature[open]:not([data-expanding="false"]) > summary:not(.has-service-surface) { background: var(--service-accent-surface); color: var(--service-on-accent); }
.service-page .service-feature[open]:not([data-expanding="false"]) > summary:not(.has-service-surface) .service-summary-caption { color: var(--service-on-accent-muted); }
.service-page .service-feature[open]:not([data-expanding="false"]) > summary:not(.has-service-surface) :is(.service-icon, .service-feature-icon, .plus) { color: var(--gold-light); }
.service-summary-surface { position: absolute; inset: 0; z-index: 1; display: flex; align-items: inherit; gap: inherit; padding: inherit; border-radius: inherit; pointer-events: none; user-select: none; background: var(--service-accent-surface); color: var(--service-on-accent); box-shadow: inset 0 1px 0 #ffffff24, inset 0 -1px 0 #00000026; clip-path: inset(12% 100% 12% 0 round 48px); transition: clip-path 300ms cubic-bezier(.22,1,.36,1); }
.service-summary-surface .service-summary-caption { color: var(--service-on-accent-muted); }
.service-summary-surface :is(.service-icon, .service-feature-icon, .plus) { color: var(--gold-light); }
.service-page .service-feature[open]:not([data-expanding="false"]) > summary > .service-summary-surface { clip-path: inset(0 0 0 0 round 14px); transition-duration: 460ms; }
.service-page .service-feature[open]:not([data-expanding="false"]) > summary:focus-visible { outline-color: var(--gold-dark); outline-offset: 4px; }
.service-page :is(.service-icon, .service-feature-icon) > .icon { transition: transform 220ms var(--ease); }
.service-page .service-feature[data-expanding="false"] .plus::after { transform: rotate(90deg); }
.finance-topics.service-accordion details.service-feature[open] { border-color: var(--gold-dark); }
.energy-explained-grid > article { position: relative; }
.energy-topic-surface { position: absolute; inset: 0; padding: inherit; pointer-events: none; user-select: none; background: var(--service-accent-surface); color: var(--service-on-accent); clip-path: inset(0 100% 0 0); transition: clip-path 220ms ease; }
.energy-topic-surface :is(.topic-index, .energy-topic-heading > .icon, .point-check) { color: var(--gold-light); }
.energy-topic-surface :is(p, .service-points li) { color: var(--service-on-accent-muted); }
@media (hover: hover) and (pointer: fine) {
  .energy-explained-grid > article:hover > .energy-topic-surface { clip-path: inset(0); }
  .energy-explained-grid > article:not(.has-energy-surface):hover { background: var(--service-accent-surface); color: var(--service-on-accent); }
  .energy-explained-grid > article:not(.has-energy-surface):hover :is(.topic-index, .energy-topic-heading > .icon, .point-check) { color: var(--gold-light); }
  .energy-explained-grid > article:not(.has-energy-surface):hover :is(p, .service-points li) { color: var(--service-on-accent-muted); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .service-page :is(.service-stack, .finance-topics) summary:hover :is(.service-icon, .service-feature-icon) > .icon { transform: translate3d(0,-2px,0) rotate(-4deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .service-page :is(.service-overview, .service-supplementary, .energy-explained-grid) .is-revealed, .service-page .service-accordion details.is-revealed { animation-duration: 600ms; }
  .service-page summary:active :is(.service-icon, .service-feature-icon) > .icon { transform: scale(.93); }
}
@media (max-width: 759px) {
  .finance-topics .service-feature { --service-panel-inset: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .energy-topic-surface { transition: none; }
  .service-summary-surface { transition: none; }
  .service-page :is(.service-stack, .finance-topics) summary { transition: none; }
}
@media (forced-colors: active) {
  .service-summary-surface, .energy-topic-surface { display: none; }
  .service-page .service-feature[open] > summary { box-shadow: none; outline: 1px solid CanvasText; outline-offset: -1px; }
  .service-page .service-feature[open] > summary,
  .energy-explained-grid > article, .energy-explained-grid > article:not(.has-energy-surface):hover { background: Canvas; color: CanvasText; }
  .service-page .service-feature[open] > summary :is(.service-summary-caption, .service-icon, .service-feature-icon, .plus),
  .energy-explained-grid > article :is(p, .service-points li, .topic-index, .energy-topic-heading > .icon, .point-check), .energy-explained-grid > article:not(.has-energy-surface):hover :is(p, .service-points li, .topic-index, .energy-topic-heading > .icon, .point-check) { color: CanvasText; }
  .service-page .service-feature[open] > summary:focus-visible { outline-color: Highlight; }
}
