.subpage { background: #0b080d; }
.subpage .site-header { background: rgba(11, 8, 13, .86); border-color: rgba(231, 183, 200, .14); backdrop-filter: blur(18px); }
.subpage .brand-wordmark strong { font-size: 1.45rem; }
.subpage .brand img { height: 3rem; width: auto; object-fit: contain; }
.subpage-main { overflow: hidden; }
.page-wrap { width: min(88rem, calc(100% - var(--pad) - var(--pad))); margin-inline: auto; }
.page-hero { position: relative; min-height: 42rem; padding: 10rem 0 5rem; display: grid; align-items: center; overflow: hidden; background: radial-gradient(circle at 82% 36%, rgba(231,183,200,.18), transparent 30%), #0b080d; }
.page-hero::after { content: ""; position: absolute; right: -12rem; bottom: -14rem; width: 34rem; height: 34rem; border: 1px solid rgba(231,183,200,.2); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(231,183,200,.025), 0 0 0 8rem rgba(231,183,200,.018); }
.page-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(22rem, .72fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.breadcrumbs { margin: 0 0 1.4rem; color: var(--pink); font-size: .63rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.breadcrumbs a { color: var(--muted); }
.page-hero h1 { max-width: 12ch; margin: 0; font-family: var(--display); font-size: clamp(3.6rem, 7vw, 7.2rem); font-weight: 800; line-height: .96; letter-spacing: -.06em; text-transform: uppercase; }
.page-hero h1 em { color: var(--powder); font-style: normal; }
.page-hero__lead { max-width: 37rem; margin: 1.5rem 0 0; color: #c8bbc2; font-size: clamp(.95rem, 1.2vw, 1.12rem); line-height: 1.75; }
.page-hero__actions { margin-top: 2rem; display: flex; gap: 1rem; flex-wrap: wrap; }
.page-hero__visual { position: relative; min-height: 31rem; }
.page-hero__image { position: absolute; inset: 0; background-position: center; background-size: cover; filter: saturate(.82) contrast(1.04); clip-path: polygon(8% 0, 92% 0, 100% 8%, 100% 92%, 92% 100%, 8% 100%, 0 92%, 0 8%); }
.page-hero__visual::before { content: ""; position: absolute; z-index: -1; inset: 1.2rem -1.2rem -1.2rem 1.2rem; border: 1px solid rgba(231,183,200,.7); background: rgba(231,183,200,.15); }
.page-hero__badge { position: absolute; right: -1.4rem; bottom: 2rem; padding: .9rem 1.1rem; border: 1px solid rgba(231,183,200,.28); background: rgba(11,8,13,.94); color: #fff; font-size: .67rem; letter-spacing: .12em; text-transform: uppercase; }
.hero-classic { background-image: linear-gradient(rgba(11,8,13,.08), rgba(11,8,13,.18)), url("assets/hover-classic.webp"); background-position: center 45%; }
.hero-hybrid { background-image: linear-gradient(rgba(11,8,13,.08), rgba(11,8,13,.18)), url("assets/result-hybrid-v2.webp"); background-position: center 50%; }
.hero-lifting { background-image: linear-gradient(rgba(11,8,13,.04), rgba(11,8,13,.16)), url("assets/lifting-wimpern-brow-client.jpg"); background-position: center 59%; }
.hero-skin { background-image: linear-gradient(rgba(11,8,13,.15), rgba(11,8,13,.35)), url("assets/studio-interior.webp"); }
.hero-studio { background-image: linear-gradient(rgba(11,8,13,.08), rgba(11,8,13,.28)), url("assets/jessica-portrait-2026.jpg?v=20260724-5"); background-position: center 38%; }
.hero-prices { background-image: linear-gradient(rgba(11,8,13,.08), rgba(11,8,13,.26)), url("assets/studio-interior.webp"); background-position: center 58%; }
.hero-services { background-image: linear-gradient(rgba(11,8,13,.12), rgba(11,8,13,.3)), url("assets/hero-services.webp"); }
.hero-results { background-image: linear-gradient(rgba(11,8,13,.06), rgba(11,8,13,.22)), url("assets/hero-results.webp"); }
.hero-contact { background-image: linear-gradient(rgba(11,8,13,.18), rgba(11,8,13,.38)), url("assets/studio-detail.webp"); }
.page-section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.page-section--light { background: #fff; color: var(--ink); }
.page-section--soft { background: #f3e8ed; color: var(--ink); }
.page-section--dark { background: #0d090f; color: var(--cream); }
.section-intro { margin-bottom: clamp(2.5rem, 5vw, 4.5rem); display: grid; grid-template-columns: .75fr 1fr; gap: 3rem; align-items: end; }
.section-intro h2 { max-width: 12ch; margin: 0; font-family: var(--display); font-size: clamp(2.7rem, 5vw, 5.2rem); font-weight: 800; line-height: .96; letter-spacing: -.055em; text-transform: uppercase; }
.section-intro h2 em { color: var(--rose-deep); font-style: normal; }
.section-intro p { max-width: 40rem; margin: 0; color: #51444b; line-height: 1.75; }
.page-section--dark .section-intro p { color: var(--muted); }
.treatment-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.treatment-grid:not(.treatment-grid--three) > .treatment-card:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 24rem; }
.treatment-card { position: relative; min-height: 30rem; padding: 2rem; display: grid; align-content: end; overflow: hidden; border: 1px solid rgba(231,183,200,.2); color: #fff; }
.treatment-card::before { content: ""; position: absolute; inset: 0; background: var(--card-image) var(--card-position, center) / cover; transition: transform .7s cubic-bezier(.2,.75,.25,1); }
.treatment-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(11,8,13,.92)); }
.treatment-card:hover::before { transform: scale(1.035); }
.treatment-card__content { position: relative; z-index: 1; }
.treatment-card small { color: #fff; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.treatment-card h2, .treatment-card h3 { margin: .5rem 0; font-family: var(--display); font-size: clamp(2.25rem, 4vw, 4rem); line-height: .9; letter-spacing: -.045em; text-transform: uppercase; }
.treatment-card p { max-width: 32rem; margin: 0 0 1.3rem; color: rgba(255,255,255,.82); }
.treatment-card .text-link { border-color: rgba(255,255,255,.45); color: #fff; }
.treatment-card--classic { --card-image: url("assets/hover-classic.webp"); --card-position: center 45%; }
.treatment-card--hybrid { --card-image: url("assets/service-hybrid.webp"); }
.treatment-card--lifting { --card-image: url("assets/lifting-wimpern-brow-client.jpg"); --card-position: center 62%; }
.treatment-card--skin { --card-image: url("assets/studio-interior.webp"); }
.compare-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border: 1px solid rgba(11,8,13,.16); }
.compare-grid article { padding: 1.5rem; border-right: 1px solid rgba(11,8,13,.12); }
.compare-grid article:last-child { border-right: 0; }
.compare-grid span { color: var(--rose-deep); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.compare-grid h3 { margin: .7rem 0; font-size: 1.05rem; }
.compare-grid p { margin: 0; color: #66575f; font-size: .8rem; line-height: 1.65; }
.facts-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; }
.fact-card { min-height: 10rem; padding: 1.4rem; display: grid; align-content: end; border: 1px solid rgba(231,183,200,.2); background: linear-gradient(145deg, #170c17, #0b080d); }
.fact-card b { color: var(--pink); font-family: var(--display); font-size: 2.4rem; }
.fact-card span { margin-top: .4rem; color: #c6bac1; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.content-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.62fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.content-copy h2 { margin: 0 0 1.4rem; font-family: var(--display); font-size: clamp(2.7rem,5vw,5rem); line-height: .96; letter-spacing: -.055em; text-transform: uppercase; }
.content-copy > p { max-width: 44rem; color: #55474e; line-height: 1.8; }
.check-list { margin: 2rem 0 0; padding: 0; display: grid; gap: .8rem; list-style: none; }
.check-list li { padding: 1rem 0; display: grid; grid-template-columns: 1.5rem 1fr; gap: .7rem; border-bottom: 1px solid rgba(11,8,13,.12); }
.check-list li::before { content: "✦"; color: var(--pink); }
.price-panel { position: sticky; top: 7rem; padding: 1.8rem; border: 1px solid rgba(231,183,200,.22); background: #120b12; color: var(--cream); }
.price-panel small { color: var(--pink); font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.price-panel strong { margin: .6rem 0 0; display: block; font-family: var(--display); font-size: 3rem; line-height: 1; }
.price-panel p { color: var(--muted); font-size: .8rem; line-height: 1.7; }
.price-panel .button { width: 100%; margin-top: 1rem; }
.steps-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; counter-reset: steps; }
.steps-grid article { min-height: 15rem; padding: 1.4rem; display: grid; align-content: space-between; border: 1px solid rgba(231,183,200,.2); counter-increment: steps; }
.steps-grid article::before { content: "0" counter(steps); color: var(--pink); font-family: var(--display); font-size: 1.6rem; }
.steps-grid h3 { margin: 2rem 0 .5rem; font-size: 1.05rem; }
.steps-grid p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.65; }
.faq-stack { max-width: 64rem; margin-inline: auto; border-top: 1px solid rgba(11,8,13,.14); }
.faq-stack details { border-bottom: 1px solid rgba(11,8,13,.14); }
.faq-stack summary { padding: 1.4rem 0; display: flex; justify-content: space-between; gap: 1rem; font-weight: 700; cursor: pointer; list-style: none; }
.faq-stack summary::after { content: "+"; color: var(--rose-deep); font-size: 1.4rem; }
.faq-stack details[open] summary::after { content: "–"; }
.faq-stack p { max-width: 48rem; margin: 0; padding: 0 0 1.5rem; color: #5b4d54; line-height: 1.75; }
.results-masonry { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.results-masonry figure { margin: 0; position: relative; min-height: 28rem; overflow: hidden; }
.results-masonry img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.results-masonry figure:hover img { transform: scale(1.035); }
.results-masonry figcaption { position: absolute; inset: auto 0 0; padding: 4rem 1rem 1rem; background: linear-gradient(transparent, rgba(11,8,13,.9)); color: #fff; font-weight: 700; }


.studio-arrival { margin-bottom: clamp(2rem, 4vw, 3.5rem); padding: clamp(1.35rem, 3vw, 2.25rem); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; border: 1px solid rgba(11,8,13,.16); background: rgba(255,255,255,.66); }
.studio-arrival__eyebrow { margin: 0 0 .7rem; color: var(--rose-deep); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.studio-arrival h3 { margin: 0; font-family: var(--display); font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: .98; letter-spacing: -.035em; text-transform: uppercase; }
.studio-arrival .arrival-note { max-width: 42rem; }
.studio-arrival .arrival-note strong { color: var(--ink); }
.studio-arrival .arrival-note p { color: #65565e; line-height: 1.65; }
.studio-arrival__route { min-width: 12rem; }
.studio-visit { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .7fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: stretch; }
.studio-visit__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: stretch; }
.studio-visit__visual { position: relative; min-height: 38rem; margin: clamp(2rem, 5vw, 5rem) 0 -2rem; overflow: hidden; clip-path: polygon(0 5%, 8% 0, 100% 0, 100% 95%, 92% 100%, 0 100%); background: var(--ink); }
.studio-visit__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.85) contrast(1.04); transition: transform .8s cubic-bezier(.2,.75,.25,1); }
.studio-visit__visual:hover img { transform: scale(1.025); }
.studio-visit__visual span { position: absolute; right: 0; bottom: 0; padding: .9rem 1.1rem; background: rgba(11,8,13,.9); color: #fff; font-size: .78rem; font-weight: 700; }
.studio-visit__visual b { margin-left: .5rem; color: var(--pink); }

.studio-story { display: grid; grid-template-columns: .78fr 1.1fr; gap: clamp(3rem,7vw,8rem); align-items: center; }
.studio-story__image img { width: 100%; max-height: 42rem; object-fit: cover; object-position: center; }
.studio-story__copy h2 { margin: 0; font-family: var(--display); font-size: clamp(3rem,6vw,6rem); line-height: .96; letter-spacing: -.06em; text-transform: uppercase; }
.studio-story__copy p { color: #51444b; line-height: 1.8; }
.contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.contact-card { min-height: 15rem; padding: 1.5rem; display: grid; align-content: space-between; border: 1px solid rgba(11,8,13,.14); }
.contact-card small { color: var(--rose-deep); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-card h2, .contact-card h3 { margin: 1rem 0; font-family: var(--display); font-size: 2rem; line-height: .95; text-transform: uppercase; }
.contact-card p { color: #65565e; }
.contact-map { margin-top: 1rem; display: grid; grid-template-columns: .65fr 1.35fr; min-height: 30rem; border: 1px solid rgba(11,8,13,.14); }
.contact-map__copy { padding: clamp(1.5rem,4vw,3.5rem); display: grid; align-content: center; }
.contact-map__copy h2 { margin: 0 0 1rem; font-family: var(--display); font-size: clamp(2.4rem,4vw,4rem); line-height: .96; letter-spacing: -.05em; text-transform: uppercase; }
.contact-map__copy p { color: #5e5057; line-height: 1.7; }
.contact-map__privacy { min-height: 30rem; padding: clamp(2rem, 5vw, 4rem); display: grid; place-content: center; gap: 1rem; background: radial-gradient(circle at 75% 25%, rgba(231,183,200,.28), transparent 28%), linear-gradient(135deg, #21101c, #0b080d); color: var(--cream); text-align: center; }
.contact-map__privacy small { color: var(--pink); font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.contact-map__privacy strong { font-family: var(--display); font-size: clamp(2rem, 4vw, 3.5rem); line-height: .95; text-transform: uppercase; }
.contact-map__privacy p { max-width: 32rem; margin: 0 auto; color: var(--muted); }
.contact-map__privacy .button { justify-self: center; }
.page-cta { padding: clamp(4rem,7vw,7rem) 0; background: radial-gradient(circle at 20% 50%, rgba(231,183,200,.17), transparent 28%), #080609; }
.page-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.page-cta h2 { max-width: 12ch; margin: 0; font-family: var(--display); font-size: clamp(2.8rem,5vw,5.2rem); line-height: .96; letter-spacing: -.055em; text-transform: uppercase; }
.subpage-footer { padding-top: 2.5rem; }
.subpage-footer .site-footer__logo { width: 11rem; }
@media (max-width: 960px) {
  .page-hero__grid { grid-template-columns: 1fr 21rem; gap: 2.5rem; }
  .compare-grid, .facts-grid, .steps-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .compare-grid article:nth-child(2) { border-right: 0; }
  .compare-grid article { border-bottom: 1px solid rgba(11,8,13,.12); }
  .results-masonry { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .results-masonry > figure:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 22rem; }
  .treatment-grid--three > .treatment-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .subpage .brand img { height: 2.5rem; }
  .subpage .brand-wordmark strong { font-size: 1.45rem; }
  .page-hero { min-height: 0; padding: 7.5rem 0 3.5rem; }
  .page-hero__grid { grid-template-columns: 1fr; gap: 2.4rem; }
  .page-wrap,
  .page-hero__grid,
  .section-intro,
  .content-split,
  .page-cta__inner { min-width: 0; }
  .page-hero__grid > *,
  .section-intro > *,
  .content-split > *,
  .page-cta__inner > * { min-width: 0; max-width: 100%; }
  .page-hero h1,
  .section-intro h2,
  .content-copy h2,
  .page-cta h2 {
    max-width: 100%;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  .page-hero h1 { font-size: clamp(2.7rem,14vw,4.5rem); line-height: .98; }
  .page-hero--compact h1 { font-size: clamp(2.75rem, 12.5vw, 3.5rem); }
  .page-hero__visual { min-height: min(118vw, 24rem); width: 100%; }
  .page-hero__visual::before { inset: .7rem 0 -.7rem .7rem; }
  .page-hero__badge { right: .5rem; bottom: 1rem; max-width: calc(100% - 1rem); }
  .page-hero__actions .button, .page-hero__actions .text-link { width: 100%; }

  .studio-visit { grid-template-columns: 1fr; }
  .studio-visit__steps { grid-template-columns: 1fr; }
  .studio-visit__visual { width: 88%; min-height: 27rem; margin: .5rem 0 -1rem auto; }
  .studio-arrival { grid-template-columns: 1fr; }
  .studio-arrival__route { width: 100%; }
  .section-intro, .content-split, .studio-story { grid-template-columns: 1fr; gap: 1.8rem; }
  .section-intro { align-items: start; }
  .section-intro h2,
  .content-copy h2,
  .page-cta h2 { font-size: clamp(2.25rem, 11.5vw, 3.5rem); line-height: .98; letter-spacing: -.045em; }
  .treatment-grid, .contact-grid { grid-template-columns: 1fr; }
  .contact-map { grid-template-columns: 1fr; }
  .treatment-card { min-height: min(120vw, 26rem); padding: 1.3rem; }
  .treatment-card--classic { --card-position: 27% 45%; }
  .compare-grid, .facts-grid, .steps-grid { grid-template-columns: 1fr; }
  .compare-grid article { border-right: 0; }
  .price-panel { position: static; width: 100%; padding: 1.35rem; }
  .results-masonry { grid-template-columns: 1fr 1fr; gap: .5rem; }
  .results-masonry figure { min-height: 18rem; }
  .results-masonry__classic img { object-position: 27% 45%; }
  .page-cta__inner { display: grid; }
  .page-cta .button { width: 100%; }
  .subpage-footer .site-footer__cta { grid-template-columns: 6rem 1fr; }
}


/* SEO landing pages & pricing */
.treatment-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.treatment-card--volume { --card-image: url("assets/service-volume.webp"); }
.hero-volume { background-image: linear-gradient(rgba(11,8,13,.08), rgba(11,8,13,.2)), url("assets/hero-hybrid.webp"); background-position: center 48%; }
.compare-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.price-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.price-groups--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.price-group { padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid rgba(11,8,13,.14); background: #fff; }
.page-section--light .price-group { background: #f8f3f5; }
.price-group h2, .price-group h3 { margin: 0 0 1.2rem; font-family: var(--display); font-size: clamp(2rem, 4vw, 3.4rem); line-height: .96; text-transform: uppercase; }
.price-group dl { margin: 0 0 1.4rem; }
.price-group dl div { padding: .9rem 0; display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(11,8,13,.12); }
.price-group dt { color: #55474e; }
.price-group dd { margin: 0; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.price-group > a { color: var(--rose-deep); font-weight: 800; }
.price-note { margin: 2rem 0 0; color: #65565e; font-size: .85rem; }
.legal-content { min-height: 70vh; padding-top: 10rem; }
.legal-content h1 { max-width: 12ch; margin: 0 0 3rem; font-family: var(--display); font-size: clamp(3.4rem, 8vw, 7rem); line-height: .96; text-transform: uppercase; }
.legal-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; }
.legal-grid article { padding: clamp(1.4rem, 4vw, 3rem); border: 1px solid rgba(11,8,13,.14); }
.legal-grid h2 { font-family: var(--display); font-size: 2.2rem; text-transform: uppercase; }
.legal-grid h3 { margin: 2rem 0 .5rem; font-family: var(--display); font-size: 1.25rem; text-transform: uppercase; }
.legal-grid p { color: #55474e; line-height: 1.75; }
.legal-grid ul { padding-left: 1.25rem; color: #55474e; line-height: 1.75; }
.legal-grid a { color: var(--rose-deep); text-decoration: underline; text-underline-offset: .15em; }
.legal-notice { padding: 1rem; border-left: 3px solid var(--rose-deep); background: #f3e8ed; }
.page-hero h1, .section-intro h2, .content-copy h2, .page-cta h2 { text-wrap: balance; }
.keep-word { white-space: nowrap; }
.breadcrumbs { font-size: .72rem; }
.compare-grid span, .treatment-card small { font-size: .7rem; }
.compare-grid p, .steps-grid p { font-size: .9rem; }
.fact-card span { font-size: .78rem; }

@media (max-width: 960px) {
  .treatment-grid--three, .price-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .treatment-grid--three, .price-groups, .price-groups--two, .legal-grid { grid-template-columns: 1fr; }
}


/* WhatsApp + Telefon Termin-Funnel */
.funnel-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.button--phone { border: 1px solid rgba(255,255,255,.32); background: transparent; color: inherit; }
.button--phone:hover { border-color: var(--pink); color: var(--pink); }
.funnel-note { margin: .8rem 0 0; color: var(--muted); font-size: .78rem; }
.booking-dialog__contact { margin-top: 1.4rem; display: flex; flex-wrap: wrap; gap: .8rem 1rem; align-items: center; }
.booking-dialog__contact p { margin: 0; color: var(--muted); }
@media (max-width: 700px) {
  .mobile-booking { display: grid; grid-template-columns: 1.35fr .8fr; gap: .55rem; }
  .mobile-booking .button { width: 100%; min-width: 0; padding-inline: .7rem; }
  .booking-dialog__contact .button { width: 100%; }
}
@media (max-width: 600px) {
  .subpage-footer .site-footer__cta { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 1.25rem; }
  .subpage-footer .site-footer__logo { width: min(9rem, 42vw); margin-inline: auto; }
}

/* Shared overflow protection for long German service terms. */
.page-wrap,
.page-hero__grid > *,
.section-intro > *,
.content-split > *,
.treatment-grid > *,
.compare-grid > *,
.facts-grid > *,
.steps-grid > *,
.price-groups > *,
.contact-grid > *,
.legal-grid > *,
.page-cta__inner > * { min-width: 0; }

.page-hero h1,
.section-intro h2,
.content-copy h2,
.page-cta h2,
.price-group h2,
.price-group h3,
.contact-card h2,
.contact-card h3,
.legal-content h1,
.legal-grid h2,
.legal-grid h3 {
  max-width: 100%;
  overflow-wrap: break-word;
  hyphens: auto;
}

.legal-grid article,
.legal-grid p,
.legal-grid a { overflow-wrap: anywhere; }

@media (max-width: 820px) {
  .page-hero { min-height: 0; padding-top: 7.5rem; }
  .page-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .page-hero__visual {
    width: min(100%, 38rem);
    min-height: min(82vw, 30rem);
    margin-inline: auto;
  }
  .page-hero__visual::before { inset: .8rem 0 -.8rem .8rem; }
  .page-hero__badge { right: .75rem; bottom: 1rem; max-width: calc(100% - 1.5rem); }
}

/* Single portrait on the Jessica page */
.studio-story--text-only {
  grid-template-columns: minmax(0, 52rem);
  justify-content: center;
}
.studio-story--text-only .studio-story__copy { max-width: 52rem; }

/* Keep long German headings readable without browser-generated word splits. */
:is(
  .page-hero h1,
  .section-intro h2,
  .content-copy h2,
  .page-cta h2,
  .price-group h2,
  .price-group h3,
  .contact-card h2,
  .contact-card h3,
  .legal-content h1,
  .legal-grid h2,
  .legal-grid h3
) {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

@media (max-width: 700px) {
  .page-hero h1 {
    font-size: clamp(1.75rem, 7.5vw, 3.1rem);
  }

  :is(.section-intro h2, .content-copy h2, .page-cta h2) {
    font-size: clamp(1.75rem, 7.4vw, 2.4rem);
    line-height: 1;
  }
}
