/*
Theme Name: BMS Gutenberg Boutique
Theme URI: https://example.invalid/bms-gutenberg-boutique
Author: bms basic marketing service / dravo consult concept
Description: Boutique-/Portfolio-Variante des Gutenberg-Block-Themes für bms basic marketing service. Parallel zu BMS Gutenberg 1.2 installierbar.
Version: 1.3.9
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: bms-gutenberg-boutique
*/

:root{
  --bms-red:#ef1717;
  --bms-red-dark:#cf1111;
  --bms-ink:#252525;
  --bms-muted:#686868;
  --bms-line:#e9e3de;
  --bms-warm:#f8f6f3;
  --bms-white:#fff;
  --bms-content-max:2000px;
  --bms-gutter:clamp(24px,3vw,72px);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-weight:300;line-height:1.65;overflow-x:hidden;background:#fff;color:var(--bms-ink)}
a{text-decoration:none}
.bms-red{color:var(--bms-red)}

/* Global shell */
.bms-shell{width:min(100%,var(--bms-content-max));margin-inline:auto;padding-inline:var(--bms-gutter)}
.bms-eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.16em;color:var(--bms-red);font-size:12px;font-weight:500}
.bms-lead{font-size:clamp(17px,1.1vw,20px);line-height:1.72;color:#555}
.bms-button .wp-block-button__link{background:var(--bms-red);color:#fff;border-radius:2px;padding:14px 24px;font-weight:500;font-size:14px;box-shadow:0 7px 24px rgba(239,23,23,.12)}
.bms-button .wp-block-button__link:hover{background:var(--bms-red-dark)}
.bms-text-button .wp-block-button__link{background:transparent;color:var(--bms-red);padding:14px 0;font-weight:500;font-size:14px}

/* Header */
.bms-site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.05)}
.bms-header-inner{min-height:92px;padding-inline:var(--bms-gutter);width:min(100%,var(--bms-content-max));margin-inline:auto}
.bms-site-header .wp-block-site-logo img{width:155px!important;max-width:155px!important;height:auto!important;max-height:68px;object-fit:contain;object-position:left center}
.bms-site-header .wp-block-navigation{font-size:14px;font-weight:400}
.bms-site-header .wp-block-navigation-item__content:hover{color:var(--bms-red)}

/* Footer */
.bms-site-footer{border-top:1px solid var(--bms-line);padding:34px var(--bms-gutter) 48px}
.bms-footer-inner{width:min(100%,var(--bms-content-max));margin-inline:auto}
.bms-site-footer .wp-block-site-logo img{width:130px!important;max-width:130px!important;height:auto!important}
.bms-site-footer p{font-size:12px;color:#777}

/* Start hero */
.bms-hero{min-height:650px;background:#fff}
.bms-hero>.wp-block-columns{width:min(100%,var(--bms-content-max));margin:0 auto;padding-inline:var(--bms-gutter);gap:clamp(24px,3vw,56px);align-items:stretch}
.bms-hero-copy{padding-block:82px 62px;display:flex;flex-direction:column;justify-content:center}
.bms-hero h1{font-size:clamp(54px,4.2vw,72px);font-weight:300;line-height:1.08;letter-spacing:-.035em}
.bms-hero-sub{font-size:21px;color:#474747;margin-top:24px}
.bms-hero-promise{font-size:17px;font-weight:500;margin-top:18px}
.bms-hero-visual{display:flex;align-items:stretch;justify-content:flex-end;margin:0}
.bms-hero-visual img{display:block;width:100%;max-width:980px;height:650px;object-fit:cover;object-position:center;border-radius:0 0 0 34px}
.bms-intro-strip{border-top:1px solid var(--bms-line);border-bottom:1px solid var(--bms-line);padding:27px var(--bms-gutter)}
.bms-intro-strip p{max-width:900px;margin:auto;text-align:center;font-size:18px;color:#555}

/* Page sections/cards */
.bms-section{padding-block:92px}
.bms-section-title{text-align:center;margin-bottom:46px}
.bms-section-title h2{font-size:clamp(38px,3vw,48px);font-weight:300}
.bms-service-grid{gap:24px}
.bms-card{height:100%;padding:32px;border:1px solid var(--bms-line);background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.035)}
.bms-card:hover{box-shadow:0 18px 44px rgba(0,0,0,.07);transform:translateY(-3px);transition:.2s}
.bms-card .bms-num{color:var(--bms-red);font-size:12px;letter-spacing:.2em}
.bms-card h3{font-size:30px;font-weight:300;line-height:1.15;margin-top:18px}
.bms-card p{color:#666}
.bms-card-link{color:var(--bms-red);font-weight:500;font-size:14px}

/* Teaser / About */
.bms-about-teaser>.wp-block-columns,.bms-about-page>.wp-block-columns{gap:clamp(34px,5vw,80px);align-items:center}
.bms-photo-placeholder{min-height:500px;background:linear-gradient(140deg,#f6f2ee,#ece8e5);display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.bms-photo-placeholder:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(239,23,23,.25);border-radius:50%}
.bms-photo-placeholder p{position:relative;font-size:30px;font-weight:300;color:#555;line-height:1.25}
.bms-photo-placeholder em{display:block;margin-top:12px;color:var(--bms-red);font-size:12px;font-style:normal;text-transform:uppercase;letter-spacing:.12em}
.bms-about-copy h2,.bms-page-copy h1{font-size:clamp(44px,3.4vw,58px);font-weight:300;line-height:1.08}
.bms-traits{gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--bms-line)}
.bms-trait strong{display:block;font-weight:500}.bms-trait p{margin-top:5px;color:#777;font-size:14px}

/* Subpage hero */
.bms-subhero{padding-block:60px 72px;background:#fff}
.bms-subhero>.wp-block-columns{width:min(100%,var(--bms-content-max));margin:0 auto;padding-inline:var(--bms-gutter);gap:clamp(28px,4vw,70px);align-items:center}
.bms-subhero h1{font-size:clamp(48px,3.8vw,64px);font-weight:300;line-height:1.08}
.bms-subhero .wp-block-image{margin:0}
.bms-subhero .wp-block-image img{width:100%;height:auto;max-height:680px;object-fit:contain;display:block}
.bms-subhero.bms-warm{background:var(--bms-warm)}

/* Service detail blocks */
.bms-detail-section{padding-block:80px}
.bms-detail-section.bms-warm{background:var(--bms-warm)}
.bms-detail-title{font-size:clamp(36px,2.8vw,48px);font-weight:300;margin-bottom:38px}
.bms-detail-columns{gap:20px}
.bms-detail-card{padding:26px;border-top:2px solid var(--bms-red);background:#fff;min-height:220px}
.bms-detail-card h3{font-size:22px;font-weight:400}.bms-detail-card p,.bms-detail-card li{color:#666;font-size:15px}
.bms-detail-list{columns:2;column-gap:48px}.bms-detail-list li{break-inside:avoid;margin-bottom:8px}

/* Contact CTA */
.bms-contact-cta{margin-block:60px;background:var(--bms-warm);padding:42px}
.bms-contact-cta h2{font-size:clamp(38px,3vw,50px);font-weight:300}
.bms-contact-card{background:#fff;padding:30px;border-left:3px solid var(--bms-red);box-shadow:0 15px 40px rgba(0,0,0,.04)}
.bms-contact-card strong{font-size:20px;font-weight:500}

@media(max-width:1100px){
  .bms-site-header .wp-block-navigation{font-size:13px}
  .bms-hero>.wp-block-columns,.bms-subhero>.wp-block-columns{flex-wrap:wrap!important}
  .bms-hero>.wp-block-columns>.wp-block-column,.bms-subhero>.wp-block-columns>.wp-block-column{flex-basis:100%!important}
  .bms-hero-copy{padding:60px 0 35px}
  .bms-hero-visual img{max-width:none;height:auto;max-height:620px;object-fit:contain;border-radius:0}
  .bms-about-teaser>.wp-block-columns,.bms-about-page>.wp-block-columns{flex-wrap:wrap!important}
  .bms-about-teaser>.wp-block-columns>.wp-block-column,.bms-about-page>.wp-block-columns>.wp-block-column{flex-basis:100%!important}
}
@media(max-width:782px){
  :root{--bms-gutter:22px}
  .bms-header-inner{min-height:76px}
  .bms-site-header .wp-block-site-logo img{width:120px!important;max-width:120px!important}
  .bms-section{padding-block:64px}
  .bms-detail-list{columns:1}
  .bms-photo-placeholder{min-height:380px}
  .bms-contact-cta{padding:28px}
}






/* =========================================================
   v1.3 – BMS Boutique / Portfolio
   Die eigene Website soll die Marketing- und Webkompetenz zeigen.
   Ruhig, hochwertig, aber mit deutlich mehr visueller Spannung.
   ========================================================= */

:root{
  --bms-soft-red:#fff1ef;
  --bms-warm-2:#f2eeea;
  --bms-shadow:0 28px 80px rgba(40,28,20,.12);
  --bms-shadow-soft:0 18px 50px rgba(40,28,20,.08);
}

/* Header: etwas hochwertiger und klarer */
.bms-site-header{
  box-shadow:0 1px 0 rgba(0,0,0,.035);
}
.bms-site-header .wp-block-navigation-item__content{
  position:relative;
  transition:color .2s ease;
}
.bms-site-header .wp-block-navigation-item__content::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-9px;
  height:1px;
  background:var(--bms-red);
  transition:right .22s ease;
}
.bms-site-header .wp-block-navigation-item__content:hover::after{right:0}

/* STARTSEITE – bereits als Referenz wirken */
@media (min-width:1101px){
  .bms-hero{
    min-height:calc(100svh - 92px);
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:
      radial-gradient(circle at 82% 18%, rgba(239,23,23,.08), transparent 18%),
      linear-gradient(102deg,#fff 0 53%,#f7f3ef 53% 100%);
  }
  .bms-hero::before{
    content:"";
    position:absolute;
    width:480px;height:480px;
    border:1px solid rgba(239,23,23,.12);
    border-radius:50%;
    right:-220px;bottom:-260px;
    pointer-events:none;
  }
  .bms-hero>.wp-block-columns{
    width:min(92vw,1760px);
    padding-inline:0;
    gap:clamp(54px,5vw,110px);
    align-items:center;
    position:relative;
    z-index:1;
  }
  .bms-hero-copy{
    padding:58px 0;
    max-width:700px;
  }
  .bms-hero h1{
    font-size:clamp(62px,4.8vw,86px);
    line-height:1.01;
    letter-spacing:-.045em;
    margin-bottom:24px;
  }
  .bms-hero-sub{
    margin-top:0;
    font-size:22px;
    letter-spacing:.01em;
  }
  .bms-hero-visual{
    position:relative;
    padding:18px;
    background:rgba(255,255,255,.88);
    box-shadow:var(--bms-shadow);
    border-radius:4px 34px 4px 4px;
  }
  .bms-hero-visual::after{
    content:"Strategie  ·  Print  ·  Digital  ·  Events";
    position:absolute;
    left:-48px;
    bottom:34px;
    padding:12px 18px;
    background:#fff;
    color:#444;
    font-size:12px;
    font-weight:500;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:var(--bms-shadow-soft);
    border-left:3px solid var(--bms-red);
    white-space:nowrap;
  }
  .bms-hero-visual img{
    height:min(68svh,720px);
    max-width:none;
    width:100%;
    object-fit:cover;
    border-radius:2px 20px 2px 2px;
  }
}

/* Unterseiten: echter Portfolio-Hero statt leerer Weißfläche */
@media (min-width:1101px){
  .bms-subhero{
    min-height:calc(100svh - 92px);
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    padding:0;
    background:
      radial-gradient(circle at 8% 78%, rgba(239,23,23,.055), transparent 19%),
      linear-gradient(105deg,#fff 0 55%,#f6f2ee 55% 100%);
    border-bottom:1px solid var(--bms-line);
  }
  .bms-subhero::before{
    content:"";
    position:absolute;
    width:520px;height:520px;
    border:1px solid rgba(239,23,23,.11);
    border-radius:50%;
    left:-330px;top:110px;
  }
  .bms-subhero>.wp-block-columns{
    width:min(91vw,1740px);
    padding-inline:0;
    gap:clamp(54px,5vw,110px);
    position:relative;
    z-index:2;
  }
  .bms-page-copy{
    position:relative;
    padding:54px 0 54px 28px;
    max-width:720px;
  }
  .bms-page-copy::before{
    content:"";
    position:absolute;
    left:0;top:60px;
    width:2px;height:92px;
    background:linear-gradient(var(--bms-red),rgba(239,23,23,.05));
  }
  .bms-subhero h1{
    font-size:clamp(60px,4.4vw,82px);
    line-height:1.02;
    letter-spacing:-.042em;
    margin-bottom:28px;
  }
  .bms-subhero .bms-lead{
    font-size:clamp(18px,1.25vw,22px);
    max-width:700px;
    line-height:1.75;
  }
  .bms-subhero .wp-block-image{
    position:relative;
    margin:0;
    padding:16px;
    background:#fff;
    box-shadow:var(--bms-shadow);
    border-radius:4px 30px 4px 4px;
  }
  .bms-subhero .wp-block-image::after{
    content:"Idee → Struktur → Umsetzung";
    position:absolute;
    right:-26px;
    bottom:32px;
    padding:12px 16px;
    background:var(--bms-red);
    color:#fff;
    font-size:12px;
    font-weight:500;
    letter-spacing:.07em;
    text-transform:uppercase;
    box-shadow:0 15px 35px rgba(239,23,23,.20);
  }
  .bms-subhero .wp-block-image img{
    width:100%;
    max-height:70svh;
    height:auto;
    object-fit:contain;
    display:block;
    border-radius:2px 18px 2px 2px;
  }

  /* Seitenspezifische kleine Portfolio-Markierung */
  body.bms-page-messen .bms-subhero::after,
  body.bms-page-medien .bms-subhero::after,
  body.bms-page-online .bms-subhero::after{
    position:absolute;
    right:3vw;
    top:18%;
    font-size:clamp(110px,10vw,190px);
    font-weight:200;
    line-height:1;
    color:rgba(239,23,23,.035);
    letter-spacing:-.08em;
    pointer-events:none;
  }
  body.bms-page-messen .bms-subhero::after{content:"01"}
  body.bms-page-medien .bms-subhero::after{content:"02"}
  body.bms-page-online .bms-subhero::after{content:"03"}
}

/* Über mich: statt leerer Fläche ein persönliches Editorial-Layout */
@media (min-width:1101px){
  .bms-about-page{
    min-height:calc(100svh - 92px);
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 19% 28%,rgba(239,23,23,.06),transparent 17%),
      linear-gradient(110deg,#f8f5f2 0 43%,#fff 43% 100%);
    border-bottom:1px solid var(--bms-line);
    padding-block:0;
  }
  .bms-about-page::after{
    content:"Persönlich. Verlässlich. Professionell.";
    position:absolute;
    left:5vw;
    bottom:34px;
    color:rgba(239,23,23,.28);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:11px;
  }
  .bms-about-page>.wp-block-columns{
    width:min(88vw,1620px)!important;
    margin-inline:auto;
    gap:clamp(70px,7vw,130px);
  }
  .bms-photo-placeholder{
    min-height:min(63svh,650px);
    border-radius:2px 28px 2px 2px;
    box-shadow:var(--bms-shadow);
    background:
      radial-gradient(circle at 50% 42%,rgba(255,255,255,.95) 0 32%,transparent 32.5%),
      linear-gradient(145deg,#f4efeb,#e9e1dc);
  }
  .bms-photo-placeholder:before{
    width:min(25vw,390px);
    height:min(25vw,390px);
    border-color:rgba(239,23,23,.30);
  }
  .bms-about-copy{
    max-width:760px;
    padding:42px 0;
  }
  .bms-about-copy h2{
    font-size:clamp(54px,4vw,76px);
    letter-spacing:-.04em;
    line-height:1.03;
  }
  .bms-traits{
    border-top:0;
    gap:14px;
  }
  .bms-trait{
    background:#fff;
    padding:18px 20px;
    border-left:2px solid var(--bms-red);
    box-shadow:0 10px 28px rgba(0,0,0,.045);
  }
}

/* Leistungsübersicht: hochwertige Karten statt technische Liste */
.bms-detail-section{
  position:relative;
  padding-block:clamp(84px,8vw,130px);
  background:
    linear-gradient(180deg,#f7f3ef 0,#fbfaf8 100%)!important;
}
.bms-detail-title{
  position:relative;
  padding-bottom:22px;
}
.bms-detail-title::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:86px;height:2px;
  background:var(--bms-red);
}
.bms-detail-columns{gap:24px}
.bms-detail-card{
  position:relative;
  overflow:hidden;
  border-top:0;
  min-height:260px;
  padding:34px 30px;
  box-shadow:var(--bms-shadow-soft);
  border:1px solid rgba(0,0,0,.035);
  transition:transform .2s ease,box-shadow .2s ease;
}
.bms-detail-card::before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:100%;height:3px;
  background:linear-gradient(90deg,var(--bms-red),rgba(239,23,23,.18));
}
.bms-detail-card:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 65px rgba(40,28,20,.11);
}

/* CTA als bewusster Abschluss */
.bms-contact-cta{
  position:relative;
  overflow:hidden;
  margin-block:72px;
  padding:54px 58px;
  background:
    radial-gradient(circle at 92% 30%,rgba(239,23,23,.10),transparent 21%),
    linear-gradient(110deg,#f6f1ed,#fff);
  border:1px solid rgba(0,0,0,.035);
  box-shadow:var(--bms-shadow-soft);
}
.bms-contact-cta::before{
  content:"";
  position:absolute;
  width:180px;height:180px;
  border:1px solid rgba(239,23,23,.18);
  border-radius:50%;
  right:-70px;bottom:-90px;
}

/* Startkarten: stärkerer Boutique-Charakter */
.bms-card{
  position:relative;
  overflow:hidden;
  border:0;
  box-shadow:var(--bms-shadow-soft);
  padding:38px 34px;
}
.bms-card::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:100%;height:2px;
  background:linear-gradient(90deg,var(--bms-red),transparent 70%);
}
.bms-card .bms-num{
  font-size:42px;
  font-weight:200;
  letter-spacing:-.04em;
  color:rgba(239,23,23,.30);
}

/* Mobil / Tablet: keine erzwungenen Viewport-Höhen */
@media(max-width:1100px){
  .bms-hero,
  .bms-subhero,
  .bms-about-page{
    min-height:0;
    display:block;
  }
  .bms-subhero,
  .bms-about-page{
    padding-block:54px;
  }
  .bms-page-copy{padding:0}
  .bms-page-copy::before{display:none}
  .bms-subhero .wp-block-image{
    box-shadow:0 16px 40px rgba(40,28,20,.10);
    padding:10px;
  }
  .bms-subhero .wp-block-image::after,
  .bms-hero-visual::after{display:none}
}


/* =========================================================
   v1.3.2 – Leseführung und konsistente Über-mich-Typografie
   ========================================================= */

/* Die erläuternden Absätze unter der Einleitung wirken gleichwertig. */
.bms-about-copy > p:not(.bms-eyebrow){
  font-size:clamp(17px,1.1vw,20px);
  line-height:1.72;
  color:#555;
}

/* Dezenter, aber eindeutiger Hinweis: unterhalb geht es weiter. */
@keyframes bms-scroll-hint {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(5px); }
}

@media (min-width:1101px){
  .bms-hero-copy::after,
  .bms-page-copy::after,
  .bms-about-copy::after{
    display:block;
    width:max-content;
    margin-top:34px;
    color:#777;
    font-size:11px;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    animation:bms-scroll-hint 2.2s ease-in-out infinite;
  }

  .bms-hero-copy::after{
    content:"Mehr entdecken  ↓";
  }

  .bms-page-copy::after{
    content:"Weitere Leistungen  ↓";
  }

  .bms-about-copy::after{
    content:"Mehr erfahren  ↓";
  }
}

@media (prefers-reduced-motion:reduce){
  .bms-hero-copy::after,
  .bms-page-copy::after,
  .bms-about-copy::after{
    animation:none;
  }
}


/* =========================================================
   v1.3.3 – Stefanie-Porträt
   ========================================================= */
.bms-stefanie-portrait{
  margin:0;
  position:relative;
}
.bms-stefanie-portrait img{
  display:block;
  width:100%;
  height:auto;
  border-radius:2px 26px 2px 2px;
  box-shadow:var(--bms-shadow,0 28px 80px rgba(40,28,20,.12));
}
@media(min-width:1101px){
  .bms-about-page .bms-stefanie-portrait img{
    max-height:650px;
    object-fit:cover;
    object-position:center 20%;
  }
  .bms-about-teaser .bms-stefanie-portrait img{
    max-height:520px;
    object-fit:cover;
    object-position:center 20%;
  }
}


/* =========================================================
   v1.3.4 – dezente KI-Bildhinweise
   ========================================================= */
.bms-ai-image{
  position:relative;
}
.bms-ai-image::after{
  content:attr(data-ai-label);
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:3;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:rgba(35,35,35,.72);
  border:1px solid rgba(0,0,0,.08);
  font-size:10px;
  line-height:1;
  letter-spacing:.025em;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  pointer-events:none;
}
.bms-ai-image--dark::after{
  background:rgba(30,30,30,.56);
  color:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.15);
}
@media(max-width:700px){
  .bms-ai-image::after{
    right:7px;
    bottom:7px;
    font-size:9px;
    padding:4px 7px;
  }
}


/* =========================================================
   v1.3.5 – Porträt-Präsentation und dezente KI-Kennzeichnung
   Layout von Startseite und Über-mich-Seite bleibt unverändert.
   ========================================================= */

/* Vorhandene KI-Hinweise nicht mehr als Overlay im Bild zeigen. */
.bms-ai-image::after{
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  margin:6px 2px 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  color:#8d8d8d !important;
  font-size:10.5px !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  text-align:left !important;
  animation:none !important;
  content:attr(data-ai-label) !important;
}

/* Über mich: hochwertiges rechteckiges Portrait, volle Originalauflösung. */
.bms-about-page .bms-stefanie-portrait{
  max-width:100%;
  margin:0;
}
.bms-about-page .bms-stefanie-portrait img{
  display:block;
  width:100%;
  height:auto;
  max-height:650px;
  object-fit:cover;
  object-position:center 18%;
  border-radius:2px 24px 2px 2px;
  box-shadow:var(--bms-shadow,0 28px 80px rgba(40,28,20,.12));
}

/* Startseite: Portrait als runder Passepartout-Ausschnitt. */
.bms-about-teaser .bms-stefanie-portrait{
  width:min(360px,90%);
  margin:0 auto;
  text-align:left;
}
.bms-about-teaser .bms-stefanie-portrait img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  object-fit:cover;
  object-position:center 18%;
  border-radius:50%;
  border:10px solid #fff;
  outline:1px solid rgba(239,23,23,.20);
  box-shadow:0 22px 55px rgba(40,28,20,.13);
}
.bms-about-teaser .bms-stefanie-portrait::after{
  margin-top:9px !important;
  text-align:center !important;
}

/* Andere KI-Visualisierungen: gleiches sehr dezentes Label unter dem Bild. */
.bms-subhero .bms-ai-image::after,
.bms-hero .bms-ai-image::after{
  text-align:right !important;
}

@media(max-width:700px){
  .bms-ai-image::after{
    font-size:10px !important;
    margin-top:5px !important;
  }
  .bms-about-teaser .bms-stefanie-portrait{
    width:min(300px,82vw);
  }
  .bms-about-teaser .bms-stefanie-portrait img{
    border-width:8px;
  }
}


/* =========================================================
   v1.3.6 – Impressum & Datenschutz
   ========================================================= */
.bms-legal-hero{
  padding:clamp(72px,8vw,120px) var(--bms-gutter) clamp(48px,5vw,76px);
  background:linear-gradient(110deg,#fff 0 64%,#f7f3ef 64% 100%);
  border-bottom:1px solid var(--bms-line);
}
.bms-legal-hero > *{
  width:min(100%,1180px);
  margin-left:auto;
  margin-right:auto;
}
.bms-legal-hero h1{
  margin:.15em 0 .25em;
  font-size:clamp(50px,4.5vw,76px);
  line-height:1.04;
  font-weight:300;
  letter-spacing:-.04em;
}
.bms-legal-content{
  width:min(calc(100% - 2 * var(--bms-gutter)),1180px);
  margin:0 auto;
  padding:clamp(64px,7vw,100px) 0 clamp(90px,8vw,130px);
}
.bms-legal-content h2{
  margin:2.2em 0 .65em;
  font-size:clamp(28px,2vw,34px);
  font-weight:350;
  line-height:1.2;
}
.bms-legal-content h2:first-child{margin-top:0}
.bms-legal-content h3{
  margin:1.8em 0 .55em;
  font-size:21px;
  font-weight:500;
}
.bms-legal-content h4{
  margin:1.5em 0 .45em;
  font-size:17px;
  font-weight:500;
}
.bms-legal-content p,
.bms-legal-content li{
  max-width:920px;
  color:#555;
  font-size:16px;
  line-height:1.78;
}
.bms-legal-content a{
  color:var(--bms-red);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.bms-legal-note{
  padding:18px 20px;
  background:var(--bms-warm);
  border-left:2px solid var(--bms-red);
  color:#666;
  font-size:14px!important;
}


/* =========================================================
   v1.3.7 – Mobile Navigation, Scrollführung, Rechtseiten mobil
   ========================================================= */

/* Alte Pseudo-Scrollhinweise entfernen – ab v1.3.7 echte Links per JS. */
.bms-hero-copy::after,
.bms-page-copy::after,
.bms-about-copy::after{
  content:none !important;
  display:none !important;
}

/* Echter, anklickbarer Scrollhinweis */
.bms-scroll-cue{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-top:34px;
  color:#777;
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:color .2s ease, transform .2s ease;
}
.bms-scroll-cue::after{
  content:"↓";
  color:var(--bms-red);
  font-size:15px;
  line-height:1;
  transition:transform .2s ease;
}
.bms-scroll-cue:hover,
.bms-scroll-cue:focus-visible{
  color:var(--bms-red);
}
.bms-scroll-cue:hover::after,
.bms-scroll-cue:focus-visible::after{
  transform:translateY(4px);
}
.bms-scroll-target{
  scroll-margin-top:110px;
}

/* Ergänzung unter dem Namen auf der Kontaktseite */
.bms-contact-brand{
  display:inline-block;
  margin-top:2px;
  color:#696969;
  font-size:14px;
  font-weight:400;
  letter-spacing:.01em;
}

/* iPhone / kleine Displays */
@media (max-width:782px){

  /* Safari: Sticky Header darf das fixed Gutenberg-Menü nicht begrenzen. */
  .bms-site-header{
    background:#fff !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    overflow:visible !important;
  }

  .bms-header-inner{
    min-height:76px;
  }

  /* Menü öffnen: gut sichtbares, ruhiges Zwei-Strich/Hamburger-Symbol. */
  .bms-site-header .wp-block-navigation__responsive-container-open{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    margin:0;
    padding:7px;
    color:var(--bms-ink);
  }
  .bms-site-header .wp-block-navigation__responsive-container-open svg{
    width:25px;
    height:25px;
  }

  /* Gutenberg Overlay wirklich an den Viewport binden. */
  .bms-site-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:none !important;
    height:100vh !important;
    min-height:100vh !important;
    height:100dvh !important;
    min-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    color:var(--bms-ink) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    z-index:999999 !important;
  }

  .bms-site-header .wp-block-navigation__responsive-close,
  .bms-site-header .wp-block-navigation__responsive-dialog{
    width:100% !important;
    max-width:none !important;
    min-height:100% !important;
    margin:0 !important;
  }

  .bms-site-header .wp-block-navigation__responsive-container-content{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:none !important;
    padding:96px 28px 40px !important;
    box-sizing:border-box !important;
  }

  .bms-site-header .wp-block-navigation__responsive-container-content
  .wp-block-navigation__container{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100% !important;
    max-width:none !important;
  }

  .bms-site-header .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    border-bottom:1px solid #ece8e4;
  }

  .bms-site-header .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:15px 0 !important;
    color:var(--bms-ink) !important;
    font-size:clamp(19px,5.1vw,22px) !important;
    font-weight:350 !important;
    line-height:1.25 !important;
    letter-spacing:-.01em !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .bms-site-header .wp-block-navigation__responsive-container-content
  .wp-block-navigation-item__content::after{
    display:none !important;
  }

  .bms-site-header .wp-block-navigation__responsive-container-close{
    position:absolute !important;
    top:20px !important;
    right:20px !important;
    width:42px !important;
    height:42px !important;
    padding:8px !important;
    color:var(--bms-ink) !important;
    z-index:2 !important;
  }
  .bms-site-header .wp-block-navigation__responsive-container-close svg{
    width:26px !important;
    height:26px !important;
  }

  /* Lange Überschriften auf iPhone sicher umbrechen. */
  .bms-legal-hero{
    box-sizing:border-box;
    overflow:hidden;
    padding:52px var(--bms-gutter) 38px;
  }
  .bms-legal-hero > *{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  .bms-legal-hero h1{
    max-width:100% !important;
    margin:.15em 0 .25em;
    font-size:clamp(32px,8.8vw,40px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    hyphens:auto;
  }
  .bms-legal-content{
    box-sizing:border-box;
    min-width:0;
  }
  .bms-legal-content h2,
  .bms-legal-content h3,
  .bms-legal-content h4,
  .bms-page-copy h1{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    hyphens:auto;
  }

  .bms-scroll-cue{
    margin-top:24px;
    font-size:10px;
  }
}

/* sehr schmale iPhones */
@media (max-width:390px){
  .bms-legal-hero h1{
    font-size:31px !important;
  }
  .bms-site-header .wp-block-navigation__responsive-container-content{
    padding-left:22px !important;
    padding-right:22px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bms-scroll-cue,
  .bms-scroll-cue::after{transition:none}
}


/* =========================================================
   v1.3.8 – iPhone: Logo-Unterzeile vollständig sichtbar
   Verhindert das Abschneiden der Unterlängen (z.B. „g“ in marketing).
   ========================================================= */
@media (max-width:782px){
  .bms-site-header .wp-block-site-logo{
    overflow:visible !important;
    line-height:1 !important;
    padding:3px 0 5px !important;
    margin:0 !important;
  }

  .bms-site-header .wp-block-site-logo a{
    display:block !important;
    overflow:visible !important;
    line-height:1 !important;
  }

  .bms-site-header .wp-block-site-logo img{
    display:block !important;
    width:120px !important;
    max-width:120px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:left center !important;
    overflow:visible !important;
  }

  .bms-header-inner{
    min-height:80px !important;
    overflow:visible !important;
    align-items:center !important;
  }
}


/* =========================================================
   v1.3.9 – neues Portrait, bestehende Darstellung beibehalten
   ========================================================= */
.bms-stefanie-portrait{margin:0;}
.bms-stefanie-portrait img{display:block;width:100%;height:auto;}
.bms-about-page .bms-stefanie-portrait img{
  max-height:650px;object-fit:cover;object-position:center 18%;
  border-radius:2px 24px 2px 2px;
  box-shadow:var(--bms-shadow,0 28px 80px rgba(40,28,20,.12));
}
.bms-about-teaser .bms-stefanie-portrait{width:min(360px,90%);margin:0 auto;}
.bms-about-teaser .bms-stefanie-portrait img{
  width:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:center 15%;
  border-radius:50%;border:10px solid #fff;outline:1px solid rgba(239,23,23,.20);
  box-shadow:0 22px 55px rgba(40,28,20,.13);
}
@media(max-width:700px){
  .bms-about-teaser .bms-stefanie-portrait{width:min(300px,82vw);}
  .bms-about-teaser .bms-stefanie-portrait img{border-width:8px;}
}
