/* Lokale Schriften – kein externer Font-Server, keine Datenübertragung an Google */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:420;font-display:swap;src:url('fonts/fraunces-420.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/fraunces-500.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/fraunces-600.woff2') format('woff2');}
@font-face{font-family:'Syne';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/syne-600.woff2') format('woff2');}
@font-face{font-family:'Syne';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/syne-700.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700.woff2') format('woff2');}


  :root{
    --navy:#0a192f;
    --navy-2:#0e2240;
    --navy-3:#142c50;
    --ivory:#faf9f6;
    --ivory-2:#f2efe7;
    --slate:#475569;
    --slate-soft:#8390a0;
    --brass:#ad8a56;
    --brass-light:#cdb088;
    --line:#dfddd3;
    --line-on-navy:rgba(250,249,246,0.16);
    --radius:2px;
    --maxw:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--ivory);
    color:var(--slate);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:16px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces',Georgia,serif;
    color:var(--navy);
    margin:0;
    font-weight:500;
  }
  p{margin:0 0 1em 0;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;cursor:pointer;}

  :focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

  /* ---------- NAV ---------- */
  .site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,249,246,0.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 28px;max-width:var(--maxw);margin:0 auto;
    gap:20px;
  }
  .nav__logo{
    display:flex;flex-direction:column;align-items:flex-start;gap:1px;
  }
  .nav__logo-name{
    font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;
    color:var(--navy);letter-spacing:-0.01em;line-height:1.1;
  }
  .nav__logo-sub{
    font-family:'Inter',sans-serif;font-size:0.65rem;font-weight:500;
    color:var(--slate-soft);letter-spacing:0.08em;text-transform:uppercase;
    line-height:1;
  }
  .nav__logo{
    font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600;
    color:var(--navy);letter-spacing:0.01em;white-space:nowrap;
    background:none;border:none;padding:0;
  }
  .nav__logo span{color:var(--navy);}
  .nav__links{
    display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;min-width:0;
    flex:1;justify-content:center;
  }
  .nav__links::-webkit-scrollbar{display:none;}
  .nav__link{
    font-size:0.88rem;color:var(--slate);white-space:nowrap;
    padding:6px 2px;border-bottom:1px solid transparent;
    background:none;border-top:none;border-left:none;border-right:none;
    transition:color .2s ease, border-color .2s ease;
  }
  .nav__link:hover{color:var(--navy);}
  .nav__link--active{color:var(--navy);font-weight:600;border-bottom-color:var(--brass);}
  .nav__cta{
    font-size:0.85rem;font-weight:600;color:var(--navy);
    border:1px solid var(--navy);border-radius:var(--radius);
    padding:9px 18px;white-space:nowrap;background:transparent;
    transition:background .2s ease,color .2s ease;
  }
  .nav__cta:hover{background:var(--navy);color:var(--ivory);}

  .lang-toggle{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;flex-shrink:0;}
  .lang-toggle button,.lang-toggle span,.lang-toggle a{
    font-size:0.76rem;font-weight:600;letter-spacing:0.04em;color:var(--slate-soft);
    padding:7px 11px;background:transparent;transition:background .2s ease,color .2s ease;
  }
  .lang-toggle button.is-active,.lang-toggle span.is-active{background:var(--navy);color:var(--ivory);}
  .lang-toggle button:not(.is-active):hover,.lang-toggle a:not(.is-active):hover{color:var(--navy);}

  /* ---------- TOAST ---------- */
  .toast{
    position:fixed;left:50%;bottom:28px;transform:translate(-50%,12px);
    background:var(--navy);color:var(--ivory);
    padding:12px 22px;border-radius:var(--radius);font-size:0.85rem;
    opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;
    z-index:100;letter-spacing:0.01em;
  }
  .toast.is-shown{opacity:1;transform:translate(-50%,0);}

  /* ---------- BUTTONS ---------- */
  .btn{
    display:inline-block;font-size:0.95rem;font-weight:600;
    padding:15px 30px;border-radius:var(--radius);
    transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;
    letter-spacing:0.01em;border:1px solid transparent;
  }
  .btn{display:inline-block;text-decoration:none;}
  .btn--primary{background:var(--navy);color:var(--ivory);}
  .btn--primary:hover{background:var(--navy-3);transform:translateY(-1px);}
  .btn--outline{border-color:var(--navy);color:var(--navy);background:transparent;}
  .btn--outline:hover{background:var(--navy);color:var(--ivory);}
  .btn--on-navy{border-color:var(--line-on-navy);color:var(--ivory);}
  .btn--on-navy:hover{background:var(--ivory);color:var(--navy);border-color:var(--ivory);}

  /* ---------- BOKEH SIGNATURE ---------- */
  .bokeh{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
  .bokeh span{
    position:absolute;border-radius:50%;filter:blur(18px);
  }
  .bokeh .c1{width:260px;height:260px;background:radial-gradient(circle, rgba(173,138,86,0.35), rgba(173,138,86,0) 70%);top:-60px;right:8%;}
  .bokeh .c2{width:160px;height:160px;background:radial-gradient(circle, rgba(173,138,86,0.28), rgba(173,138,86,0) 70%);bottom:10%;right:22%;}
  .bokeh .c3{width:340px;height:340px;background:radial-gradient(circle, rgba(20,44,80,0.5), rgba(20,44,80,0) 70%);top:30%;left:-80px;}
  .bokeh .c4{width:120px;height:120px;background:radial-gradient(circle, rgba(173,138,86,0.4), rgba(173,138,86,0) 70%);top:18%;left:38%;}
  .bokeh .c5{width:90px;height:90px;background:radial-gradient(circle, rgba(250,249,246,0.5), rgba(250,249,246,0) 70%);bottom:18%;left:14%;}

  /* Richer photographic bokeh field — used for the practice-photo placeholder */
  .bokeh--photo span{filter:blur(14px);}
  .bokeh--photo .b1{width:180px;height:180px;background:radial-gradient(circle, rgba(205,176,136,0.9), rgba(205,176,136,0) 72%);top:10%;left:14%;filter:blur(20px);}
  .bokeh--photo .b2{width:90px;height:90px;background:radial-gradient(circle, rgba(205,176,136,0.95), rgba(205,176,136,0) 70%);top:42%;left:62%;filter:blur(10px);}
  .bokeh--photo .b3{width:46px;height:46px;background:radial-gradient(circle, rgba(255,237,210,1), rgba(255,237,210,0) 75%);top:46%;left:64%;filter:blur(2px);}
  .bokeh--photo .b4{width:130px;height:130px;background:radial-gradient(circle, rgba(173,138,86,0.7), rgba(173,138,86,0) 72%);bottom:14%;left:8%;filter:blur(16px);}
  .bokeh--photo .b5{width:34px;height:34px;background:radial-gradient(circle, rgba(255,237,210,0.95), rgba(255,237,210,0) 75%);bottom:20%;left:16%;filter:blur(2px);}
  .bokeh--photo .b6{width:220px;height:220px;background:radial-gradient(circle, rgba(20,44,80,0.65), rgba(20,44,80,0) 70%);bottom:-60px;right:-40px;filter:blur(26px);}
  .bokeh--photo .b7{width:70px;height:70px;background:radial-gradient(circle, rgba(205,176,136,0.85), rgba(205,176,136,0) 70%);top:68%;left:36%;filter:blur(12px);}
  .bokeh--photo .b8{width:22px;height:22px;background:radial-gradient(circle, rgba(255,255,255,0.9), rgba(255,255,255,0) 75%);top:22%;left:58%;filter:blur(1.5px);}
  .bokeh--photo .b9{width:300px;height:300px;background:radial-gradient(circle, rgba(10,25,47,0.55), rgba(10,25,47,0) 65%);top:-90px;right:-60px;filter:blur(30px);}
  .bokeh--photo .b10{width:18px;height:18px;background:radial-gradient(circle, rgba(255,237,210,0.95), rgba(255,237,210,0) 75%);bottom:30%;left:48%;filter:blur(1.5px);}

  /* ---------- HERO ---------- */
  .hero{position:relative;padding:96px 0 80px;overflow:hidden;}
  .kicker{
    font-size:0.78rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--brass);margin-bottom:18px;display:block;position:relative;z-index:1;
  }
  .hero__title{
    font-size:clamp(2.3rem, 1.1rem + 4.2vw, 4.1rem);line-height:1.08;
    max-width:none;position:relative;z-index:1;margin-bottom:28px;
  }
  .hero__hook{
    font-size:1.15rem;line-height:1.7;max-width:70ch;color:var(--slate);
    position:relative;z-index:1;margin-bottom:38px;
  }
  .hero__ctas{display:flex;gap:16px;flex-wrap:wrap;position:relative;z-index:1;}

  /* ---------- PROFILE ---------- */
  .profile{padding:90px 0;}
  .profile__grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
  .profile__visual{
    position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;
    background:linear-gradient(160deg, var(--navy-3) 0%, var(--navy-2) 55%, var(--navy) 100%);
  }
  .profile__visual .bokeh{inset:0;}
  .profile__visual--typo{
    display:flex;align-items:center;justify-content:center;padding:40px;
    background:linear-gradient(160deg, var(--navy-3) 0%, var(--navy-2) 55%, var(--navy) 100%);
  }
  .profile__typo-quote{
    font-family:'Fraunces',Georgia,serif;font-size:1.45rem;font-weight:500;
    color:var(--ivory);line-height:1.5;margin:0;text-align:left;
    padding-left:0;
  }
  .profile__visual-silhouette{
    position:absolute;left:50%;bottom:0;transform:translateX(-50%);
    width:62%;height:46%;z-index:1;
    background:radial-gradient(ellipse at 50% 100%, rgba(4,11,23,0.65), rgba(4,11,23,0) 75%);
    border-radius:50% 50% 30% 30% / 60% 60% 20% 20%;
    filter:blur(6px);
  }
  .profile__visual-tag{
    position:absolute;bottom:18px;left:18px;z-index:2;
    font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;
    color:rgba(250,249,246,0.65);border:1px solid rgba(250,249,246,0.28);
    padding:6px 12px;border-radius:var(--radius);background:rgba(10,25,47,0.35);
  }
  .profile__bio h2{font-size:1.7rem;margin-bottom:10px;line-height:1.2;}
  .profile__qualifikation{font-size:0.85rem;font-weight:600;letter-spacing:0.1em;color:var(--brass);text-transform:uppercase;margin-bottom:18px !important;}
  .profile__bio p{font-size:1.02rem;color:var(--slate);max-width:52ch;}
  .profile__link{margin-top:22px;display:inline-block;cursor:pointer;}

  /* ---------- SERVICES ---------- */
  .services{padding:30px 0 100px;}
  .services__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
  .service-card{
    border:1px solid var(--line);border-radius:var(--radius);
    padding:40px 36px;background:var(--ivory-2);
    transition:border-color .2s ease, transform .2s ease, background .2s ease;
  }
  .service-card:hover{border-color:var(--brass);background:#fbfaf5;transform:translateY(-3px);}
  .service-card h3{font-size:1.4rem;margin-bottom:14px;}
  .service-card p{color:var(--slate);margin-bottom:20px;}
  .service-card__link{font-size:0.88rem;font-weight:600;color:var(--navy);border-bottom:1px solid var(--brass);padding-bottom:2px;background:none;border-top:none;border-left:none;border-right:none;}

  /* ---------- DISCRETION STRIP ---------- */
  .discretion{background:var(--navy);color:var(--ivory);padding:50px 0;}
  .discretion__row{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center;text-align:center;}
  .discretion__row p{margin:0;font-size:0.98rem;color:rgba(250,249,246,0.85);}

  /* ---------- BOTTOM CTA ---------- */

  .cta__mail{margin-top:30px;font-size:0.9rem;color:var(--slate);opacity:0.85;}
  .cta__mail a{color:var(--brass);text-decoration:none;border-bottom:1px solid rgba(173,138,86,0.35);}
  .cta__mail a:hover{border-bottom-color:var(--brass);}
  .bottom-cta{padding:110px 0;text-align:center;}
  .bottom-cta h2{font-size:clamp(1.7rem,1rem+2.4vw,2.5rem);max-width:18ch;margin:0 auto 16px;}
  .bottom-cta p{color:var(--slate);max-width:42ch;margin:0 auto 34px;}

  /* ---------- FOOTER ---------- */
  .site-footer{border-top:1px solid var(--line);padding:34px 0;}
  .site-footer__row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
  .site-footer p{margin:0;font-size:0.82rem;color:var(--slate-soft);}

  /* ---------- SUBPAGE HERO (smaller) ---------- */
  .page-hero{padding:64px 0 56px;}
  .page-hero__title{font-size:clamp(2rem,1.2rem+3.4vw,3.6rem);line-height:1.1;max-width:none;margin-bottom:24px;}
  .page-hero__hook p{font-size:1.15rem;max-width:70ch;color:var(--slate);}
  .page-hero__hook p + p{margin-top:1em;font-weight:500;color:var(--navy);}

  /* ---------- THEMEN LIST ---------- */
  .themen{padding:80px 0;}
  .themen__intro{font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--brass);margin-bottom:36px;}
  .themen-item{
    display:grid;grid-template-columns:220px 1fr;gap:36px;
    padding:30px 0;border-top:1px solid var(--line);
  }
  .themen-item:last-child{border-bottom:1px solid var(--line);}
  .themen-item__title{font-family:'Fraunces',serif;font-size:1.18rem;color:var(--navy);font-weight:500;}
  .themen-item__desc{color:var(--slate);max-width:58ch;}

  /* ---------- APPROACH ---------- */
  .approach{padding:90px 0;background:var(--ivory-2);}
  .approach__inner{max-width:680px;margin:0 auto;}
  .approach h2{font-size:1.9rem;margin-bottom:28px;}
  .approach p{color:var(--slate);font-size:1.04rem;}

  /* ---------- GOAL QUOTE ---------- */
  .goal{padding:80px 0;text-align:center;}
  .goal blockquote{
    margin:0 auto;max-width:42ch;font-family:'Fraunces',serif;
    font-size:1.5rem;color:var(--navy);line-height:1.4;font-weight:500;
  }

  /* ---------- PRICE CARD ---------- */
  .price{padding:80px 0 90px;}
  .price-card{
    max-width:520px;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);
    padding:40px;text-align:center;background:var(--ivory-2);
  }
  .price-card__amount{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--navy);margin-bottom:6px;}
  .price-card__meta{font-size:0.9rem;color:var(--slate-soft);margin-bottom:22px;}
  .price-card__legal{font-size:0.8rem;color:var(--slate-soft);line-height:1.6;border-top:1px solid var(--line);padding-top:18px;}

  /* ---------- REVEAL ---------- */
  /* Sichtbar ist der Standard. Nur wenn JS läuft (html.js), wird eingeblendet. */
  .js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease;}
  .js .reveal.is-visible{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .js .reveal{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }

  /* ---------- PILLARS (Mein Ansatz) ---------- */
  .pillars{padding:76px 0 20px;}
  .pillar{max-width:680px;margin:0 auto 60px;}
  .pillar__eyebrow{font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--brass);margin-bottom:10px;display:block;}
  .pillar h3{font-size:1.5rem;margin-bottom:18px;line-height:1.25;}
  .pillar p{color:var(--slate);font-size:1.02rem;}
  .pillar__footnote{font-size:0.82rem;color:var(--slate-soft);border-top:1px solid var(--line);padding-top:14px;margin-top:18px;}
  .pillar-link{max-width:680px;margin:40px auto 0;padding:28px 32px;background:var(--ivory-2);border-left:3px solid var(--brass);border-radius:var(--radius);}
  .pillar-link p{color:var(--navy);font-size:1.02rem;margin:0;}

  /* ---------- STEPS (Ablauf — genuinely sequential) ---------- */
  .steps{padding:20px 0 80px;}
  .steps__list{max-width:640px;margin:0 auto;}
  .step{display:grid;grid-template-columns:44px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--line);}
  .step:last-child{border-bottom:1px solid var(--line);}
  .step__num{
    width:36px;height:36px;border-radius:50%;border:1px solid var(--navy);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-size:0.95rem;color:var(--navy);
  }
  .step h3{font-size:1.06rem;margin-bottom:6px;}
  .step p{color:var(--slate);margin:0;}

  /* ---------- PRICE GRID & TERMS ---------- */
  .price-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:800px;margin:0 auto;}
  .price-grid .price-card{max-width:none;margin:0;}
  .terms-section{padding:10px 0 90px;text-align:center;}
  .terms-section h2{font-size:1.6rem;margin-bottom:14px;}
  .terms-section p{color:var(--slate);max-width:50ch;margin:0 auto;}

  /* ---------- VIEWS ---------- */
  
  

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1200px){
    .nav__cta{display:none;}
  }
  @media (max-width:900px){
    .nav{flex-wrap:wrap;row-gap:10px;}
    .nav__links{order:3;flex-basis:100%;justify-content:flex-start;}
  }
  @media (max-width:400px){
    .nav__logo-sub{font-size:0.58rem;letter-spacing:0.06em;}
  }
  @media (max-width:860px){
    .profile__grid{grid-template-columns:1fr;}
    .profile__visual{aspect-ratio:16/10;}
    .services__grid{grid-template-columns:1fr;}
    .themen-item{grid-template-columns:1fr;gap:10px;}
    .price-grid{grid-template-columns:1fr;}
    .nav{gap:14px;}
    .nav__links{justify-content:flex-start;gap:20px;}
  }
  @media (max-width:540px){
    .hero{padding:64px 0 56px;}
    .hero__ctas{flex-direction:column;align-items:stretch;}
    .hero__ctas .btn{text-align:center;}
    .bottom-cta{padding:70px 0;}
    .wrap{padding:0 20px;}

    /* Kopf: Logo links, Hamburger rechts */
    .nav{padding:14px 20px;gap:12px;flex-wrap:wrap;align-items:center;row-gap:0;}
    .nav__toggle{display:flex;order:3;}
    .nav__right{display:none;}

    /* Menü klappt unter den Kopf, volle Breite, große Tap-Ziele */
    .nav__links{
      order:4;flex-basis:100%;width:100%;
      flex-direction:column;align-items:stretch;
      gap:0;overflow:visible;
      max-height:0;opacity:0;pointer-events:none;
      transition:max-height .3s ease,opacity .25s ease;
    }
    .nav.is-open .nav__links{
      max-height:70vh;opacity:1;pointer-events:auto;margin-top:8px;
    }
    .nav__link{
      font-size:1.05rem;padding:15px 4px;border-bottom:1px solid var(--line);
    }
    .nav__link.is-current{border-bottom:1px solid var(--line);color:var(--brass);font-weight:600;}

    /* CTA + Sprache wandern ins offene Menü */
    .nav.is-open .nav__links::after{content:"";}
    .nav__menu-extra{display:flex;align-items:center;justify-content:space-between;
      padding:16px 4px 4px;gap:16px;}
    .nav__menu-extra .nav__cta{display:inline-block;padding:11px 18px;font-size:0.9rem;}
  }

/* --- Produktion: Navigation als echte Links --- */
.nav__logo{text-decoration:none;cursor:pointer;}
.nav__link{text-decoration:none;}
.nav__link.is-current{color:var(--navy);border-bottom:1px solid var(--brass);}
.nav__cta{text-decoration:none;display:inline-block;}
.nav__right{display:flex;align-items:center;gap:14px;}
.lang-toggle span,.lang-toggle a{display:inline-block;text-decoration:none;line-height:1;}
  .lang-toggle a{border-left:1px solid var(--line);}
.site-footer a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line);}
.site-footer a:hover{border-bottom-color:var(--brass);}
.footer__note{opacity:0.6;}
.legal{padding:80px 0 90px;}
.legal h1{font-family:'Fraunces',serif;font-size:clamp(2rem,1.2rem+3vw,2.8rem);margin-bottom:28px;color:var(--navy);}
.legal h2{font-size:1.15rem;margin:34px 0 10px;color:var(--navy);}
.legal p,.legal li{color:var(--slate);max-width:70ch;}
.legal ul{padding-left:20px;margin:8px 0;}

  /* --- Abschnittsüberschriften: als h2 ausgezeichnet, Optik unverändert --- */
  h2.themen__intro{font-family:'Inter',sans-serif;margin-bottom:0;}
  /* Nur für Screenreader: im Quelltext vorhanden, am Bildschirm unsichtbar */
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

  /* ---------- Mobile-Menü (Hamburger) ---------- */
  .nav__menu-extra{display:none;}
  .nav__toggle{display:none;background:none;border:0;cursor:pointer;
    width:44px;height:44px;padding:12px 10px;line-height:0;}
  .nav__toggle span{display:block;height:2px;width:24px;background:var(--navy);
    border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
  .nav__toggle span + span{margin-top:5px;}
  .nav.is-open .nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav.is-open .nav__toggle span:nth-child(2){opacity:0;}
  .nav.is-open .nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* Lange URLs dürfen umbrechen, sonst sprengen sie schmale Displays */
  body{word-wrap:break-word;overflow-wrap:break-word;}
  .legal p,.legal li,.legal a{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;}

  /* Muss GANZ am Ende stehen: überschreibt die Desktop-Grundregeln oben,
     da bei gleicher Spezifität die spätere Regel gewinnt. */
  @media (max-width:540px){
    .nav__toggle{display:block;}
    .nav__right{display:none;}
    .nav__menu-extra{display:flex;}
  }

  /* Footer-Kontaktblock (Adresse + klickbarer Kontakt, auf jeder Seite) */
  .site-footer__contact{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line);}
  .site-footer__name{font-weight:600;color:var(--navy)!important;font-size:0.9rem!important;margin-bottom:4px!important;}
  .site-footer__addr,.site-footer__reach{font-size:0.85rem!important;line-height:1.7;}
  .site-footer__contact a{border-bottom:1px solid var(--line);}
  .site-footer__contact a:hover{border-bottom-color:var(--brass);color:var(--navy);}

  /* Abschluss-Block: navy, vereint Vertrauens-Signale + Buchungs-CTA (kein "false bottom" mehr) */
  .closing{background:var(--navy);color:var(--ivory);padding:64px 0 72px;text-align:center;}
  .closing__signals{
    display:flex;flex-wrap:wrap;justify-content:center;gap:12px 34px;
    padding-bottom:40px;margin-bottom:44px;
    border-bottom:1px solid rgba(250,249,246,0.18);
  }
  .closing__signals span{font-size:0.95rem;color:rgba(250,249,246,0.85);}
  .closing h2{color:var(--ivory);font-size:clamp(1.7rem,1rem+2.4vw,2.5rem);max-width:20ch;margin:0 auto 16px;}
  .closing__sub{color:rgba(250,249,246,0.8)!important;max-width:44ch;margin:0 auto 34px!important;}
  .btn--onnavy{background:var(--brass);color:var(--navy);}
  .btn--onnavy:hover{background:#c19a63;}
  .closing .cta__mail{margin-top:30px;color:rgba(250,249,246,0.75);}
  .closing .cta__mail a{color:var(--ivory);border-bottom:1px solid rgba(250,249,246,0.4);}
  .closing .cta__mail a:hover{border-bottom-color:var(--brass);}

  /* Profil-Foto (ersetzt den Navy-Spruch-Block auf der Startseite) */
  .profile__visual--photo{aspect-ratio:4/5;background:none;padding:0;}
  .profile__visual--photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;}
