:root{--ink:#171512;--paper:#f5efe8;--paper-2:#fbf8f4;--gold:#b78b4c;--gold-dark:#8f6734;--muted:#6c665f;--line:rgba(23,21,18,.14);--white:#fff;--shadow:0 20px 60px rgba(20,16,10,.12);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",Arial,sans-serif;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper-2);font-family:var(--sans);line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:9999;background:#fff;padding:12px 18px}.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(248,244,239,.88);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line);box-shadow:0 10px 35px rgba(20,16,10,.06)}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:150px;height:70px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:28px;font-size:.92rem}.main-nav>a:not(.button){position:relative}.main-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.2s}.main-nav>a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid var(--gold);background:var(--gold);color:#fff;font-weight:600;letter-spacing:.02em;transition:.2s}.button:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-1px)}.button-small{min-height:44px;padding:0 19px}.button-ghost{background:transparent;border-color:rgba(255,255,255,.55)}.button-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:27px;height:1px;background:var(--ink);margin:6px}.hero{position:relative;min-height:860px;display:grid;align-items:center;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('../img/hero-munich.png') center 43%/cover no-repeat;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.60) 0%,rgba(10,9,8,.34) 45%,rgba(10,9,8,.08) 100%),linear-gradient(0deg,rgba(10,9,8,.25),transparent 40%)}.hero-content{position:relative;padding-top:0;padding-bottom:0;transform:translateY(-90px)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--gold);margin:0 0 18px}.eyebrow.light{color:#e7c895}.hero h1,.section h2,.cta-section h2{font-family:var(--serif);font-weight:500;line-height:.92;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(4.2rem,8vw,7.8rem);max-width:900px}.hero h1 em,.section h2 em,.cta-section h2 em{font-weight:500;color:#d6b477}.hero-copy{font-size:1.15rem;max-width:650px;margin:30px 0;color:rgba(255,255,255,.84)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.section{padding:120px 0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.section h2,.cta-section h2{font-size:clamp(3rem,5vw,5.2rem)}.intro-copy{padding-top:34px;font-size:1.08rem;color:var(--muted)}.intro-copy p:first-child{font-size:1.3rem;color:var(--ink)}.text-link{display:inline-flex;gap:12px;margin-top:20px;color:var(--gold-dark);font-weight:600}.section-soft{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:55px}.section-heading p{max-width:520px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{background:rgba(255,255,255,.7);border:1px solid rgba(183,139,76,.22);padding:38px;min-height:260px;transition:.25s}.service-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-grid span{font-family:var(--serif);color:var(--gold);font-size:1.4rem}.service-grid h3{font-family:var(--serif);font-size:2rem;font-weight:600;margin:22px 0 12px}.service-grid p{color:var(--muted);margin:0}.process-preview{background:#fff}.process-list{border-top:1px solid var(--line)}.process-list div{display:grid;grid-template-columns:80px 1fr;padding:23px 0;border-bottom:1px solid var(--line);align-items:center}.process-list strong{font-family:var(--serif);font-size:1.6rem;color:var(--gold)}.process-list span{font-size:1.1rem}.cta-section{background:linear-gradient(110deg,rgba(15,13,11,.96),rgba(38,31,24,.9)),url('../img/hero-munich.png') center/cover;color:#fff;padding:130px 0;text-align:center}.cta-inner{display:flex;flex-direction:column;align-items:center}.cta-section .button{margin-top:38px}.site-footer{background:#12100e;color:rgba(255,255,255,.72);padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px}.footer-logo{width:160px;filter:brightness(0) invert(1);opacity:.92;margin-bottom:22px}.site-footer h2{font-family:var(--serif);font-size:1.5rem;color:#fff;margin:0 0 16px}.site-footer a{display:block;margin:9px 0}.site-footer a:hover{color:#d6b477}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:55px;display:flex;justify-content:space-between;font-size:.8rem}.legal-page{padding:160px 0 100px}.legal-page h1{font-family:var(--serif);font-size:4rem}.placeholder{padding:180px 0 120px;min-height:70vh}.placeholder h1{font-family:var(--serif);font-size:clamp(3rem,6vw,6rem);margin:.2em 0}.notice{background:#fff;border-left:3px solid var(--gold);padding:20px;margin:25px 0}
@media(max-width:900px){.header-inner{height:78px}.brand img{width:128px;height:60px}.nav-toggle{display:block;z-index:2}.main-nav{position:fixed;top:78px;left:0;right:0;background:var(--paper-2);padding:25px 20px 35px;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav .button{margin-top:8px}.hero{min-height:760px}.hero-content{padding-bottom:80px}.split-grid{grid-template-columns:1fr;gap:35px}.section{padding:85px 0}.service-grid{grid-template-columns:1fr}.section-heading{display:block}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.container{width:min(calc(100% - 28px),var(--max))}.hero{min-height:700px}.hero h1{font-size:3.8rem}.hero-copy{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.split-grid{gap:20px}.section h2,.cta-section h2{font-size:3.25rem}.service-grid article{padding:28px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}}

/* Build 0.1.1 – Hero refinement */
.site-header{background:linear-gradient(180deg,rgba(8,12,16,.82),rgba(8,12,16,.30));border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.site-header.scrolled{background:rgba(11,15,19,.94);border-color:rgba(255,255,255,.10);box-shadow:0 12px 40px rgba(0,0,0,.22)}
.brand img{width:210px;height:72px;object-fit:contain;object-position:left center}
.main-nav{color:rgba(255,255,255,.88);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.main-nav>a:not(.button):after{background:#b68443}
.main-nav .button{background:transparent;border-color:rgba(209,164,98,.9);color:#efd4a8}
.main-nav .button:hover{background:#b68443;color:#fff;border-color:#b68443}
.nav-toggle span{background:#fff}
.hero{min-height:900px;align-items:center;padding-top:92px;background:#111820}
.hero-media{background-position:center 63%;filter:none;transform:scale(1.015)}
.hero-overlay{background:linear-gradient(90deg,rgba(6,12,18,.96) 0%,rgba(10,16,22,.87) 31%,rgba(38,44,49,.52) 62%,rgba(214,214,210,.14) 100%),linear-gradient(180deg,rgba(7,11,15,.18) 0%,rgba(7,11,15,.16) 50%,rgba(7,11,15,.48) 100%)}
.hero-content{padding-top:110px;padding-bottom:70px}
.hero h1{font-family:var(--sans);font-size:clamp(3.7rem,6.4vw,6.8rem);font-weight:700;line-height:.98;letter-spacing:-.055em;max-width:820px}
.hero h1 span{color:#fff}
.hero h1 em{display:block;margin-top:.08em;font-family:var(--serif);font-weight:500;font-style:italic;line-height:.92;letter-spacing:-.025em;color:#d2a55f;font-size:.82em}
.hero-copy{max-width:760px;font-size:1.12rem;line-height:1.75;color:rgba(255,255,255,.76);margin:34px 0 30px}
.hero .eyebrow{display:flex;align-items:center;gap:14px;color:#c18d48}
.hero .eyebrow:before{content:"";display:block;width:48px;height:1px;background:#c18d48}
.hero-actions .button:first-child{background:transparent;border-color:#b68443;color:#e6c492}
.hero-actions .button:first-child:hover{background:#b68443;color:#fff}
@media(max-width:900px){.site-header{background:rgba(11,15,19,.94)}.main-nav{background:#10171d;color:#fff}.brand img{width:175px}.hero{min-height:820px;padding-top:78px}.hero-content{padding-top:70px}.hero-media{background-position:58% 70%}}
@media(max-width:560px){.brand img{width:150px}.hero{min-height:780px}.hero h1{font-size:3.35rem}.hero h1 em{font-size:.78em}.hero-copy{font-size:1rem}.hero .eyebrow:before{width:30px}}


/* Build 0.1.2 – deutlich kühlerer Hero in Anthrazit und Grau */
.hero{background:#111820}
.hero-media{
  background-position:center 63%;
  filter:saturate(.72) contrast(1.06) brightness(.93) hue-rotate(7deg);
  transform:scale(1.015)
}
.hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(7,13,19,.97) 0%,
      rgba(12,19,26,.91) 29%,
      rgba(34,43,52,.67) 57%,
      rgba(86,94,101,.30) 78%,
      rgba(176,180,181,.10) 100%),
    linear-gradient(180deg,
      rgba(8,13,18,.18) 0%,
      rgba(15,21,27,.10) 46%,
      rgba(8,13,18,.55) 100%);
  mix-blend-mode:normal
}
.site-header{
  background:linear-gradient(180deg,rgba(7,12,17,.90),rgba(10,16,21,.46));
  border-bottom-color:rgba(255,255,255,.09)
}
.hero h1 em{color:#c99b56}
.hero .eyebrow,.hero .eyebrow.light{color:#c99b56}
.hero .eyebrow:before{background:#c99b56}
.hero-copy{color:rgba(240,244,247,.80)}
.hero-actions .button:first-child{border-color:#bd8b43;color:#e5c28c}
.hero-actions .button:first-child:hover{background:#a97735;border-color:#a97735;color:#fff}
@media(max-width:900px){
  .hero-media{background-position:58% 70%;filter:saturate(.74) contrast(1.04) brightness(.90) hue-rotate(7deg)}
  .hero-overlay{background:linear-gradient(90deg,rgba(7,13,19,.95),rgba(17,25,33,.78) 58%,rgba(73,82,90,.32)),linear-gradient(180deg,rgba(8,13,18,.18),rgba(8,13,18,.58))}
}

/* Build 0.1.5 – Hero sichtbar 50 px höher + transparenterer kühler Verlauf */
@media (min-width: 901px) {
  .hero-content {
    transform: translateY(-50px);
  }
}

.hero-overlay {
  background:
    linear-gradient(90deg,
      rgba(8,15,22,.72) 0%,
      rgba(15,23,31,.60) 30%,
      rgba(42,51,60,.42) 58%,
      rgba(101,109,116,.20) 80%,
      rgba(190,194,194,.06) 100%),
    linear-gradient(180deg,
      rgba(8,14,20,.10) 0%,
      rgba(12,18,24,.06) 48%,
      rgba(8,14,20,.34) 100%);
}

@media (max-width: 900px) {
  .hero-content {
    transform: translateY(-22px);
  }
  .hero-overlay {
    background:
      linear-gradient(90deg,
        rgba(8,15,22,.76) 0%,
        rgba(18,27,36,.60) 58%,
        rgba(80,89,97,.24) 100%),
      linear-gradient(180deg,
        rgba(8,14,20,.08),
        rgba(8,14,20,.38));
  }
}

/* Build 0.1.8 – Hero näher an den Header gesetzt */
.hero-premium{
  min-height:900px;
  padding-top:92px;
  display:flex;
  align-items:center;
}
.hero-premium .hero-media{
  background-position:center 58%;
  filter:saturate(.86) contrast(1.05) brightness(.90);
  transform:scale(1.015);
}
.hero-premium .hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(8,14,20,.87) 0%,
      rgba(12,19,27,.76) 34%,
      rgba(30,39,48,.47) 62%,
      rgba(63,72,80,.18) 82%,
      rgba(118,124,128,.05) 100%),
    linear-gradient(180deg,
      rgba(6,11,16,.20) 0%,
      rgba(6,11,16,.06) 48%,
      rgba(6,11,16,.42) 100%);
}
.hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.72fr);
  gap:76px;
  align-items:center;
  padding:34px 0 58px;
}
.hero-premium .hero-content{
  transform:none;
  padding:0;
  max-width:780px;
}
.hero-premium h1{
  margin:0;
  max-width:780px;
  font-family:var(--sans);
  font-size:clamp(3.5rem,5.8vw,6.35rem);
  font-weight:700;
  line-height:.96;
  letter-spacing:-.055em;
}
.hero-premium h1 span{display:block;color:#fff}
.hero-premium h1 em{
  display:block;
  margin-top:.12em;
  font-family:var(--serif);
  font-size:.72em;
  font-style:italic;
  font-weight:500;
  line-height:.94;
  letter-spacing:-.025em;
  color:#d0a158;
}
.hero-premium .hero-copy{
  max-width:690px;
  margin:30px 0 28px;
  color:rgba(255,255,255,.79);
  font-size:1.06rem;
  line-height:1.75;
}
.hero-premium .hero-actions .button{gap:18px}
.hero-premium .hero-actions .button:first-child{
  background:#b8833e;
  border-color:#b8833e;
  color:#fff;
}
.hero-premium .hero-actions .button:first-child:hover{
  background:#9f6f31;
  border-color:#9f6f31;
}
.hero-services{
  align-self:center;
  background:linear-gradient(150deg,rgba(35,46,56,.94),rgba(47,57,65,.88));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 28px 70px rgba(0,0,0,.26);
  padding:42px 42px 18px;
  backdrop-filter:blur(10px);
}
.hero-services-kicker{
  margin:0 0 28px;
  color:#c18b43;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.74rem;
  font-weight:600;
  line-height:1.7;
}
.hero-services-list{list-style:none;margin:0;padding:0}
.hero-services-list li{border-top:1px solid rgba(255,255,255,.16)}
.hero-services-list a{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  min-height:100px;
  color:#fff;
  transition:.2s ease;
}
.hero-services-list a:hover{padding-left:8px;color:#f0d19f}
.hero-services-list span{font-size:1.08rem;font-weight:600;line-height:1.4}
.hero-services-list b{font-size:.85rem;font-weight:500;color:rgba(255,255,255,.45)}


/* Desktop: Hero-Inhalte bewusst direkt unter dem Header positionieren */
@media(min-width:901px){
  .hero-premium{align-items:flex-start}
  .hero-premium .hero-layout{padding-top:34px}
}

@media(max-width:1050px){
  .hero-layout{grid-template-columns:1fr .75fr;gap:38px}
  .hero-services{padding:34px 30px 14px}
}
@media(max-width:900px){
  .hero-premium{min-height:auto;padding-top:78px}
  .hero-layout{grid-template-columns:1fr;gap:34px;padding:64px 0 58px}
  .hero-premium .hero-content{transform:none}
  .hero-premium .hero-overlay{
    background:linear-gradient(90deg,rgba(8,14,20,.86),rgba(17,25,34,.68) 58%,rgba(70,78,86,.22)),linear-gradient(180deg,rgba(8,14,20,.12),rgba(8,14,20,.48));
  }
  .hero-services{max-width:680px;width:100%}
}
@media(max-width:560px){
  .hero-layout{padding:52px 0 42px}
  .hero-premium h1{font-size:3.25rem}
  .hero-premium h1 em{font-size:.69em}
  .hero-services{padding:28px 24px 10px}
  .hero-services-list a{min-height:82px}
  .hero-services-list span{font-size:1rem}
}

/* Build 0.1.9 – ausschließlich linken Hero-Textblock höher setzen */
@media (min-width: 901px) {
  .hero-premium .hero-content {
    transform: translateY(-145px) !important;
  }
}

/* Build 0.1.11 – Textblock und Leistungsbox gemeinsam 75 px höher */
@media (min-width: 901px) {
  .hero-premium .hero-layout {
    align-items: start !important;
    padding-top: 90px !important;
  }

  .hero-premium .hero-content,
  .hero-premium .hero-services {
    transform: translateY(-75px) !important;
    align-self: start !important;
  }
}


/* Build 0.1.13 – Abschnitt „Warum Unternehmen IWR wählen“ */
.why-iwr{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 17% 16%,rgba(183,139,76,.08),transparent 28%),
    radial-gradient(circle at 83% 78%,rgba(183,139,76,.06),transparent 30%),
    #fbf8f4;
}
.why-iwr-heading{
  text-align:center;
  margin:0 auto 64px;
}
.why-iwr-heading .eyebrow{margin-bottom:6px}
.why-iwr-heading h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(3.1rem,5vw,5.25rem);
  font-weight:500;
  line-height:.95;
  letter-spacing:-.035em;
}
.why-iwr-heading h2 span{color:var(--ink)}
.why-iwr-heading h2:not(span){color:var(--gold-dark)}
.why-iwr-heading-line,
.why-iwr-item-line{
  display:block;
  width:34px;
  height:1px;
  background:var(--gold);
}
.why-iwr-heading-line{margin:18px auto 0}
.why-iwr-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:72px;
  row-gap:48px;
}
.why-iwr-item{
  text-align:center;
  padding:0 12px;
}
.why-iwr-icon{
  width:98px;
  height:98px;
  margin:0 auto 18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(183,139,76,.08);
}
.why-iwr-icon img{width:58px;height:58px}
.why-iwr-item h3{
  margin:0;
  font-family:var(--serif);
  font-size:2rem;
  font-weight:500;
  line-height:1.1;
}
.why-iwr-item-line{margin:12px auto 14px}
.why-iwr-item p{
  max-width:285px;
  margin:0 auto;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.65;
}
@media(max-width:900px){
  .why-iwr-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
}
@media(max-width:560px){
  .why-iwr-heading{margin-bottom:48px}
  .why-iwr-grid{grid-template-columns:1fr;row-gap:42px}
  .why-iwr-item p{max-width:330px}
}


/* Build 0.1.14 – Abschnitt „Unsere Leistungen / Was Wir Tun“ */
.services-overview{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 10%,rgba(183,139,76,.07),transparent 28%),
    radial-gradient(circle at 88% 86%,rgba(183,139,76,.05),transparent 30%),
    #fbf8f4;
}
.services-overview-heading{
  max-width:900px;
  margin:0 auto 58px;
  text-align:center;
}
.services-overview-heading .eyebrow{margin-bottom:6px}
.services-overview-heading h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(3.1rem,5vw,5.25rem);
  font-weight:500;
  line-height:.95;
  letter-spacing:-.035em;
}
.services-overview-heading h2 span{color:var(--ink)}
.services-overview-heading h2{color:var(--gold-dark)}
.services-heading-line,
.services-item-line{
  display:block;
  width:34px;
  height:1px;
  background:var(--gold);
}
.services-heading-line{margin:18px auto 12px}
.services-overview-heading>p:last-child{
  margin:0 auto;
  color:var(--ink);
  font-size:1rem;
  line-height:1.6;
}
.services-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:0;
  row-gap:30px;
}
.services-overview-item{
  position:relative;
  min-height:330px;
  padding:0 28px 18px;
  text-align:center;
}
.services-overview-item:not(:nth-child(4n+1))::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:20px;
  width:1px;
  background:rgba(183,139,76,.52);
}
.services-overview-icon{
  width:84px;
  height:84px;
  margin:0 auto 16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(183,139,76,.08);
}
.services-overview-icon img{width:52px;height:52px}
.services-overview-item h3{
  min-height:2.35em;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--serif);
  font-size:1.65rem;
  font-weight:500;
  line-height:1.08;
}
.services-item-line{margin:12px auto 14px}
.services-overview-item p{
  max-width:245px;
  margin:0 auto;
  color:var(--ink);
  font-size:.91rem;
  line-height:1.62;
}
@media(max-width:1050px){
  .services-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}
  .services-overview-item:not(:nth-child(4n+1))::before{display:none}
  .services-overview-item:nth-child(even)::before{
    content:"";
    display:block;
    position:absolute;
    left:0;
    top:8px;
    bottom:20px;
    width:1px;
    background:rgba(183,139,76,.52);
  }
}
@media(max-width:620px){
  .desktop-only{display:none}
  .services-overview-heading{margin-bottom:46px}
  .services-overview-grid{grid-template-columns:1fr;row-gap:38px}
  .services-overview-item{min-height:0;padding:0 10px 12px}
  .services-overview-item::before{display:none!important}
  .services-overview-item h3{min-height:0}
  .services-overview-item p{max-width:330px}
}

/* Build 0.1.15 – Premium-Bereich Sprachdienstleistungen */
.language-services{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 5% 15%,rgba(183,139,76,.09),transparent 31%),
    radial-gradient(circle at 92% 88%,rgba(183,139,76,.06),transparent 28%),
    #f8f3ed;
}
.language-services::before{
  content:"IWR";
  position:absolute;
  right:-1.5rem;
  top:-5rem;
  font-family:var(--serif);
  font-size:clamp(11rem,22vw,22rem);
  line-height:1;
  color:rgba(183,139,76,.035);
  pointer-events:none;
}
.language-services-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:84px 100px;
  align-items:start;
}
.language-services-intro{
  position:sticky;
  top:140px;
  padding-top:8px;
}
.language-services-intro h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(3.6rem,5.3vw,6.1rem);
  font-weight:500;
  line-height:.88;
  letter-spacing:-.045em;
}
.language-services-intro h2 em{
  display:block;
  margin-top:.15em;
  color:var(--gold-dark);
  font-style:normal;
}
.language-services-lead{
  max-width:520px;
  margin:34px 0 0;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.75;
}
.language-services-line{
  display:block;
  width:48px;
  height:1px;
  margin-top:30px;
  background:var(--gold);
}
.language-services-list{
  display:grid;
  gap:14px;
}
.language-service-card{
  position:relative;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  min-height:132px;
  padding:22px 24px 22px 20px;
  border:1px solid rgba(183,139,76,.18);
  background:rgba(255,255,255,.58);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
.language-service-card:hover{
  transform:translateX(8px);
  border-color:rgba(183,139,76,.48);
  background:rgba(255,255,255,.92);
  box-shadow:0 20px 50px rgba(44,33,20,.09);
}
.language-service-icon{
  width:68px;
  height:68px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(183,139,76,.09);
  transition:background .25s ease,transform .25s ease;
}
.language-service-card:hover .language-service-icon{
  background:rgba(183,139,76,.15);
  transform:scale(1.04);
}
.language-service-icon img{width:42px;height:42px}
.language-service-card h3{
  margin:0 0 5px;
  font-size:1.08rem;
  line-height:1.25;
}
.language-service-card p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.58;
}
.language-service-arrow{
  color:var(--gold-dark);
  font-size:1.35rem;
  opacity:.42;
  transform:translateX(-4px);
  transition:opacity .25s ease,transform .25s ease;
}
.language-service-card:hover .language-service-arrow{
  opacity:1;
  transform:translateX(2px);
}
.language-services-quote{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:112px 1fr;
  gap:34px;
  align-items:center;
  padding:34px 42px;
  border-left:2px solid var(--gold);
  background:linear-gradient(90deg,rgba(183,139,76,.11),rgba(255,255,255,.46));
}
.language-services-quote-icon{
  width:100px;
  height:100px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.56);
}
.language-services-quote-icon img{width:68px;height:68px}
.language-services-quote p{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(1.65rem,2.5vw,2.7rem);
  line-height:1.08;
}
.language-services-quote strong{display:block;font-weight:500;color:var(--ink)}
.language-services-quote span{display:block;color:var(--gold-dark)}
@media(max-width:900px){
  .language-services-layout{grid-template-columns:1fr;gap:52px}
  .language-services-intro{position:static;max-width:720px}
  .language-services-list{gap:12px}
  .language-services-quote{grid-column:auto}
}
@media(max-width:620px){
  .language-services-layout{gap:40px}
  .language-services-intro h2{font-size:3.45rem}
  .language-service-card{
    grid-template-columns:62px minmax(0,1fr);
    min-height:0;
    padding:20px 18px;
  }
  .language-service-icon{width:58px;height:58px}
  .language-service-icon img{width:36px;height:36px}
  .language-service-arrow{display:none}
  .language-services-quote{
    grid-template-columns:1fr;
    gap:18px;
    padding:30px 24px;
  }
  .language-services-quote-icon{width:82px;height:82px}
  .language-services-quote-icon img{width:56px;height:56px}
}


/* Build 0.1.16 – Kompakte Leistungsübersicht als Accordion */
.services-accordion{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 10%,rgba(183,139,76,.09),transparent 28%),
    radial-gradient(circle at 94% 92%,rgba(183,139,76,.06),transparent 25%),
    #f8f3ed;
}
.services-accordion::before{
  content:"IWR";
  position:absolute;
  left:-1.8rem;
  bottom:-5.5rem;
  font-family:var(--serif);
  font-size:clamp(12rem,25vw,25rem);
  line-height:1;
  color:rgba(183,139,76,.035);
  pointer-events:none;
}
.services-accordion-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:70px 100px;
  align-items:start;
}
.services-accordion-intro{
  position:sticky;
  top:135px;
}
.services-accordion-intro h2{
  margin:0;
  font-size:clamp(3.7rem,5.7vw,6.4rem);
  line-height:.88;
}
.services-accordion-intro h2 em{
  display:block;
  margin-top:.14em;
  color:var(--gold-dark);
  font-style:normal;
}
.services-accordion-intro>p:not(.eyebrow){
  max-width:470px;
  margin:30px 0 0;
  color:var(--muted);
  font-size:1.06rem;
  line-height:1.75;
}
.services-accordion-list{
  border-top:1px solid rgba(23,21,18,.18);
}
.services-accordion-item{
  border-bottom:1px solid rgba(23,21,18,.18);
}
.services-accordion-item h3{margin:0}
.services-accordion-trigger{
  width:100%;
  min-height:112px;
  display:grid;
  grid-template-columns:42px 64px minmax(0,1fr) 28px;
  gap:20px;
  align-items:center;
  padding:22px 4px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:center;
  cursor:pointer;
  font:inherit;
}
.services-accordion-number{
  align-self:start;
  padding-top:18px;
  color:var(--gold-dark);
  font-family:var(--serif);
  font-size:1rem;
}
.services-accordion-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(183,139,76,.09);
  transition:background .25s ease,transform .25s ease;
}
.services-accordion-icon img{width:39px;height:39px}
.services-accordion-title{
  font-family:var(--serif);
  font-size:clamp(1.65rem,2.4vw,2.35rem);
  font-weight:600;
  line-height:1.08;
}
.services-accordion-toggle{
  position:relative;
  width:24px;
  height:24px;
}
.services-accordion-toggle::before,
.services-accordion-toggle::after{
  content:"";
  position:absolute;
  left:2px;
  top:11px;
  width:20px;
  height:1px;
  background:var(--gold-dark);
  transition:transform .25s ease;
}
.services-accordion-toggle::after{transform:rotate(90deg)}
.services-accordion-trigger:hover .services-accordion-icon,
.services-accordion-item.is-open .services-accordion-icon{
  background:rgba(183,139,76,.16);
  transform:scale(1.04);
}
.services-accordion-item.is-open .services-accordion-toggle::after{transform:rotate(0)}
.services-accordion-panel{
  padding:0 52px 34px 126px;
}
.services-accordion-panel[hidden]{display:none}
.services-accordion-panel p{
  max-width:680px;
  margin:0 0 20px;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.65;
}
.services-accordion-panel ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 28px;
}
.services-accordion-panel li{
  position:relative;
  padding-left:20px;
  font-size:.92rem;
  line-height:1.45;
}
.services-accordion-panel li::before{
  content:"";
  position:absolute;
  left:0;
  top:.67em;
  width:8px;
  height:1px;
  background:var(--gold);
}
@media(max-width:900px){
  .services-accordion-layout{grid-template-columns:1fr;gap:52px}
  .services-accordion-intro{position:static;max-width:720px}
}
@media(max-width:620px){
  .services-accordion-layout{gap:38px}
  .services-accordion-trigger{
    grid-template-columns:34px 52px minmax(0,1fr) 24px;
    gap:12px;
    min-height:96px;
    padding:18px 0;
  }
  .services-accordion-number{padding-top:14px}
  .services-accordion-icon{width:52px;height:52px}
  .services-accordion-icon img{width:33px;height:33px}
  .services-accordion-title{font-size:1.55rem}
  .services-accordion-panel{padding:0 0 28px 98px}
  .services-accordion-panel ul{grid-template-columns:1fr;gap:8px}
}
@media(max-width:420px){
  .services-accordion-trigger{grid-template-columns:30px 46px minmax(0,1fr) 22px;gap:9px}
  .services-accordion-icon{width:46px;height:46px}
  .services-accordion-icon img{width:29px;height:29px}
  .services-accordion-title{font-size:1.38rem}
  .services-accordion-panel{padding-left:85px}
}

/* Build 0.1.18 – Horizontale Prozess-Timeline */
.process-timeline{
  position:relative;
  overflow:hidden;
  background:#fff;
}
.process-timeline::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:34%;
  height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
}
.process-heading{
  max-width:760px;
  margin:0 auto 78px;
  text-align:center;
}
.process-heading h2{
  margin:0;
  font-size:clamp(3.6rem,5.6vw,6rem);
  line-height:.92;
}
.process-heading h2 em{font-style:normal;color:var(--gold-dark)}
.process-heading>p:last-child{
  max-width:660px;
  margin:26px auto 0;
  color:var(--muted);
  font-size:1.04rem;
}
.process-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px;
}
.process-steps::before{
  content:"";
  position:absolute;
  top:69px;
  left:9%;
  right:9%;
  height:1px;
  background:linear-gradient(90deg,rgba(183,139,76,.25),var(--gold),rgba(183,139,76,.25));
}
.process-step{
  position:relative;
  z-index:1;
  min-width:0;
  padding:0 12px 28px;
  text-align:center;
  transition:transform .3s ease;
}
.process-step:hover{transform:translateY(-8px)}
.process-number{
  display:block;
  margin-bottom:14px;
  font-family:var(--serif);
  font-size:1.45rem;
  color:var(--gold-dark);
}
.process-icon{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  margin:0 auto 24px;
  border:1px solid rgba(183,139,76,.32);
  border-radius:50%;
  background:#fbf7f2;
  box-shadow:0 0 0 10px #fff;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.process-icon img{width:54px;height:54px;transition:transform .3s ease}
.process-step:hover .process-icon{
  background:rgba(183,139,76,.12);
  border-color:var(--gold);
  box-shadow:0 0 0 10px #fff,0 16px 35px rgba(63,45,25,.12);
}
.process-step:hover .process-icon img{transform:scale(1.08)}
.process-step h3{
  min-height:2.5em;
  margin:0 0 14px;
  font-family:var(--serif);
  font-size:clamp(1.45rem,1.7vw,1.85rem);
  line-height:1.08;
  font-weight:600;
}
.process-step p{
  margin:0;
  color:var(--muted);
  font-size:.91rem;
  line-height:1.65;
}
@media(max-width:1050px){
  .process-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 24px}
  .process-steps::before{display:none}
  .process-step{padding-inline:20px}
}
@media(max-width:700px){
  .process-heading{margin-bottom:52px;text-align:left}
  .process-heading>p:last-child{margin-left:0}
  .process-steps{display:block}
  .process-step{
    display:grid;
    grid-template-columns:54px 82px minmax(0,1fr);
    grid-template-areas:"number icon title" "number icon text";
    column-gap:18px;
    align-items:start;
    padding:0 0 42px;
    text-align:center;
  }
  .process-step:not(:last-child)::after{
    content:"";
    position:absolute;
    left:94px;
    top:82px;
    bottom:4px;
    width:1px;
    background:linear-gradient(var(--gold),rgba(183,139,76,.18));
  }
  .process-number{grid-area:number;margin:14px 0 0;font-size:1.2rem}
  .process-icon{grid-area:icon;width:72px;height:72px;margin:0;box-shadow:0 0 0 7px #fff}
  .process-icon img{width:43px;height:43px}
  .process-step h3{grid-area:title;min-height:0;margin:8px 0 8px;font-size:1.65rem}
  .process-step p{grid-area:text}
  .process-step:hover{transform:none}
}

/* Build 0.1.19 – Gründerinnen-Bereich mit direktem Buchungs-CTA */
.founder-section{
  position:relative;
  overflow:hidden;
  color:#f7f4ef;
  background:
    radial-gradient(circle at 78% 18%,rgba(183,139,76,.16),transparent 29%),
    linear-gradient(135deg,#101820 0%,#172531 58%,#0f171e 100%);
}
.founder-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:74px 74px;
}
.founder-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:clamp(58px,8vw,128px);
  align-items:center;
}
.founder-visual{
  min-height:650px;
  display:flex;
  align-items:stretch;
}
.founder-visual-frame{
  position:relative;
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(34px,4vw,62px);
  border:1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(7,13,18,.58)),
    radial-gradient(circle at 55% 28%,rgba(183,139,76,.22),transparent 33%);
  box-shadow:0 32px 80px rgba(0,0,0,.28);
}
.founder-visual-frame::before{
  content:"IWR";
  position:absolute;
  top:42px;
  left:50%;
  transform:translateX(-50%);
  font-family:var(--serif);
  font-size:clamp(8rem,16vw,15rem);
  line-height:1;
  color:rgba(255,255,255,.035);
  letter-spacing:.02em;
}
.founder-visual-frame img{
  position:absolute;
  top:50%;
  left:50%;
  width:min(76%,360px);
  transform:translate(-50%,-55%);
  opacity:.95;
}
.founder-visual-line{
  display:block;
  width:54px;
  height:1px;
  margin-bottom:20px;
  background:var(--gold);
}
.founder-visual-frame p{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(2rem,3.2vw,3.35rem);
  line-height:1.02;
  color:#fff;
}
.founder-content .eyebrow{margin-bottom:28px}
.founder-content h2{
  margin:0;
  color:#fff;
  font-size:clamp(3.6rem,6vw,6.7rem);
  line-height:.9;
}
.founder-content h2 em{font-style:normal;color:var(--gold)}
.founder-lead{
  max-width:720px;
  margin:34px 0 30px;
  color:#e5e0d8;
  font-family:var(--serif);
  font-size:clamp(1.35rem,2vw,1.8rem);
  line-height:1.42;
}
.founder-copy{
  max-width:760px;
  display:grid;
  gap:16px;
  color:rgba(247,244,239,.76);
}
.founder-copy p{margin:0;line-height:1.75}
.founder-quote{
  position:relative;
  max-width:760px;
  margin:38px 0 34px;
  padding:26px 30px 26px 72px;
  border-left:1px solid var(--gold);
  background:rgba(255,255,255,.055);
}
.founder-quote>span{
  position:absolute;
  left:24px;
  top:10px;
  color:var(--gold);
  font-family:var(--serif);
  font-size:4rem;
  line-height:1;
}
.founder-quote p{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(1.45rem,2.1vw,2rem);
  line-height:1.28;
}
.founder-quote strong{color:var(--gold);font-weight:500}
.founder-quote footer{
  margin-top:12px;
  color:rgba(247,244,239,.58);
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.founder-actions{display:flex;flex-wrap:wrap;gap:14px}
.founder-actions .button-ghost{color:#fff;border-color:rgba(255,255,255,.44)}
.founder-actions .button-ghost:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:980px){
  .founder-layout{grid-template-columns:1fr;gap:58px}
  .founder-visual{min-height:480px}
  .founder-visual-frame img{width:min(54%,330px)}
}
@media(max-width:620px){
  .founder-visual{min-height:390px}
  .founder-visual-frame{padding:28px}
  .founder-visual-frame img{width:min(70%,270px)}
  .founder-content h2{font-size:clamp(3.25rem,16vw,4.6rem)}
  .founder-quote{padding:22px 20px 22px 56px}
  .founder-quote>span{left:17px}
  .founder-actions{display:grid}
  .founder-actions .button{width:100%;justify-content:center}
}

/* Build 0.1.20 – IWR auf einen Blick in den Gründerinnen-Bereich integriert */
.founder-profile-strip{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:0;
  margin-top:72px;
  border-top:1px solid rgba(199,145,55,.34);
  border-bottom:1px solid rgba(199,145,55,.22);
}
.founder-profile-item{
  min-width:0;
  padding:28px 18px 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.11);
  transition:background .25s ease,transform .25s ease;
}
.founder-profile-item:last-child{border-right:0}
.founder-profile-item:hover{
  background:rgba(255,255,255,.035);
  transform:translateY(-4px);
}
.founder-profile-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(199,145,55,.10);
  border:1px solid rgba(199,145,55,.28);
  color:var(--gold);
}
.founder-profile-icon img{
  width:34px;
  height:34px;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(61%) sepia(63%) saturate(552%) hue-rotate(358deg) brightness(88%) contrast(88%);
}
.founder-profile-item p{
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:.92rem;
  line-height:1.45;
}
.founder-profile-item b{color:var(--gold);font-weight:500;padding:0 .18em}
@media(max-width:1180px){
  .founder-profile-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .founder-profile-item:nth-child(4){border-right:0}
  .founder-profile-item:nth-child(-n+4){border-bottom:1px solid rgba(255,255,255,.11)}
}
@media(max-width:760px){
  .founder-profile-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:52px}
  .founder-profile-item{border-right:1px solid rgba(255,255,255,.11)!important;border-bottom:1px solid rgba(255,255,255,.11)!important}
  .founder-profile-item:nth-child(even){border-right:0!important}
  .founder-profile-item:last-child{grid-column:1/-1;border-right:0!important;border-bottom:0!important}
}
@media(max-width:460px){
  .founder-profile-strip{grid-template-columns:1fr}
  .founder-profile-item{flex-direction:row;text-align:center;justify-content:flex-start;border-right:0!important;padding:18px 8px}
  .founder-profile-item:last-child{grid-column:auto}
  .founder-profile-icon{width:54px;height:54px;flex:0 0 54px}
  .founder-profile-icon img{width:29px;height:29px}
}


/* Build 0.1.22 – Überschrift oberhalb der Icon-Reihe */
.founder-profile-heading{
  grid-column:1/-1;
  margin:44px 0 24px;
  text-align:center;
}
.founder-profile-heading .eyebrow{
  margin:0 0 10px;
  color:var(--gold);
}
.founder-profile-heading>p:last-child{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1rem;
  line-height:1.6;
}
.founder-profile-strip{
  margin-top:0;
  padding-top:0;
}
.founder-profile-item:hover{
  background:rgba(199,145,55,.08);
  transform:translateY(-8px);
}
@media(max-width:760px){
  .founder-profile-heading{margin:36px 0 20px}
}


/* Build 0.1.23 */
.founder-profile-heading{
  grid-column:1/-1;
  max-width:760px;
  margin:10px auto 28px;
  text-align:center;
}
.founder-profile-heading .eyebrow{
  font-family:var(--serif);
  text-transform:none;
  letter-spacing:0;
  font-size:clamp(2.4rem,4vw,4rem);
  color:var(--gold);
  margin-bottom:10px;
}
.founder-profile-heading .eyebrow::after{
  content:"";
  display:block;
  width:64px;
  height:2px;
  background:var(--gold);
  margin:18px auto 0;
}
.founder-profile-heading p:last-child{
  font-size:1.15rem;
  line-height:1.7;
  color:rgba(255,255,255,.88);
  margin:18px auto 0;
}
.founder-profile-strip{
  margin-top:30px !important;
}


/* Build 0.1.24 – IWR auf einen Blick als vollwertiger, linksbündiger Abschnitt */
.founder-layout{
  column-gap:clamp(58px,8vw,128px);
  row-gap:0;
}
.founder-profile-block{
  grid-column:1/-1;
  width:100%;
  margin-top:40px;
}
.founder-profile-heading{
  max-width:none;
  margin:0 0 24px;
  text-align:center;
}
.founder-profile-heading h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(3rem,5vw,5.3rem);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.025em;
}
.founder-profile-heading h2 span{color:#fff}
.founder-profile-heading h2 em{
  color:var(--gold);
  font-style:normal;
  font-weight:500;
}
.founder-profile-heading-line{
  display:block;
  width:72px;
  height:2px;
  margin:20px 0 18px;
  background:var(--gold);
}
.founder-profile-heading>p:last-child{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:1.15rem;
  line-height:1.65;
}
.founder-profile-strip{
  margin-top:26px !important;
}
@media(max-width:980px){
  .founder-profile-block{margin-top:36px}
}
@media(max-width:760px){
  .founder-profile-block{margin-top:30px}
  .founder-profile-heading{margin-bottom:20px}
  .founder-profile-heading h2{font-size:clamp(2.7rem,11vw,4.2rem)}
  .founder-profile-strip{margin-top:20px !important}
}


/* Build 0.1.25 – heller Kontaktbereich mit Formular */
.contact-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 14%,rgba(199,145,55,.10),transparent 30%),
    radial-gradient(circle at 90% 78%,rgba(199,145,55,.08),transparent 28%),
    linear-gradient(135deg,#f8f3eb 0%,#f2ece4 48%,#fbf8f3 100%);
  color:var(--ink);
  padding-top:125px;
  padding-bottom:110px;
}
.contact-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(31,28,25,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(31,28,25,.022) 1px,transparent 1px);
  background-size:120px 120px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}
.contact-section .container{position:relative;z-index:1}
.contact-story{max-width:930px;margin:0 0 68px}
.contact-story .eyebrow{margin-bottom:22px}
.contact-story h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(4rem,7vw,7.6rem);
  font-weight:500;
  line-height:.84;
  letter-spacing:-.045em;
}
.contact-story h2 span{color:#1b1a18}
.contact-story h2 em{color:var(--gold-dark);font-style:normal;font-weight:500}
.contact-heading-line{display:block;width:74px;height:2px;background:var(--gold);margin:34px 0 26px}
.contact-story-intro{max-width:700px;margin:0;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.5;color:#59534c}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:clamp(60px,8vw,120px);align-items:start}
.contact-copy{padding-top:18px}
.contact-copy h3{margin:0;font-family:var(--serif);font-size:clamp(3rem,4.5vw,5rem);font-weight:500;line-height:.94;letter-spacing:-.035em}
.contact-copy h3 em{font-style:normal;color:var(--gold-dark)}
.contact-copy>p{max-width:590px;margin:28px 0 32px;color:#5c5650;font-size:1.06rem;line-height:1.75}
.contact-benefits{display:grid;gap:0;border-top:1px solid rgba(166,116,48,.30);max-width:610px}
.contact-benefits>div{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid rgba(166,116,48,.24);align-items:start}
.contact-benefits>div>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(199,145,55,.13);color:var(--gold-dark);font-weight:700}
.contact-benefits p{margin:0;color:#625b53;line-height:1.55}
.contact-benefits strong{color:#25211d;font-weight:600}
.contact-details{display:grid;gap:12px;margin-top:34px}
.contact-details a{display:flex;align-items:center;gap:14px;color:#3d3833;transition:color .2s ease,transform .2s ease}
.contact-details a:hover{color:var(--gold-dark);transform:translateX(4px)}
.contact-details small{display:block;margin-bottom:2px;color:#8b7d6c;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.contact-detail-icon{width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(166,116,48,.32);border-radius:50%;display:grid;place-items:center;color:var(--gold-dark);font-size:1.05rem}
.contact-linkedin{font-family:Arial,sans-serif;font-weight:700}
.contact-card{background:rgba(255,255,255,.82);border:1px solid rgba(166,116,48,.24);box-shadow:0 28px 85px rgba(62,49,35,.13);padding:clamp(32px,4vw,58px);backdrop-filter:blur(12px)}
.contact-card-head{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid rgba(166,116,48,.22)}
.contact-card-head p{margin:0;font-family:var(--serif);font-size:2.25rem;color:#211e1a}
.contact-card-head span{max-width:230px;text-align:right;color:#7a7167;font-size:.88rem;line-height:1.5}
.contact-form{display:grid;gap:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form label{display:grid;gap:9px;color:#4e4841;font-size:.82rem;font-weight:600;letter-spacing:.035em}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(91,76,58,.25);background:rgba(250,248,245,.86);color:#211e1a;font:inherit;font-size:.96rem;font-weight:400;letter-spacing:0;padding:14px 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.contact-form textarea{resize:vertical;min-height:145px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,145,55,.12);background:#fff}
.form-consent{grid-template-columns:20px 1fr!important;align-items:start;gap:11px!important;font-weight:400!important;line-height:1.5!important;color:#6e665d!important}
.form-consent input{width:17px;height:17px;margin-top:2px;accent-color:var(--gold-dark)}
.form-consent a{text-decoration:underline;text-underline-offset:2px;color:var(--gold-dark)}
.contact-submit{border:0;justify-content:center;width:100%;font-size:.92rem}
.contact-booking-link{text-align:center;color:var(--gold-dark);font-size:.88rem;font-weight:600}
.contact-booking-link:hover{text-decoration:underline;text-underline-offset:3px}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-message{padding:14px 16px;margin-bottom:24px;border-left:3px solid;font-size:.92rem;line-height:1.5}
.form-message-success{background:#eef7ef;border-color:#4d965b;color:#2d6c39}
.form-message-error{background:#fff0ee;border-color:#b95a4e;color:#853c34}
.contact-meta-bar{margin-top:72px;padding:24px 0;border-top:1px solid rgba(166,116,48,.28);border-bottom:1px solid rgba(166,116,48,.18);display:flex;justify-content:space-between;gap:24px;color:#756a5f;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase}
.contact-meta-bar a:hover{color:var(--gold-dark)}
@media(max-width:1050px){
  .contact-layout{grid-template-columns:1fr;gap:58px}
  .contact-copy{padding-top:0}
  .contact-card{max-width:800px}
}
@media(max-width:700px){
  .contact-section{padding-top:90px;padding-bottom:80px}
  .contact-story{margin-bottom:50px}
  .contact-story h2{font-size:clamp(3.5rem,16vw,5.6rem)}
  .contact-layout{gap:46px}
  .contact-card{padding:28px 22px}
  .contact-card-head{display:block}
  .contact-card-head span{display:block;max-width:none;text-align:center;margin-top:8px}
  .form-grid{grid-template-columns:1fr}
  .contact-meta-bar{flex-direction:column;align-items:center;margin-top:50px}
}

/* ======================================================================
   Build 2.0.1 – Modernisierung, klare Weißflächen & dezente Bewegung
   ====================================================================== */
:root{
  --paper:#ffffff;
  --paper-2:#ffffff;
  --ink:#15181c;
  --muted:#646b72;
  --navy:#121b24;
  --navy-2:#1b2833;
  --soft:#f4f6f7;
  --gold:#b98a47;
  --gold-dark:#91662f;
  --line:rgba(21,24,28,.12);
  --shadow-soft:0 24px 70px rgba(20,31,40,.10);
  --shadow-card:0 18px 45px rgba(20,31,40,.09);
  --sans:"Manrope",Arial,sans-serif;
}
body{
  background:#fff;
  color:var(--ink);
  font-family:var(--sans);
  letter-spacing:-.008em;
}
.section{padding:clamp(92px,9vw,138px) 0}
.section h2{letter-spacing:-.045em}
.eyebrow{font-size:.69rem;letter-spacing:.25em}

/* 1 – Über IWR: echtes Weiß, editorialer Aufbau */
.intro{
  background:#fff !important;
  position:relative;
  overflow:hidden;
}
.intro::after{
  content:"";
  position:absolute;
  width:420px;height:420px;border-radius:50%;
  right:-230px;top:-210px;
  border:1px solid rgba(185,138,71,.15);
  box-shadow:0 0 0 55px rgba(185,138,71,.025),0 0 0 110px rgba(185,138,71,.018);
  pointer-events:none;
}
.intro .split-grid{gap:clamp(60px,9vw,130px);position:relative;z-index:1}
.intro h2{font-size:clamp(3.5rem,5.7vw,6rem)}
.intro-copy{
  padding:28px 0 0 34px;
  border-left:1px solid rgba(185,138,71,.38);
  color:#626970;
}
.intro-copy p{max-width:650px}
.intro-copy p:first-child{font-size:1.35rem;line-height:1.65;color:#20262b}
.intro-copy strong{color:#20262b;font-weight:600}

/* 2 – Warum IWR: bewusster dunkler Wechselabschnitt */
.why-iwr{
  background:
    radial-gradient(circle at 10% 0%,rgba(185,138,71,.12),transparent 28%),
    radial-gradient(circle at 92% 96%,rgba(185,138,71,.08),transparent 30%),
    linear-gradient(145deg,#111a22,#18242e 58%,#111a22) !important;
  color:#fff;
}
.why-iwr-heading .eyebrow{color:#d3aa6c}
.why-iwr-heading h2 span{color:#fff}
.why-iwr-heading h2{color:#d3aa6c}
.why-iwr-heading-line{background:#c8954f}
.why-iwr-grid{gap:24px}
.why-iwr-item{
  padding:36px 28px 34px;
  min-height:310px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(8px);
  transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.why-iwr-item:hover{
  transform:translateY(-10px);
  border-color:rgba(201,149,79,.46);
  background:rgba(255,255,255,.065);
  box-shadow:0 25px 60px rgba(0,0,0,.22);
}
.why-iwr-icon{background:rgba(201,149,79,.10);border:1px solid rgba(201,149,79,.22)}
.why-iwr-item h3{color:#fff}
.why-iwr-item p{color:rgba(255,255,255,.66)}
.why-iwr-item-line{background:#b98a47}

/* 3 – Leistungsüberblick: Weiß + moderne Karten statt Beige */
.services-overview{
  background:#fff !important;
  position:relative;
}
.services-overview-heading{margin-bottom:62px}
.services-overview-heading>p:last-child{color:#687078}
.services-overview-grid{
  gap:18px !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.services-overview-item{
  position:relative;
  min-height:320px;
  padding:36px 28px 32px !important;
  border:1px solid rgba(21,24,28,.10);
  background:#fff;
  overflow:hidden;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.services-overview-item::before{display:none !important}
.services-overview-item::after{
  content:"";
  position:absolute;inset:auto 0 0;height:3px;
  background:linear-gradient(90deg,var(--gold),#d9b778);
  transform:scaleX(0);transform-origin:left;
  transition:transform .35s ease;
}
.services-overview-item:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-card);
  border-color:rgba(185,138,71,.34);
}
.services-overview-item:hover::after{transform:scaleX(1)}
.services-overview-icon{
  width:82px;height:82px;
  background:#f7f3ed;
  border:1px solid rgba(185,138,71,.18);
  transition:transform .35s ease,background .35s ease;
}
.services-overview-item:hover .services-overview-icon{transform:rotate(-4deg) scale(1.05);background:#f2e9dc}
.services-overview-item h3{font-size:1.8rem;line-height:1.1}
.services-overview-item p{color:#697078}

/* 4 – Detailleistungen: ruhiges, modernes Soft-Grau */
.services-accordion{
  background:#f3f5f6 !important;
  color:var(--ink);
}
.services-accordion::before{
  opacity:.45;
  background:radial-gradient(circle,rgba(185,138,71,.12) 0 1px,transparent 1.5px) 0 0/22px 22px !important;
}
.services-accordion-layout{gap:clamp(60px,8vw,115px)}
.services-accordion-intro{position:sticky;top:130px;align-self:start}
.services-accordion-intro h2{font-size:clamp(3.5rem,5vw,5.8rem)}
.services-accordion-list{
  background:#fff;
  border:1px solid rgba(21,24,28,.10);
  box-shadow:var(--shadow-soft);
  padding:0 34px;
}
.services-accordion-item{border-color:rgba(21,24,28,.11)}
.services-accordion-trigger{padding:27px 0}
.services-accordion-trigger:hover .services-accordion-title{color:var(--gold-dark)}
.services-accordion-icon{background:#f5f1ea;border-color:rgba(185,138,71,.18)}
.services-accordion-panel p,.services-accordion-panel li{color:#687078}

/* 5 – Prozess: Weiß, stärkere visuelle Führung */
.process-timeline{
  background:#fff !important;
  position:relative;
  overflow:hidden;
}
.process-timeline::after{
  content:"05";
  position:absolute;right:-30px;top:30px;
  font-family:var(--serif);font-size:20rem;line-height:1;
  color:rgba(20,31,40,.025);pointer-events:none;
}
.process-heading,.process-steps{position:relative;z-index:1}
.process-step{
  background:#fff;
  border:1px solid rgba(21,24,28,.10);
  box-shadow:0 12px 35px rgba(20,31,40,.055);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.process-step:hover{
  transform:translateY(-12px);
  box-shadow:var(--shadow-card);
  border-color:rgba(185,138,71,.38);
}
.process-steps::before{background:linear-gradient(90deg,transparent,var(--gold) 10%,var(--gold) 90%,transparent)}

/* Kontakt: grundsätzlich Weiß, Formular bewusst in Farbe */
.contact-section{
  background:#fff !important;
  color:var(--ink);
}
.contact-section::before{
  background:
    radial-gradient(circle at 88% 6%,rgba(185,138,71,.10),transparent 27%),
    linear-gradient(135deg,transparent 65%,rgba(18,27,36,.025)) !important;
}
.contact-story{margin-bottom:58px}
.contact-card{
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(185,138,71,.24),transparent 38%),
    linear-gradient(145deg,#111b24,#1b2a35 62%,#13202a) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 34px 90px rgba(17,27,36,.23) !important;
  border-radius:2px;
}
.contact-card-head{border-color:rgba(255,255,255,.14)}
.contact-card-head p{color:#fff}
.contact-card-head span{color:rgba(255,255,255,.62)}
.contact-form label{color:rgba(255,255,255,.78)}
.contact-form input,.contact-form select,.contact-form textarea{
  background:rgba(255,255,255,.96) !important;
  border-color:rgba(255,255,255,.20) !important;
  color:#192129 !important;
  border-radius:0;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  background:#fff !important;
  border-color:#d3aa6c !important;
  box-shadow:0 0 0 3px rgba(211,170,108,.16) !important;
}
.contact-form .form-consent{color:rgba(255,255,255,.64)}
.contact-form .form-consent a,.contact-booking-link{color:#e1bd83}
.contact-submit{
  background:linear-gradient(90deg,#a87535,#c89650) !important;
  border-color:#c89650 !important;
  box-shadow:0 12px 30px rgba(185,138,71,.22);
}
.contact-submit:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(185,138,71,.28)}
.contact-meta-bar{background:#f6f7f7;padding-inline:24px;border-color:rgba(21,24,28,.10)}

/* Globale Mikrointeraktionen */
.button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,31,40,.14)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Scroll-Reveals – nur aktiv, wenn JavaScript geladen ist */
.reveal-ready .reveal-item{
  opacity:0;
  transform:translateY(38px);
  transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.reveal-ready .reveal-item.reveal-left{transform:translateX(-42px)}
.reveal-ready .reveal-item.reveal-right{transform:translateX(42px)}
.reveal-ready .reveal-item.is-visible{opacity:1;transform:none}

@media(max-width:1050px){
  .services-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-accordion-intro{position:static}
}
@media(max-width:900px){
  .intro-copy{padding-left:0;border-left:0;border-top:1px solid rgba(185,138,71,.34);padding-top:28px}
  .why-iwr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-accordion-list{padding:0 22px}
  .contact-card{margin-top:10px}
}
@media(max-width:620px){
  .why-iwr-grid,.services-overview-grid{grid-template-columns:1fr}
  .why-iwr-item,.services-overview-item{min-height:auto}
  .contact-meta-bar{align-items:flex-start}
  .reveal-ready .reveal-item,.reveal-ready .reveal-item.reveal-left,.reveal-ready .reveal-item.reveal-right{transform:translateY(24px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal-ready .reveal-item{opacity:1;transform:none}
}


/* ==========================================================================\n   BUILD 3.0.0 – PREMIUM DESIGN-SYSTEM\n   Einheitliche Typografie, Rhythmik, Flächen und Mikrointeraktionen\n   ========================================================================== */
:root{
  --ink:#14191e;
  --ink-soft:#27313a;
  --navy:#111c25;
  --navy-2:#182731;
  --paper:#f7f7f5;
  --paper-2:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f3f5f5;
  --gold:#b88743;
  --gold-dark:#93662f;
  --gold-light:#d6b279;
  --muted:#667079;
  --line:rgba(20,25,30,.11);
  --line-gold:rgba(184,135,67,.38);
  --white:#fff;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;
  --max:1320px;
  --section-space:clamp(96px,9vw,150px);
  --section-space-compact:clamp(76px,7vw,112px);
  --content-gap:clamp(42px,6vw,92px);
  --radius-sm:2px;
  --shadow-soft:0 18px 55px rgba(17,28,37,.07);
  --shadow-card:0 26px 70px rgba(17,28,37,.12);
}

body{
  background:#fff;
  font-family:var(--sans);
  color:var(--ink);
  font-size:16px;
  line-height:1.72;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.container{width:min(calc(100% - 64px),var(--max))}
.section{padding:var(--section-space) 0}

/* Einheitliche Überschriftenarchitektur */
.eyebrow{
  margin:0 0 20px;
  color:var(--gold-dark);
  font-size:.72rem;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.24em;
}
.section h2,
.cta-section h2{
  font-family:var(--serif);
  font-size:clamp(3.65rem,5.5vw,6.15rem);
  font-weight:500;
  line-height:.92;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.section h2 em,
.cta-section h2 em{
  color:var(--gold-dark);
  font-style:normal;
}
.section h3{letter-spacing:-.025em}
.section p{font-size:clamp(1rem,.25vw + .93rem,1.08rem)}

/* Premium Goldlinie: wächst beim Reveal */
.why-iwr-heading-line,
.services-heading-line,
.founder-profile-heading-line,
.contact-heading-line{
  transform-origin:left center;
  transition:transform .9s cubic-bezier(.2,.75,.2,1),opacity .5s ease;
}
.reveal-ready .why-iwr-heading:not(.is-visible) .why-iwr-heading-line,
.reveal-ready .services-overview-heading:not(.is-visible) .services-heading-line,
.reveal-ready .founder-profile-heading:not(.is-visible) .founder-profile-heading-line,
.reveal-ready .contact-story:not(.is-visible) .contact-heading-line{
  transform:scaleX(0);
  opacity:0;
}

/* Abschnittswechsel klarer, ohne die Seite zu überladen */
.intro,
.services-overview,
.process-timeline,
.contact-section{background:#fff}
.intro,
.services-overview,
.services-accordion,
.process-timeline,
.founder-section,
.contact-section{position:relative}
.intro::after,
.services-overview::after,
.process-timeline::before,
.contact-section::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(calc(100% - 64px),var(--max));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent);
  pointer-events:none;
}

/* Über IWR – ruhiger Editorial-Aufbau */
.intro .split-grid{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:var(--content-gap);
}
.intro h2{max-width:680px}
.intro-copy{
  margin-top:10px;
  padding:18px 0 4px clamp(28px,4vw,58px);
  border-left:1px solid var(--line-gold);
}
.intro-copy p{margin:0 0 24px}
.intro-copy p:first-child{font-size:clamp(1.2rem,1.5vw,1.45rem);line-height:1.62}

/* Warum IWR – Karten leichter und präziser */
.why-iwr{padding:var(--section-space) 0 !important}
.why-iwr-heading{margin-bottom:clamp(48px,6vw,78px)}
.why-iwr-grid{gap:20px}
.why-iwr-item{
  min-height:292px;
  padding:34px 26px 30px;
  border-radius:var(--radius-sm);
}
.why-iwr-item:hover{transform:translateY(-7px)}
.why-iwr-icon{width:86px;height:86px;margin-bottom:22px}
.why-iwr-icon img{width:49px;height:49px}
.why-iwr-item h3{font-size:clamp(1.65rem,2vw,2rem)}

/* Leistungsüberblick – mehr redaktionelle Ruhe */
.services-overview-heading{max-width:940px;margin:0 auto clamp(54px,6vw,82px);text-align:center}
.services-overview-heading .services-heading-line{margin-left:auto;margin-right:auto}
.services-overview-heading>p:last-child{max-width:790px;margin-left:auto;margin-right:auto}
.services-overview-grid{gap:16px !important}
.services-overview-item{
  min-height:302px;
  padding:34px 26px 30px !important;
  box-shadow:none;
}
.services-overview-item:hover{transform:translateY(-7px)}
.services-overview-item h3{font-size:clamp(1.55rem,1.7vw,1.85rem)}

/* Expertise – Intro bewusst kleiner, Accordion Hauptdarsteller */
.services-accordion{
  padding:var(--section-space) 0 !important;
  background:linear-gradient(135deg,#f3f5f5 0%,#eef1f2 100%) !important;
}
.services-accordion-layout{
  grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr) !important;
  gap:clamp(48px,6vw,88px) !important;
  align-items:start;
}
.services-accordion-intro{top:118px !important;padding-top:10px}
.services-accordion-intro h2{
  max-width:360px;
  font-size:clamp(3.25rem,4.4vw,5rem) !important;
  line-height:.94;
}
.services-accordion-intro>p:not(.eyebrow){max-width:330px;line-height:1.78}
.services-accordion-list{
  padding:10px clamp(24px,3vw,42px) !important;
  border:1px solid rgba(20,25,30,.08) !important;
  box-shadow:0 30px 90px rgba(17,28,37,.10) !important;
}
.services-accordion-trigger{min-height:104px;padding:24px 0 !important}
.services-accordion-number{font-size:.7rem}
.services-accordion-icon{width:58px;height:58px}
.services-accordion-icon img{width:32px;height:32px}
.services-accordion-title{
  font-family:var(--serif);
  font-size:clamp(1.7rem,2.35vw,2.65rem) !important;
  line-height:1.02;
}
.services-accordion-panel{padding-bottom:30px}
.services-accordion-panel p{font-size:1.02rem;line-height:1.75}
.services-accordion-panel ul{column-gap:34px}

/* Prozess – eindeutiger Titel, kompaktere Premium-Timeline */
.process-timeline{
  padding:var(--section-space) 0 var(--section-space-compact) !important;
  overflow:hidden;
}
.process-heading{
  max-width:920px;
  margin:0 auto clamp(54px,6vw,76px) !important;
  text-align:center;
}
.process-heading h2{font-size:clamp(3.8rem,5.7vw,6.25rem)}
.process-heading>p:last-child{max-width:720px;margin:24px auto 0;color:var(--muted)}
.process-steps{gap:14px !important}
.process-steps::before{top:72px !important;height:1px !important}
.process-step{
  min-height:330px !important;
  padding:28px 22px 26px !important;
  border-color:rgba(20,25,30,.09) !important;
  box-shadow:0 10px 32px rgba(17,28,37,.045) !important;
}
.process-step:hover{transform:translateY(-7px) !important}
.process-number{font-size:.7rem;letter-spacing:.18em}
.process-icon{width:88px !important;height:88px !important;margin:18px auto 22px !important}
.process-icon img{width:50px !important;height:50px !important}
.process-step h3{font-size:clamp(1.55rem,1.7vw,1.9rem) !important;line-height:1.1}
.process-step p{font-size:.93rem !important;line-height:1.68;color:var(--muted)}

/* Gründerin bleibt der starke dunkle Anker – nur Systemabstände angleichen */
.founder-section{padding-top:var(--section-space) !important;padding-bottom:var(--section-space) !important}

/* Kontakt – weißer Abschluss, farbige Formularkarte */
.contact-section{padding:var(--section-space) 0 !important}
.contact-layout{gap:clamp(48px,7vw,100px)}
.contact-card{box-shadow:0 34px 90px rgba(17,27,36,.20) !important}

/* Buttons und Links: ruhiger, präziser */
.button{min-height:54px;padding-inline:27px;border-radius:0}
.text-link{position:relative;align-items:center}
.text-link::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:-5px;height:1px;
  background:var(--gold);
  transition:right .3s ease;
}
.text-link:hover::after{right:0}

/* Reveal-System mit unterschiedlichen, aber dezenten Bewegungen */
.reveal-ready .reveal-item{
  opacity:0;
  transform:translateY(28px);
  filter:none;
  transition:opacity .72s cubic-bezier(.2,.75,.2,1),transform .72s cubic-bezier(.2,.75,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.reveal-ready .reveal-item.reveal-left{transform:translateX(-32px)}
.reveal-ready .reveal-item.reveal-right{transform:translateX(32px)}
.reveal-ready .reveal-item.is-visible{opacity:1;transform:none;filter:none}

@media(max-width:1050px){
  .container{width:min(calc(100% - 48px),var(--max))}
  .services-accordion-layout{grid-template-columns:1fr !important}
  .services-accordion-intro{position:static !important;max-width:680px}
  .services-accordion-intro h2,.services-accordion-intro>p:not(.eyebrow){max-width:none}
  .process-steps{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .process-steps::before{display:none}
}
@media(max-width:700px){
  .container{width:min(calc(100% - 30px),var(--max))}
  .section{padding:82px 0}
  .section h2,.cta-section h2{font-size:clamp(3.1rem,14vw,4.5rem)}
  .intro .split-grid{grid-template-columns:1fr;gap:34px}
  .intro-copy{padding:26px 0 0;border-left:0;border-top:1px solid var(--line-gold)}
  .services-overview-heading{text-align:left}
  .services-overview-heading .services-heading-line{margin-left:0}
  .process-heading{text-align:center;margin-left:0 !important}
  .process-heading>p:last-child{margin-left:0}
  .process-steps{grid-template-columns:1fr !important}
  .process-step{min-height:auto !important;text-align:left}
  .process-icon{margin-left:0 !important}
}

.main-nav>a.is-active:not(.button){color:#e5c38e}.main-nav>a.is-active:not(.button)::after{right:0}


/* ==========================================================================
   BUILD 3.0.1 – KLARE SCHÄRFE BEIM SCROLLEN
   Sämtliche Blur-/Backdrop-Effekte entfernt. Fadings bleiben erhalten.
   ========================================================================== */
.site-header,
.hero-service-card,
.contact-card,
.services-accordion-shell {
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.reveal-ready .reveal-item,
.reveal-ready .reveal-item.is-visible {
  -webkit-filter:none !important;
  filter:none !important;
}

/* Build 3.1.0 – Booking-Teaser im Hero */
.hero-booking-teaser{padding:42px 42px 32px;background:linear-gradient(145deg,rgba(25,38,49,.97),rgba(39,53,64,.94));border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.hero-booking-teaser .hero-services-kicker{margin-bottom:22px}
.hero-booking-teaser h2{font-family:var(--serif);font-size:clamp(2rem,2.3vw,2.75rem);line-height:1.03;letter-spacing:-.025em;color:#fff;margin:0 0 26px}
.hero-booking-teaser h2 strong{color:#d6a85f;font-weight:600}
.hero-booking-benefits{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.hero-booking-benefits li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.88);font-size:.96rem}
.hero-booking-benefits li::before{content:"✓";position:absolute;left:0;color:#d7a658;font-weight:700}
.hero-booking-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.hero-booking-meta span{display:block;padding:12px 14px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.68);font-size:.8rem}
.hero-booking-meta b{display:block;color:#fff;font-size:.92rem}
.hero-booking-button{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:0 18px;background:#c89445;color:#fff;font-weight:700;transition:.25s}
.hero-booking-button:hover{background:#daa958;transform:translateY(-2px)}
.hero-booking-availability{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;color:rgba(255,255,255,.58);font-size:.76rem}
.hero-booking-availability span{width:7px;height:7px;border-radius:50%;background:#68bf84;box-shadow:0 0 0 4px rgba(104,191,132,.12)}

/* Build 3.1.0 – Premium Booking */
.booking-section{background:#f7f8f8;position:relative;overflow:hidden}
.booking-section::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(198,150,75,.05),transparent 34%),radial-gradient(circle at 88% 10%,rgba(28,48,62,.07),transparent 28%);pointer-events:none}
.booking-section .container{position:relative;z-index:1}
.booking-heading{max-width:860px;margin:0 auto 58px;text-align:center}
.booking-heading h2 span{color:var(--ink)}
.booking-heading>p:last-child{max-width:720px;margin:24px auto 0;color:var(--muted);font-size:1.08rem}
.booking-shell{max-width:1180px;margin:auto;background:#fff;border:1px solid rgba(20,31,39,.08);box-shadow:0 28px 90px rgba(18,34,44,.11)}
.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(20,31,39,.09);background:#10202b}
.booking-progress button{border:0;border-right:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(255,255,255,.48);min-height:76px;padding:14px 18px;font:600 .78rem var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:default}
.booking-progress button:last-child{border-right:0}
.booking-progress span{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:10px;border:1px solid currentColor;border-radius:50%;font-size:.7rem}
.booking-progress button.is-active,.booking-progress button.is-complete{color:#e4bd7c}
.booking-progress button.is-complete span{background:#bd873c;color:#fff;border-color:#bd873c}
.booking-stage{padding:clamp(34px,5vw,68px)}
.booking-step-head{margin-bottom:34px}
.booking-step-head>p{margin:0 0 9px;color:var(--gold-dark);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.booking-step-head h3{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.4rem);line-height:1;margin:0 0 10px;font-weight:600}
.booking-step-head>span{color:var(--muted)}
.booking-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.booking-service-card{position:relative;text-align:center;padding:30px 28px;border:1px solid rgba(20,31,39,.12);background:#fff;color:var(--ink);font-family:var(--sans);min-height:290px;cursor:pointer;transition:.25s}
.booking-service-card:hover{transform:translateY(-5px);box-shadow:0 18px 48px rgba(18,34,44,.09);border-color:rgba(184,132,61,.5)}
.booking-service-card.is-selected{background:#13232e;color:#fff;border-color:#13232e;box-shadow:0 22px 58px rgba(18,34,44,.18)}
.booking-service-tag{display:inline-block;color:#b47d32;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:28px}
.booking-service-card.is-selected .booking-service-tag{color:#e2b974}
.booking-service-card strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1.05}
.booking-service-card small{display:block;margin:8px 0 18px;color:var(--gold-dark);font-weight:700}
.booking-service-card.is-selected small{color:#e3bc7b}
.booking-service-card p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.65}
.booking-service-card.is-selected p{color:rgba(255,255,255,.68)}
.booking-service-card i{position:absolute;left:28px;bottom:24px;font-style:normal;font-size:.78rem;font-weight:700;color:var(--gold-dark)}
.booking-service-card.is-selected i{color:#e3bc7b}
.booking-step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:34px}
.button-outline{background:#fff;color:var(--ink);border-color:rgba(20,31,39,.28)}
.button-outline:hover{background:#f2f4f4;color:var(--ink);border-color:rgba(20,31,39,.4)}
.booking-calendar{max-width:840px;margin:auto;border:1px solid rgba(20,31,39,.10)}
.booking-calendar-head{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;min-height:70px;background:#13232e;color:#fff}
.booking-calendar-head button{height:70px;border:0;background:transparent;color:#e3bc7b;font-size:1.35rem;cursor:pointer}
.booking-calendar-head strong{text-align:center;font-family:var(--serif);font-size:1.65rem;font-weight:600}
.booking-date-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:18px;gap:8px;background:#fff}
.booking-date-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:center;padding:5px}
.booking-date-grid button{aspect-ratio:1;border:1px solid rgba(20,31,39,.09);background:#fff;color:var(--ink);font-weight:600;cursor:pointer;transition:.2s}
.booking-date-grid button:hover:not(:disabled),.booking-date-grid button.is-selected{background:#c38d42;color:#fff;border-color:#c38d42}
.booking-date-grid button:disabled{opacity:.22;cursor:not-allowed}
.booking-date-grid .is-empty{visibility:hidden}
.booking-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:820px}
.booking-time-grid button{min-height:58px;border:1px solid rgba(20,31,39,.13);background:#fff;color:var(--ink);font-weight:700;cursor:pointer;transition:.2s}
.booking-time-grid button:hover,.booking-time-grid button.is-selected{background:#13232e;color:#fff;border-color:#13232e}
.booking-time-note{max-width:820px;margin-top:22px;color:var(--muted);font-size:.8rem!important}
.booking-details-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:34px;align-items:start}
.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.booking-form label span{display:block;margin-bottom:8px;font-size:.78rem;font-weight:700;color:#374650}
.booking-form input,.booking-form textarea{width:100%;border:1px solid rgba(20,31,39,.15);background:#fff;padding:14px 15px;font:inherit;color:var(--ink);outline:none;transition:.2s}
.booking-form input:focus,.booking-form textarea:focus{border-color:#b47d32;box-shadow:0 0 0 3px rgba(180,125,50,.09)}
.booking-form-full{grid-column:1/-1}
.booking-consent{display:flex!important;align-items:center;gap:10px}
.booking-consent input{width:auto;margin-top:5px}
.booking-consent span{font-weight:400!important;color:var(--muted)!important;line-height:1.55}
.booking-consent a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px}
.booking-summary{background:#13232e;color:#fff;padding:30px}
.booking-summary>p{margin:0 0 20px;color:#e3bc7b;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem}
.booking-summary dl{margin:0}
.booking-summary dl div{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid rgba(255,255,255,.10)}
.booking-summary dt{color:rgba(255,255,255,.5);font-size:.8rem}.booking-summary dd{margin:0;text-align:right;font-weight:700}
.booking-summary small{display:block;margin-top:22px;color:rgba(255,255,255,.52);line-height:1.6}
.booking-form-message{margin-top:18px;font-weight:600}.booking-form-message.is-error{color:#a53131}.booking-form-message.is-success{color:#347b4d}
.booking-success{text-align:center;max-width:760px;margin:auto;padding:20px 0}
.booking-success-icon{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 24px;border-radius:50%;background:#13232e;color:#e3bc7b;font-size:2.2rem}
.booking-success h3{font-family:var(--serif);font-size:clamp(2.7rem,4vw,4.5rem);line-height:1;margin:0 0 20px}
.booking-success>strong{display:block;margin:20px auto 28px;color:var(--gold-dark);font-size:1.35rem;letter-spacing:.12em}

@media(max-width:1000px){.hero-booking-teaser{padding:34px}.booking-service-grid{grid-template-columns:1fr}.booking-service-card{min-height:230px}.booking-details-layout{grid-template-columns:1fr}.booking-time-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.booking-progress{grid-template-columns:repeat(4,1fr)}.booking-progress button{font-size:0;padding:8px;min-height:58px}.booking-progress span{margin:0;font-size:.68rem}.booking-stage{padding:28px 18px}.booking-form-grid{grid-template-columns:1fr}.booking-date-grid{padding:10px;gap:4px}.booking-time-grid{grid-template-columns:repeat(2,1fr)}.booking-step-actions{flex-direction:column-reverse}.booking-step-actions .button{width:100%}.hero-booking-meta{grid-template-columns:1fr}}

/* =========================================================
   IWR Build 3.1.1 — Premium Booking Experience
   Rein visuelles Redesign; Logik und Datenanbindung bleiben erhalten.
   ========================================================= */

/* Hero Booking Teaser */
.hero-booking-teaser{
  position:relative;
  overflow:hidden;
  padding:clamp(34px,3vw,52px);
  background:
    radial-gradient(circle at 86% 10%,rgba(217,171,96,.16),transparent 34%),
    linear-gradient(155deg,rgba(16,31,42,.985),rgba(31,49,61,.96));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 90px rgba(4,14,22,.34);
}
.hero-booking-teaser::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-120px;
  width:260px;
  height:260px;
  border:1px solid rgba(214,168,95,.15);
  border-radius:50%;
  pointer-events:none;
}
.hero-booking-teaser .hero-services-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}
.hero-booking-teaser .hero-services-kicker::before{
  content:"";
  width:34px;
  height:1px;
  background:#d6a85f;
}
.hero-booking-teaser h2{
  position:relative;
  z-index:1;
  max-width:420px;
  font-size:clamp(2.35rem,2.65vw,3.25rem);
  line-height:.98;
  margin-bottom:28px;
}
.hero-booking-benefits{
  position:relative;
  z-index:1;
  border-top:0;
  display:grid;
  gap:10px;
  margin-bottom:26px;
}
.hero-booking-benefits li{
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  padding:13px 15px 13px 42px;
  border-radius:10px;
}
.hero-booking-benefits li::before{
  left:15px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(214,168,95,.13);
  font-size:.7rem;
}
.hero-booking-meta{
  position:relative;
  z-index:1;
  gap:10px;
}
.hero-booking-meta span{
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  padding:13px 15px;
}
.hero-booking-button{
  position:relative;
  z-index:1;
  min-height:58px;
  border-radius:10px;
  background:linear-gradient(135deg,#c58d3f,#d8aa64);
  box-shadow:0 14px 34px rgba(197,141,63,.24);
}
.hero-booking-button:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(197,141,63,.32);
}

/* Booking Section Foundation */
.booking-section{
  background:#fff;
  padding-top:clamp(92px,9vw,150px);
  padding-bottom:clamp(96px,10vw,160px);
}
.booking-section::before{
  background:
    linear-gradient(rgba(16,31,42,.024) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,31,42,.024) 1px,transparent 1px),
    radial-gradient(circle at 12% 8%,rgba(198,150,75,.09),transparent 31%),
    radial-gradient(circle at 90% 88%,rgba(19,35,46,.055),transparent 34%);
  background-size:72px 72px,72px 72px,auto,auto;
}
.booking-heading{
  max-width:980px;
  margin-bottom:clamp(42px,5vw,72px);
}
.booking-heading .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#ad752d;
}
.booking-heading .eyebrow::before,
.booking-heading .eyebrow::after{
  content:"";
  width:34px;
  height:1px;
  background:currentColor;
  opacity:.65;
}
.booking-heading h2{
  font-size:clamp(3.5rem,6.3vw,7rem);
  line-height:.88;
  letter-spacing:-.045em;
}
.booking-heading>p:last-child{
  font-size:clamp(1rem,1.2vw,1.18rem);
  line-height:1.75;
}

/* Shell as a refined app surface */
.booking-shell{
  max-width:1240px;
  border:1px solid rgba(16,31,42,.09);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 34px 110px rgba(16,31,42,.12);
  background:rgba(255,255,255,.97);
}
.booking-progress{
  position:relative;
  display:flex;
  gap:8px;
  padding:14px;
  border:0;
  background:#11232f;
}
.booking-progress::after{
  content:"";
  position:absolute;
  left:58px;
  right:58px;
  top:50%;
  height:1px;
  background:rgba(255,255,255,.10);
  transform:translateY(-50%);
  pointer-events:none;
}
.booking-progress button{
  position:relative;
  z-index:1;
  flex:1;
  min-height:58px;
  border:0;
  border-radius:12px;
  color:rgba(255,255,255,.46);
  background:transparent;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.booking-progress button.is-active{
  color:#fff;
  background:rgba(255,255,255,.08);
}
.booking-progress button.is-complete{
  color:#e2bb7d;
}
.booking-progress span{
  background:#11232f;
  border-width:1px;
}
.booking-progress button.is-active span{
  color:#11232f;
  background:#e0b56f;
  border-color:#e0b56f;
}

.booking-stage{
  padding:clamp(38px,5.5vw,82px);
  min-height:620px;
}
.booking-step{
  animation:bookingStepIn .42s cubic-bezier(.22,.61,.36,1);
}
@keyframes bookingStepIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}
.booking-step-head{
  max-width:760px;
  margin-bottom:clamp(28px,4vw,48px);
}
.booking-step-head>p{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 11px;
  border-radius:999px;
  background:#f5efe6;
  color:#9c6726;
  letter-spacing:.16em;
}
.booking-step-head h3{
  font-size:clamp(2.55rem,4.8vw,5.2rem);
  letter-spacing:-.035em;
}
.booking-step-head>span{
  display:block;
  margin-top:10px;
  font-size:1rem;
}

/* Service Cards */
.booking-service-grid{
  gap:20px;
}
.booking-service-card{
  overflow:hidden;
  min-height:310px;
  padding:32px;
  border-radius:18px;
  border:1px solid rgba(16,31,42,.10);
  background:linear-gradient(180deg,#fff,#fbfcfc);
  box-shadow:0 12px 34px rgba(16,31,42,.045);
}
.booking-service-card::before{
  content:"";
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin-bottom:30px;
  border-radius:14px;
  background:#f6efe5;
  color:#b67e34;
  font-family:var(--serif);
  font-size:1.5rem;
  transition:.25s ease;
}
.booking-service-card:nth-child(1)::before{content:"01"}
.booking-service-card:nth-child(2)::before{content:"02"}
.booking-service-card:nth-child(3)::before{content:"03"}
.booking-service-card:hover{
  transform:translateY(-7px);
  border-color:rgba(184,132,61,.46);
  box-shadow:0 24px 64px rgba(16,31,42,.10);
}
.booking-service-card.is-selected{
  background:
    radial-gradient(circle at 100% 0,rgba(226,185,116,.16),transparent 36%),
    linear-gradient(155deg,#11232f,#1f3543);
  border-color:#11232f;
  box-shadow:0 28px 68px rgba(16,31,42,.20);
}
.booking-service-card.is-selected::before{
  background:rgba(226,185,116,.14);
  color:#e5bd7b;
}
.booking-service-tag{
  position:absolute;
  top:30px;
  right:28px;
  margin:0;
  padding:7px 10px;
  border-radius:999px;
  background:#f8f2ea;
}
.booking-service-card.is-selected .booking-service-tag{
  background:rgba(255,255,255,.08);
}
.booking-service-card strong{
  font-size:clamp(1.8rem,2.4vw,2.45rem);
}
.booking-service-card i{
  left:32px;
  bottom:26px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.booking-service-card i::after{content:"→"}

/* Calendar */
.booking-calendar{
  max-width:900px;
  border:1px solid rgba(16,31,42,.09);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(16,31,42,.07);
}
.booking-calendar-head{
  grid-template-columns:68px 1fr 68px;
  min-height:80px;
  background:linear-gradient(135deg,#11232f,#1f3543);
}
.booking-calendar-head button{
  height:80px;
  font-size:1.1rem;
  transition:.2s ease;
}
.booking-calendar-head button:hover{background:rgba(255,255,255,.07)}
.booking-calendar-head strong{font-size:1.9rem}
.booking-date-grid{
  padding:24px;
  gap:10px;
}
.booking-date-label{
  font-weight:700;
  padding:10px 4px;
}
.booking-date-grid button{
  border-radius:12px;
  border:1px solid rgba(16,31,42,.075);
  background:#fbfcfc;
  font-size:.95rem;
}
.booking-date-grid button:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(16,31,42,.08);
}
.booking-date-grid button.is-selected{
  background:linear-gradient(135deg,#bd8437,#d4a45f);
  box-shadow:0 10px 24px rgba(189,132,55,.25);
}

/* Time chips */
.booking-time-grid{
  max-width:900px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.booking-time-grid button{
  min-height:64px;
  border-radius:12px;
  background:#fbfcfc;
  border:1px solid rgba(16,31,42,.10);
  box-shadow:0 8px 18px rgba(16,31,42,.035);
}
.booking-time-grid button:hover{
  transform:translateY(-2px);
}
.booking-time-grid button.is-selected{
  background:linear-gradient(135deg,#11232f,#203744);
  box-shadow:0 14px 28px rgba(16,31,42,.18);
}
.booking-time-note{
  padding:15px 18px;
  border-left:3px solid #c48c3f;
  background:#faf7f2;
  border-radius:0 10px 10px 0;
}

/* Form and summary */
.booking-details-layout{
  grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);
  gap:26px;
}
.booking-form{
  padding:30px;
  border:1px solid rgba(16,31,42,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 50px rgba(16,31,42,.055);
}
.booking-form-grid{gap:18px}
.booking-form label span{
  margin-bottom:9px;
  color:#2d3f4a;
}
.booking-form input,
.booking-form textarea{
  border-radius:10px;
  border:1px solid rgba(16,31,42,.11);
  background:#f9fbfb;
  padding:15px 16px;
}
.booking-form input:focus,
.booking-form textarea:focus{
  background:#fff;
  box-shadow:0 0 0 4px rgba(180,125,50,.10);
}
.booking-summary{
  position:sticky;
  top:110px;
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0,rgba(226,185,116,.14),transparent 36%),
    linear-gradient(155deg,#11232f,#1f3543);
  box-shadow:0 22px 60px rgba(16,31,42,.18);
}
.booking-summary>p{
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.booking-summary dl div{
  padding:17px 0;
}
.booking-summary small{
  padding:16px;
  border-radius:10px;
  background:rgba(255,255,255,.05);
}

/* Buttons inside booking */
.booking-section .button{
  border-radius:10px;
  min-height:54px;
  padding-inline:24px;
}
.booking-section .button:not(.button-outline){
  background:linear-gradient(135deg,#bd8437,#d5a760);
  box-shadow:0 12px 28px rgba(189,132,55,.20);
}
.booking-section .button:not(.button-outline):hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(189,132,55,.28);
}
.booking-section .button-outline{
  border-color:rgba(16,31,42,.16);
  background:#fff;
  color:#1f313c;
}
.booking-step-actions{margin-top:40px}

/* Success */
.booking-success{
  max-width:800px;
  padding:38px 0;
}
.booking-success-icon{
  width:92px;
  height:92px;
  background:linear-gradient(135deg,#11232f,#203744);
  box-shadow:0 20px 48px rgba(16,31,42,.20);
}

@media(max-width:1000px){
  .booking-progress{overflow-x:auto}
  .booking-progress button{min-width:150px}
  .booking-service-card{min-height:250px}
  .booking-details-layout{grid-template-columns:1fr}
  .booking-summary{position:static}
}
@media(max-width:700px){
  .booking-shell{border-radius:16px}
  .booking-progress{gap:4px;padding:8px}
  .booking-progress button{min-width:52px;border-radius:9px}
  .booking-progress::after{display:none}
  .booking-stage{min-height:auto;padding:30px 16px}
  .booking-service-card{padding:26px 24px}
  .booking-service-tag{top:24px;right:22px}
  .booking-service-card i{left:24px}
  .booking-date-grid{padding:12px 8px;gap:5px}
  .booking-date-grid button{border-radius:8px}
  .booking-time-grid{grid-template-columns:repeat(2,1fr)}
  .booking-form{padding:22px 18px}
  .booking-heading h2{font-size:clamp(3rem,15vw,4.7rem)}
}

@media(prefers-reduced-motion:reduce){
  .booking-step{animation:none}
  .booking-service-card,
  .booking-time-grid button,
  .booking-date-grid button,
  .hero-booking-button{transition:none!important}
}


/* Build 3.2.1 – Premium Footer */
.footer-cta{
  position:relative;
  overflow:hidden;
  background:#fff;
  border-top:1px solid rgba(20,34,46,.08);
  padding:88px 0;
}
.footer-cta::before{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  right:-160px;
  top:-220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(183,139,76,.15),rgba(183,139,76,0) 68%);
  pointer-events:none;
}
.footer-cta-inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:70px;
}
.footer-cta-eyebrow{
  margin:0 0 15px;
  color:var(--gold-dark);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.72rem;
  font-weight:700;
}
.footer-cta h2{
  max-width:880px;
  margin:0;
  color:#14222e;
  font-family:var(--serif);
  font-size:clamp(2.5rem,4vw,4.6rem);
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1;
}
.footer-cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:62px;
  padding:0 28px;
  border:1px solid #b78b4c;
  background:#b78b4c;
  color:#fff;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 18px 45px rgba(132,90,40,.18);
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.footer-cta-button:hover{
  background:#956b35;
  transform:translateY(-3px);
  box-shadow:0 24px 55px rgba(132,90,40,.26);
}

.site-footer{
  position:relative;
  overflow:hidden;
  background:#13222e;
  color:rgba(255,255,255,.72);
  padding:92px 0 28px;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:74px 74px;
  pointer-events:none;
}
.footer-glow{
  position:absolute;
  width:580px;
  height:580px;
  left:-300px;
  top:-320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(183,139,76,.14),rgba(183,139,76,0) 70%);
  pointer-events:none;
}
.footer-main{
  position:relative;
  display:grid;
  grid-template-columns:minmax(290px,1.55fr) repeat(3,minmax(150px,.72fr));
  gap:58px;
}
.footer-brand-column{padding-right:28px}
.footer-brand{display:inline-flex}
.footer-logo{
  width:225px;
  height:auto;
  margin:0 0 16px;
  filter:none;
  opacity:1;
}
.footer-claim{
  margin:0 0 18px;
  color:#d5ad72;
  font-family:var(--serif);
  font-size:1.65rem;
  font-weight:500;
}
.footer-description{
  max-width:500px;
  margin:0 0 30px;
  color:rgba(255,255,255,.62);
  font-size:.96rem;
  line-height:1.75;
}
.footer-contact-list{
  display:grid;
  gap:12px;
  margin:0 0 28px;
}
.footer-contact-item{
  display:flex!important;
  align-items:center;
  gap:13px;
  margin:0!important;
  color:rgba(255,255,255,.76);
  transition:color .22s ease,transform .22s ease;
}
a.footer-contact-item:hover{
  color:#e1bc82;
  transform:translateX(3px);
}
.footer-contact-item small{
  display:block;
  margin-bottom:1px;
  color:rgba(255,255,255,.42);
  font-size:.67rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-contact-icon{
  flex:0 0 37px;
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border:1px solid rgba(183,139,76,.38);
  border-radius:50%;
  color:#d4a65e;
}
.footer-contact-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-socials{display:flex;gap:10px}
.footer-socials a{
  width:42px;
  height:42px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  color:#fff;
  transition:.22s ease;
}
.footer-socials a:hover{
  color:#13222e!important;
  background:#d1a15d;
  border-color:#d1a15d;
  transform:translateY(-3px);
}
.footer-socials span{font-weight:700;font-size:.9rem}
.footer-socials svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-column{padding-top:7px}
.footer-heading{
  position:relative;
  margin:0 0 26px;
  padding-bottom:15px;
  color:#fff;
  font-family:var(--serif);
  font-size:1.55rem;
  font-weight:600;
}
.footer-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:1px;
  background:#b78b4c;
}
.site-footer .footer-column a{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  color:rgba(255,255,255,.65);
  font-size:.9rem;
  line-height:1.45;
  transition:color .22s ease,transform .22s ease;
}
.site-footer .footer-column a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:#c99a55;
  transition:width .22s ease;
}
.site-footer .footer-column a:hover{
  color:#e5bf86;
  transform:translateX(3px);
}
.site-footer .footer-column a:hover::after{width:100%}
.site-footer .footer-booking-link{
  margin-top:21px;
  color:#ddb574;
  font-weight:700;
}
.footer-language-note{
  display:flex;
  gap:7px;
  margin:26px 0 0;
}
.footer-language-note span{
  display:grid;
  place-items:center;
  width:34px;
  height:27px;
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.52);
  font-size:.63rem;
  font-weight:700;
  letter-spacing:.08em;
}
.footer-bottom{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:25px;
  margin-top:70px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.45);
  font-size:.74rem;
  letter-spacing:.03em;
}
.footer-bottom-claim{
  color:#cfa15d;
  font-family:var(--serif);
  font-size:1rem;
}
.footer-made{text-align:right}

@media(max-width:1080px){
  .footer-main{grid-template-columns:1.35fr repeat(2,1fr)}
  .footer-column:last-child{grid-column:2/4}
}
@media(max-width:820px){
  .footer-cta{padding:70px 0}
  .footer-cta-inner{grid-template-columns:1fr;gap:28px}
  .footer-cta-button{justify-self:start}
  .footer-main{grid-template-columns:1fr 1fr;gap:45px 35px}
  .footer-brand-column{grid-column:1/-1;padding-right:0}
  .footer-column:last-child{grid-column:auto}
  .footer-bottom{grid-template-columns:1fr;gap:8px;text-align:left}
  .footer-bottom-claim{order:-1}
  .footer-made{text-align:left}
}
@media(max-width:560px){
  .footer-cta{padding:58px 0}
  .footer-cta h2{font-size:2.65rem}
  .footer-cta-button{width:100%;padding:0 18px}
  .site-footer{padding-top:68px}
  .footer-main{grid-template-columns:1fr;gap:38px}
  .footer-brand-column,.footer-column:last-child{grid-column:auto}
  .footer-logo{width:190px}
  .footer-bottom{margin-top:48px}
}

/* Build 3.2.1 – horizontale Kontaktleiste im Footer */
.footer-brand-column .footer-description{
  margin-bottom:26px;
}
.footer-contact-list{
  display:none;
}
.footer-contact-bar{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:62px;
  border-top:1px solid rgba(183,139,76,.34);
  border-bottom:1px solid rgba(255,255,255,.11);
}
.footer-contact-card{
  min-width:0;
  min-height:112px;
  display:flex!important;
  align-items:center;
  gap:17px;
  margin:0!important;
  padding:25px 30px;
  color:rgba(255,255,255,.78);
  border-right:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.012);
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.footer-contact-card:last-child{
  border-right:0;
}
a.footer-contact-card:hover{
  color:#e7c38c;
  background:rgba(183,139,76,.075);
  transform:translateY(-2px);
}
.footer-contact-card .footer-contact-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
}
.footer-contact-card .footer-contact-icon svg{
  width:20px;
  height:20px;
}
.footer-contact-copy{
  min-width:0;
  display:block;
}
.footer-contact-copy small{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.42);
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
}
.footer-contact-copy strong{
  display:block;
  overflow-wrap:anywhere;
  color:inherit;
  font-size:.96rem;
  font-weight:500;
  line-height:1.45;
}
.footer-bottom{
  margin-top:0;
  border-top:0;
}
@media(max-width:900px){
  .footer-contact-bar{
    grid-template-columns:1fr;
    margin-top:50px;
  }
  .footer-contact-card{
    min-height:92px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .footer-contact-card:last-child{
    border-bottom:0;
  }
}
@media(max-width:560px){
  .footer-contact-card{
    padding:21px 18px;
  }
  .footer-contact-copy strong{
    font-size:.9rem;
  }
}

/* Build 3.2.4: Sprachen in der Profilkarte sauber untereinander */
.founder-profile-item .language-list{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
  text-align:center;
}
.founder-profile-item .language-list span{
  display:block;
  white-space:nowrap;
}
@media(max-width:680px){
  .founder-profile-item .language-list{
    margin-inline:auto;
  }
}


/* Build 3.3.1 – modernes IWR Custom-Select im Kontaktformular */
.contact-field{display:grid;gap:9px}
.contact-field>label{color:rgba(255,255,255,.78);font-size:.82rem;font-weight:600;letter-spacing:.035em}
.iwr-custom-select{position:relative}
.iwr-custom-select-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.iwr-custom-select-trigger{
  width:100%;min-height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(255,255,255,.97);color:#192129;
  font:inherit;font-size:.98rem;text-align:left;cursor:pointer;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease;
}
.iwr-custom-select-trigger:hover{border-color:rgba(211,170,108,.70);background:#fff}
.iwr-custom-select-trigger:focus-visible,.iwr-custom-select.is-open .iwr-custom-select-trigger{outline:none;border-color:#d3aa6c;box-shadow:0 0 0 3px rgba(211,170,108,.17)}
.iwr-custom-select-trigger svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:#a87535;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
.iwr-custom-select.is-open .iwr-custom-select-trigger svg{transform:rotate(180deg)}
.iwr-custom-select-trigger [data-custom-select-label].is-placeholder{color:#747b80}
.iwr-custom-select-menu{
  position:absolute;z-index:60;top:calc(100% + 9px);left:0;right:0;padding:8px;overflow:hidden;
  border:1px solid rgba(211,170,108,.38);border-radius:12px;background:linear-gradient(145deg,#111b24,#1b2a35);
  box-shadow:0 24px 58px rgba(3,10,16,.38);
}
.iwr-custom-select-menu[hidden]{display:none}
.iwr-custom-select-menu button{
  width:100%;padding:13px 14px;border:0;border-radius:7px;background:transparent;color:rgba(255,255,255,.86);
  font:inherit;font-size:.94rem;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease;
}
.iwr-custom-select-menu button:hover,.iwr-custom-select-menu button:focus-visible{outline:none;background:rgba(211,170,108,.14);color:#f0c987;transform:translateX(3px)}
.iwr-custom-select-menu button[aria-selected="true"]{background:rgba(211,170,108,.20);color:#f0c987}
.iwr-custom-select-error{font-size:.78rem;color:#f0b7ae;line-height:1.4}
.iwr-custom-select.has-error .iwr-custom-select-trigger{border-color:#d8786c;box-shadow:0 0 0 3px rgba(216,120,108,.14)}
@media(max-width:700px){.iwr-custom-select-menu{position:relative;top:auto;margin-top:8px}.iwr-custom-select-menu button{padding:14px}}

/* Build 4.1.0 – dynamische Booking-Zustände */
.booking-loading,.booking-no-slots{grid-column:1/-1;padding:22px 18px;text-align:center;color:#66727a;font-size:15px;}
.booking-no-slots{background:#f5f6f6;border:1px solid #e0e4e6;border-radius:14px;}
.booking-success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px;}
.booking-date-grid button:disabled{opacity:.28;cursor:not-allowed;transform:none!important;}

/* ==========================================================================\n   BUILD 4.2.0 – PREMIUM POLISH\n   Mikro-Animationen, hochwertige Hover-Effekte und dezente Übergänge\n   ohne Blur/Unschärfe.\n   ========================================================================== */
:root{
  --ease-premium:cubic-bezier(.22,.7,.18,1);
  --ease-soft:cubic-bezier(.2,.65,.2,1);
}

/* Header: ruhiger Übergang beim Scrollen */
.site-header{
  transition:background .35s var(--ease-soft),border-color .35s var(--ease-soft),box-shadow .35s var(--ease-soft),transform .35s var(--ease-soft);
}
.site-header.scrolled{
  background:rgba(248,244,239,.96);
  box-shadow:0 12px 42px rgba(18,27,34,.08);
}
.main-nav>a:not(.button)::after{
  height:2px;
  transform-origin:left center;
  transition:right .32s var(--ease-premium),opacity .25s ease;
}
.main-nav>a:not(.button):hover{color:var(--gold-dark)}

/* Buttons: feiner Lichtlauf statt grober Bewegung */
.button,.hero-booking-button,.contact-submit{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.button::after,.hero-booking-button::after,.contact-submit::after{
  content:"";
  position:absolute;
  inset:-60% auto -60% -45%;
  width:30%;
  transform:skewX(-18deg) translateX(-220%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transition:transform .72s var(--ease-premium);
  pointer-events:none;
  z-index:-1;
}
.button:hover::after,.hero-booking-button:hover::after,.contact-submit:hover::after{transform:skewX(-18deg) translateX(620%)}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(18,31,40,.13)}
.button:active,.hero-booking-button:active,.contact-submit:active{transform:translateY(0) scale(.99)}

/* Abschnittsüberschriften: Goldlinie reagiert subtil */
.why-iwr-heading-line,.services-heading-line,.founder-profile-heading-line,.contact-heading-line{
  transform-origin:left center;
  transition:transform .55s var(--ease-premium),opacity .35s ease;
}
.is-visible .why-iwr-heading-line,.is-visible .services-heading-line,.is-visible .founder-profile-heading-line,.is-visible .contact-heading-line{
  transform:scaleX(1);
}

/* Karten: konsistenter Premium-Lift */
.why-iwr-item,.services-overview-item,.process-step,.founder-profile-item,.footer-contact-card,.booking-service-card{
  will-change:transform;
  transition:transform .38s var(--ease-premium),box-shadow .38s var(--ease-premium),border-color .3s ease,background-color .3s ease,color .3s ease;
}
.why-iwr-item:hover,.services-overview-item:hover,.founder-profile-item:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 55px rgba(18,31,40,.10);
  border-color:rgba(190,143,73,.46);
}
.why-iwr-item img,.services-overview-item img,.founder-profile-item img{
  transition:transform .42s var(--ease-premium);
}
.why-iwr-item:hover img,.services-overview-item:hover img,.founder-profile-item:hover img{transform:translateY(-2px) scale(1.045)}

/* Services Accordion: weniger technisch, mehr editorial */
.services-accordion-item{
  transition:background .32s ease,border-color .32s ease,box-shadow .32s ease,transform .32s var(--ease-premium);
}
.services-accordion-item:hover:not(.is-open){transform:translateX(4px)}
.services-accordion-trigger{transition:color .25s ease,padding .32s var(--ease-premium)}
.services-accordion-trigger:hover{color:var(--gold-dark)}
.services-accordion-trigger svg,.services-accordion-trigger .accordion-icon{
  transition:transform .38s var(--ease-premium),color .25s ease;
}
.services-accordion-item.is-open .services-accordion-trigger svg,
.services-accordion-item.is-open .services-accordion-trigger .accordion-icon{transform:rotate(45deg)}
.services-accordion-panel:not([hidden]){animation:iwrAccordionIn .38s var(--ease-premium) both}
@keyframes iwrAccordionIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Prozess: Linie und Karten wirken verbunden */
.process-step:hover{transform:translateY(-7px)}
.process-step:hover .process-icon{transform:translateY(-2px)}
.process-icon{transition:transform .38s var(--ease-premium)}
.process-icon img{transition:transform .48s var(--ease-premium)}
.process-step:hover .process-icon img{transform:scale(1.08) rotate(-2deg)}

/* Gründerin: bewusst minimal, damit der starke Bereich ruhig bleibt */
.founder-visual img{transition:transform 1.1s var(--ease-premium)}
.founder-visual:hover img{transform:scale(1.015)}
.founder-signature,.founder-quote{transition:transform .4s var(--ease-premium),border-color .3s ease}
.founder-quote:hover{transform:translateX(5px)}

/* Kontaktformular */
.contact-card{transition:transform .45s var(--ease-premium),box-shadow .45s var(--ease-premium)}
.contact-card:hover{transform:translateY(-3px);box-shadow:0 38px 96px rgba(17,27,36,.27)!important}
.contact-form input,.contact-form textarea,.iwr-custom-select-trigger{
  transition:border-color .28s ease,box-shadow .28s ease,background-color .28s ease,transform .28s var(--ease-premium)!important;
}
.contact-form input:hover,.contact-form textarea:hover,.iwr-custom-select-trigger:hover{transform:translateY(-1px)}

/* Booking – spürbar hochwertiger, aber ruhig */
.booking-shell{transition:box-shadow .45s var(--ease-premium),transform .45s var(--ease-premium)}
.booking-shell:hover{box-shadow:0 34px 105px rgba(18,34,44,.14)}
.booking-service-card::before{
  content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,#c89445,transparent);
  transform:scaleX(0);transform-origin:center;transition:transform .42s var(--ease-premium);
}
.booking-service-card:hover::before,.booking-service-card.is-selected::before{transform:scaleX(1)}
.booking-service-card:hover{transform:translateY(-7px);box-shadow:0 24px 56px rgba(18,34,44,.11)}
.booking-date-grid button,.booking-time-grid button{transition:transform .25s var(--ease-premium),background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
.booking-date-grid button:hover:not(:disabled),.booking-time-grid button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,34,44,.09)}
.booking-date-grid button.is-selected,.booking-time-grid button.is-selected{box-shadow:0 10px 22px rgba(184,132,61,.18)}
.booking-progress button.is-active span{animation:iwrStepPulse 2.2s ease-in-out infinite}
@keyframes iwrStepPulse{0%,100%{box-shadow:0 0 0 0 rgba(196,148,69,0)}50%{box-shadow:0 0 0 7px rgba(196,148,69,.12)}}
.booking-success-icon{animation:iwrSuccessIn .6s var(--ease-premium) both}
@keyframes iwrSuccessIn{from{opacity:0;transform:scale(.78) rotate(-7deg)}to{opacity:1;transform:none}}

/* Footer – Links bekommen eine präzise Bewegung */
.premium-footer a{transition:color .25s ease,transform .28s var(--ease-premium)}
.premium-footer a:hover{transform:translateX(3px)}
.footer-contact-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.035)}
.footer-contact-card svg,.footer-contact-card img{transition:transform .38s var(--ease-premium)}
.footer-contact-card:hover svg,.footer-contact-card:hover img{transform:scale(1.07)}

/* Maus-Glow nur auf Geräten mit echter Maus; keinerlei Blur */
@media(hover:hover) and (pointer:fine){
  .polish-glow{position:relative;overflow:hidden}
  .polish-glow::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
    background:radial-gradient(240px circle at var(--polish-x,50%) var(--polish-y,50%),rgba(202,158,87,.11),transparent 68%);
    transition:opacity .3s ease;
  }
  .polish-glow:hover::after{opacity:1}
}

/* Reduced Motion bleibt kompromisslos respektiert */
@media(prefers-reduced-motion:reduce){
  .booking-progress button.is-active span,.booking-success-icon{animation:none!important}
  .services-accordion-panel:not([hidden]){animation:none!important}
  .button::after,.hero-booking-button::after,.contact-submit::after{display:none!important}
  .founder-visual:hover img,.why-iwr-item:hover img,.services-overview-item:hover img,.founder-profile-item:hover img,.process-step:hover .process-icon img{transform:none!important}
}


/* ==========================================================================\n   BUILD 4.2.2 – STICKY HEADER CONTRAST FIX\n   Heller Sticky-Header mit dunklem Logo, dunkler Navigation und Gold-CTA.\n   ========================================================================== */
.brand{position:relative;display:flex;align-items:center;flex:0 0 auto}
.brand-logo-stack{position:relative;display:block;width:210px;height:72px}
.brand-logo{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain;object-position:left center;transition:opacity .30s var(--ease-soft),transform .30s var(--ease-soft)}
.brand-logo-light{opacity:1}
.brand-logo-dark{opacity:0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.site-header.scrolled{
  background:rgba(250,248,244,.96);
  border-color:rgba(18,27,34,.10);
  box-shadow:0 12px 42px rgba(18,27,34,.10);
}
.site-header.scrolled .brand-logo-light{opacity:0;transform:translateY(-1px)}
.site-header.scrolled .brand-logo-dark{opacity:1;transform:translateY(0)}
.site-header.scrolled .main-nav{color:#17212a}
.site-header.scrolled .main-nav>a:not(.button){color:#17212a}
.site-header.scrolled .main-nav>a:not(.button):hover,
.site-header.scrolled .main-nav>a.is-active:not(.button){color:#9b6e35}
.site-header.scrolled .main-nav>a:not(.button)::after{background:#b68443}
.site-header.scrolled .main-nav .button{
  background:transparent;
  color:#8f6734;
  border-color:rgba(183,139,76,.78);
  box-shadow:none;
}
.site-header.scrolled .main-nav .button:hover{
  background:#b68443;
  color:#fff;
  border-color:#b68443;
  box-shadow:0 12px 28px rgba(143,103,52,.18);
}
.site-header.scrolled .nav-toggle span{background:#17212a}

@media(max-width:900px){
  .brand-logo-stack{width:175px;height:64px}
  /* Das geöffnete Mobile-Menü bleibt bewusst dunkel und gut lesbar. */
  .site-header.scrolled .main-nav.open{color:#fff;background:#10171d}
  .site-header.scrolled .main-nav.open>a:not(.button){color:#fff}
  .site-header.scrolled .main-nav.open>a:not(.button):hover,
  .site-header.scrolled .main-nav.open>a.is-active:not(.button){color:#e5c38e}
  .site-header.scrolled .main-nav.open .button{color:#efd4a8;border-color:rgba(209,164,98,.9)}
  .site-header.scrolled .main-nav.open .button:hover{background:#b68443;color:#fff}
}


/* =========================================================
   Build 4.2.2 – IWR auf einen Blick: Headline linksbündig
   Nur Überschrift, Goldlinie und Intro; Kacheln unverändert.
   ========================================================= */
.founder-profile-block .founder-profile-heading{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  text-align:left !important;
  align-items:flex-start !important;
}
.founder-profile-block .founder-profile-heading h2{
  width:100%;
  margin-left:0;
  margin-right:0;
  text-align:left !important;
}
.founder-profile-block .founder-profile-heading-line{
  margin-left:0 !important;
  margin-right:auto !important;
}
.founder-profile-block .founder-profile-heading > p:last-child{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}


/* Build 4.2.6 – Booking-Schritte bleiben unter dem Sticky Header sichtbar */
.booking-step,
.booking-step-head,
.booking-success{
  scroll-margin-top:124px;
}


/* Build 4.3.3 – absolut stabile Booking-Position bei Datumsauswahl */
.booking-section,
.booking-shell,
.booking-stage,
.booking-step,
.booking-calendar,
.booking-date-grid {
  overflow-anchor: none;
}
/* Kein Step-Translate: verhindert sichtbares Nachrutschen unter dem Sticky Header. */
.booking-step {
  animation: none !important;
}


/* =========================================================
   Build 4.3.3 – Menüpunkt Unsere Expertise / Anchor Offset
   ========================================================= */
#unsere-expertise{
  scroll-margin-top: 118px;
}
@media(max-width: 900px){
  #unsere-expertise{
    scroll-margin-top: 96px;
  }
}


/* =========================================================
   Build 4.3.3 – Desktop Header: kein Umbruch in Safari/Firefox
   ========================================================= */
@media (min-width: 1101px){
  .site-header .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }

  .site-header .brand{
    flex:0 0 auto;
  }

  .site-header .main-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap !important;
    gap:clamp(22px,2.2vw,38px);
    min-width:0;
    white-space:nowrap;
  }

  .site-header .main-nav > a{
    white-space:nowrap !important;
    flex:0 0 auto;
    line-height:1.15;
  }

  .site-header .main-nav .button,
  .site-header .main-nav .button-small{
    white-space:nowrap !important;
    flex:0 0 auto;
    padding-left:26px;
    padding-right:26px;
  }
}

/* Etwas kompakter auf schmaleren Desktop-Breiten, bevor das Mobile-Menü greift */
@media (min-width:1101px) and (max-width:1450px){
  .site-header .main-nav{
    gap:18px;
  }
  .site-header .main-nav > a{
    font-size:0.92rem;
    letter-spacing:0.035em;
  }
  .site-header .main-nav .button,
  .site-header .main-nav .button-small{
    padding-left:20px;
    padding-right:20px;
  }
}

@media (min-width:1101px) and (max-width:1280px){
  .site-header .main-nav{
    gap:14px;
  }
  .site-header .main-nav > a{
    font-size:0.86rem;
    letter-spacing:0.025em;
  }
  .site-header .main-nav .button,
  .site-header .main-nav .button-small{
    padding-left:16px;
    padding-right:16px;
  }
}

/* Build 4.3.3 – Founder logo remains completely static */
.founder-visual:hover,
.founder-visual:hover img,
.founder-visual img:hover{
  transform:none !important;
}
.founder-visual img{
  transition:none !important;
}


/* =========================================================
   Build 4.3.3 – Founder-Logo absolut statisch
   WICHTIG: translate(-50%,-55%) ist Teil der Positionierung
   und darf beim Hover niemals auf transform:none wechseln.
   ========================================================= */
.founder-visual-frame img,
.founder-visual:hover img,
.founder-visual-frame:hover img,
.founder-visual-frame img:hover{
  transform:translate(-50%,-55%) !important;
  transition:none !important;
}
