/* =============================================================
   SALTYSUN — Bento Grid / Glassmorphism System
   ============================================================= */

:root{
  --color-midnight: #1B2440;
  --color-midnight-2: #26315A;
  --color-midnight-3: #323F70;
  --color-sun: #E8A548;
  --color-sun-light: #F4C77A;
  --color-sage: #6E9B87;
  --color-sage-dark: #4F7566;
  --color-cream: #FAF6F0;
  --color-cream-2: #F1EAE0;
  --color-ink: #20263A;
  --color-ink-soft: #5B6178;
  --color-border: rgba(27, 36, 64, 0.10);
  --color-glass: rgba(255, 255, 255, 0.55);
  --color-glass-dark: rgba(27, 36, 64, 0.55);

  --shadow-sm: 0 1px 2px rgba(27,36,64,0.06), 0 1px 1px rgba(27,36,64,0.04);
  --shadow-md: 0 8px 24px rgba(27,36,64,0.10), 0 2px 6px rgba(27,36,64,0.06);
  --shadow-lg: 0 24px 48px rgba(27,36,64,0.16), 0 8px 16px rgba(27,36,64,0.08);
  --shadow-glow: 0 0 0 1px rgba(255,255,255,0.4) inset, 0 20px 40px rgba(232,165,72,0.18);

  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-xl: 36px;

  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 8rem;

  --font-body: 'Outfit', sans-serif;
  --text-hero: clamp(2.4rem, 4.5vw + 1rem, 4.2rem);
  --text-h2: clamp(1.8rem, 2.2vw + 1rem, 2.7rem);
  --text-h3: clamp(1.15rem, 1vw + 0.8rem, 1.4rem);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--color-ink);
  background: var(--color-cream);
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-weight:700; line-height:1.15; }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }

.home-hero__eyebrow, .grundsaetze-hero__title, .angebot-hero__inner, .contact-hero{}


.global-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding: 0.95rem 1.9rem;
  border-radius: var(--radius-md);
  font-weight:600; font-size:0.98rem;
  transition: all .35s cubic-bezier(.2,.8,.2,1);
  min-height:48px;
}
.global-btn--primary{
  background: linear-gradient(135deg, var(--color-sun), var(--color-sun-light));
  color: var(--color-midnight);
  box-shadow: var(--shadow-md);
}
.global-btn--primary:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}
.global-btn--ghost{
  background: rgba(255,255,255,0.5);
  border: 1px solid var(--color-border);
  color: var(--color-midnight);
  backdrop-filter: blur(10px);
}
.global-btn--ghost:hover{
  background: rgba(255,255,255,0.85);
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}


.global-header{
  position: fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(250,246,240,0.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 rgba(27,36,64,0.06);
  transition: box-shadow .3s ease;
}
.global-header.is-scrolled{
  box-shadow: 0 10px 30px rgba(27,36,64,0.12);
}
.global-header__inner{
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding: 0.9rem 1.5rem;
  position:relative; z-index:2;
}
.global-header__logo{ display:flex; align-items:center; gap:.6rem; }
.global-header__logo-mark{ width:38px; height:38px; }
.global-header__logo-text{ font-weight:700; font-size:1.25rem; letter-spacing:-0.02em; color:var(--color-midnight); }

.global-header__toggle{
  width:44px; height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  border-radius: var(--radius-sm);
  transition: background .3s ease;
}
.global-header__toggle:hover{ background: rgba(27,36,64,0.06); }
.global-header__toggle span{
  width:22px; height:2px; background: var(--color-midnight); border-radius:2px;
  transition: transform .35s ease, opacity .35s ease;
}
.global-header.is-open .global-header__toggle span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.global-header.is-open .global-header__toggle span:nth-child(2){ opacity:0; }
.global-header.is-open .global-header__toggle span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.global-header__nav-links{ display:flex; gap: 2.2rem; }
.global-header__nav-links a{
  font-weight:500; color: var(--color-ink-soft); padding: .3rem 0; position:relative;
  transition: color .3s ease;
}
.global-header__nav-links a::after{
  content:''; position:absolute; left:0; bottom:-4px; width:0; height:2px;
  background: var(--color-sun); transition: width .3s ease;
}
.global-header__nav-links a:hover, .global-header__nav-links a.is-active{ color: var(--color-midnight); }
.global-header__nav-links a:hover::after, .global-header__nav-links a.is-active::after{ width:100%; }

.global-header__flip{ display:none; }

@media (min-width: 860px){
  .global-header__nav-desktop{
    max-height:0; overflow:hidden;
    transition: max-height .5s ease;
    border-top: 1px solid transparent;
  }
  .global-header.is-open .global-header__nav-desktop{
    max-height: 100px;
    border-top: 1px solid var(--color-border);
  }
  .global-header__nav-desktop .global-header__nav-links{
    max-width:1280px; margin:0 auto; padding: 1rem 1.5rem;
  }
}

@media (max-width: 859px){
  .global-header__nav-desktop{ display:none; }
  .global-header{ perspective: 1400px; }
  .global-header__flip{
    display:block;
    position:relative;
    transform-style: preserve-3d;
    transition: transform .7s cubic-bezier(.4,.2,.2,1);
    height:0;
  }
  .global-header.is-open .global-header__flip{
    transform: rotateX(180deg);
  }
  .global-header__front, .global-header__back{
    backface-visibility: hidden; -webkit-backface-visibility:hidden;
    position:absolute; inset:0;
  }
  .global-header.is-open{
    background: var(--color-midnight);
  }
  .global-header__back{
    transform: rotateX(180deg);
    background: var(--color-midnight);
    min-height: 100vh;
    top: -1px;
    padding: 6rem 1.5rem 2rem;
    display:flex; flex-direction:column; gap:2rem;
    z-index:1;
  }
  .global-header__nav-mobile{ display:flex; flex-direction:column; gap:1.4rem; }
  .global-header__nav-mobile a{
    font-size:1.5rem; font-weight:600; color: var(--color-cream);
    transition: color .3s ease, transform .3s ease;
  }
  .global-header__nav-mobile a.is-active, .global-header__nav-mobile a:hover{ color: var(--color-sun); transform: translateX(6px); }
  .global-header__close{
    align-self:flex-start; color: var(--color-cream); font-weight:600;
    display:flex; align-items:center; gap:.5rem;
    padding: .6rem 1rem; border-radius: var(--radius-sm);
    border: 1px solid rgba(250,246,240,0.25);
    transition: background .3s ease;
  }
  .global-header__close:hover{ background: rgba(250,246,240,0.1); }
  .global-header.is-open .global-header__toggle span{ background: var(--color-cream); }
}


.home-hero{
  position:relative;
  padding: 8.5rem 1.5rem 4rem;
  background: linear-gradient(160deg, var(--color-midnight) 0%, var(--color-midnight-2) 45%, var(--color-sun) 150%);
  overflow:hidden;
}
.home-hero__shape{
  position:absolute; border-radius:50%; filter: blur(50px); opacity:0.35; pointer-events:none;
}
.home-hero__shape--one{ width:420px; height:420px; background: var(--color-sun); top:-120px; right:-100px; }
.home-hero__shape--two{ width:320px; height:320px; background: var(--color-sage); bottom:-80px; left:-80px; }

.home-hero__grid{
  max-width:1280px; margin:0 auto; position:relative; z-index:1;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto auto;
  gap: 1.4rem;
}
.home-hero__cell{
  border-radius: var(--radius-lg);
  background: var(--color-glass);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: var(--shadow-glow);
  padding: 2.2rem;
  transition: transform .4s ease, box-shadow .4s ease;
}
.home-hero__cell:hover{ transform: translateY(-4px); }

.home-hero__cell--main{
  grid-column: span 3; grid-row: span 2;
  display:flex; flex-direction:column; justify-content:center; gap:1.4rem;
  background: rgba(255,255,255,0.65);
}
.home-hero__eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:0.85rem; font-weight:600; letter-spacing:0.03em;
  color: var(--color-sage-dark);
  background: rgba(110,155,135,0.14);
  padding: .5rem 1rem; border-radius: 999px; width:fit-content;
}
.home-hero__title{
  font-size: var(--text-hero); font-weight:800; color: var(--color-midnight); letter-spacing:-0.02em;
}
.home-hero__text{ color: var(--color-ink-soft); font-size:1.05rem; max-width:46ch; }
.home-hero__actions{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:.5rem; }

.home-hero__cell--image{
  grid-column: span 1; grid-row: span 2; padding:0; overflow:hidden;
  background: var(--color-midnight-3);
}
.home-hero__cell--image img{ width:100%; height:100%; object-fit:cover; min-height:280px; transition: transform .6s ease; }
.home-hero__cell--image:hover img{ transform: scale(1.06); }

.home-hero__cell--stat{
  grid-column: span 2;
  display:flex; align-items:center; gap:1rem;
  background: rgba(255,255,255,0.5);
}
.home-hero__cell--stat i{ font-size:1.6rem; color: var(--color-sun); }
.home-hero__cell--stat-alt i{ color: var(--color-sage); }
.home-hero__cell--stat p{ color: var(--color-ink); font-size:0.95rem; font-weight:500; }


.home-intro__label{
  display:inline-block; font-size:0.85rem; font-weight:600; letter-spacing:0.05em; text-transform:uppercase;
  color: var(--color-sage-dark); margin-bottom: 0.8rem;
}
.home-intro__heading{ font-size: var(--text-h2); color: var(--color-midnight); letter-spacing:-0.01em; margin-bottom:1rem; }


.home-intro{
  max-width:1280px; margin: 0 auto; padding: var(--space-3xl) 1.5rem;
  display:grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-xl); align-items:center;
}
.home-intro__text p{ color: var(--color-ink-soft); margin-bottom:1rem; }
.home-intro__image img{
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
}


.home-bento, .grundsaetze-bento{
  max-width:1280px; margin:0 auto; padding: 2rem 1.5rem var(--space-3xl);
}
.home-bento__header, .grundsaetze-bento__header{ text-align:left; max-width:640px; margin-bottom: 2.4rem; }
.home-bento__grid, .grundsaetze-bento__grid{
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem;
}
.home-bento__cell{
  position:relative;
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
  padding: 2rem;
  grid-column: span 2;
  transition: transform .4s ease, box-shadow .4s ease;
  display:flex; flex-direction:column; gap: .8rem;
}
.home-bento__cell:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }
.home-bento__cell--large{ grid-column: span 2; padding:0; overflow:hidden; }
.home-bento__cell--large img, .home-bento__cell--wide img{ width:100%; height:220px; object-fit:cover; }
.home-bento__cell--large .home-bento__cell-body, .home-bento__cell--wide .home-bento__cell-body{ padding: 1.8rem; }
.home-bento__cell--wide{ grid-column: span 4; padding:0; overflow:hidden; display:grid; grid-template-columns: 1fr 1fr; align-items:center;}
.home-bento__cell--wide img{ height:100%; min-height:220px; }
.home-bento__cell--accent{
  background: linear-gradient(150deg, rgba(232,165,72,0.14), rgba(110,155,135,0.14));
  border-color: rgba(232,165,72,0.25);
}
.home-bento__icon{ font-size:1.7rem; color: var(--color-sun); }
.home-bento__cell h3{ font-size:1.15rem; color: var(--color-midnight); }
.home-bento__cell p{ color: var(--color-ink-soft); font-size:0.96rem; }


.home-process{ background: var(--color-cream-2); padding: var(--space-3xl) 1.5rem; }
.home-process__header{ max-width:1280px; margin: 0 auto 2.6rem; }
.home-process__grid{
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns: repeat(4,1fr); gap: 1.6rem;
  position:relative;
}
.home-process__step{
  background:#fff; border-radius: var(--radius-md); padding: 2rem 1.6rem;
  box-shadow: var(--shadow-sm); border:1px solid var(--color-border);
  position:relative; transition: transform .4s ease, box-shadow .4s ease;
}
.home-process__step:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }
.home-process__number{
  display:block; font-size:0.85rem; font-weight:700; color: var(--color-sun); margin-bottom:0.8rem; letter-spacing:0.05em;
}
.home-process__step i{ font-size:1.6rem; color: var(--color-midnight); margin-bottom:0.8rem; display:block; }
.home-process__step h3{ font-size:1.1rem; color: var(--color-midnight); margin-bottom:0.5rem; }
.home-process__step p{ color: var(--color-ink-soft); font-size:0.92rem; }


.home-gallery{ max-width:1280px; margin:0 auto; padding: var(--space-3xl) 1.5rem; }
.home-gallery__header{ margin-bottom: 2.2rem; }
.home-gallery__grid{
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem;
}
.home-gallery__item{
  border-radius: var(--radius-md); overflow:hidden; box-shadow: var(--shadow-sm);
  aspect-ratio: 4/5;
}
.home-gallery__item img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease, filter .5s ease; }
.home-gallery__item:hover img{ transform: scale(1.08); filter: brightness(1.03); }


.home-photogrid{
  max-width:1280px; margin:0 auto; padding: var(--space-3xl) 1.5rem;
  display:grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-xl); align-items:center;
}
.home-photogrid__text p{ color: var(--color-ink-soft); margin-bottom:1rem; }
.home-photogrid__grid{
  display:grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 140px);
  gap: 1rem;
}
.home-photogrid__item{ border-radius: var(--radius-md); overflow:hidden; box-shadow: var(--shadow-md); }
.home-photogrid__item img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.home-photogrid__item:hover img{ transform: scale(1.08); }
.home-photogrid__item--a{ grid-row: span 2; }
.home-photogrid__item--b{}
.home-photogrid__item--c{}


.home-preview{
  max-width:1280px; margin:0 auto; padding: 0 1.5rem var(--space-3xl);
  display:grid; grid-template-columns: 1fr 1fr; gap: 1.6rem;
}
.home-preview__card{
  background: linear-gradient(150deg, var(--color-midnight), var(--color-midnight-2));
  color: var(--color-cream);
  border-radius: var(--radius-lg); padding: 2.4rem;
  box-shadow: var(--shadow-lg);
  transition: transform .4s ease;
}
.home-preview__card--alt{ background: linear-gradient(150deg, var(--color-sage-dark), var(--color-sage)); }
.home-preview__card:hover{ transform: translateY(-6px); }
.home-preview__tag{ font-size:0.8rem; text-transform:uppercase; letter-spacing:0.06em; opacity:0.75; }
.home-preview__card h3{ font-size:1.5rem; margin: 0.6rem 0 0.8rem; }
.home-preview__card p{ opacity:0.85; margin-bottom:1.2rem; }
.home-preview__link{ display:inline-flex; align-items:center; gap:.5rem; font-weight:600; color: var(--color-sun-light); }
.home-preview__link:hover{ gap:.8rem; }


.global-cta{
  background: linear-gradient(135deg, var(--color-sage-dark), var(--color-midnight));
  padding: var(--space-3xl) 1.5rem;
}
.global-cta__inner{
  max-width: 760px; margin:0 auto; text-align:center; color: var(--color-cream);
}
.global-cta__inner h2{ font-size: var(--text-h2); margin-bottom: 1rem; }
.global-cta__inner p{ opacity:0.85; margin-bottom: 1.8rem; }


.grundsaetze-hero, .angebot-hero{
  max-width:1280px; margin:0 auto; padding: 8.5rem 1.5rem 3rem;
}
.grundsaetze-hero__inner{ max-width:760px; }
.grundsaetze-hero__title{ font-size: var(--text-hero); color: var(--color-midnight); margin: 1rem 0; letter-spacing:-0.02em; }
.grundsaetze-hero__text{ color: var(--color-ink-soft); font-size:1.08rem; max-width:60ch; }

.angebot-hero{ display:grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-xl); align-items:center; }
.angebot-hero__inner{}
.angebot-hero__image img{ border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }

.grundsaetze-science{
  max-width:1280px; margin: 0 auto; padding: 2rem 1.5rem var(--space-3xl);
  display:grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--space-xl); align-items:center;
}
.grundsaetze-science__image img{ border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.grundsaetze-science__text p{ color: var(--color-ink-soft); margin-bottom:1rem; }

.grundsaetze-two-columns{
  max-width:1280px; margin:0 auto; padding: 2rem 1.5rem var(--space-3xl);
  display:grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl);
}
.grundsaetze-two-columns__col p{ color: var(--color-ink-soft); margin-bottom:1rem; }


.angebot-modules{ max-width:1280px; margin:0 auto; padding: 2rem 1.5rem var(--space-3xl); }
.angebot-modules__header{ margin-bottom:2.2rem; max-width:640px; }
.angebot-modules__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.4rem; }
.angebot-modules__item{ position:relative; }
.angebot-modules__number{
  width:40px; height:40px; border-radius:50%;
  background: linear-gradient(135deg, var(--color-sun), var(--color-sun-light));
  color: var(--color-midnight); font-weight:800;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:0.6rem;
}

.angebot-format{
  max-width:1280px; margin:0 auto; padding: 2rem 1.5rem var(--space-3xl);
  display:grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-xl);
}
.angebot-format__text p{ color: var(--color-ink-soft); margin-bottom:1rem; }
.angebot-format__facts{ display:grid; grid-template-columns: 1fr 1fr; gap:1rem; align-content:start; }
.angebot-format__fact{
  background:#fff; border-radius: var(--radius-md); padding:1.4rem;
  border:1px solid var(--color-border); box-shadow: var(--shadow-sm);
  display:flex; flex-direction:column; gap:0.6rem; align-items:flex-start;
  transition: transform .3s ease, box-shadow .3s ease;
}
.angebot-format__fact:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }
.angebot-format__fact i{ font-size:1.3rem; color: var(--color-sage-dark); }
.angebot-format__fact span{ font-weight:600; color: var(--color-midnight); font-size:0.95rem; }

.angebot-forwho{ max-width:1280px; margin:0 auto; padding: 0 1.5rem var(--space-3xl); }
.angebot-forwho__grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; }
.angebot-forwho__card{
  background: var(--color-cream-2); border-radius: var(--radius-lg); padding: 2.2rem;
  border: 1px solid var(--color-border);
}
.angebot-forwho__card i{ font-size:1.8rem; color: var(--color-sun); margin-bottom:0.8rem; }
.angebot-forwho__card h3{ font-size:1.2rem; color: var(--color-midnight); margin-bottom:0.6rem; }
.angebot-forwho__card p{ color: var(--color-ink-soft); }


.contact-hero{ max-width:900px; margin:0 auto; padding: 8.5rem 1.5rem 2rem; text-align:left; }
.contact-facts{
  max-width:1280px; margin: 0 auto 1rem; padding: 0 1.5rem 2rem;
  display:grid; grid-template-columns: repeat(4,1fr); gap:1rem;
}
.contact-facts__item{
  background:#fff; border:1px solid var(--color-border); border-radius: var(--radius-md);
  padding:1.2rem; display:flex; align-items:center; gap:0.8rem; box-shadow: var(--shadow-sm);
}
.contact-facts__item i{ color: var(--color-sage-dark); font-size:1.2rem; }
.contact-facts__item span{ font-weight:500; font-size:0.9rem; color: var(--color-ink); }

.contact-main{
  max-width:1280px; margin:0 auto; padding: 1rem 1.5rem var(--space-3xl);
  display:grid; grid-template-columns: 1.5fr 1fr; gap: var(--space-xl);
}
.contact-main__form-wrap{
  background: #fff; border-radius: var(--radius-lg); padding: 2.4rem;
  border: 1px solid var(--color-border); box-shadow: var(--shadow-md);
}
.contact-form__grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; margin-bottom:1.4rem; }
.contact-form__row{ display:flex; gap:1rem; margin-bottom:1rem; }
.contact-form__field{ display:flex; flex-direction:column; gap:0.4rem; flex:1; }
.contact-form__field--full{ height:100%; }
.contact-form__field--full textarea{ height:100%; min-height:200px; }
.contact-form__field label{ font-size:0.88rem; font-weight:600; color: var(--color-midnight); }
.contact-form__field input, .contact-form__field textarea{
  padding: 0.85rem 1rem; border-radius: var(--radius-sm); border:1px solid var(--color-border);
  font-family: inherit; font-size:0.98rem; background: var(--color-cream-2);
  transition: border-color .3s ease, box-shadow .3s ease;
  min-height:48px;
}
.contact-form__field textarea{ resize: vertical; }
.contact-form__field input:focus, .contact-form__field textarea:focus{
  outline:none; border-color: var(--color-sun); box-shadow: 0 0 0 3px rgba(232,165,72,0.2);
}
.contact-form__privacy{
  display:flex; align-items:flex-start; gap:0.7rem; margin-bottom:1.4rem; font-size:0.9rem; color: var(--color-ink-soft);
}
.contact-form__privacy input{ margin-top:0.3rem; width:20px; height:20px; min-width:20px; }
.contact-form__privacy a{ color: var(--color-sage-dark); text-decoration:underline; }
.contact-form__submit{ width:100%; }

.contact-main__side{ display:flex; flex-direction:column; gap:1.4rem; }
.contact-main__card{
  background: linear-gradient(150deg, var(--color-midnight), var(--color-midnight-2));
  color: var(--color-cream); border-radius: var(--radius-lg); padding:2rem;
  box-shadow: var(--shadow-lg);
}
.contact-main__card h3{ margin-bottom:1rem; }
.contact-main__card p{ margin-bottom:0.7rem; opacity:0.9; font-size:0.95rem; }
.contact-main__map{ border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); }
.contact-main__map iframe{ display:block; }


.thanks-hero{
  max-width:640px; margin:0 auto; padding: 9rem 1.5rem var(--space-3xl); text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:1.2rem;
}
.thanks-envelope{ width:160px; height:110px; position:relative; margin-bottom:1rem; }
.thanks-envelope__body{
  width:100%; height:100%; position:relative; background: var(--color-sun-light);
  border-radius: 10px; box-shadow: var(--shadow-md); overflow:visible;
}
.thanks-envelope__flap{
  position:absolute; top:0; left:0; width:100%; height:55px;
  background: var(--color-sun);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform-origin: top center;
  animation: flapOpen 2.4s ease forwards;
  border-radius: 10px 10px 0 0;
  z-index:2;
}
.thanks-envelope__letter{
  position:absolute; bottom:6px; left:50%; width:70%; height:60px;
  background: var(--color-cream);
  border-radius:4px; box-shadow: var(--shadow-sm);
  transform: translate(-50%, 10px) scale(0.9);
  opacity:0;
  animation: letterSlide 2.4s ease forwards;
  animation-delay: 0.6s;
  z-index:1;
}
@keyframes flapOpen{
  0%{ transform: rotateX(0deg); }
  40%{ transform: rotateX(0deg); }
  100%{ transform: rotateX(180deg); }
}
@keyframes letterSlide{
  0%{ transform: translate(-50%, 10px) scale(0.9); opacity:0; }
  50%{ opacity:0; }
  100%{ transform: translate(-50%, -55px) scale(1); opacity:1; }
}
.thanks-hero h1{ animation: fadeUp .8s ease 1.6s both; }
.thanks-hero p{ animation: fadeUp .8s ease 1.9s both; }
.thanks-hero a{ animation: fadeUp .8s ease 2.2s both; }
@keyframes fadeUp{
  from{ opacity:0; transform: translateY(14px); }
  to{ opacity:1; transform: translateY(0); }
}


.legal-page{ max-width:900px; margin:0 auto; padding: 8.5rem 1.5rem var(--space-3xl); }
.legal-page__inner h1{ font-size: var(--text-h2); color: var(--color-midnight); margin-bottom:0.4rem; }
.legal-page__updated{ color: var(--color-ink-soft); font-size:0.9rem; margin-bottom:2rem; }
.legal-page__inner h2{ font-size:1.25rem; color: var(--color-midnight); margin: 2rem 0 0.8rem; }
.legal-page__inner p{ color: var(--color-ink-soft); margin-bottom:0.8rem; }
.legal-page__group{ margin-bottom:1.8rem; }
.legal-page__group h2{ margin-top:0; }
.legal-page__group ul{ display:flex; flex-direction:column; gap:0.5rem; }
.legal-page__group li{ color: var(--color-ink-soft); padding-left:1.2rem; position:relative; }
.legal-page__group li::before{ content:'—'; position:absolute; left:0; color: var(--color-sage-dark); }
.legal-page__clause{ margin-bottom:1.6rem; }
.legal-page__table{ width:100%; border-collapse:collapse; margin: 1rem 0 1.8rem; }
.legal-page__table td, .legal-page__table th{
  padding:0.75rem 1rem; border:1px solid var(--color-border); text-align:left; font-size:0.92rem; color: var(--color-ink-soft);
}
.legal-page__table th{ background: var(--color-cream-2); color: var(--color-midnight); }
.legal-page__inner a{ color: var(--color-sage-dark); text-decoration:underline; }


.global-footer{ background: var(--color-midnight); color: var(--color-cream); }
.global-footer__row{
  max-width:1280px; margin:0 auto; padding: 2.2rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
}
.global-footer__brand{ display:flex; align-items:center; gap:0.6rem; font-weight:700; font-size:1.1rem; }
.global-footer__logo{ width:32px; height:32px; }
.global-footer__links{ display:flex; gap:1.4rem; flex-wrap:wrap; }
.global-footer__links a{ color: rgba(250,246,240,0.75); font-size:0.9rem; transition: color .3s ease; }
.global-footer__links a:hover{ color: var(--color-sun-light); }
.global-footer__contact p{ font-size:0.85rem; color: rgba(250,246,240,0.75); margin-bottom:0.3rem; display:flex; align-items:center; gap:0.5rem; }
.global-footer__bottom{
  border-top: 1px solid rgba(250,246,240,0.12); text-align:center; padding: 1rem 1.5rem;
  font-size:0.82rem; color: rgba(250,246,240,0.6);
}


.global-cookie{ position:fixed; bottom: 1.4rem; right:1.4rem; z-index:1200; }
.global-cookie__bell{
  width:56px; height:56px; border-radius:50%;
  background: var(--color-midnight); color: var(--color-cream);
  display:flex; align-items:center; justify-content:center; position:relative;
  box-shadow: var(--shadow-lg);
  font-size:1.3rem; transition: transform .3s ease;
}
.global-cookie__bell:hover{ transform: scale(1.08); }
.global-cookie__badge{
  position:absolute; top:-3px; right:-3px; width:14px; height:14px; border-radius:50%;
  background: var(--color-sun); border:2px solid var(--color-cream);
}
.global-cookie__badge:empty{ display:none; }
.global-cookie__panel{
  position:absolute; bottom: 70px; right:0; width: 340px; max-width: 88vw;
  background: rgba(255,255,255,0.9); backdrop-filter: blur(20px);
  border-radius: var(--radius-lg); border:1px solid rgba(255,255,255,0.5);
  box-shadow: var(--shadow-lg); padding: 1.6rem;
  transform: translateY(20px) scale(0.96); opacity:0; pointer-events:none;
  transition: all .35s cubic-bezier(.2,.8,.2,1);
}
.global-cookie__panel.is-open{ transform: translateY(0) scale(1); opacity:1; pointer-events:auto; }
.global-cookie__panel h3{ font-size:1.05rem; color: var(--color-midnight); margin-bottom:0.6rem; }
.global-cookie__panel > p{ font-size:0.85rem; color: var(--color-ink-soft); margin-bottom:1rem; }
.global-cookie__option{ display:flex; justify-content:space-between; align-items:flex-start; gap:0.8rem; margin-bottom:0.9rem; }
.global-cookie__option strong{ font-size:0.9rem; color: var(--color-midnight); display:block; }
.global-cookie__option p{ font-size:0.78rem; color: var(--color-ink-soft); margin-top:0.2rem; }
.global-cookie__option input{ width:20px; height:20px; min-width:20px; margin-top:0.2rem; }
.global-cookie__actions{ display:flex; gap:0.6rem; margin-top:1rem; }
.global-cookie__actions .global-btn{ flex:1; padding: 0.7rem 1rem; font-size:0.85rem; }
.global-cookie__more{ display:block; text-align:center; font-size:0.8rem; margin-top:0.8rem; color: var(--color-sage-dark); text-decoration:underline; }


@media (max-width: 1024px){
  .home-hero__grid{ grid-template-columns: repeat(2,1fr); }
  .home-hero__cell--main{ grid-column: span 2; grid-row:auto; }
  .home-hero__cell--image{ grid-column: span 2; grid-row:auto; }
  .home-hero__cell--stat{ grid-column: span 1; }

  .home-bento__grid, .grundsaetze-bento__grid{ grid-template-columns: repeat(2,1fr); }
  .home-bento__cell--wide{ grid-column: span 2; grid-template-columns: 1fr; }
  .angebot-modules__grid{ grid-template-columns: repeat(2,1fr); }

  .home-process__grid{ grid-template-columns: repeat(2,1fr); }
  .home-gallery__grid{ grid-template-columns: repeat(2,1fr); }
  .contact-facts{ grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 860px){
  .home-intro, .grundsaetze-science, .grundsaetze-two-columns, .home-photogrid, .angebot-format, .angebot-hero, .angebot-forwho__grid, .contact-main, .home-preview{
    grid-template-columns: 1fr !important;
  }
  .home-preview{ gap:1.2rem; }
  .contact-form__grid{ grid-template-columns: 1fr; }
  .contact-form__row{ flex-direction:column; }
  .angebot-format__facts{ margin-top:1.5rem; }
}

@media (max-width: 600px){
  .home-hero{ padding-top:7rem; }
  .home-hero__grid{ grid-template-columns: 1fr; }
  .home-hero__cell--main, .home-hero__cell--image, .home-hero__cell--stat{ grid-column: span 1; }
  .home-bento__grid, .grundsaetze-bento__grid{ grid-template-columns: 1fr; }
  .home-bento__cell, .home-bento__cell--large{ grid-column: span 1; }
  .angebot-modules__grid{ grid-template-columns: 1fr; }
  .home-process__grid{ grid-template-columns: 1fr; }
  .home-gallery__grid{ grid-template-columns: repeat(2,1fr); }
  .home-photogrid__grid{ grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 120px); }
  .contact-facts{ grid-template-columns: 1fr; }
  .global-footer__row{ flex-direction:column; align-items:flex-start; text-align:left; }
  .legal-page{ padding-top:7rem; }
  .grundsaetze-hero, .angebot-hero, .contact-hero{ padding-top:7rem; }
}