/* Gemeinsames Design der Startseite für sämtliche Inhaltsseiten. */
.design-subpage main { color:#243c32; font:16px/1.65 'Manrope', Arial, Helvetica, sans-serif; }
.design-subpage main .shell { width:min(1240px,calc(100% - 96px)); }
.design-subpage main .section { padding:100px 0; }
.design-subpage main .eyebrow { color:var(--accent); font-size:12px; font-weight:700; line-height:1.65; letter-spacing:.17em; text-transform:uppercase; margin:0 0 24px; }
.design-subpage main h2 { font-family:'Manrope', Arial, Helvetica, sans-serif; font-size:clamp(32px,3.2vw,46px); font-weight:500; line-height:1.14; letter-spacing:-.045em; }
.design-subpage main h3 { font-family:'Manrope', Arial, Helvetica, sans-serif; font-size:26px; font-weight:500; line-height:1.2; letter-spacing:-.035em; }
.design-subpage main p { color:#57645c; }
.design-subpage main .soft,
.design-subpage main .warm-section,
.design-subpage main .side-card { background:#eef3ef; }
.design-subpage .subhero { padding:44px 0; background:var(--accent) url('../images/linien.svg') center / cover no-repeat; }
.design-subpage .subhero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:clamp(36px,5vw,72px); }
.design-subpage .subhero-grid > * { min-width:0; }
.design-subpage .subhero .eyebrow { color:#fff; font-size:14px; font-weight:600; margin-bottom:14px; }
.design-subpage .subhero h1 { margin:0 0 28px; padding:0; max-width:820px; color:#203833; font:500 clamp(40px,4.6vw,64px)/1.08 'Manrope', Arial, Helvetica, sans-serif; letter-spacing:-.045em; overflow-wrap:break-word; }
.design-subpage .subhero h1::before { content:''; display:block; width:52px; height:3px; background:#fff; margin-bottom:28px; }
.design-subpage .subhero .lead { margin:0; color:#243c32; font-size:21px; line-height:1.5; }
.design-subpage .subhero-image { width:100%; max-width:480px; margin:0; justify-self:end; align-self:center; aspect-ratio:auto; background:transparent; border:0; box-shadow:none; }
.design-subpage .subhero-image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border:0; border-radius:5px; box-shadow:none; }
.design-subpage .portrait-image { max-width:360px; }
.design-subpage .portrait-image img { aspect-ratio:4/5; object-position:center; }
.design-subpage .subhero-image.family-cutout img { object-fit:contain; border-radius:0; }
.design-subpage .subhero .credentials-block { border-color:rgba(36,60,50,.25); }
.design-subpage .subhero .credentials-block p { color:#243c32; }
.design-subpage .subhero .availability-notice { background:rgba(255,255,255,.9); border:0; border-left:3px solid #243c32; border-radius:5px; margin:24px 0 0; }
.design-subpage .subhero .availability-notice p { color:#57645c; }
.design-subpage .compact-legal-hero { padding:48px 0; }
.design-subpage .compact-legal-hero .shell { max-width:1240px; }
.design-subpage main :is(.topic-card,.method-card,.process-step,.contact-card,.info-card) { border:0; border-bottom:3px solid #eab43b; border-radius:5px; background:#fff; padding:28px; box-shadow:0 4px 20px rgba(32,56,51,.045); min-height:0; }
.design-subpage main :is(.topic-card,.method-card,.process-step,.info-card) > span { color:var(--accent); font-size:11px; letter-spacing:.12em; }
.design-subpage main :is(.topic-card,.method-card,.process-step,.contact-card,.info-card) :is(h2,h3) { font-size:26px; margin:18px 0 16px; }
.design-subpage main :is(.topic-card,.method-card,.process-step,.contact-card,.info-card) p { font-size:15px; line-height:1.75; }
.design-subpage .side-card { border:0; border-radius:5px; padding:28px; }
.design-subpage main .text-link { display:inline-block; padding-bottom:7px; border-bottom:1px solid var(--accent); color:#243c32; font-size:14px; font-weight:600; text-decoration:none; }
.design-subpage main .text-link:hover { color:var(--accent); }
.design-subpage main .button { background:var(--accent); border-color:var(--accent); color:white; font-size:14px; font-weight:600; }
.design-subpage main .button:hover { filter:brightness(.94); }
.design-subpage .legal-content { max-width:880px; }
.design-subpage .legal-content h2 { font-size:30px; }
.design-subpage .contact-form :is(input,textarea) { border-radius:5px; }
.design-subpage main :is(.content-grid,.editorial-two,.split,.profile-columns,.section-head) > * { min-width:0; }
@media(max-width:1100px) {
 .design-subpage main .shell { width:calc(100% - 56px); }
 .design-subpage .subhero h1 { font-size:clamp(36px,4.6vw,52px); }
}
@media(max-width:760px) {
 .design-subpage main .shell { width:calc(100% - 40px); }
 .design-subpage main .section { padding:65px 0; }
 .design-subpage .subhero { padding:30px 0; }
 .design-subpage .subhero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .design-subpage .subhero-image { order:0; justify-self:center; max-width:480px; }
 .design-subpage .portrait-image { max-width:320px; }
 .design-subpage .subhero h1 { font-size:clamp(34px,9vw,48px); }
 .design-subpage .subhero .lead { font-size:18px; }
 .design-subpage main .eyebrow { margin-bottom:20px; }
 .design-subpage .subhero .eyebrow { margin-bottom:14px; }
 .design-subpage main :is(.topic-card,.method-card,.process-step,.contact-card,.info-card) { padding:24px; }
 .design-subpage .legal-content h2 { font-size:28px; }
}

/* Einheitliche freigestellte Motive auf den Angebotsseiten. */
.design-subpage .subhero-image.figure-cutout img {
 object-fit:contain;
 object-position:center;
 border-radius:0;
 opacity:1;
 mix-blend-mode:normal;
}

/* Übersichtliche Tarife auf der Informationsseite. */
.design-subpage .tariff-table { width:100%; border-collapse:collapse; margin:0 0 24px; font-size:15px; }
.design-subpage .tariff-table caption { text-align:left; font-weight:600; padding:0 0 14px; }
.design-subpage .tariff-table th,.design-subpage .tariff-table td { padding:12px 10px; text-align:left; border-bottom:1px solid #cbd7ce; vertical-align:top; }
.design-subpage .tariff-table thead { background:#fff; }
.design-subpage .tariff-table td:last-child { white-space:nowrap; }
@media(max-width:520px) { .design-subpage .tariff-table { font-size:13px; } .design-subpage .tariff-table th,.design-subpage .tariff-table td { padding:10px 5px; } }

/* Anreise: eigene Karten-Hintergrundregel gezielt ueberschreiben. */
.design-subpage main .section.map-section { background: #ffffff; }

/* HESS-PSY Designsystem V1 — verbindliche Regeln für Unterseiten
   Abgeleitet vom freigegebenen Design-Master der Startseite. */
.design-subpage {
  --hp-orange:#ef700d;
  --hp-orange-dark:#d85f00;
  --hp-yellow:#f6c84b;
  --hp-petrol:#e5eeea;
  --hp-offwhite:#fffdf8;
  --hp-ink:#292d2b;
  --hp-muted:#626864;
  --hp-line:#e8e1d5;
  --hp-content:1240px;
  --hp-radius:8px;
  --hp-section:clamp(68px,7vw,100px);
  color:var(--hp-ink);
  background:var(--hp-offwhite);
}
.design-subpage .site-header { background:rgba(255,253,248,.97); border-bottom:1px solid rgba(239,112,13,.22); }
.design-subpage .main-nav a { font-weight:600; }
.design-subpage .nav-contact,.design-subpage .nav-contact:visited { color:#fff; background:var(--hp-orange); border-color:var(--hp-orange); }
.design-subpage .nav-contact:hover,.design-subpage .nav-contact:focus-visible { color:#fff; background:var(--hp-orange-dark); border-color:var(--hp-orange-dark); }
.design-subpage main { color:var(--hp-ink); }
.design-subpage main .shell { width:min(var(--hp-content),calc(100% - 96px)); }
.design-subpage main .section { padding-block:var(--hp-section); }
.design-subpage main .eyebrow { color:var(--hp-orange); }
.design-subpage main h2,.design-subpage main h3 { color:var(--hp-ink); }
.design-subpage main p { color:var(--hp-muted); }
/* Gleicher Petrolton wie Angebot + Über mich auf der Startseite. */
.design-subpage main .soft,
.design-subpage main .warm-section,
.design-subpage main .side-card { background:var(--hp-petrol); }
/* Hero-Logik: kräftiges Orange, klare weisse Akzente. */
.design-subpage .subhero {
  background:linear-gradient(118deg,var(--hp-yellow) 0%,#f4a72a 34%,var(--hp-orange) 72%,#ea6808 100%);
}
.design-subpage .subhero .eyebrow { color:#fff; }
.design-subpage .subhero h1 { color:var(--hp-ink); }
.design-subpage .subhero h1::before { background:#fff; }
.design-subpage .subhero .lead { color:#353936; }
/* Einheitliche Karten, Radien und Akzente. */
.design-subpage main :is(.topic-card,.method-card,.process-step,.contact-card,.info-card) {
  border:1px solid var(--hp-line);
  border-bottom:4px solid var(--hp-yellow);
  border-radius:var(--hp-radius);
  box-shadow:0 8px 26px rgba(41,45,43,.055);
}
.design-subpage main :is(.topic-card,.method-card,.process-step,.contact-card,.info-card) > span { color:var(--hp-orange); }
.design-subpage .side-card,.design-subpage .contact-form :is(input,textarea),.design-subpage .subhero-image img { border-radius:var(--hp-radius); }
.design-subpage main .text-link { border-bottom-color:var(--hp-orange); color:var(--hp-ink); }
.design-subpage main .text-link:hover { color:var(--hp-orange); }
.design-subpage main .button { background:var(--hp-orange); border-color:var(--hp-orange); color:#fff; }
.design-subpage main .button:hover { background:var(--hp-orange-dark); border-color:var(--hp-orange-dark); filter:none; }
.design-subpage .site-footer { background:#2b302d; color:#f8f5ed; }
.design-subpage .site-footer a:hover { color:var(--hp-yellow); }
@media(max-width:1100px){ .design-subpage main .shell{width:calc(100% - 56px);} }
@media(max-width:760px){ .design-subpage main .shell{width:calc(100% - 40px);} }

/* HESS-PSY CONSISTENCY PASS — 2026-09-23 */
.design-subpage {
  --hp-orange:#ef700d;
  --hp-orange-dark:#d85f00;
  --hp-yellow:#f6c84b;
  --hp-petrol:#e5eeea;
  --hp-offwhite:#fffdf8;
  --hp-ink:#292d2b;
  --hp-muted:#626864;
  --hp-line:#e8e1d5;
  --hp-content:1240px;
  --hp-radius:8px;
}
.design-subpage main { font-size:17px; line-height:1.7; }
.design-subpage main .shell { width:min(var(--hp-content),calc(100% - 96px)); }
.design-subpage .subhero h1 { font-size:clamp(40px,4.8vw,64px); color:var(--hp-ink); }
.design-subpage main h2 { font-size:clamp(32px,3.2vw,46px); }
.design-subpage main h3 { font-size:24px; }
.design-subpage main p { color:var(--hp-muted); }
.design-subpage .subhero-image img,
.design-subpage .side-card,
.design-subpage main :is(.topic-card,.method-card,.process-step,.contact-card,.info-card),
.design-subpage .contact-form :is(input,textarea) { border-radius:var(--hp-radius); }
@media(max-width:1100px){
  .design-subpage main .shell { width:calc(100% - 56px); }
}
@media(max-width:760px){
  .design-subpage main { font-size:17px; }
  .design-subpage main .shell { width:calc(100% - 40px); }
  .design-subpage .subhero h1 { font-size:clamp(34px,9vw,48px); }
  .design-subpage main h2 { font-size:clamp(28px,7vw,36px); }
  .design-subpage main h3 { font-size:22px; }
}

/* Subhero subtitle: consistent secondary service label */
.subhero .hero-subtitle {
  margin: .25rem 0 .65rem;
  font-family: "Manrope", Arial, Helvetica, sans-serif;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--accent, #ef700d);
}

/* Titelstruktur: identische Grafik und Deckkraft wie auf der Startseite. */
.design-subpage .subhero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.design-subpage .subhero > .integration-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  pointer-events: none;
  opacity: .38;
}
